From 2659ec32316c298a6f9557b28bb39e6950a7b0b6 Mon Sep 17 00:00:00 2001 From: Alex Newman Date: Wed, 7 Jan 2026 23:34:20 -0500 Subject: [PATCH] fix: Claude Code 2.1.1 compatibility + log-level audit + path validation fixes (#614) * Refactor CLAUDE.md and related files for December 2025 updates - Updated CLAUDE.md in src/services/worker with new entries for December 2025, including changes to Search.ts, GeminiAgent.ts, SDKAgent.ts, and SessionManager.ts. - Revised CLAUDE.md in src/shared to reflect updates and new entries for December 2025, including paths.ts and worker-utils.ts. - Modified hook-constants.ts to clarify exit codes and their behaviors. - Added comprehensive hooks reference documentation for Claude Code, detailing usage, events, and examples. - Created initial CLAUDE.md files in various directories to track recent activity. * fix: Merge user-message-hook output into context-hook hookSpecificOutput - Add footer message to additionalContext in context-hook.ts - Remove user-message-hook from SessionStart hooks array - Fixes issue where stderr+exit(1) approach was silently discarded Co-Authored-By: Claude Opus 4.5 * Update logs and documentation for recent plugin and worker service changes - Added detailed logs for worker service activities from Dec 10, 2025 to Jan 7, 2026, including initialization patterns, cleanup confirmations, and diagnostic logging. - Updated plugin documentation with recent activities, including plugin synchronization and configuration changes from Dec 3, 2025 to Jan 7, 2026. - Enhanced the context hook and worker service logs to reflect improvements and fixes in the plugin architecture. - Documented the migration and verification processes for the Claude memory system and its integration with the marketplace. * Refactor hooks architecture and remove deprecated user-message-hook - Updated hook configurations in CLAUDE.md and hooks.json to reflect changes in session start behavior. - Removed user-message-hook functionality as it is no longer utilized in Claude Code 2.1.0; context is now injected silently. - Enhanced context-hook to handle session context injection without user-visible messages. - Cleaned up documentation across multiple files to align with the new hook structure and removed references to obsolete hooks. - Adjusted timing and command execution for hooks to improve performance and reliability. * fix: Address PR #610 review issues - Replace USER_MESSAGE_ONLY test with BLOCKING_ERROR test in hook-constants.test.ts - Standardize Claude Code 2.1.0 note wording across all three documentation files - Exclude deprecated user-message-hook.ts from logger-usage-standards test Co-Authored-By: Claude Opus 4.5 * fix: Remove hardcoded fake token counts from context injection Co-Authored-By: Claude Opus 4.5 * Address PR #610 review issues by fixing test files, standardizing documentation notes, and verifying code quality improvements. * fix: Add path validation to CLAUDE.md distribution to prevent invalid directory creation - Add isValidPathForClaudeMd() function to reject invalid paths: - Tilde paths (~) that Node.js doesn't expand - URLs (http://, https://) - Paths with spaces (likely command text or PR references) - Paths with # (GitHub issue/PR references) - Relative paths that escape project boundary - Integrate validation in updateFolderClaudeMdFiles loop - Add 6 unit tests for path validation - Update .gitignore to prevent accidental commit of malformed directories - Clean up existing invalid directories (~/, PR #610..., git diff..., https:) Co-Authored-By: Claude Sonnet 4.5 * fix: Implement path validation in CLAUDE.md generation to prevent invalid directory creation - Added `isValidPathForClaudeMd()` function to validate file paths in `src/utils/claude-md-utils.ts`. - Integrated path validation in `updateFolderClaudeMdFiles` to skip invalid paths. - Added 6 new unit tests in `tests/utils/claude-md-utils.test.ts` to cover various rejection cases. - Updated `.gitignore` to prevent tracking of invalid directories. - Cleaned up existing invalid directories in the repository. * feat: Promote critical WARN logs to ERROR level across codebase Comprehensive log-level audit promoting 38+ WARN messages to ERROR for improved debugging and incident response: - Parser: observation type errors, data contamination - SDK/Agents: empty init responses (Gemini, OpenRouter) - Worker/Queue: session recovery, auto-recovery failures - Chroma: sync failures, search failures (now treated as critical) - SQLite: search failures (primary data store) - Session/Generator: failures, missing context - Infrastructure: shutdown, process management failures - File Operations: CLAUDE.md updates, config reads - Branch Management: recovery checkout failures Co-Authored-By: Claude Sonnet 4.5 * fix: Address PR #614 review issues - Remove incorrectly tracked tilde-prefixed files from git - Fix absolute path validation to check projectRoot boundaries - Add test coverage for absolute path validation edge cases Closes review issues: - Issue 1: ~/ prefixed files removed from tracking - Issue 3: Absolute paths now validated against projectRoot - Issue 4: Added 3 new test cases for absolute path scenarios Co-Authored-By: Claude Opus 4.5 * build assets and context --------- Co-authored-by: Claude Opus 4.5 --- .claude/plans/CLAUDE.md | 166 +- .../plans/claude-md-path-validation-fix.md | 262 +++ .claude/plans/pr-610-review-fixes.md | 144 ++ .gitignore | 9 +- cursor-hooks/CLAUDE.md | 14 +- docs/CLAUDE.md | 29 +- docs/context/CLAUDE.md | 164 +- docs/context/hooks-reference-2026-01-07.md | 338 ++++ docs/public/CLAUDE.md | 213 +- docs/public/architecture/CLAUDE.md | 143 +- docs/public/architecture/hooks.mdx | 34 +- docs/public/hooks-architecture.mdx | 81 +- .../2026-01-07--all-open-issues-explained.md | 144 ++ .../2026-01-07--open-issues-summary.md | 84 + docs/reports/CLAUDE.md | 178 +- .../issue-586-feature-request-unknown.md | 507 +++++ .../issue-587-observations-not-stored.md | 337 ++++ .../issue-588-api-key-usage-warning.md | 434 +++++ ...issue-590-windows-chroma-terminal-popup.md | 411 ++++ ...-591-openrouter-memorysessionid-capture.md | 423 ++++ .../issue-596-processtransport-not-ready.md | 417 ++++ docs/reports/issue-597-too-many-bugs.md | 271 +++ ...ssue-598-conversation-history-pollution.md | 365 ++++ .../issue-599-windows-drive-root-400-error.md | 323 ++++ ...entation-audit-features-not-implemented.md | 432 +++++ ...e-602-posttooluse-worker-service-failed.md | 430 +++++ ...603-worker-daemon-leaks-child-processes.md | 427 ++++ docs/reports/log-level-audit.txt | 1716 +++++++++++++++++ plugin/CLAUDE.md | 13 +- plugin/hooks/CLAUDE.md | 98 +- plugin/hooks/hooks.json | 5 - plugin/modes/CLAUDE.md | 178 +- plugin/scripts/CLAUDE.md | 188 +- plugin/scripts/context-hook.js | 8 +- plugin/scripts/mcp-server.cjs | 26 +- plugin/scripts/new-hook.js | 10 +- plugin/scripts/save-hook.js | 4 +- plugin/scripts/summary-hook.js | 4 +- plugin/scripts/user-message-hook.js | 18 +- plugin/scripts/worker-service.cjs | 188 +- plugin/ui/CLAUDE.md | 16 +- scripts/bug-report/CLAUDE.md | 69 +- src/CLAUDE.md | 8 +- src/hooks/CLAUDE.md | 177 +- src/hooks/user-message-hook.ts | 19 +- src/sdk/CLAUDE.md | 142 +- src/sdk/parser.ts | 6 +- src/sdk/prompts.ts | 13 +- src/servers/CLAUDE.md | 120 +- src/servers/mcp-server.ts | 6 +- src/services/CLAUDE.md | 83 +- src/services/context/CLAUDE.md | 58 +- src/services/domain/CLAUDE.md | 122 +- src/services/infrastructure/CLAUDE.md | 72 +- src/services/infrastructure/HealthMonitor.ts | 2 +- src/services/infrastructure/ProcessManager.ts | 4 +- src/services/integrations/CLAUDE.md | 22 +- .../integrations/CursorHooksInstaller.ts | 4 +- src/services/process/CLAUDE.md | 125 +- src/services/queue/CLAUDE.md | 55 +- src/services/server/CLAUDE.md | 29 +- src/services/sqlite/CLAUDE.md | 122 +- src/services/sqlite/sessions/CLAUDE.md | 27 +- src/services/sqlite/timeline/CLAUDE.md | 7 +- src/services/sync/CLAUDE.md | 140 +- src/services/sync/ChromaSync.ts | 16 +- src/services/worker-service.ts | 4 +- src/services/worker/BranchManager.ts | 2 +- src/services/worker/CLAUDE.md | 150 +- src/services/worker/GeminiAgent.ts | 4 +- src/services/worker/OpenRouterAgent.ts | 4 +- src/services/worker/SearchManager.ts | 6 +- src/services/worker/agents/CLAUDE.md | 77 +- .../worker/agents/ResponseProcessor.ts | 4 +- src/services/worker/http/CLAUDE.md | 53 +- src/services/worker/http/routes/CLAUDE.md | 128 +- .../worker/http/routes/SessionRoutes.ts | 24 +- src/services/worker/search/CLAUDE.md | 43 +- .../worker/search/strategies/CLAUDE.md | 40 +- .../search/strategies/ChromaSearchStrategy.ts | 2 +- .../search/strategies/HybridSearchStrategy.ts | 6 +- .../search/strategies/SQLiteSearchStrategy.ts | 2 +- src/shared/CLAUDE.md | 146 +- src/shared/hook-constants.ts | 9 +- src/utils/CLAUDE.md | 78 +- src/utils/claude-md-utils.ts | 49 +- src/utils/cursor-utils.ts | 4 +- src/utils/transcript-parser.ts | 2 +- tests/CLAUDE.md | 163 +- tests/hook-constants.test.ts | 4 +- tests/infrastructure/CLAUDE.md | 48 +- tests/log-level-audit.test.ts | 309 +++ tests/logger-usage-standards.test.ts | 1 + tests/utils/CLAUDE.md | 33 +- tests/utils/claude-md-utils.test.ts | 157 +- tests/worker/agents/CLAUDE.md | 46 +- ~/.claude/CLAUDE.md | 26 - ~/.claude/plans/CLAUDE.md | 157 -- 98 files changed, 8927 insertions(+), 3554 deletions(-) create mode 100644 .claude/plans/claude-md-path-validation-fix.md create mode 100644 .claude/plans/pr-610-review-fixes.md create mode 100644 docs/context/hooks-reference-2026-01-07.md create mode 100644 docs/reports/2026-01-07--all-open-issues-explained.md create mode 100644 docs/reports/2026-01-07--open-issues-summary.md create mode 100644 docs/reports/issue-586-feature-request-unknown.md create mode 100644 docs/reports/issue-587-observations-not-stored.md create mode 100644 docs/reports/issue-588-api-key-usage-warning.md create mode 100644 docs/reports/issue-590-windows-chroma-terminal-popup.md create mode 100644 docs/reports/issue-591-openrouter-memorysessionid-capture.md create mode 100644 docs/reports/issue-596-processtransport-not-ready.md create mode 100644 docs/reports/issue-597-too-many-bugs.md create mode 100644 docs/reports/issue-598-conversation-history-pollution.md create mode 100644 docs/reports/issue-599-windows-drive-root-400-error.md create mode 100644 docs/reports/issue-600-documentation-audit-features-not-implemented.md create mode 100644 docs/reports/issue-602-posttooluse-worker-service-failed.md create mode 100644 docs/reports/issue-603-worker-daemon-leaks-child-processes.md create mode 100644 docs/reports/log-level-audit.txt create mode 100644 tests/log-level-audit.test.ts delete mode 100644 ~/.claude/CLAUDE.md delete mode 100644 ~/.claude/plans/CLAUDE.md diff --git a/.claude/plans/CLAUDE.md b/.claude/plans/CLAUDE.md index e023c9fb..adfdcb11 100644 --- a/.claude/plans/CLAUDE.md +++ b/.claude/plans/CLAUDE.md @@ -3,169 +3,5 @@ -### Dec 26, 2025 - -**adaptive-orbiting-sundae.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32927 | 10:32 PM | ⚖️ | Three-Phase Fix Plan Created for PR #448 OpenRouter Error Handling Issues | ~543 | - -**floating-petting-snowglobe.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32915 | 10:08 PM | 🔵 | OpenRouter Provider PR #448 Fix Plan Loaded | ~345 | - -### Dec 27, 2025 - -**greedy-puzzling-teapot.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33132 | 7:53 PM | ⚖️ | Session Continuity Regression Investigation and Fix Plan Created | ~567 | - -**parallel-snuggling-kazoo.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33008 | 4:54 PM | ⚖️ | Auto-Restart Worker Strategy After Plugin Updates | ~514 | - -**fancy-leaping-orbit.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32999 | 4:43 PM | ⚖️ | Worker Update Strategy Changed from Auto-Restart to Manual | ~265 | -| #32997 | 4:42 PM | ✅ | Implementation Plan Documented for Windows Concurrency Fix | ~597 | - -### Dec 28, 2025 - -**scalable-exploring-wadler.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33597 | 11:14 PM | 🔵 | MCP search tool successfully retrieving mem-search to mcp-search rename history | ~361 | - -**pr-458-fixes.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33291 | 3:08 PM | ✅ | Completed PR #458 Worker Lifecycle Fix Plan - Phase 6 Build Verification | ~334 | -| #33275 | 3:01 PM | 🔴 | Unix orphaned process cleanup error handling fixed | ~330 | -| #33274 | " | 🔴 | Fixed waitForProcessesExit crash when child processes exit | ~312 | -| #33273 | " | 🔴 | Added PID validation after daemon spawn to prevent invalid PID file writes | ~341 | -| #33272 | " | 🔴 | Windows taskkill error handling in orphaned process cleanup | ~266 | - -**mellow-discovering-meerkat.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33262 | 2:58 PM | ✅ | PR #456 Closed and Fresh Branch Created for Worker Lifecycle Fix | ~313 | - -**functional-shimmying-lake.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33257 | 2:37 PM | ✅ | Plan Simplified to Minimal Fix Approach | ~320 | - -### Dec 29, 2025 - -**worker-executable.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33895 | 5:13 PM | 🟣 | Implemented install-time worker executable compilation | ~423 | -| #33883 | 5:11 PM | ⚖️ | Plan created for worker executable compilation strategy | ~432 | - -**phased-worker-executable-plan.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33873 | 4:56 PM | ⚖️ | Worker Service Migration to Standalone Executables | ~531 | - -**precious-dancing-rossum.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33872 | 4:56 PM | ⚖️ | Build-time executable strategy replaced with install-time compilation approach | ~524 | -| #33870 | 4:52 PM | ⚖️ | Migrate Worker Service from Runtime .cjs to Compiled Platform Executables | ~567 | - -### Dec 30, 2025 - -**lively-twirling-garden.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34411 | 1:55 PM | ⚖️ | Agent SDK V2 Migration Plan Created | ~519 | - -### Jan 1, 2026 - -**cozy-orbiting-hopper.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35485 | 9:06 PM | ⚖️ | Comprehensive error handling remediation plan completed and submitted for approval | ~555 | -| #35484 | 9:05 PM | ✅ | Quick reference checklist added for all 45 critical issues | ~390 | -| #35483 | " | ✅ | Plan implementation section replaced with practical execution guidance | ~375 | -| #35482 | " | ✅ | Verification progress metrics updated with accurate wave counts | ~313 | -| #35481 | " | ✅ | Wave 3 Group 3C scope reduced after code verification | ~341 | -| #35480 | " | ✅ | Wave 2 specific fixes detailed with exact code patterns | ~401 | -| #35479 | 9:04 PM | ✅ | Wave 2 fix pattern updated to target worst offender | ~363 | -| #35478 | " | ✅ | Plan updated with accurate Wave 2 critical path failures | ~424 | -| #35471 | 9:02 PM | ⚖️ | Systematic plan created to fix 45 critical error handling anti-patterns | ~540 | - -**ticklish-humming-pixel.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35296 | 1:25 PM | ⚖️ | Revised implementation plan: Generate deterministic memory session IDs to prevent orphaned sessions | ~619 | -| #35295 | " | ⚖️ | Updated Implementation Plan - Deterministic Session ID with Immediate Persistence | ~505 | -| #35251 | 1:14 PM | ✅ | Plan updated with correct import paths for provider check functions | ~301 | -| #35246 | " | ⚖️ | Implementation plan created: Add provider check to startup-recovery mechanism | ~525 | - -### Jan 2, 2026 - -**gleaming-imagining-cray.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36104 | 10:31 PM | ⚖️ | Database Transaction Strategy for Observation Deduplication | ~474 | - -### Jan 3, 2026 - -**nifty-honking-goblet.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36644 | 10:59 PM | ✅ | Test Fixes Plan Updated with Logger Coverage Implementation Details | ~469 | - -**glimmering-coalescing-pnueli.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36160 | 6:41 PM | ⚖️ | Final Architecture Approved: Grep-Optimized Progressive Disclosure with Named Re-Exports | ~757 | -| #36159 | 6:39 PM | ⚖️ | Phase 1 Refactor Plan Finalized: Grep-Optimized Progressive Disclosure with Named Re-Exports | ~830 | - -### Jan 4, 2026 - -**greedy-soaring-sphinx.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36762 | 12:37 AM | ✅ | Created Implementation Plan for Four GitHub Issues | ~438 | - -### Jan 5, 2026 - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | - -**fix-claudemd-worktree-bug.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 | -| #38004 | " | 🔵 | Prior plan documented worktree bug fix with projectRoot parameter | ~416 | - -**velvety-churning-globe.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37763 | 6:32 PM | 🔵 | Comprehensive test suite cleanup plan for claude-mem project | ~446 | -| #37762 | 6:31 PM | ⚖️ | Test Cleanup Plan Approved: Delete 6 Harmful Tests, Add 4 Integration Tests | ~793 | -| #37761 | 6:26 PM | ✅ | Test Cleanup Plan Updated with Detailed File Lists and Impact Summary | ~643 | -| #37760 | " | ⚖️ | Test Plan Expanded: Four New Integration Tests Added to Cleanup Scope | ~500 | -| #37759 | 6:25 PM | ⚖️ | Test Suite Cleanup Plan Created Based on Comprehensive Audit | ~697 | -| #37757 | 6:22 PM | ⚖️ | Test Suite Cleanup Plan Created Based on Audit Findings | ~640 | - -**2026-01-05-fix-81-test-failures.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37704 | 6:05 PM | ⚖️ | Plan Abandoned: Mock Logger Approach Rejected for Test Quality Audit | ~312 | -| #37699 | 5:59 PM | 🔵 | Test Failure Root Cause: Incomplete Logger Mocks Polluting Module Cache | ~455 | - -**2026-01-05-github-issues-fix-plan.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37559 | 4:49 PM | 🔵 | GitHub Issues Fix Plan Loaded | ~428 | +*No recent activity* \ No newline at end of file diff --git a/.claude/plans/claude-md-path-validation-fix.md b/.claude/plans/claude-md-path-validation-fix.md new file mode 100644 index 00000000..84e80bad --- /dev/null +++ b/.claude/plans/claude-md-path-validation-fix.md @@ -0,0 +1,262 @@ +# CLAUDE.md Path Validation Bug Fix + +## Problem Summary + +Claude-Mem 9.0's distributed CLAUDE.md feature has a **critical path validation bug** that creates invalid directories when Claude SDK agent outputs non-path strings in file tracking XML tags (``, ``). + +### Root Cause + +In `src/utils/claude-md-utils.ts:234-239`: +```typescript +if (projectRoot && !path.isAbsolute(filePath)) { + absoluteFilePath = path.join(projectRoot, filePath); +} +``` + +- `path.isAbsolute('~/.claude-mem/logs')` returns `false` (Node.js doesn't recognize `~`) +- Code joins: `path.join(projectRoot, '~/.claude-mem/logs')` → `/project/~/.claude-mem/logs` +- `mkdirSync` creates literal directories + +### Invalid Directories Currently in Repo + +``` +./~/ ← literal tilde directory +./PR #610 on thedotmack/ ← GitHub PR reference +./git diff for src/ ← git command text +./https:/code.claude.com/docs/en/ ← URL +``` + +--- + +## Implementation Plan + +### Phase 1: Add Path Validation Function + +**File:** `src/utils/claude-md-utils.ts` + +Add new validation function after the imports (around line 16): + +```typescript +/** + * Validate that a file path is safe for CLAUDE.md generation. + * Rejects tilde paths, URLs, command-like strings, and paths with invalid chars. + * + * @param filePath - The file path to validate + * @param projectRoot - Optional project root for boundary checking + * @returns true if path is valid for CLAUDE.md processing + */ +function isValidPathForClaudeMd(filePath: string, projectRoot?: string): boolean { + // Reject empty or whitespace-only + if (!filePath || !filePath.trim()) return false; + + // Reject tilde paths (Node.js doesn't expand ~) + if (filePath.startsWith('~')) return false; + + // Reject URLs + if (filePath.startsWith('http://') || filePath.startsWith('https://')) return false; + + // Reject paths with spaces (likely command text or PR references) + if (filePath.includes(' ')) return false; + + // Reject paths with # (GitHub issue/PR references) + if (filePath.includes('#')) return false; + + // If projectRoot provided, ensure resolved path stays within project + if (projectRoot) { + const resolved = path.resolve(projectRoot, filePath); + const normalizedRoot = path.resolve(projectRoot); + if (!resolved.startsWith(normalizedRoot + path.sep) && resolved !== normalizedRoot) { + return false; + } + } + + return true; +} +``` + +### Phase 2: Integrate Validation in updateFolderClaudeMdFiles + +**File:** `src/utils/claude-md-utils.ts` + +Modify the file path loop in `updateFolderClaudeMdFiles` (around line 232): + +```typescript +for (const filePath of filePaths) { + if (!filePath || filePath === '') continue; + + // VALIDATE PATH BEFORE PROCESSING + if (!isValidPathForClaudeMd(filePath, projectRoot)) { + logger.debug('FOLDER_INDEX', 'Skipping invalid file path', { + filePath, + reason: 'Failed path validation' + }); + continue; + } + + // ... rest of existing logic unchanged +} +``` + +### Phase 3: Add Unit Tests + +**File:** `tests/utils/claude-md-utils.test.ts` + +Add new test block after existing tests: + +```typescript +describe('path validation in updateFolderClaudeMdFiles', () => { + it('should reject tilde paths', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['~/.claude-mem/logs/worker.log'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should reject URLs', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['https://example.com/file.ts'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should reject paths with spaces', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['PR #610 on thedotmack/CLAUDE.md'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should reject paths with hash symbols', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['issue#123/file.ts'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should reject path traversal outside project', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['../../../etc/passwd'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should accept valid relative paths', async () => { + const apiResponse = { + content: [{ text: '| #123 | 4:30 PM | 🔵 | Test | ~100 |' }] + }; + const fetchMock = mock(() => Promise.resolve({ + ok: true, + json: () => Promise.resolve(apiResponse) + } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['src/utils/logger.ts'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).toHaveBeenCalledTimes(1); + }); +}); +``` + +### Phase 4: Update .gitignore + +**File:** `.gitignore` + +Add at end of file: + +```gitignore +# Prevent literal tilde directories (path validation bug artifacts) +~*/ + +# Prevent other malformed path directories +http*/ +https*/ +``` + +### Phase 5: Clean Up Invalid Directories + +**Command sequence:** +```bash +rm -rf "~/." +rm -rf "PR #610 on thedotmack" +rm -rf "git diff for src" +rm -rf "https:" +``` + +### Phase 6: Verify and Commit + +1. Run test suite: `npm test` +2. Run build: `npm run build` +3. Verify no invalid directories remain +4. Commit with message: `fix: Add path validation to CLAUDE.md distribution to prevent invalid directory creation` + +--- + +## Files Modified + +| File | Change | +|------|--------| +| `src/utils/claude-md-utils.ts` | Add `isValidPathForClaudeMd()` function + integrate in loop | +| `tests/utils/claude-md-utils.test.ts` | Add 6 new path validation tests | +| `.gitignore` | Add `~*/`, `http*/`, `https*/` patterns | + +## Files Deleted + +| Path | Reason | +|------|--------| +| `~/` (directory tree) | Invalid literal tilde directory | +| `PR #610 on thedotmack/` | Invalid PR reference directory | +| `git diff for src/` | Invalid git command directory | +| `https:/` | Invalid URL directory | + +--- + +## Risk Assessment + +**Low Risk:** +- Validation is additive (only skips invalid paths, doesn't change valid path handling) +- Existing tests remain unchanged +- Fire-and-forget design means failures are logged but don't break hooks + +**Testing Coverage:** +- 6 new unit tests covering all rejection cases +- Existing 27 tests verify valid path behavior unchanged diff --git a/.claude/plans/pr-610-review-fixes.md b/.claude/plans/pr-610-review-fixes.md new file mode 100644 index 00000000..cce4a78d --- /dev/null +++ b/.claude/plans/pr-610-review-fixes.md @@ -0,0 +1,144 @@ +# Plan: Address PR #610 Review Issues + +## Overview +This plan addresses the issues identified in the PR review for PR #610 "fix: Update hooks for Claude Code 2.1.0/1 - SessionStart no longer shows user messages". + +## Phase 0: Verification and Discovery + +### 0.1 Verify Test Failure +- **File**: `tests/hook-constants.test.ts` +- **Issue**: Lines 61-63 test for `HOOK_EXIT_CODES.USER_MESSAGE_ONLY` which was removed +- **Verification**: Run `bun test tests/hook-constants.test.ts` to confirm failure + +### 0.2 Verify No Code References USER_MESSAGE_ONLY +- **Finding**: Grep found references only in: + - `tests/hook-constants.test.ts` (test file - needs fix) + - `src/services/CLAUDE.md` (memory context - auto-generated, not code) + - `plugin/scripts/CLAUDE.md` (memory context - auto-generated, not code) +- **Conclusion**: Only the test file needs updating; CLAUDE.md files are memory records + +### 0.3 Verify CLAUDE.md Files Are Legitimate +- **Clarification**: The PR reviewer mentioned "user-specific CLAUDE.md files starting with ~/" +- **Finding**: All CLAUDE.md files in the commit are within the repository (`docs/`, `src/`, `plugin/`) +- **Conclusion**: These are legitimate in-repo context files, not user-specific paths + +--- + +## Phase 1: Fix Test File (REQUIRED) + +### Task 1.1: Remove USER_MESSAGE_ONLY Test +**File**: `tests/hook-constants.test.ts` +**Action**: Delete lines 61-63 that test for the removed constant + +```typescript +// DELETE THESE LINES: +it('should define USER_MESSAGE_ONLY exit code', () => { + expect(HOOK_EXIT_CODES.USER_MESSAGE_ONLY).toBe(3); +}); +``` + +### Task 1.2: Add Test for BLOCKING_ERROR +**File**: `tests/hook-constants.test.ts` +**Action**: Add test for the new `BLOCKING_ERROR` constant (exit code 2) that replaced it + +```typescript +// ADD THIS TEST: +it('should define BLOCKING_ERROR exit code', () => { + expect(HOOK_EXIT_CODES.BLOCKING_ERROR).toBe(2); +}); +``` + +### Verification +- Run `bun test tests/hook-constants.test.ts` +- Expect: All tests pass + +--- + +## Phase 2: Documentation Consistency (NICE TO HAVE) + +### Issue +Three similar notes about Claude Code 2.1.0 have slightly different wording: + +1. `docs/public/architecture/hooks.mdx:254`: + > "SessionStart hooks no longer display any user-visible messages. Context is still injected via `hookSpecificOutput.additionalContext` but users don't see startup output in the UI." + +2. `docs/public/hooks-architecture.mdx:31`: + > "SessionStart hooks no longer display any user-visible messages. Context is silently injected via `hookSpecificOutput.additionalContext`." + +3. `docs/public/hooks-architecture.mdx:441`: + > "SessionStart hooks output is never displayed to users. Context is injected silently via `hookSpecificOutput.additionalContext`." + +### Task 2.1: Standardize Note Wording +**Action**: Use consistent wording across all three locations + +**Standard text**: +``` +As of Claude Code 2.1.0 (ultrathink update), SessionStart hooks no longer display user-visible messages. Context is silently injected via `hookSpecificOutput.additionalContext`. +``` + +### Files to Update +1. `docs/public/architecture/hooks.mdx:253-255` - Update Note block +2. `docs/public/hooks-architecture.mdx:30-32` - Update Note block +3. `docs/public/hooks-architecture.mdx:440-442` - Update Note block + +### Verification +- Grep for the standard text in all three files +- Visual review of documentation + +--- + +## Phase 3: Code Quality Improvements (OPTIONAL) + +### Issue 3.1: Hardcoded Promotional Message +**File**: `src/hooks/context-hook.ts:66-68` +**Current code**: +```typescript +const enhancedContext = `${text} + +Access 300k tokens of past research & decisions for just 19,008t. Use MCP search tools to access memories by ID.`; +``` + +### Options +1. **Leave as-is**: The token count is a rough estimate and doesn't need to be exact +2. **Make configurable**: Add to settings (over-engineering for this use case) +3. **Remove hardcoded numbers**: Use relative language instead + +### Recommendation +Leave as-is for now. The token counts are marketing copy, not critical functionality. Creating a PR just for this adds unnecessary complexity. + +--- + +## Phase 4: Final Verification + +### 4.1 Run Full Test Suite +```bash +bun test +``` + +### 4.2 Build Verification +```bash +npm run build +``` + +### 4.3 Grep Verification +```bash +grep -r "USER_MESSAGE_ONLY" src/ --include="*.ts" --include="*.js" +``` +Expected: No results (CLAUDE.md files excluded as they're memory records) + +--- + +## Summary + +| Phase | Priority | Effort | Description | +|-------|----------|--------|-------------| +| 1 | REQUIRED | 5 min | Fix test file - remove USER_MESSAGE_ONLY test, add BLOCKING_ERROR test | +| 2 | Nice to have | 10 min | Standardize documentation note wording | +| 3 | Skip | - | Hardcoded token counts are fine as-is | +| 4 | REQUIRED | 5 min | Run tests and build to verify | + +## Expected Outcome +- All tests pass +- Build succeeds +- No code references to removed USER_MESSAGE_ONLY constant +- Documentation uses consistent wording (if Phase 2 is done) diff --git a/.gitignore b/.gitignore index 636f0024..d7ecb202 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,11 @@ src/ui/viewer.html # Local MCP server config (for development only) .mcp.json -.cursor/ \ No newline at end of file +.cursor/ + +# Prevent literal tilde directories (path validation bug artifacts) +~*/ + +# Prevent other malformed path directories +http*/ +https*/ \ No newline at end of file diff --git a/cursor-hooks/CLAUDE.md b/cursor-hooks/CLAUDE.md index ebcb8183..2fbb492d 100644 --- a/cursor-hooks/CLAUDE.md +++ b/cursor-hooks/CLAUDE.md @@ -91,18 +91,12 @@ |----|------|---|-------|------| | #34238 | 10:31 PM | 🔄 | Rollback complete: simplified over-engineered concurrency and validation code | ~434 | | #34231 | 10:25 PM | 🔴 | Fixed race conditions and security vulnerabilities in Cursor integration | ~562 | -| #34149 | 9:29 PM | 🟣 | Cross-Platform Cursor Hooks with Windows PowerShell Support | ~352 | **hooks.json** | ID | Time | T | Title | Read | |----|------|---|-------|------| | #34184 | 9:51 PM | 🔵 | Cursor Hooks Configuration Schema | ~375 | -**.gitignore** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34148 | 9:28 PM | 🟣 | Cursor IDE Integration with Cross-Platform Hooks and Documentation | ~514 | - ### Dec 31, 2025 **session-init.sh** @@ -126,4 +120,12 @@ | ID | Time | T | Title | Read | |----|------|---|-------|------| | #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 | + +### Jan 7, 2026 + +**CLAUDE.md** +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #38195 | 7:35 PM | ✅ | Context-hook enhanced with promotional footer and user-message-hook removed from SessionStart | ~376 | +| #38194 | " | 🔵 | Working tree contains 10 modified files ready for commit | ~303 | \ No newline at end of file diff --git a/docs/CLAUDE.md b/docs/CLAUDE.md index 440f3ff2..adfdcb11 100644 --- a/docs/CLAUDE.md +++ b/docs/CLAUDE.md @@ -3,32 +3,5 @@ -### Dec 29, 2025 - -**docs** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34316 | 11:02 PM | 🔵 | Mintlify Documentation Structure Identified | ~242 | - -### Jan 1, 2026 - -**SESSION_ID_ARCHITECTURE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35668 | 11:40 PM | ✅ | Main branch updated with major feature additions | ~377 | -| #35565 | 9:55 PM | ✅ | Session ID architecture documentation created | ~510 | - -### Jan 3, 2026 - -**SESSION_ID_ARCHITECTURE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36689 | 11:56 PM | 🔵 | PR #538 Review Findings - Modular Architecture Refactor | ~590 | -| #36632 | 10:45 PM | 🔵 | SESSION_ID_ARCHITECTURE.md Documents Placeholder Pattern With ContentSessionId | ~584 | -| #36625 | 10:44 PM | 🔵 | Documentation and Code Reveal Placeholder Detection Pattern | ~583 | - -**anti-pattern-cleanup-plan.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | +*No recent activity* \ No newline at end of file diff --git a/docs/context/CLAUDE.md b/docs/context/CLAUDE.md index ab732932..3d88f650 100644 --- a/docs/context/CLAUDE.md +++ b/docs/context/CLAUDE.md @@ -3,111 +3,75 @@ +### Nov 13, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #7806 | 4:54 PM | 🔵 | PR #101 Enhancement: Continuation Prompt Token Reduction | ~634 | + +### Nov 16, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #9976 | 11:35 PM | 🔵 | Endless Mode Architecture Plan Documented | ~661 | +| #9967 | 11:18 PM | ⚖️ | Endless Mode Architecture: Immutable Storage with Ephemeral Transform | ~217 | + +### Nov 17, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #10131 | 1:22 AM | 🔵 | Endless Mode Token Economics Analysis Output: Complete Infrastructure Impact | ~542 | +| #10130 | " | ✅ | Integration of Actual Compute Savings Analysis into Main Execution Flow | ~258 | +| #10129 | " | 🔵 | Prompt Caching Economics: User Cost vs. Anthropic Compute Cost Divergence | ~451 | +| #10126 | 1:19 AM | 🔴 | Fix Return Statement Variable Names in playTheTapeThrough Function | ~313 | +| #10125 | " | ✅ | Redesign Timeline Display to Show Fresh/Cached Token Breakdown and Real Dollar Costs | ~501 | +| #10124 | " | ✅ | Replace Estimated Cost Model with Actual Caching-Based Costs in Anthropic Scale Analysis | ~516 | +| #10123 | " | ✅ | Pivot Session Length Comparison Table from Token to Cost Metrics | ~413 | +| #10122 | " | ✅ | Add Dual Reporting: Token Count vs Actual Cost in Comparison Output | ~410 | +| #10121 | 1:18 AM | ✅ | Apply Prompt Caching Cost Model to Endless Mode Calculation Function | ~501 | +| #10120 | " | ✅ | Integrate Prompt Caching Cost Calculations into Without-Endless-Mode Function | ~426 | +| #10119 | " | ✅ | Display Prompt Caching Pricing in Initial Calculator Output | ~297 | +| #10118 | " | ✅ | Add Prompt Caching Pricing Model to Token Economics Calculator | ~316 | +| #10115 | 1:15 AM | 🟣 | Token Economics Calculator for Endless Mode Sessions | ~465 | +| #10013 | 12:13 AM | 🔵 | Duplicate Agent SDK TypeScript Reference Documentation | ~340 | +| #10012 | " | 🔵 | Agent SDK TypeScript API Reference Complete | ~349 | + +### Nov 18, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #11738 | 11:51 PM | ⚖️ | Comprehensive Architecture Document Created for Phase 1 | ~868 | +| #11711 | 11:44 PM | 🔵 | Language Model Tool Documentation Index | ~282 | +| #11710 | " | 🔵 | Language Model Tool API Implementation Guide | ~718 | +| #11709 | 11:43 PM | 🔵 | Comprehensive Copilot Extension Implementation Plan | ~624 | +| #11708 | " | 🔵 | VS Code Chat Sample Documentation Unavailable | ~327 | +| #11707 | " | 🔵 | VS Code Language Model API Structure and Capabilities | ~515 | +| #11705 | " | ⚖️ | VS Code Extension Development Planning Phase Initiated | ~327 | +| #11206 | 3:01 PM | 🔵 | mem-search skill architecture and migration details retrieved in full format | ~538 | + +### Nov 25, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #15538 | 8:36 PM | 🔵 | Context Document for Landing Page Refinements | ~381 | +| #15314 | 5:04 PM | 🔵 | Endless Mode Documentation Post Retrieved with 156 Lines | ~671 | + +### Dec 20, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #31257 | 8:58 PM | ⚖️ | Eight Conflict Detection Hypotheses Evaluated with Simulation Results | ~525 | +| #31256 | " | 🔵 | Supersession vs Conflict Detection Feature Analysis | ~515 | + ### Dec 30, 2025 -**agent-sdk-v2-docs.md** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #34477 | 2:25 PM | ✅ | V2 Upgrade Branch Modifies Four Files with Net Code Reduction | ~328 | -| #34466 | 2:24 PM | 🔵 | Agent SDK V2 Documentation Reveals Correct API Surface | ~399 | -| #34425 | 2:04 PM | 🔵 | Agent SDK V2 API Documentation and Migration Patterns | ~698 | -| #34422 | 2:03 PM | ✅ | Added Agent SDK V2 Documentation Files | ~240 | -| #34419 | 2:02 PM | ✅ | Committed Agent SDK V2 upgrade preparation | ~275 | +| #34520 | 2:34 PM | 🔵 | V2 Example Code Demonstrates All Key Patterns | ~537 | + +### Jan 7, 2026 -**agent-sdk-v2-example.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #34431 | 2:06 PM | 🔵 | V2 SDK Executable Example Code Patterns | ~710 | -| #34428 | 2:05 PM | 🔵 | Agent SDK v2 Example File Reading Requested | ~204 | -| #34411 | 1:55 PM | ⚖️ | Agent SDK V2 Migration Plan Created | ~519 | -| #34410 | " | ⚖️ | Agent SDK V2 Migration Strategy Analysis | ~499 | -| #34406 | 1:54 PM | 🔵 | Comprehensive V2 Migration Analysis Shows Architectural Incompatibility | ~556 | -| #34401 | " | 🔵 | Agent SDK V2 API Design and Patterns | ~435 | - -### Dec 31, 2025 - -**agent-sdk-v2-preview.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34635 | 3:04 PM | 🟣 | Documentation-First Workflow Design Document Created | ~769 | -| #34616 | 2:59 PM | ⚖️ | Documentation-First Workflow Agent Analyzing V2 SDK Examples and Patterns | ~515 | -| #34581 | 2:44 PM | 🔵 | V2 Session API Official Documentation Confirms Clear Separation Pattern | ~446 | - -**agent-sdk-v2-examples.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34605 | 2:57 PM | 🔵 | V2 SDK Migration Failure Root Cause: Context Rot and Knowledge Transfer Gaps | ~550 | -| #34583 | 2:44 PM | 🔵 | Executable V2 Examples Demonstrate All Core Patterns With Crystal Clear Code | ~471 | -| #34580 | 2:43 PM | 🔵 | V2 Session API Documentation Shows Clear Send/Receive Pattern Despite Naming Confusion | ~364 | - -### Jan 1, 2026 - -**try-catch-audit-report.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35635 | 11:14 PM | ✅ | Removed Temporary Try-Catch Audit Report | ~224 | -| #35463 | 8:59 PM | 🟣 | Enforceable Anti-Pattern Detection System for Try-Catch Abuse | ~485 | -| #35462 | " | 🟣 | Error handling audit tooling and documentation added | ~271 | -| #35435 | 8:46 PM | ✅ | Try-Catch Audit Report Documented in Markdown | ~781 | - -**agent-sdk-v2-examples.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35429 | 6:32 PM | ⚖️ | KISS Principle Applied to SDKAgent.ts Defensive Code | ~322 | -| #35412 | 5:25 PM | 🔵 | Canonical Example Shows Cost Tracking Without Token Usage Checks | ~289 | -| #35406 | 5:24 PM | ⚖️ | Categorized Conditionals as Required Business Logic vs Defensive Code | ~377 | -| #35404 | " | 🔵 | Canonical V2 SDK Patterns Require Message Type Checking | ~313 | -| #35398 | 5:23 PM | 🟣 | Added comprehensive Claude Agent SDK V2 examples | ~231 | -| #35383 | 3:11 PM | 🔵 | Phase 2 code quality review identified 5 critical bugs | ~604 | -| #35382 | 3:08 PM | ✅ | Phase 2 Anti-Pattern Recheck Passed | ~315 | -| #35379 | 3:07 PM | 🔵 | Phase 2 Anti-Pattern Check Found Content Extraction Bug | ~373 | -| #35353 | 3:01 PM | 🔵 | Phase 2 preparation analysis completed | ~502 | -| #35340 | 2:58 PM | 🔵 | Phase 1 Anti-Pattern Check Reveals V1/V2 API Mismatch | ~352 | -| #35330 | 2:54 PM | 🔵 | Claude Agent SDK V2 API Pattern Documentation | ~305 | -| #35329 | 2:53 PM | 🔵 | Agent SDK V2 API patterns and capabilities | ~453 | -| #35292 | 1:23 PM | 🔵 | Agent SDK query() resume parameter: SDK-generated session IDs cannot be predetermined | ~543 | - -**sdkagent-removal-list.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35425 | 5:27 PM | ✅ | Reorganized Removal List with DELETE/SIMPLIFY Section Header | ~240 | -| #35424 | " | ✅ | Revised Token Tracking from Delete to Simplify with Hardcoded Zero | ~365 | -| #35416 | 5:25 PM | 🟣 | Created Actionable Removal Checklist for SDKAgent.ts Cleanup | ~431 | - -**agent-sdk-v2-preview.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35414 | 5:25 PM | 🔵 | V2 Preview Documentation Shows Direct Result Access Pattern | ~281 | -| #35289 | 1:23 PM | 🔵 | Agent SDK V2 preview documentation: Explicit session lifecycle with createSession and resumeSession | ~523 | - -**sdkagent-conditional-logic-CORRECTED.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35409 | 5:24 PM | 🟣 | Created Comprehensive Conditional Logic Removal Report | ~488 | - -**dont-be-an-idiot.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35400 | 5:23 PM | 🔄 | Phase 1 SDK V2 migration - Updated imports and added API documentation | ~294 | -| #35347 | 3:01 PM | ✅ | Phase 1 commit completed via Task agent | ~374 | -| #35346 | " | ✅ | Committed Phase 1 of V2 API migration | ~333 | -| #35345 | 3:00 PM | ✅ | Phase 1 Changes Committed to Git | ~338 | -| #35343 | " | ✅ | Phase 1 Git Status Shows Modified Files | ~315 | -| #35334 | 2:55 PM | 🔵 | V2 SDK Migration Preparation Complete | ~368 | -| #35332 | 2:54 PM | 🟣 | SDK V2 API Documentation Created | ~305 | -| #35331 | " | ✅ | Created documentation affirming V2 API stability | ~358 | - -### Jan 2, 2026 - -**try-catch-audit-report.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35703 | 1:01 PM | ⚖️ | Try-Catch as Anti-Pattern: Root Cause Analysis and Documentation | ~363 | - -### Jan 6, 2026 - -**windows-code-evaluation.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 | +| #38209 | 7:39 PM | 🔵 | Claude Code Hooks System Architecture and Usage | ~491 | \ No newline at end of file diff --git a/docs/context/hooks-reference-2026-01-07.md b/docs/context/hooks-reference-2026-01-07.md new file mode 100644 index 00000000..ac75bf1b --- /dev/null +++ b/docs/context/hooks-reference-2026-01-07.md @@ -0,0 +1,338 @@ +# Get started with Claude Code hooks + +> Learn how to customize and extend Claude Code's behavior by registering shell commands + +Claude Code hooks are user-defined shell commands that execute at various points +in Claude Code's lifecycle. Hooks provide deterministic control over Claude +Code's behavior, ensuring certain actions always happen rather than relying on +the LLM to choose to run them. + + + For reference documentation on hooks, see [Hooks reference](/en/hooks). + + +Example use cases for hooks include: + +* **Notifications**: Customize how you get notified when Claude Code is awaiting + your input or permission to run something. +* **Automatic formatting**: Run `prettier` on .ts files, `gofmt` on .go files, + etc. after every file edit. +* **Logging**: Track and count all executed commands for compliance or + debugging. +* **Feedback**: Provide automated feedback when Claude Code produces code that + does not follow your codebase conventions. +* **Custom permissions**: Block modifications to production files or sensitive + directories. + +By encoding these rules as hooks rather than prompting instructions, you turn +suggestions into app-level code that executes every time it is expected to run. + + + You must consider the security implication of hooks as you add them, because hooks run automatically during the agent loop with your current environment's credentials. + For example, malicious hooks code can exfiltrate your data. Always review your hooks implementation before registering them. + + For full security best practices, see [Security Considerations](/en/hooks#security-considerations) in the hooks reference documentation. + + +## Hook Events Overview + +Claude Code provides several hook events that run at different points in the +workflow: + +* **PreToolUse**: Runs before tool calls (can block them) +* **PermissionRequest**: Runs when a permission dialog is shown (can allow or deny) +* **PostToolUse**: Runs after tool calls complete +* **UserPromptSubmit**: Runs when the user submits a prompt, before Claude processes it +* **Notification**: Runs when Claude Code sends notifications +* **Stop**: Runs when Claude Code finishes responding +* **SubagentStop**: Runs when subagent tasks complete +* **PreCompact**: Runs before Claude Code is about to run a compact operation +* **SessionStart**: Runs when Claude Code starts a new session or resumes an existing session +* **SessionEnd**: Runs when Claude Code session ends + +Each event receives different data and can control Claude's behavior in +different ways. + +## Quickstart + +In this quickstart, you'll add a hook that logs the shell commands that Claude +Code runs. + +### Prerequisites + +Install `jq` for JSON processing in the command line. + +### Step 1: Open hooks configuration + +Run the `/hooks` [slash command](/en/slash-commands) and select +the `PreToolUse` hook event. + +`PreToolUse` hooks run before tool calls and can block them while providing +Claude feedback on what to do differently. + +### Step 2: Add a matcher + +Select `+ Add new matcher…` to run your hook only on Bash tool calls. + +Type `Bash` for the matcher. + +You can use `*` to match all tools. + +### Step 3: Add the hook + +Select `+ Add new hook…` and enter this command: + +```bash theme={null} +jq -r '"\(.tool_input.command) - \(.tool_input.description // "No description")"' >> ~/.claude/bash-command-log.txt +``` + +### Step 4: Save your configuration + +For storage location, select `User settings` since you're logging to your home +directory. This hook will then apply to all projects, not just your current +project. + +Then press `Esc` until you return to the REPL. Your hook is now registered. + +### Step 5: Verify your hook + +Run `/hooks` again or check `~/.claude/settings.json` to see your configuration: + +```json theme={null} +{ + "hooks": { + "PreToolUse": [ + { + "matcher": "Bash", + "hooks": [ + { + "type": "command", + "command": "jq -r '\"\\(.tool_input.command) - \\(.tool_input.description // \"No description\")\"' >> ~/.claude/bash-command-log.txt" + } + ] + } + ] + } +} +``` + +### Step 6: Test your hook + +Ask Claude to run a simple command like `ls` and check your log file: + +```bash theme={null} +cat ~/.claude/bash-command-log.txt +``` + +You should see entries like: + +``` +ls - Lists files and directories +``` + +## More Examples + + + For a complete example implementation, see the [bash command validator example](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py) in our public codebase. + + +### Code Formatting Hook + +Automatically format TypeScript files after editing: + +```json theme={null} +{ + "hooks": { + "PostToolUse": [ + { + "matcher": "Edit|Write", + "hooks": [ + { + "type": "command", + "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q '\\.ts$'; then npx prettier --write \"$file_path\"; fi; }" + } + ] + } + ] + } +} +``` + +### Markdown Formatting Hook + +Automatically fix missing language tags and formatting issues in markdown files: + +```json theme={null} +{ + "hooks": { + "PostToolUse": [ + { + "matcher": "Edit|Write", + "hooks": [ + { + "type": "command", + "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/markdown_formatter.py" + } + ] + } + ] + } +} +``` + +Create `.claude/hooks/markdown_formatter.py` with this content: + +````python theme={null} +#!/usr/bin/env python3 +""" +Markdown formatter for Claude Code output. +Fixes missing language tags and spacing issues while preserving code content. +""" +import json +import sys +import re +import os + +def detect_language(code): + """Best-effort language detection from code content.""" + s = code.strip() + + # JSON detection + if re.search(r'^\s*[{\[]', s): + try: + json.loads(s) + return 'json' + except: + pass + + # Python detection + if re.search(r'^\s*def\s+\w+\s*\(', s, re.M) or \ + re.search(r'^\s*(import|from)\s+\w+', s, re.M): + return 'python' + + # JavaScript detection + if re.search(r'\b(function\s+\w+\s*\(|const\s+\w+\s*=)', s) or \ + re.search(r'=>|console\.(log|error)', s): + return 'javascript' + + # Bash detection + if re.search(r'^#!.*\b(bash|sh)\b', s, re.M) or \ + re.search(r'\b(if|then|fi|for|in|do|done)\b', s): + return 'bash' + + # SQL detection + if re.search(r'\b(SELECT|INSERT|UPDATE|DELETE|CREATE)\s+', s, re.I): + return 'sql' + + return 'text' + +def format_markdown(content): + """Format markdown content with language detection.""" + # Fix unlabeled code fences + def add_lang_to_fence(match): + indent, info, body, closing = match.groups() + if not info.strip(): + lang = detect_language(body) + return f"{indent}```{lang}\n{body}{closing}\n" + return match.group(0) + + fence_pattern = r'(?ms)^([ \t]{0,3})```([^\n]*)\n(.*?)(\n\1```)\s*$' + content = re.sub(fence_pattern, add_lang_to_fence, content) + + # Fix excessive blank lines (only outside code fences) + content = re.sub(r'\n{3,}', '\n\n', content) + + return content.rstrip() + '\n' + +# Main execution +try: + input_data = json.load(sys.stdin) + file_path = input_data.get('tool_input', {}).get('file_path', '') + + if not file_path.endswith(('.md', '.mdx')): + sys.exit(0) # Not a markdown file + + if os.path.exists(file_path): + with open(file_path, 'r', encoding='utf-8') as f: + content = f.read() + + formatted = format_markdown(content) + + if formatted != content: + with open(file_path, 'w', encoding='utf-8') as f: + f.write(formatted) + print(f"✓ Fixed markdown formatting in {file_path}") + +except Exception as e: + print(f"Error formatting markdown: {e}", file=sys.stderr) + sys.exit(1) +```` + +Make the script executable: + +```bash theme={null} +chmod +x .claude/hooks/markdown_formatter.py +``` + +This hook automatically: + +* Detects programming languages in unlabeled code blocks +* Adds appropriate language tags for syntax highlighting +* Fixes excessive blank lines while preserving code content +* Only processes markdown files (`.md`, `.mdx`) + +### Custom Notification Hook + +Get desktop notifications when Claude needs input: + +```json theme={null} +{ + "hooks": { + "Notification": [ + { + "matcher": "", + "hooks": [ + { + "type": "command", + "command": "notify-send 'Claude Code' 'Awaiting your input'" + } + ] + } + ] + } +} +``` + +### File Protection Hook + +Block edits to sensitive files: + +```json theme={null} +{ + "hooks": { + "PreToolUse": [ + { + "matcher": "Edit|Write", + "hooks": [ + { + "type": "command", + "command": "python3 -c \"import json, sys; data=json.load(sys.stdin); path=data.get('tool_input',{}).get('file_path',''); sys.exit(2 if any(p in path for p in ['.env', 'package-lock.json', '.git/']) else 0)\"" + } + ] + } + ] + } +} +``` + +## Learn more + +* For reference documentation on hooks, see [Hooks reference](/en/hooks). +* For comprehensive security best practices and safety guidelines, see [Security Considerations](/en/hooks#security-considerations) in the hooks reference documentation. +* For troubleshooting steps and debugging techniques, see [Debugging](/en/hooks#debugging) in the hooks reference + documentation. + + +--- + +> To find navigation and other pages in this documentation, fetch the llms.txt file at: https://code.claude.com/docs/llms.txt \ No newline at end of file diff --git a/docs/public/CLAUDE.md b/docs/public/CLAUDE.md index 5e7cd4f7..36246e89 100644 --- a/docs/public/CLAUDE.md +++ b/docs/public/CLAUDE.md @@ -93,165 +93,84 @@ npx mintlify dev -### Dec 28, 2025 +### Nov 18, 2025 -**platform-integration.mdx** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #33540 | 10:55 PM | 🔵 | Grep search found mem-search references in internationalized documentation | ~577 | -| #33522 | 10:46 PM | 🔵 | Platform integration documentation describes Worker API architecture | ~351 | +| #11206 | 3:01 PM | 🔵 | mem-search skill architecture and migration details retrieved in full format | ~538 | + +### Nov 21, 2025 -**docs.json** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #33312 | 3:09 PM | ✅ | OpenRouter Provider Documentation | ~497 | +| #13221 | 2:01 AM | 🔴 | Fixed broken markdown link to Viewer UI documentation | ~316 | +| #13220 | 2:00 AM | 🔴 | Escaped HTML less-than symbol in universal architecture timeout documentation | ~316 | +| #13216 | 1:54 AM | ✅ | Universal Architecture Added to Navigation | ~330 | +| #13215 | " | 🟣 | Universal AI Memory Architecture Documentation Created | ~732 | +| #13213 | 1:50 AM | 🔵 | Introduction Page Content and Recent v6.0.0 Release | ~495 | +| #13212 | " | 🔵 | Architecture Evolution Documentation Structure | ~408 | +| #13211 | " | 🔵 | Mintlify Documentation Site Configuration | ~430 | +| #13209 | 1:48 AM | 🔵 | Public Documentation Structure and Guidelines | ~383 | + +### Nov 25, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #14994 | 2:22 PM | ✅ | Version Channel Section Added to Configuration Documentation | ~301 | +| #14993 | " | ✅ | Beta Features Added to Documentation Navigation | ~188 | +| #14992 | 2:21 PM | 🟣 | Beta Features Documentation Page Created | ~488 | +| #14991 | " | 🔵 | Mintlify Navigation Structure and Documentation Groups | ~394 | +| #14989 | " | 🔵 | Installation Documentation with Quick Start and Verification Steps | ~383 | +| #14988 | " | 🔵 | Configuration Documentation Structure and Environment Variables | ~338 | + +### Nov 26, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #16190 | 10:22 PM | 🔵 | RAGTIME Search Retrieved Five Observations About Claude-Mem vs RAG Architecture | ~637 | + +### Dec 3, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #19884 | 9:42 PM | 🔵 | Configuration system and environment variables | ~701 | +| #19878 | 9:40 PM | 🔵 | Installation process and system architecture | ~486 | + +### Dec 8, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #22335 | 10:26 PM | 🔵 | Mintlify documentation configuration analyzed | ~534 | +| #22311 | 9:47 PM | 🔵 | Comprehensive Hooks Architecture Documentation Review | ~263 | +| #22297 | 9:43 PM | 🔵 | Mintlify Documentation Framework Configuration | ~446 | +| #22294 | " | 🔵 | Documentation Site Structure Located | ~359 | + +### Dec 9, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #23179 | 10:44 PM | ✅ | Removed explanatory reasons from tool exclusion documentation | ~297 | + +### Dec 15, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #27038 | 6:02 PM | 🔵 | 95% token reduction claims found only in private experimental documents, not in main public docs | ~513 | +| #27037 | " | 🔵 | Branch switching functionality exists in SettingsRoutes with UI switcher removal intent | ~463 | +| #26986 | 5:24 PM | ✅ | Updated Endless Mode latency warning in beta features documentation | ~299 | ### Dec 29, 2025 -**docs.json** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #34321 | 11:03 PM | 🔵 | Mintlify Navigation Configuration Defines Expected File Paths | ~330 | -| #34215 | 10:08 PM | 🔵 | Retrieved Detailed Cursor Integration Implementation History | ~676 | -| #34148 | 9:28 PM | 🟣 | Cursor IDE Integration with Cross-Platform Hooks and Documentation | ~514 | -| #34112 | 9:07 PM | 🟣 | Committed Cursor Public Documentation to Repository | ~427 | -| #34108 | 9:06 PM | 🟣 | Added Cursor Integration Section to Documentation Navigation | ~441 | -| #34101 | 9:04 PM | 🔵 | Documentation Navigation Configuration Using Mintlify | ~445 | +| #33938 | 6:27 PM | 🔵 | Relevant CLAUDE.md Context Identified for PR #492 | ~435 | +| #33750 | 12:25 AM | ✅ | Documentation Update: Removed Version Number from Architecture Evolution | ~281 | + +### Jan 7, 2026 -**public** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #34318 | 11:03 PM | 🔵 | Mintlify Documentation Files and Configuration Located | ~294 | - -**installation.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34102 | 9:04 PM | 🔵 | Current Installation Documentation Targets Claude Code Plugin Users | ~485 | - -**progressive-disclosure.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33773 | 12:38 AM | ✅ | Replaced two-tier with three-layer workflow documentation | ~431 | -| #33772 | " | ✅ | Updated progressive disclosure docs with 3-layer MCP workflow | ~399 | -| #33771 | 12:37 AM | 🔵 | Progressive disclosure design rationale documented | ~508 | -| #33770 | " | 🔵 | Progressive disclosure documentation reviewed | ~479 | -| #33715 | 12:18 AM | ✅ | Future enhancements section updated for current API structure | ~308 | -| #33712 | " | ✅ | Progressive disclosure docs updated to reflect 3-layer workflow | ~363 | -| #33702 | 12:09 AM | ⚖️ | Documentation Update Strategy Finalized for MCP Architecture Transition | ~845 | -| #33696 | 12:07 AM | 🔵 | Progressive Disclosure Philosophy Requires Tool Name Updates | ~687 | -| #33685 | 12:04 AM | 🔵 | Progressive Disclosure Philosophy Document References Deprecated Tools | ~543 | - -**architecture-evolution.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33763 | 12:27 AM | ✅ | Pull request #480 created for MCP architecture documentation updates | ~423 | -| #33760 | 12:26 AM | ✅ | Major documentation overhaul across 6 files with 908 additions | ~367 | -| #33749 | 12:25 AM | ✅ | Documentation Version Reference Removed | ~282 | -| #33747 | " | ✅ | Removed specific version reference from MCP architecture section | ~279 | -| #33745 | " | ✅ | Documentation Version Reference Simplified | ~224 | -| #33744 | " | ✅ | Removed fabricated version number from architecture documentation | ~319 | -| #33726 | 12:20 AM | 🟣 | v6.5.0 architecture evolution documentation added | ~599 | -| #33700 | 12:08 AM | 🔵 | Architecture Evolution Document Contains Historical MCP Tool References | ~625 | - -**troubleshooting.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33722 | 12:19 AM | ✅ | Token limit troubleshooting completely rewritten for 3-layer workflow | ~426 | -| #33720 | " | ✅ | Troubleshooting search query examples updated to current API | ~329 | -| #33717 | " | 🔵 | Troubleshooting docs contain outdated search_observations references | ~333 | -| #33693 | 12:06 AM | 🔵 | Troubleshooting Documentation Contains Deprecated Search Tool Syntax | ~576 | - -**introduction.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33687 | 12:05 AM | 🔵 | Introduction Documentation References mem-search Skill | ~426 | - -### Dec 31, 2025 - -**troubleshooting.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34688 | 3:40 PM | 🔵 | Worker Logs Command Usage Across Codebase | ~320 | - -### Jan 1, 2026 - -**context-engineering.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35459 | 8:57 PM | 🔵 | Existing Coding Standards and Anti-Pattern References in Codebase | ~600 | - -### Jan 2, 2026 - -**architecture-evolution.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36096 | 10:23 PM | 🔵 | Observation API Function Names Located | ~227 | - -### Jan 3, 2026 - -**architecture-evolution.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36353 | 8:42 PM | 🔵 | Multiple observation table definitions found across codebase | ~280 | - -### Jan 4, 2026 - -**hooks-architecture.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36941 | 2:43 AM | 🔵 | Context Injection Header Format | ~220 | - -### Jan 5, 2026 - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 | - -**progressive-disclosure.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38069 | 9:51 PM | 🔵 | Progressive Disclosure Philosophy Documentation | ~546 | - -**docs.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38066 | 9:50 PM | ✅ | v9.0 Documentation Audit Completed with 14 Files Updated | ~547 | -| #38064 | " | ⚖️ | 9.0 Release Documentation Audit Complete - Major Gaps Identified | ~997 | -| #38035 | 9:42 PM | 🔵 | Documentation Navigation Structure for 9.0 Release | ~422 | - -**modes.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38060 | 9:49 PM | 🔵 | Modes System Documentation for Workflow and Language Configuration | ~514 | - -**configuration.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38054 | 9:47 PM | 🔵 | Configuration Documentation Review - Missing Live Context Settings | ~530 | - -**platform-integration.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38052 | 9:46 PM | 🔵 | Platform Integration Documentation Review | ~525 | - -**hooks-architecture.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38045 | 9:45 PM | 🔵 | Hooks Architecture Documentation Review | ~520 | - -**introduction.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38044 | 9:44 PM | 🔵 | Introduction Documentation Review for 9.0 Release | ~462 | - -**context-engineering.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38043 | 9:44 PM | 🔵 | Context Engineering Documentation Review | ~455 | - -**troubleshooting.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 | +| #38233 | 7:42 PM | ✅ | Renumbered SessionEnd Hook from 6 to 5 | ~315 | +| #38229 | 7:41 PM | ✅ | Renumbered PostToolUse Hook from 4 to 3 | ~278 | +| #38225 | " | ✅ | Updated Hook Count Description in Hooks Architecture Documentation | ~352 | \ No newline at end of file diff --git a/docs/public/architecture/CLAUDE.md b/docs/public/architecture/CLAUDE.md index 645e3ed5..446aaa12 100644 --- a/docs/public/architecture/CLAUDE.md +++ b/docs/public/architecture/CLAUDE.md @@ -3,147 +3,36 @@ -### Dec 16, 2025 +### Nov 18, 2025 -**worker-service.mdx** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #28299 | 9:57 PM | ✅ | Documentation Updated for Renamed MCP Tools | ~305 | -| #28293 | 9:56 PM | 🔵 | get_batch_observations Usage Across Codebase | ~226 | -| #28292 | " | 🔵 | get_batch_observations Referenced in 4 Files | ~246 | -| #28242 | 9:38 PM | 🔵 | Progressive Description and Batch Observations Usage Sites | ~241 | +| #11206 | 3:01 PM | 🔵 | mem-search skill architecture and migration details retrieved in full format | ~538 | + +### Nov 21, 2025 -**search-architecture.mdx** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #28074 | 8:09 PM | 🔵 | Progressive Disclosure Pattern and Search Implementation | ~558 | -| #28067 | " | 🔵 | Progressive Disclosure and Security Architecture | ~528 | -| #28066 | 8:08 PM | 🔵 | Search Architecture Evolution from MCP to Skill-Based | ~530 | -| #28058 | " | 🔵 | Search Architecture Evolution from MCP Tools to Skill-Based HTTP API | ~528 | +| #13218 | 1:58 AM | 🔴 | Escaped HTML special character in MDX documentation | ~261 | + +### Dec 3, 2025 -**pm2-to-bun-migration.mdx** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #27716 | 5:41 PM | ✅ | Better-sqlite3 References Removed from Codebase | ~319 | -| #27715 | " | 🔵 | Git Branch Already Created | ~208 | -| #27712 | 5:40 PM | 🟣 | Merged PR #332: API-Based Import/Export Architecture | ~372 | -| #27699 | 5:37 PM | 🔵 | Comprehensive PM2 to Bun migration documentation exists | ~360 | -| #27696 | 5:36 PM | 🔵 | Documentation already reflects better-sqlite3 to bun:sqlite migration | ~390 | -| #27695 | " | 🔵 | Better-sqlite3 references found in documentation | ~201 | -| #27687 | 5:32 PM | 🔴 | Corrected Migration Date in PM2 to Bun Documentation | ~270 | -| #27656 | 5:24 PM | ⚖️ | PM2 to Bun Documentation Migration Plan Created | ~551 | -| #27655 | " | 🟣 | PM2 to Bun Documentation Migration Plan Created | ~455 | -| #27654 | 5:22 PM | 🔵 | Complete PM2 Documentation Audit | ~458 | +| #19891 | 9:43 PM | 🔵 | Seven hook scripts across five lifecycle events | ~713 | -### Dec 17, 2025 +### Dec 15, 2025 -**pm2-to-bun-migration.mdx** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #28930 | 7:30 PM | 🔵 | Worker CLI Distribution and Build System | ~275 | +| #27040 | 6:03 PM | 🔵 | Comprehensive search confirms no 95% claims exist in main branch public documentation | ~508 | +| #27037 | 6:02 PM | 🔵 | Branch switching functionality exists in SettingsRoutes with UI switcher removal intent | ~463 | + +### Jan 7, 2026 -**worker-service.mdx** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #28929 | 7:30 PM | 🔵 | ProcessManager Usage Across Codebase | ~319 | - -### Dec 18, 2025 - -**database.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #29815 | 7:33 PM | 🔵 | Database contains multiple session table schemas | ~311 | - -### Dec 20, 2025 - -**worker-service.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #30675 | 5:08 PM | 🔵 | Platform Documentation Across 18 Files | ~335 | - -**overview.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #30253 | 3:17 PM | 🔵 | Agent SDK Integration Throughout Codebase | ~402 | - -### Dec 24, 2025 - -**hooks.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32193 | 7:42 PM | 🔵 | Session completion endpoint usage across codebase | ~278 | - -### Dec 25, 2025 - -**worker-service.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32654 | 8:51 PM | 🔵 | Identified multiple files related to queue recovery | ~375 | -| #32456 | 5:41 PM | ✅ | Completed merge of main branch into feature/titans-phase1-3 | ~354 | -| #32432 | 3:41 PM | 🟣 | Manual Queue Recovery System with CLI and API | ~531 | -| #32425 | 3:26 PM | ✅ | API Documentation for Manual Recovery Endpoints Added | ~563 | - -### Dec 27, 2025 - -**hooks.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33101 | 7:11 PM | 🔵 | Context Injection API Endpoint Usage Across Hooks | ~358 | - -### Dec 28, 2025 - -**search-architecture.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33540 | 10:55 PM | 🔵 | Grep search found mem-search references in internationalized documentation | ~577 | - -### Dec 29, 2025 - -**search-architecture.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33769 | 12:37 AM | ✅ | Documentation updated for MCP-based search architecture | ~528 | -| #33767 | 12:34 AM | ✅ | Committed MDX Syntax Fix to updates/docs Branch | ~301 | -| #33766 | " | 🔴 | Fixed MDX Syntax Error in Performance Section | ~293 | -| #33765 | 12:33 AM | 🔵 | Search Architecture Documentation Structure Analysis | ~524 | -| #33763 | 12:27 AM | ✅ | Pull request #480 created for MCP architecture documentation updates | ~423 | -| #33762 | " | ✅ | Architecture shift from skill-based to MCP-based search with 3-layer workflow | ~418 | -| #33760 | 12:26 AM | ✅ | Major documentation overhaul across 6 files with 908 additions | ~367 | -| #33756 | 12:25 AM | ✅ | Documentation Version Reference Removed from Search Architecture | ~257 | -| #33754 | " | ✅ | Removed fabricated version range from skill-based approach comparison | ~318 | -| #33753 | " | ✅ | Documentation Version Number Removed from Architecture Evolution Section | ~233 | -| #33751 | " | 🔵 | Architecture Evolution Documentation Records v6.5.0 Migration | ~227 | -| #33702 | 12:09 AM | ⚖️ | Documentation Update Strategy Finalized for MCP Architecture Transition | ~845 | -| #33698 | 12:07 AM | 🔵 | Search Architecture Documentation Comprehensively Describes Deleted Skill System | ~663 | -| #33680 | 12:03 AM | 🔵 | Search Architecture Documentation Describes Deleted Skill System | ~576 | - -### Dec 31, 2025 - -**pm2-to-bun-migration.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34688 | 3:40 PM | 🔵 | Worker Logs Command Usage Across Codebase | ~320 | - -### Jan 2, 2026 - -**database.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36096 | 10:23 PM | 🔵 | Observation API Function Names Located | ~227 | - -### Jan 3, 2026 - -**database.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36353 | 8:42 PM | 🔵 | Multiple observation table definitions found across codebase | ~280 | - -### Jan 5, 2026 - -**overview.mdx** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38066 | 9:50 PM | ✅ | v9.0 Documentation Audit Completed with 14 Files Updated | ~547 | -| #38064 | " | ⚖️ | 9.0 Release Documentation Audit Complete - Major Gaps Identified | ~997 | -| #38059 | 9:49 PM | 🔵 | Architecture Overview Documentation Review | ~554 | +| #38221 | 7:41 PM | ✅ | Removed User Message Hook Documentation Section | ~339 | +| #38218 | 7:40 PM | ✅ | Updated Hook Configuration Documentation to Match Implementation | ~382 | +| #38212 | " | 🔵 | 5-Stage Hook Lifecycle Architecture for Memory Agent | ~668 | \ No newline at end of file diff --git a/docs/public/architecture/hooks.mdx b/docs/public/architecture/hooks.mdx index f3509ace..02991b44 100644 --- a/docs/public/architecture/hooks.mdx +++ b/docs/public/architecture/hooks.mdx @@ -177,7 +177,7 @@ graph TB | Stage | Hook | Trigger | Purpose | |-------|------|---------|---------| -| **1. SessionStart** | `context-hook.js` + `user-message-hook.js` | User opens Claude Code | Inject prior context, show UI messages | +| **1. SessionStart** | `context-hook.js` | User opens Claude Code | Inject prior context silently | | **2. UserPromptSubmit** | `new-hook.js` | User submits a prompt | Create/get session, save prompt, init worker | | **3. PostToolUse** | `save-hook.js` | Claude uses any tool | Queue observation for AI compression | | **4. Stop** | `summary-hook.js` | User stops asking questions | Generate session summary | @@ -194,12 +194,16 @@ Hooks are configured in `plugin/hooks/hooks.json`: "matcher": "startup|clear|compact", "hooks": [{ "type": "command", - "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/context-hook.js", + "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/smart-install.js", "timeout": 300 }, { "type": "command", - "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/user-message-hook.js", - "timeout": 10 + "command": "bun ${CLAUDE_PLUGIN_ROOT}/scripts/worker-service.cjs start", + "timeout": 60 + }, { + "type": "command", + "command": "bun ${CLAUDE_PLUGIN_ROOT}/scripts/context-hook.js", + "timeout": 60 }] }], "UserPromptSubmit": [{ @@ -242,8 +246,13 @@ Hooks are configured in `plugin/hooks/hooks.json`: **Timing**: When user opens Claude Code or resumes session **Hooks Triggered** (in order): -1. `context-hook.js` - Fetches and injects prior session context -2. `user-message-hook.js` - Displays context info to user via stderr +1. `smart-install.js` - Ensures dependencies are installed +2. `worker-service.cjs start` - Starts the worker service +3. `context-hook.js` - Fetches and silently injects prior session context + + +As of Claude Code 2.1.0 (ultrathink update), SessionStart hooks no longer display user-visible messages. Context is silently injected via `hookSpecificOutput.additionalContext`. + ### Sequence Diagram @@ -306,19 +315,6 @@ sequenceDiagram **Implementation**: `src/hooks/context-hook.ts` -### User Message Hook (`user-message-hook.js`) - -**Purpose**: Display helpful user messages during first-time setup or when viewing context. - -**Behavior**: -- Shows first-time setup message when `node_modules` is missing -- Displays formatted context information with colors -- Provides tips for using claude-mem effectively -- Shows link to viewer UI (`http://localhost:37777`) -- Uses stderr as communication channel (only output available in Claude Code UI) - -**Implementation**: `src/hooks/user-message-hook.ts` - --- ## Stage 2: UserPromptSubmit diff --git a/docs/public/hooks-architecture.mdx b/docs/public/hooks-architecture.mdx index 8ae13bf9..8115f29b 100644 --- a/docs/public/hooks-architecture.mdx +++ b/docs/public/hooks-architecture.mdx @@ -22,11 +22,15 @@ Claude-Mem is fundamentally a **hook-driven system**. Every piece of functionali ┌─────────────────────────────────────────────────────────┐ │ CLAUDE-MEM SYSTEM │ │ │ -│ Smart Context User New Obs │ -│ Install Inject Message Session Capture │ +│ Smart Worker Context New Obs │ +│ Install Start Inject Session Capture │ └─────────────────────────────────────────────────────────┘ ``` + +As of Claude Code 2.1.0 (ultrathink update), SessionStart hooks no longer display user-visible messages. Context is silently injected via `hookSpecificOutput.additionalContext`. + + **Key insight:** Claude-Mem doesn't interrupt or modify Claude Code's behavior. It observes from the outside and provides value through lifecycle hooks. --- @@ -68,9 +72,9 @@ Claude Code's hook system provides exactly what we need: --- -## The Six Hook Scripts + Pre-Hook +## The Hook Scripts -Claude-Mem uses 6 lifecycle hook scripts across 5 lifecycle events, plus 1 pre-hook script for dependency management. SessionStart runs 2 hooks in sequence (after the pre-hook script). +Claude-Mem uses lifecycle hook scripts across 5 lifecycle events. SessionStart runs 3 hooks in sequence: smart-install, worker-service start, and context-hook. ### Pre-Hook: Smart Install (Before SessionStart) @@ -155,56 +159,7 @@ Claude-Mem uses 6 lifecycle hook scripts across 5 lifecycle events, plus 1 pre-h --- -### Hook 2: SessionStart - User Message - -**Purpose:** Display helpful user messages during first-time setup - -**When:** Claude Code starts (runs after context-hook) - -**What it does:** -1. Checks if dependencies are installed -2. Shows first-time setup message if needed -3. Displays formatted context information with colors -4. Shows link to viewer UI (http://localhost:37777) -5. Exits with code 3 (informational, not error) - -**Configuration:** -```json -{ - "hooks": { - "SessionStart": [{ - "matcher": "startup|clear|compact", - "hooks": [{ - "type": "command", - "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/user-message-hook.js", - "timeout": 10 - }] - }] - } -} -``` - -**Output Example:** -``` -📝 Claude-Mem Context Loaded - ℹ️ Note: This appears as stderr but is informational only - -[Context details with colors...] - -📺 Watch live in browser http://localhost:37777/ (New! v5.1) -``` - -**Key Features:** -- ✅ User-friendly first-time experience -- ✅ Visual context display -- ✅ Links to viewer UI -- ✅ Non-intrusive (exit code 3) - -**Source:** `plugin/scripts/user-message-hook.js` (minified) - ---- - -### Hook 3: UserPromptSubmit (New Session Hook) +### Hook 2: UserPromptSubmit (New Session Hook) **Purpose:** Initialize session tracking when user submits a prompt @@ -251,7 +206,7 @@ VALUES (?, ?, ?, ...) --- -### Hook 4: PostToolUse (Save Observation Hook) +### Hook 3: PostToolUse (Save Observation Hook) **Purpose:** Capture tool execution observations for later processing @@ -312,7 +267,7 @@ VALUES (?, ?, ?, ?, ...) --- -### Hook 5: Stop Hook (Summary Generation) +### Hook 4: Stop Hook (Summary Generation) **Purpose:** Generate AI-powered session summaries during the session @@ -367,7 +322,7 @@ VALUES (?, ?, ?, ?, ...) --- -### Hook 6: SessionEnd (Cleanup Hook) +### Hook 5: SessionEnd (Cleanup Hook) **Purpose:** Mark sessions as completed when they end @@ -474,14 +429,18 @@ sequenceDiagram | Event | Timing | Blocking | Timeout | Output Handling | |-------|--------|----------|---------|-----------------| -| **SessionStart (smart-install)** | Before session | No | 300s | stderr (info) | -| **SessionStart (context)** | Before session | No | 300s | stdout → context | -| **SessionStart (user-message)** | Before session | No | 10s | stderr (info) | -| **UserPromptSubmit** | Before processing | No | 120s | stdout → context | +| **SessionStart (smart-install)** | Before session | No | 300s | stderr (log only) | +| **SessionStart (worker-start)** | Before session | No | 60s | stderr (log only) | +| **SessionStart (context)** | Before session | No | 60s | JSON → additionalContext (silent) | +| **UserPromptSubmit** | Before processing | No | 60s | stdout → context | | **PostToolUse** | After tool | No | 120s | Transcript only | | **Summary** | Worker triggered | No | 120s | Database | | **SessionEnd** | On exit | No | 120s | Log only | + +As of Claude Code 2.1.0 (ultrathink update), SessionStart hooks no longer display user-visible messages. Context is silently injected via `hookSpecificOutput.additionalContext`. + + --- ## The Worker Service Architecture diff --git a/docs/reports/2026-01-07--all-open-issues-explained.md b/docs/reports/2026-01-07--all-open-issues-explained.md new file mode 100644 index 00000000..4261c498 --- /dev/null +++ b/docs/reports/2026-01-07--all-open-issues-explained.md @@ -0,0 +1,144 @@ +# All Open Issues Explained + +*Generated: January 7, 2026* + +This report provides plain English explanations of all 12 open GitHub issues, their root causes, and proposed solutions. + +--- + +## Critical Priority (P0) + +### #603 - Memory Leak from Child Processes + +When you use claude-mem on Linux/Mac, it spawns helper processes to analyze your work. These processes never get cleaned up when they're done - they just sit there eating RAM. One user had 121 zombie processes using 44GB of memory after 6 hours. + +**Root cause:** The `getChildProcesses()` function in ProcessManager.ts only works on Windows (using WMIC). On Linux/Mac, it returns an empty array, so child processes are never tracked or killed during cleanup. + +**Proposed solution:** Add Unix child process enumeration using `pgrep -P ` to find and kill child processes when the worker shuts down or restarts. + +--- + +### #596 - SDK Crashes on Startup + +Sometimes when the plugin tries to start its AI helper, it crashes immediately with "ProcessTransport not ready." It's a timing issue - the plugin tries to send data before the helper process is fully started up. + +**Root cause:** The Claude Agent SDK spawns a subprocess, but the plugin immediately tries to write to stdin before the process has finished initializing. There's no retry mechanism. + +**Proposed solution:** Add a retry wrapper with exponential backoff (100ms → 200ms → 400ms) around the SDK query call. If it fails with "ProcessTransport not ready," wait and try again up to 3 times. + +--- + +### #587 - Observations Stop Being Saved + +After you restart the worker (or it crashes), the plugin thinks it can resume an old session that doesn't exist anymore. The AI helper just sits there waiting instead of processing your work, so nothing gets saved. + +**Root cause:** The `memorySessionId` persists in the database across worker restarts, but the actual SDK session is gone. The plugin tries to resume a non-existent session, and the SDK responds with "awaiting data" instead of processing. + +**Proposed solution:** Track whether the `memorySessionId` was captured during the current worker run with a `memorySessionIdCapturedThisRun` flag. Only attempt to resume if this flag is true. + +--- + +## High Priority (P1) + +### #602 - Windows Won't Start + +The plugin uses an old Windows command called `wmic` that Microsoft removed from Windows 11. So Windows users get errors and the plugin won't start properly. + +**Root cause:** ProcessManager.ts uses `wmic process where "parentprocessid=X"` to enumerate child processes, but WMIC is deprecated and removed from modern Windows 11 builds. + +**Proposed solution:** Replace WMIC with `tasklist /FI "PID eq X" /FO CSV` as the primary method, with PowerShell `Get-CimInstance Win32_Process` as a fallback. + +--- + +### #588 - Unexpected API Charges + +If you have an Anthropic API key in your project's `.env` file, the plugin silently uses it and charges your account. Users with Claude Max subscriptions were surprised by extra bills because the plugin found their API key and used it without asking. + +**Root cause:** The default provider is set to `'claude'` in SettingsDefaultsManager.ts, and the Claude Agent SDK automatically discovers `ANTHROPIC_API_KEY` from environment variables. The plugin inherits the parent process environment, exposing any API keys. + +**Proposed solution:** Either change the default provider to `'gemini'` (which has a free tier), or add a first-run warning that clearly states API costs will be incurred. Consider requiring explicit opt-in for Anthropic API usage. + +--- + +### #591 - OpenRouter Provider Broken + +When using OpenRouter as your AI provider, the plugin can't save observations because it's missing an internal ID that normally comes from Claude's API. OpenRouter doesn't provide this ID, and the plugin doesn't handle that. + +**Root cause:** OpenRouterAgent.ts has no mechanism to capture or generate a `memorySessionId`. Unlike the Claude SDK which returns a `session_id` in responses, OpenRouter's API is stateless and doesn't provide session identifiers. + +**Proposed solution:** Generate a UUID for `memorySessionId` at the start of `OpenRouterAgent.startSession()` before calling `processAgentResponse()`. The same fix is needed for GeminiAgent.ts. + +--- + +### #598 - Plugin Messages in Your History + +When you use `/resume` in Claude Code, you see a bunch of "Hello memory agent" messages that the plugin sent internally. These should be hidden from your conversation history but they're leaking through. + +**Root cause:** The plugin yields messages with `session_id: session.contentSessionId` (the user's session) instead of `session.memorySessionId` (the plugin's internal session). This causes the SDK to associate plugin messages with the user's conversation. + +**Proposed solution:** Change SDKAgent.ts line 289 to use `memorySessionId` instead of `contentSessionId`. Also consider removing or minimizing the `continuation_greeting` in code.json. + +--- + +### #586 - Race Condition Loses Data + +There's a timing bug where the plugin tries to save your observations before it has the session ID it needs. Instead of waiting, it just throws an error and your observations are lost. + +**Root cause:** The async message generator yields messages concurrently with session ID capture. If `processAgentResponse()` runs before the first SDK message with `session_id` is processed, `memorySessionId` is still null and the hard error at ResponseProcessor.ts:73-75 throws. + +**Proposed solution:** Replace the hard error with a wait/retry loop that polls for up to 5 seconds for `memorySessionId` to be captured. If still missing, generate a fallback UUID. + +--- + +## Medium Priority (P2) + +### #590 - Annoying Popup Window on Windows + +When the plugin starts its vector database (Chroma) on Windows, a blank terminal window pops up and stays open. You have to manually close it every time. + +**Root cause:** ChromaSync.ts attempts to set `windowsHide: true` in the transport options, but the MCP SDK's StdioClientTransport doesn't pass this option through to `child_process.spawn()`. + +**Proposed solution:** Wrap the `uvx` command in a PowerShell call: `powershell -NoProfile -WindowStyle Hidden -Command "uvx ..."`. This pattern already works elsewhere in the codebase (ProcessManager.ts:271). + +--- + +### #600 - Documentation Lies + +The docs describe features that don't actually exist in the released version - they're only in beta branches. Users try to use documented features and they don't work. + +**Root cause:** Documentation was written for features in beta branches that were never merged to main. The MCP migration removed the skills directory but docs still reference it. Several settings are documented but not in the validated settings list. + +**Proposed solution:** Audit all docs and either add "Beta Only" badges to unimplemented features, or remove references entirely. Update architecture docs to reflect MCP-based search instead of skill-based. + +--- + +### #597 - General Bug Report + +A user posted 4 screenshots saying "too many bugs" after 2 days of frustration. It's basically a meta-issue confirming the other problems are real and affecting users. + +**Root cause:** The user encountered multiple v9.0.0 regressions including ProcessTransport failures, worker startup issues, and session problems. The screenshots show error states but lack specific details. + +**Proposed solution:** This is resolved by fixing the other issues. Consider adding a `/troubleshoot` command or better error reporting to help users provide actionable bug reports. + +--- + +## Low Priority (P3) + +### #599 - Windows Drive Root Error + +If you run Claude Code from `C:\` (the drive root), the plugin crashes because it can't figure out what to call your "project." It's an edge case but easy to fix. + +**Root cause:** user-message-hook.ts uses `path.basename(process.cwd())` directly, which returns an empty string for drive roots like `C:\`. The API rejects empty project names with a 400 error. + +**Proposed solution:** Use the existing `getProjectName()` utility from `src/utils/project-name.ts` which already handles drive roots by returning `"drive-C"` style names. + +--- + +## Summary by Release + +| Release | Issues | Focus | +|---------|--------|-------| +| v9.0.1 | #603, #596, #587 | Critical stability fixes | +| v9.0.2 | #602, #588, #591, #598, #586 | Windows + provider fixes | +| v9.1.0 | #590, #600, #597 | Polish + documentation | +| v9.1.x | #599 | Edge case fix | diff --git a/docs/reports/2026-01-07--open-issues-summary.md b/docs/reports/2026-01-07--open-issues-summary.md new file mode 100644 index 00000000..8c4e63ea --- /dev/null +++ b/docs/reports/2026-01-07--open-issues-summary.md @@ -0,0 +1,84 @@ +# Open Issues Summary - January 7, 2026 + +This document provides an index of all open GitHub issues analyzed on 2026-01-07. + +## Critical Priority (P0) + +| Issue | Title | Severity | Report | +|-------|-------|----------|--------| +| #603 | Worker daemon leaks child claude processes | Critical | [Report](./issue-603-worker-daemon-leaks-child-processes.md) | +| #596 | ProcessTransport not ready for writing | Critical | [Report](./issue-596-processtransport-not-ready.md) | +| #587 | Observations not stored - SDK awaiting data | Critical | [Report](./issue-587-observations-not-stored.md) | + +## High Priority (P1) + +| Issue | Title | Severity | Report | +|-------|-------|----------|--------| +| #602 | PostToolUse worker-service failed (Windows) | Critical | [Report](./issue-602-posttooluse-worker-service-failed.md) | +| #588 | API key usage warning - unexpected charges | High | [Report](./issue-588-api-key-usage-warning.md) | +| #591 | OpenRouter memorySessionId capture failure | Critical | [Report](./issue-591-openrouter-memorysessionid-capture.md) | +| #598 | Conversation history pollution | High | [Report](./issue-598-conversation-history-pollution.md) | +| #586 | Race condition in memory_session_id capture | High | [Report](./issue-586-feature-request-unknown.md) | +| #597 | Multiple bugs reported (image-only) | High | [Report](./issue-597-too-many-bugs.md) | + +## Medium Priority (P2) + +| Issue | Title | Severity | Report | +|-------|-------|----------|--------| +| #590 | Windows Chroma terminal popup | Medium | [Report](./issue-590-windows-chroma-terminal-popup.md) | +| #600 | Documentation audit - features not implemented | Medium | [Report](./issue-600-documentation-audit-features-not-implemented.md) | + +## Low Priority (P3) + +| Issue | Title | Severity | Report | +|-------|-------|----------|--------| +| #599 | Windows drive root 400 error | Low | [Report](./issue-599-windows-drive-root-400-error.md) | + +--- + +## Key Themes + +### 1. v9.0.0 Regressions +Multiple issues (#596, #587, #586) relate to observation storage failures introduced in v9.0.0, primarily around: +- ProcessTransport race conditions +- Session ID capture timing +- Worker restart loops + +### 2. Windows Platform Issues +Several Windows-specific bugs (#602, #590, #599): +- WMIC deprecated command usage +- Console window popups +- Path handling for drive roots + +### 3. Session Management +Issues with session lifecycle (#603, #591, #598): +- Child process leaks +- Provider-specific session ID handling +- Message pollution in user history + +### 4. Documentation Drift +Issue #600 identifies significant gap between documented and implemented features. + +--- + +## Recommended Fix Order + +1. **v9.0.1 Hotfix** (48 hours): + - #588 - Add API key usage warning (financial impact) + - #596 - ProcessTransport retry mechanism + - #587 - Stale session invalidation + +2. **v9.0.2 Patch** (1 week): + - #603 - Orphan process reaper + - #602 - Windows WMIC replacement + - #591 - OpenRouter memorySessionId generation + +3. **v9.1.0 Minor** (2 weeks): + - #598 - Session isolation improvements + - #590 - Windows console hiding + - #599 - Drive root path handling + - #600 - Documentation updates + +--- + +*Generated: 2026-01-07 19:45 EST* diff --git a/docs/reports/CLAUDE.md b/docs/reports/CLAUDE.md index 01ac3899..9e78e685 100644 --- a/docs/reports/CLAUDE.md +++ b/docs/reports/CLAUDE.md @@ -3,165 +3,35 @@ -### Jan 2, 2026 - -**2026-01-02--generator-failure-investigation.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36091 | 10:20 PM | 🔵 | Generator Failure Investigation - Chroma Vector Search Silent Failures | ~436 | -| #36079 | 10:10 PM | 🔴 | Fixed Generator Crashes from Silent Chroma Vector Search Failures | ~531 | - -**2026-01-02--stuck-observations.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36004 | 8:14 PM | 🔵 | Comprehensive Investigation Report on Stuck Observations Problem | ~527 | - -### Jan 3, 2026 - -**2026-01-04--session-id-refactor-failures.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36643 | 10:56 PM | 🔵 | Session ID Refactor Test Failures Root Cause | ~513 | -| #36636 | 10:46 PM | 🟣 | Session ID Refactor Analysis Agent Completed Comprehensive Report | ~637 | -| #36626 | 10:44 PM | 🟣 | Session ID Refactor Failures Report Generated | ~569 | - -**2026-01-04--gemini-agent-failures.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36638 | 10:47 PM | ✅ | GeminiAgent Failures Report Manually Created After Agent Timeout | ~604 | - -**2026-01-04--session-store-failures.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36635 | 10:46 PM | 🟣 | SessionStore Analysis Agent Completed Report Generation | ~545 | -| #36634 | " | ✅ | SessionStore Failures Report Generated With Test Fix Recommendations | ~595 | - -**2026-01-04--logger-coverage-failures.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36633 | 10:46 PM | ✅ | Logger Coverage Failures Report Generated | ~559 | -| #36623 | 10:44 PM | 🟣 | Logger Coverage Failures Report Generated | ~249 | - -**2026-01-04--session-id-validation-failures.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36628 | 10:44 PM | 🟣 | Session ID Validation Failures Report Generated | ~690 | - -**2026-01-04--test-suite-report.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36609 | 10:39 PM | 🟣 | Comprehensive Test Suite Report Generated | ~563 | - -**reports** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36599 | 10:37 PM | 🔵 | Reports Directory Structure Confirmed | ~203 | - -**2026-01-02--generator-failure-investigation.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | - -**2026-01-03--observation-saving-failure.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36113 | 3:58 PM | 🔴 | Fixed FOREIGN KEY Constraint Failure in Observation Storage | ~448 | - -### Jan 4, 2026 - -**2026-01-04--issue-511-gemini-model-missing.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36924 | 2:25 AM | ✅ | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 | -| #36827 | 1:03 AM | ✅ | Branch diff shows 1,293 insertions and 98 deletions across 15 files | ~464 | -| #36781 | 12:45 AM | 🔵 | Complete GeminiAgent Model Configuration Gap Analysis | ~552 | -| #36776 | 12:43 AM | 🔵 | Issue #511 Analysis Document Located | ~459 | -| #36759 | 12:34 AM | ✅ | Created Issue #511 Analysis Report | ~304 | - -**2026-01-04--issue-517-windows-powershell-analysis.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36779 | 12:44 AM | 🔵 | ProcessManager Windows PowerShell Functions Complete Analysis | ~550 | -| #36720 | 12:15 AM | 🔵 | Issue #517 Windows PowerShell Analysis Completed | ~631 | -| #36718 | " | 🔵 | Issue #517 Analysis - Windows PowerShell Variable Escaping Bug | ~482 | - -**2026-01-04--issue-531-export-type-duplication.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36760 | 12:34 AM | ✅ | Created Issue #531 Report: Export Script Type Duplication | ~430 | - -**2026-01-04--gemini-agent-failures.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36751 | 12:32 AM | 🔵 | Gemini-Related Files Located Across Project | ~242 | - -**reports** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36748 | 12:31 AM | 🔵 | Existing GitHub Issue Reports Located | ~271 | - -**2026-01-04--issue-527-uv-homebrew-analysis.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36721 | 12:15 AM | 🔵 | Issue #527 UV Homebrew Path Missing on Apple Silicon | ~492 | -| #36719 | " | 🔵 | Issue #527 uv Homebrew Detection Missing on Apple Silicon Macs | ~526 | - -**2026-01-04--issue-514-orphaned-sessions-analysis.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36717 | 12:14 AM | 🔵 | Issue #514 Orphaned Sessions Analysis Completed | ~723 | -| #36716 | 12:13 AM | 🔵 | Issue #514 Orphaned .jsonl Session Files Analysis | ~616 | - -**2026-01-04--issue-532-memory-leak-analysis.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36714 | 12:12 AM | 🔵 | Memory Leak Analysis Report for Issue #532 Generated | ~531 | -| #36712 | 12:11 AM | 🔵 | Memory Leak Analysis for Issue #532 Documented | ~646 | - -**2026-01-04--issue-520-stuck-messages-analysis.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36713 | 12:11 AM | 🔵 | Issue #520 Stuck Messages Already Resolved | ~569 | -| #36711 | " | 🔵 | Issue #520 Stuck Messages Analysis - Already Resolved | ~526 | - -**2026-01-02--stuck-observations.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36710 | 12:07 AM | 🔵 | Stuck Observations Analysis - Six Critical Lifecycle Gaps | ~677 | - ### Jan 5, 2026 -**2026-01-05--issue-544-mem-search-hint-claude-code.md** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 | -| #37555 | 4:49 PM | 🔵 | Issue #544 Message Locations and Fix Pattern Documented | ~463 | -| #37545 | 4:47 PM | ✅ | Issue #544 Analysis Report Created for mem-search Skill Messaging Problem | ~480 | +| #37962 | 8:18 PM | 🔴 | Fixed SessionStart hook crash when stdin is undefined | ~440 | + +### Jan 7, 2026 -**2026-01-05--issue-555-windows-hooks-ipc-false.md** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #37558 | 4:49 PM | 🔵 | Issue #555 Windows Hook Execution Patterns and Fix Strategy Documented | ~510 | - -**2026-01-05--issue-545-formattool-json-parse-crash.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37557 | 4:49 PM | 🔵 | Issue #545 Bug Location and Fix Pattern Documented | ~462 | - -**2026-01-05--issue-543-slash-command-unavailable.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 | - -**2026-01-05--issue-557-settings-module-loader-error.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37547 | 4:47 PM | ✅ | Issue #557 Analysis Report Created for Plugin Startup Failure | ~491 | - -### Jan 6, 2026 - -**2026-01-06--windows-woes-comprehensive-report.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38109 | 12:16 AM | ✅ | Comprehensive Windows Woes Report Generated from Memory Search | ~826 | +| #38475 | 10:31 PM | ⚖️ | Log Level Philosophy: Error-Adjacent Messages Promoted to ERROR | ~412 | +| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 | +| #38445 | 10:26 PM | 🔵 | DEBUG Level Logging: SessionRoutes Line 211 Error-During-Recovery Pattern | ~500 | +| #38442 | 10:25 PM | 🔵 | Log Audit Contains 409 Source File Log Entries | ~293 | +| #38441 | " | 🔵 | DEBUG-level logging patterns for diagnostics and non-critical operations | ~595 | +| #38439 | " | 🔵 | Log Audit Shows SessionRoutes.ts Has Two WARN Messages for Generator Failures | ~493 | +| #38438 | " | 🔵 | WARN Level Log Patterns: Graceful Degradation and Fallback Behavior | ~539 | +| #38437 | 10:24 PM | 🔵 | Claude-mem core functionality and logging patterns identified | ~710 | +| #38428 | " | 🔵 | Log level audit report structure and content examined | ~559 | +| #38425 | " | ⚖️ | Log Level Architecture: Fail-Critical Over Fail-Fast for Chroma | ~467 | +| #38416 | 10:22 PM | 🔵 | ChromaDB Is Critical Not Optional - Log Audit Findings Challenged | ~405 | +| #38405 | 10:07 PM | ⚖️ | DEBUG Log Level Analysis - One Message Requires WARN Promotion | ~819 | +| #38404 | 10:06 PM | ⚖️ | Log Level Audit Analysis - WARN to ERROR Promotion Criteria Established | ~769 | +| #38403 | 10:04 PM | 🔵 | Log Level Audit - INFO and DEBUG Level Messages Catalogued | ~688 | +| #38402 | 10:03 PM | 🔵 | Log Level Audit Report Analysis - Critical Error Messages Identified | ~642 | +| #38401 | 10:00 PM | 🔵 | Enhanced Audit Report Reveals Error Logging Patterns and Message Extraction Issues | ~498 | +| #38394 | 9:58 PM | ✅ | Created Log Level Audit Report Documentation | ~319 | +| #38393 | " | ✅ | Enhanced Log Audit Report Format with Component Tags and Full Logger Calls | ~393 | +| #38386 | 9:56 PM | ✅ | Log Audit Report Generated and Saved to Documentation | ~442 | +| #38385 | " | ✅ | Log Level Audit Report Saved to Documentation | ~379 | +| #38251 | 7:46 PM | 🔵 | Comprehensive Windows Platform Issues Report | ~982 | \ No newline at end of file diff --git a/docs/reports/issue-586-feature-request-unknown.md b/docs/reports/issue-586-feature-request-unknown.md new file mode 100644 index 00000000..3b4c7231 --- /dev/null +++ b/docs/reports/issue-586-feature-request-unknown.md @@ -0,0 +1,507 @@ +# Issue #586: Race Condition in memory_session_id Capture + +**Report Date:** 2026-01-07 +**Issue:** [#586](https://github.com/thedotmack/claude-mem/issues/586) +**Reporter:** rocky2431 +**Environment:** claude-mem 9.0.0, macOS Darwin 24.6.0, Node v22.x / Bun 1.x + +--- + +## 1. Executive Summary + +This issue describes a critical race condition where new sessions frequently have an empty (NULL) `memory_session_id` in the `sdk_sessions` table. This prevents observations from being stored, as the `ResponseProcessor` requires a valid `memorySessionId` before processing agent responses. + +**Key Finding:** The race condition occurs because session initialization via `handleSessionInitByClaudeId()` creates the session with a NULL `memory_session_id`, but the SDK agent may not have responded yet to provide its session ID when subsequent `PostToolUse` hooks attempt to store observations. + +**Error Message:** +``` +Cannot store observations: memorySessionId not yet captured +``` + +**Severity:** Critical +**Priority:** P1 +**Impact:** Sessions with NULL `memory_session_id` cannot store any observations, leading to data loss and incomplete session history. + +--- + +## 2. Problem Analysis + +### 2.1 Error Manifestation + +The error originates from `ResponseProcessor.ts` (line 73-75): + +```typescript +// CRITICAL: Must use memorySessionId (not contentSessionId) for FK constraint +if (!session.memorySessionId) { + throw new Error('Cannot store observations: memorySessionId not yet captured'); +} +``` + +### 2.2 Observed Symptoms + +1. **Log Evidence:** + ```log + [2026-01-07 04:02:39.872] [INFO ] [SESSION] [session-14379] Session initialized + {project=claude-task-master, contentSessionId=a48d7f90-27e4-4a1d-b379-bf2195ee333e, + queueDepth=0, hasGenerator=false} + ``` + Note: `contentSessionId` is present but `memorySessionId` is missing. + +2. **Database State:** + ```sql + SELECT id, memory_session_id, project FROM sdk_sessions ORDER BY id DESC LIMIT 5; + + 14379 | (NULL) | claude-task-master -- Missing! + 14293 | 090b5397-... | .claude -- OK + 14285 | (NULL) | .claude -- Missing! + ``` + +3. **Queue Accumulation:** + - Observations are enqueued to `pending_messages` table + - Hundreds of unprocessed items accumulate + - Only user prompts are recorded, no AI analysis + +### 2.3 Race Condition Timeline + +``` +Time T0: SessionStart hook triggers + └─> new-hook.ts calls /api/sessions/init + └─> createSDKSession() creates row with memory_session_id = NULL + +Time T1: PostToolUse hook triggers (user action) + └─> save-hook.ts calls /api/sessions/observations + └─> Observation queued to pending_messages + +Time T2: SDK Agent generator starts + └─> Waiting for first message from Claude SDK + +Time T3: First SDK message arrives (RACE CONDITION WINDOW) + └─> updateMemorySessionId() called with captured ID + └─> Database updated: memory_session_id = "sdk-gen-abc123" + +Time T4: SDK Agent attempts to process queued observations + └─> processAgentResponse() checks session.memorySessionId + └─> If NULL (not yet updated): ERROR thrown +``` + +**The Problem:** If `PostToolUse` events arrive during the window between session creation (T0) and SDK session ID capture (T3), the `ResponseProcessor` will fail because `memorySessionId` is still NULL. + +--- + +## 3. Technical Details + +### 3.1 Session ID Architecture + +Claude-mem uses a dual session ID system (documented in `docs/SESSION_ID_ARCHITECTURE.md`): + +| ID | Purpose | Source | Initial Value | +|----|---------|--------|---------------| +| `contentSessionId` | User's Claude Code conversation ID | Hook system | Set immediately | +| `memorySessionId` | Memory agent's internal session ID | SDK response | NULL (captured later) | + +### 3.2 Session Creation Flow + +**File:** `src/services/sqlite/sessions/create.ts` (lines 24-47) + +```typescript +export function createSDKSession( + db: Database, + contentSessionId: string, + project: string, + userPrompt: string +): number { + // Pure INSERT OR IGNORE - no updates, no complexity + // NOTE: memory_session_id starts as NULL. It is captured by SDKAgent from the first SDK + // response and stored via updateMemorySessionId(). CRITICAL: memory_session_id must NEVER + // equal contentSessionId - that would inject memory messages into the user's transcript! + db.prepare(` + INSERT OR IGNORE INTO sdk_sessions + (content_session_id, memory_session_id, project, user_prompt, started_at, started_at_epoch, status) + VALUES (?, NULL, ?, ?, ?, ?, 'active') + `).run(contentSessionId, project, userPrompt, now.toISOString(), nowEpoch); + // ... +} +``` + +### 3.3 Memory Session ID Capture + +**File:** `src/services/worker/SDKAgent.ts` (lines 117-141) + +```typescript +// Process SDK messages +for await (const message of queryResult) { + // Capture memory session ID from first SDK message (any type has session_id) + if (!session.memorySessionId && message.session_id) { + session.memorySessionId = message.session_id; + // Persist to database for cross-restart recovery + this.dbManager.getSessionStore().updateMemorySessionId( + session.sessionDbId, + message.session_id + ); + // ... verification logging ... + } + // ... +} +``` + +### 3.4 Response Processor Validation + +**File:** `src/services/worker/agents/ResponseProcessor.ts` (lines 72-75) + +```typescript +// CRITICAL: Must use memorySessionId (not contentSessionId) for FK constraint +if (!session.memorySessionId) { + throw new Error('Cannot store observations: memorySessionId not yet captured'); +} +``` + +### 3.5 Session Manager Initialization + +**File:** `src/services/worker/SessionManager.ts` (lines 127-143) + +```typescript +// Create active session +// Load memorySessionId from database if previously captured (enables resume across restarts) +session = { + sessionDbId, + contentSessionId: dbSession.content_session_id, + memorySessionId: dbSession.memory_session_id || null, // NULL initially! + // ... +}; +``` + +--- + +## 4. Impact Assessment + +### 4.1 Direct Impact + +| Impact Area | Description | +|------------|-------------| +| **Data Loss** | Observations queued during race window are never stored | +| **Queue Growth** | `pending_messages` table grows unbounded | +| **User Experience** | Session history incomplete - only prompts, no analysis | +| **System Load** | Repeated retry attempts consume resources | + +### 4.2 Frequency + +The issue appears **intermittent** - some sessions initialize correctly while others fail. The race condition depends on: +- System load +- Claude SDK response latency +- Hook timing relative to SDK startup + +### 4.3 Related Issues + +- **Issue #520** (CLOSED): Stuck messages in 'processing' status - similar queue recovery problem +- **Issue #591**: OpenRouter Agent fails to capture memorySessionId - architectural gap for stateless providers + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Root Cause + +**Architectural Timing Gap:** The session initialization API (`/api/sessions/init`) creates sessions with a NULL `memory_session_id`, expecting the SDK agent to capture it from the first response. However, there is no synchronization mechanism to prevent observation processing before this capture occurs. + +### 5.2 Contributing Factors + +1. **Asynchronous SDK Agent Startup:** The generator starts asynchronously without blocking the hook response +2. **No Capture Wait Mechanism:** Observations are queued immediately without waiting for memorySessionId capture +3. **Strict Validation in ResponseProcessor:** The processor throws an error rather than handling the NULL case gracefully +4. **No Retry Logic:** Failed observations due to missing memorySessionId are not retried after capture + +### 5.3 Timing Window Analysis + +``` +Hook Execution Timeline: +├─ new-hook.ts (UserPromptSubmit) +│ ├─ POST /api/sessions/init → createSDKSession(memory_session_id=NULL) +│ └─ POST /sessions/{id}/init → startSession() [async, non-blocking] +│ +├─ [RACE CONDITION WINDOW OPENS] +│ └─ SDK agent waiting for Claude response +│ +├─ save-hook.ts (PostToolUse) ← CAN TRIGGER DURING WINDOW +│ └─ POST /api/sessions/observations +│ └─ Queued, will fail when processed +│ +├─ [SDK FIRST MESSAGE ARRIVES] +│ └─ updateMemorySessionId(captured_id) +│ └─ Database updated, session.memorySessionId set +│ +├─ [RACE CONDITION WINDOW CLOSES] +│ +└─ Subsequent observations process successfully +``` + +--- + +## 6. Recommended Solutions + +### 6.1 Solution A: Retry Mechanism in ResponseProcessor (Recommended) + +If `memorySessionId` is not available, wait briefly with exponential backoff: + +```typescript +// In processAgentResponse(): +async function waitForMemorySessionId( + session: ActiveSession, + dbManager: DatabaseManager, + maxRetries: number = 5, + baseDelayMs: number = 100 +): Promise { + for (let attempt = 0; attempt < maxRetries; attempt++) { + if (session.memorySessionId) return true; + + // Check database for updates + const dbSession = dbManager.getSessionById(session.sessionDbId); + if (dbSession?.memory_session_id) { + session.memorySessionId = dbSession.memory_session_id; + return true; + } + + await new Promise(resolve => setTimeout(resolve, baseDelayMs * Math.pow(2, attempt))); + } + return false; +} + +// Usage: +const captured = await waitForMemorySessionId(session, dbManager); +if (!captured) { + throw new Error('Cannot store observations: memorySessionId not yet captured after retries'); +} +``` + +**Pros:** +- Non-breaking change +- Handles timing variations gracefully +- Minimal code modification + +**Cons:** +- Adds latency in worst case +- Polling-based solution + +### 6.2 Solution B: Lazy Capture on First PostToolUse + +Capture `memorySessionId` on the first `PostToolUse` if not already set: + +```typescript +// In handleObservationsByClaudeId(): +if (!session.memorySessionId && session.contentSessionId) { + // Generate a placeholder that will be updated when SDK responds + const tempId = `pending-${session.contentSessionId}`; + session.memorySessionId = tempId; + store.updateMemorySessionId(sessionDbId, tempId); + logger.warn('SESSION', 'Generated temporary memorySessionId', { tempId }); +} +``` + +**Pros:** +- Immediate resolution +- No retry delays + +**Cons:** +- Temporary IDs may cause confusion +- Requires updating when real ID is captured + +### 6.3 Solution C: Use contentSessionId as Fallback + +For initial observations before SDK capture, use `contentSessionId`: + +```typescript +// In processAgentResponse(): +const effectiveMemorySessionId = session.memorySessionId || session.contentSessionId; +``` + +**Pros:** +- Simple implementation +- No timing issues + +**Cons:** +- **Violates architectural principle** that memorySessionId should differ from contentSessionId +- Risk of FK constraint issues +- May cause resume problems + +### 6.4 Solution D: Block Until memorySessionId is Captured + +Modify `handleObservationsByClaudeId` to wait for SDK capture: + +```typescript +// In handleObservationsByClaudeId(): +const session = this.sessionManager.getSession(sessionDbId); +if (!session?.memorySessionId) { + // Return a "pending" response, client should retry + res.status(202).json({ + status: 'pending', + reason: 'awaiting_memory_session_id', + retryAfterMs: 500 + }); + return; +} +``` + +**Pros:** +- Explicit handling +- Client-controlled retry + +**Cons:** +- Requires hook changes +- May cause hook timeout + +### 6.5 Recommended Approach + +**Solution A** is recommended because: +1. Handles the race condition transparently +2. Minimal impact on existing code +3. Self-healing behavior (retries until successful) +4. Maintains architectural integrity +5. Low regression risk + +--- + +## 7. Priority/Severity Assessment + +### 7.1 Severity Matrix + +| Factor | Assessment | +|--------|------------| +| **Data Loss** | High - Observations lost during race window | +| **Functionality** | Partial - Some sessions work, some don't | +| **Frequency** | Intermittent - Depends on system timing | +| **Workaround** | Manual SQL fix available | +| **Affected Users** | All users under specific timing conditions | + +### 7.2 Priority Assignment + +**Priority: P1 (High)** + +Rationale: +- Silent data loss is occurring +- Affects core functionality (observation storage) +- Unpredictable - users may not know data is being lost +- Fix is straightforward with low regression risk + +### 7.3 Recommended Timeline + +| Action | Timeline | +|--------|----------| +| Implement Solution A | 2-4 hours | +| Unit tests | 1 hour | +| Integration tests | 1 hour | +| Code review | 30 minutes | +| Release | Same day | + +--- + +## 8. Workaround + +Users experiencing this issue can manually fix affected sessions: + +```sql +-- Find sessions with missing memory_session_id +SELECT id, content_session_id, project +FROM sdk_sessions +WHERE memory_session_id IS NULL; + +-- Option 1: Use content_session_id as memory_session_id (not recommended) +-- WARNING: May cause issues with session resume +UPDATE sdk_sessions +SET memory_session_id = content_session_id +WHERE id = AND memory_session_id IS NULL; + +-- Option 2: Generate a unique ID +UPDATE sdk_sessions +SET memory_session_id = 'manual-' || content_session_id +WHERE id = AND memory_session_id IS NULL; +``` + +**Important:** After applying the workaround, the worker must be restarted to pick up the new `memory_session_id` values. + +--- + +## 9. Testing Recommendations + +### 9.1 Unit Tests + +```typescript +describe('ResponseProcessor memorySessionId handling', () => { + it('should wait for memorySessionId capture with retry', async () => { + const session = createMockSession({ memorySessionId: null }); + + // Simulate delayed capture + setTimeout(() => { + session.memorySessionId = 'captured-id'; + }, 200); + + await expect( + processAgentResponse(text, session, dbManager, sessionManager, worker, 0, null, 'Test') + ).resolves.not.toThrow(); + }); + + it('should throw after max retries if memorySessionId never captured', async () => { + const session = createMockSession({ memorySessionId: null }); + + await expect( + processAgentResponse(text, session, dbManager, sessionManager, worker, 0, null, 'Test') + ).rejects.toThrow('memorySessionId not yet captured after retries'); + }); +}); +``` + +### 9.2 Integration Tests + +```typescript +describe('Session initialization race condition', () => { + it('should handle rapid PostToolUse events during SDK startup', async () => { + // Create session + const sessionDbId = store.createSDKSession(contentSessionId, project, prompt); + + // Immediately queue observations (before SDK responds) + for (let i = 0; i < 5; i++) { + sessionManager.queueObservation(sessionDbId, { + tool_name: 'Read', + tool_input: { file_path: '/test.txt' }, + tool_response: { content: 'test' }, + prompt_number: 1, + cwd: '/test' + }); + } + + // Start SDK agent (will capture memorySessionId) + await sdkAgent.startSession(session, worker); + + // Verify all observations were stored + const stored = db.prepare('SELECT COUNT(*) as count FROM observations WHERE memory_session_id = ?') + .get(session.memorySessionId); + expect(stored.count).toBeGreaterThanOrEqual(5); + }); +}); +``` + +--- + +## 10. Related Files + +| File | Relevance | +|------|-----------| +| `src/services/worker/agents/ResponseProcessor.ts` | Error origin (line 73-75), primary fix location | +| `src/services/worker/SessionManager.ts` | Session initialization with NULL memorySessionId | +| `src/services/worker/SDKAgent.ts` | memorySessionId capture logic | +| `src/services/sqlite/sessions/create.ts` | Session creation with NULL memory_session_id | +| `src/hooks/new-hook.ts` | Session initialization hook | +| `src/hooks/save-hook.ts` | PostToolUse observation queueing | +| `docs/SESSION_ID_ARCHITECTURE.md` | Architecture documentation | + +--- + +## 11. Conclusion + +Issue #586 describes a critical race condition in the session initialization process where `memory_session_id` is not captured before observations are processed. This results in silent data loss as observations fail to store with the error "Cannot store observations: memorySessionId not yet captured". + +The recommended fix is to implement a retry mechanism in `ResponseProcessor.processAgentResponse()` that waits for the `memorySessionId` to be captured, with exponential backoff. This approach: +- Maintains the existing architectural integrity +- Handles timing variations gracefully +- Has low regression risk +- Is straightforward to implement and test + +**Immediate Action Required:** Implement Solution A (Retry Mechanism) and release a hotfix to prevent ongoing data loss. diff --git a/docs/reports/issue-587-observations-not-stored.md b/docs/reports/issue-587-observations-not-stored.md new file mode 100644 index 00000000..69d9aef1 --- /dev/null +++ b/docs/reports/issue-587-observations-not-stored.md @@ -0,0 +1,337 @@ +# Technical Report: Issue #587 - Observations Not Being Stored + +**Issue:** v9.0.0: Observations not being stored - SDK agent stuck on 'Awaiting tool execution data' +**Author:** chuck-boudreau +**Created:** 2026-01-07 +**Report Date:** 2026-01-07 +**Status:** Open +**Affected Version:** 9.0.0 +**Environment:** macOS (Darwin 25.1.0) + +--- + +## 1. Executive Summary + +After upgrading to claude-mem v9.0.0, users report that observations are not being stored in the database. The SDK agent responds with "Ready to observe. Awaiting tool execution data from the primary session" instead of processing tool calls and generating observations. Investigation reveals a **two-part failure mode**: + +1. **Primary Issue:** The SDK agent receives tool execution data but fails to process it into observations, returning a generic "awaiting data" message despite receiving valid input. + +2. **Secondary Issue (Resolved):** A version mismatch between plugin (9.0.0) and worker (8.5.9) was causing an infinite restart loop, which was fixed in commit `e22e2bfc`. However, **even after resolving the restart loop, the observation storage issue persists**. + +This report analyzes both issues, identifies potential root causes, and proposes solutions. + +--- + +## 2. Problem Analysis + +### 2.1 Symptom Description + +The user reports the following behavior after upgrading to v9.0.0: + +``` +[INFO ] [SDK ] [session-1] <- Response received (72 chars) {promptNumber=57} Ready to observe. Awaiting tool execution data from the primary session. +[INFO ] [DB ] [session-1] STORED | sessionDbId=1 | memorySessionId=xxx | obsCount=0 | obsIds=[] | summaryId=none +``` + +Key observations: +- The SDK agent is starting correctly (`Generator auto-starting`) +- Tool executions are being received (`PostToolUse: Bash(cat ~/.claude-mem/settings.json)`) +- Messages are being queued (`ENQUEUED | messageId=596 | type=observation`) +- Messages are being claimed by the agent (`CLAIMED | messageId=596`) +- **BUT:** The agent returns "Ready to observe. Awaiting tool execution data" instead of actual observations +- Result: `obsCount=0` persists across all tool calls + +### 2.2 Version Mismatch Issue (Resolved) + +The user also encountered a version mismatch causing infinite restarts: + +``` +[INFO ] [SYSTEM] Worker version mismatch detected - auto-restarting {pluginVersion=9.0.0, workerVersion=8.5.9} +``` + +**Resolution:** This issue was fixed in commit `e22e2bfc` (PR #567) by: +1. Updating `plugin/package.json` from 8.5.10 to 9.0.0 +2. Rebuilding all hooks and worker service with correct version injection +3. Adding version consistency tests + +However, the user reports that **even after resolving the restart loop, observations still weren't being created**. + +--- + +## 3. Technical Details + +### 3.1 Architecture Overview + +The claude-mem observation pipeline works as follows: + +``` +User Session -> PostToolUse Hook -> Worker HTTP API -> Session Queue -> SDK Agent -> Database + (save-hook.ts) (/api/sessions/ (SessionManager) (SDKAgent.ts) + observations) +``` + +### 3.2 SDK Agent Prompt System + +The SDK agent uses a mode-based prompt system loaded from `/plugin/modes/code.json`: + +1. **Initial Prompt (`buildInitPrompt`)**: Full initialization with system identity, observer role, recording focus +2. **Continuation Prompt (`buildContinuationPrompt`)**: For subsequent tool observations in the same session +3. **Observation Prompt (`buildObservationPrompt`)**: Wraps tool execution data in XML format + +**Key files:** +- `/src/services/worker/SDKAgent.ts` - Agent implementation (lines 100-213) +- `/src/sdk/prompts.ts` - Prompt building functions (lines 29-235) +- `/plugin/modes/code.json` - Mode configuration with prompt templates + +### 3.3 Message Flow Analysis + +From the logs, the flow appears correct up to SDK query: + +``` +1. PostToolUse hook fires -> /api/sessions/observations +2. SessionManager.queueObservation() persists to PendingMessageStore +3. EventEmitter notifies SDK agent +4. SDK agent yields observation prompt to Claude SDK +5. Claude SDK returns response -> "Ready to observe. Awaiting tool execution data" +6. No observations parsed -> obsCount=0 +``` + +### 3.4 Suspicious Log Entry + +``` +promptType=CONTINUATION +lastPromptNumber=57 +``` + +The `promptNumber=57` suggests this is a continuation of an existing session, not a fresh start. The `CONTINUATION` prompt type is used when `session.lastPromptNumber > 1`. + +**Potential Issue:** If the SDK session context was lost (e.g., due to the restart loop), the `memorySessionId` may be stale, but the system is attempting to resume a session that no longer exists in the Claude SDK's context. + +### 3.5 Code Analysis: Resume Logic + +From `SDKAgent.ts` (lines 71-114): + +```typescript +// CRITICAL: Only resume if: +// 1. memorySessionId exists (was captured from a previous SDK response) +// 2. lastPromptNumber > 1 (this is a continuation within the same SDK session) +// On worker restart or crash recovery, memorySessionId may exist from a previous +// SDK session but we must NOT resume because the SDK context was lost. + +const hasRealMemorySessionId = !!session.memorySessionId; + +const queryResult = query({ + prompt: messageGenerator, + options: { + model: modelId, + // Only resume if BOTH: (1) we have a memorySessionId AND (2) this isn't the first prompt + ...(hasRealMemorySessionId && session.lastPromptNumber > 1 && { resume: session.memorySessionId }), + // ... + } +}); +``` + +**Critical Finding:** The code attempts to resume the SDK session if `memorySessionId` exists AND `lastPromptNumber > 1`. However, if the worker restarted (due to version mismatch), the SDK context is lost but the `memorySessionId` may still exist in the database from a previous session. + +The code at lines 92-98 attempts to detect this: +```typescript +// INIT prompt - never resume even if memorySessionId exists (stale from previous session) +if (hasStaleMemoryId) { + logger.warn('SDK', `Skipping resume for INIT prompt despite existing memorySessionId=${session.memorySessionId} - SDK context was lost (worker restart or crash recovery)`); +} +``` + +But this only applies when `lastPromptNumber === 1`. If `lastPromptNumber > 1`, the code still attempts to resume with a potentially stale `memorySessionId`. + +--- + +## 4. Impact Assessment + +### 4.1 Severity: **Critical** + +- **Data Loss:** Observations are not being persisted, resulting in complete loss of session memory +- **Core Functionality Broken:** The primary purpose of claude-mem (persistent memory) is non-functional +- **User Experience:** Users see no value from the plugin after upgrade + +### 4.2 Scope + +- **Affected Users:** All users who upgraded to v9.0.0 and had existing sessions +- **Trigger Condition:** Appears to occur when: + 1. Worker restarts (due to version mismatch or other reasons) + 2. Session has existing `memorySessionId` in database + 3. Session has `lastPromptNumber > 1` + +### 4.3 Workaround + +Users can work around by: +1. Clearing the database: `rm ~/.claude-mem/claude-mem.db` +2. Starting fresh sessions + +However, this results in loss of all historical observations. + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Hypothesis: Stale Session Resume + +**Root Cause:** The SDK agent attempts to resume a session using a `memorySessionId` that no longer exists in the Claude SDK's context (because the SDK process was terminated during the restart loop). + +**Evidence:** +1. `promptNumber=57` suggests continuation of existing session +2. `promptType=CONTINUATION` indicates resume path is being taken +3. The response "Ready to observe. Awaiting tool execution data" suggests the SDK received a continuation prompt without the necessary context + +**Code Path:** +1. Worker restarts due to version mismatch +2. Session is reloaded from database with `memory_session_id` and `lastPromptNumber=57` +3. `SDKAgent.startSession()` evaluates `hasRealMemorySessionId=true` and `lastPromptNumber > 1` +4. Adds `resume: memorySessionId` to query options +5. Claude SDK attempts to resume non-existent session +6. Claude SDK responds with generic "awaiting data" message instead of processing observations + +### 5.2 Secondary Hypothesis: Prompt Format Issue + +The SDK agent might not be receiving the observation data in the expected format. The `buildObservationPrompt` function formats tool data as: + +```xml + + Bash + 2026-01-07T... + ... + ... + +``` + +If the Claude model doesn't recognize this as actionable tool data (expecting a different format), it might respond with the generic message. + +### 5.3 Tertiary Hypothesis: Mode Configuration Issue + +The mode system loads configuration from `/plugin/modes/code.json`. If the mode fails to load or loads incorrectly, the prompts may be malformed. + +From `ModeManager.ts`: +```typescript +loadMode(modeId: string): ModeConfig { + // Falls back to 'code' if mode not found + // Throws only if 'code.json' is missing +} +``` + +--- + +## 6. Recommended Solutions + +### 6.1 Immediate Fix: Invalidate Stale Session IDs on Worker Restart + +**Priority:** Critical +**Effort:** Low +**File:** `src/services/worker/SDKAgent.ts` + +Add detection for worker restart scenarios and invalidate stale `memorySessionId`: + +```typescript +// Before starting SDK query, check if this is a recovery scenario +// If worker restarted but session was mid-flight, the SDK context is lost +// We should start fresh instead of attempting to resume +if (session.memorySessionId && !isWorkerSameProcess(session.memorySessionId)) { + logger.warn('SDK', 'Invalidating stale memorySessionId due to worker restart', { + sessionDbId: session.sessionDbId, + staleMemorySessionId: session.memorySessionId + }); + session.memorySessionId = null; + this.dbManager.getSessionStore().updateMemorySessionId(session.sessionDbId, null); +} +``` + +### 6.2 Short-Term Fix: Add Resume Validation + +**Priority:** High +**Effort:** Medium +**File:** `src/services/worker/SDKAgent.ts` + +Before attempting resume, validate that the session exists in the SDK: + +```typescript +// Validate memorySessionId before attempting resume +if (hasRealMemorySessionId && session.lastPromptNumber > 1) { + const isValidSession = await this.validateSDKSession(session.memorySessionId); + if (!isValidSession) { + logger.warn('SDK', 'memorySessionId no longer valid, starting fresh', { + sessionDbId: session.sessionDbId, + invalidMemorySessionId: session.memorySessionId + }); + session.memorySessionId = null; + session.lastPromptNumber = 1; // Reset to trigger INIT prompt + } +} +``` + +### 6.3 Long-Term Fix: Add Worker Instance Tracking + +**Priority:** Medium +**Effort:** High +**Files:** Multiple + +Track worker instance ID in the database to detect restart scenarios: + +1. Generate unique worker instance ID on startup +2. Store with each session's `memorySessionId` +3. On session load, compare worker instance ID +4. If mismatch, invalidate `memorySessionId` and restart fresh + +### 6.4 Additional Recommendations + +1. **Add diagnostic logging:** Log the full prompt being sent to SDK for debugging +2. **Add retry logic:** If SDK returns generic response, retry with INIT prompt +3. **Add health check:** Validate SDK session state before processing observations +4. **Update VERSION_FIX.md:** Document the observation storage issue as a related symptom + +--- + +## 7. Priority/Severity Assessment + +| Aspect | Rating | Justification | +|--------|--------|---------------| +| **Severity** | Critical | Core functionality completely broken | +| **Impact** | High | All v9.0.0 users with existing sessions affected | +| **Urgency** | High | Users currently losing all observation data | +| **Complexity** | Medium | Root cause identified, fix is localized | +| **Risk** | Low | Fix is additive, doesn't change happy path | + +### Recommended Priority: **P0 - Critical** + +This should be addressed immediately with a patch release (v9.0.1). + +--- + +## 8. References + +### Relevant Files +- `/src/services/worker/SDKAgent.ts` - SDK agent implementation +- `/src/sdk/prompts.ts` - Prompt building functions +- `/src/services/worker/SessionManager.ts` - Session lifecycle management +- `/src/services/infrastructure/HealthMonitor.ts` - Version checking +- `/docs/VERSION_FIX.md` - Documentation of version mismatch fix + +### Related Issues +- PR #567 - Fix version mismatch causing infinite worker restart loop +- Commit `e22e2bfc` - Version mismatch fix + +### Test Files +- `/tests/infrastructure/version-consistency.test.ts` - Version consistency tests + +--- + +## 9. Appendix: Full Log Excerpt + +``` +[INFO ] [HOOK ] -> PostToolUse: Bash(cat ~/.claude-mem/settings.json) {workerPort=37777} +[INFO ] [HTTP ] -> POST /api/sessions/observations {requestId=POST-xxx} +[INFO ] [QUEUE ] [session-1] ENQUEUED | sessionDbId=1 | messageId=596 | type=observation | tool=Bash(...) | depth=1 +[INFO ] [SESSION] [session-1] Generator auto-starting (observation) using Claude SDK {queueDepth=0, historyLength=0} +[INFO ] [SDK ] Starting SDK query {sessionDbId=1, ..., lastPromptNumber=57, isInitPrompt=false, promptType=CONTINUATION} +[INFO ] [SDK ] Creating message generator {..., promptType=CONTINUATION} +[INFO ] [QUEUE ] [session-1] CLAIMED | sessionDbId=1 | messageId=596 | type=observation +[INFO ] [SDK ] [session-1] <- Response received (72 chars) {promptNumber=57} Ready to observe. Awaiting tool execution data from the primary session. +[INFO ] [DB ] [session-1] STORED | sessionDbId=1 | ... | obsCount=0 | obsIds=[] | summaryId=none +``` diff --git a/docs/reports/issue-588-api-key-usage-warning.md b/docs/reports/issue-588-api-key-usage-warning.md new file mode 100644 index 00000000..5625777a --- /dev/null +++ b/docs/reports/issue-588-api-key-usage-warning.md @@ -0,0 +1,434 @@ +# Issue #588: Unexpected API Charges from ANTHROPIC_API_KEY Discovery + +**Date:** January 7, 2026 +**Status:** INVESTIGATION COMPLETE - Critical UX/Financial Issue +**Priority:** HIGH +**Labels:** bug, financial-impact, ux +**Author:** imkane +**Version Affected:** 9.0.0 and earlier + +--- + +## Executive Summary + +A user with a Claude Max subscription ($100/month) began receiving unexpected "Auto-recharge credits" invoice emails from Anthropic after installing the claude-mem plugin. The plugin discovered an `ANTHROPIC_API_KEY` in a `.env` file in the project root and used it for AI operations (observation compression, summary generation), causing direct API charges that were not anticipated by the user. + +**Financial Impact:** The user expected all AI costs to be covered by their Claude Max subscription. Instead, the plugin consumed their Anthropic API credits separately, triggering auto-recharge billing. + +**Root Cause:** The Claude Agent SDK (`@anthropic-ai/claude-agent-sdk`) automatically discovers and uses `ANTHROPIC_API_KEY` from environment variables or `.env` files. Claude-mem's worker service runs AI operations (observation compression, summaries) through this SDK, which consumes API credits independently of the user's Claude Max subscription. + +--- + +## Problem Analysis + +### User Expectations vs. Reality + +| Expectation | Reality | +|-------------|---------| +| Claude Max ($100/mo) covers all Claude usage | Claude Max covers Claude Code IDE usage only | +| Plugin enhances Claude Code without extra cost | Plugin uses separate API calls via SDK | +| No API key needed since using Claude Max | SDK auto-discovers `.env` API keys | +| Billing would be transparent | Silent API key discovery leads to surprise charges | + +### The Discovery Flow + +1. User installs claude-mem plugin via marketplace +2. User has an `ANTHROPIC_API_KEY` in project `.env` file (for other purposes) +3. Plugin worker starts on first Claude Code session +4. Worker spawns Claude Agent SDK for observation processing +5. SDK auto-discovers `ANTHROPIC_API_KEY` from environment +6. Every observation compression and session summary uses API credits +7. User receives unexpected invoice for API usage + +--- + +## Technical Details + +### How claude-mem Uses the Claude Agent SDK + +Claude-mem uses `@anthropic-ai/claude-agent-sdk` (version ^0.1.76) for AI-powered operations: + +**File:** `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/services/worker/SDKAgent.ts` + +```typescript +// Line 26 +import { query } from '@anthropic-ai/claude-agent-sdk'; + +// Lines 100-114 - SDK query execution +const queryResult = query({ + prompt: messageGenerator, + options: { + model: modelId, + ...(hasRealMemorySessionId && session.lastPromptNumber > 1 && { resume: session.memorySessionId }), + disallowedTools, + abortController: session.abortController, + pathToClaudeCodeExecutable: claudePath + } +}); +``` + +### API Key Discovery Chain + +The Claude Agent SDK uses a standard discovery mechanism: + +1. **Environment Variable:** `process.env.ANTHROPIC_API_KEY` +2. **File Discovery:** `~/.anthropic/api_key` or project `.env` files +3. **Inherited Environment:** Claude Code passes its environment to spawned processes + +**From hooks architecture documentation (line 826-828):** +```markdown +### API Key Protection + +**Configuration:** +- Anthropic API key in `~/.anthropic/api_key` or `ANTHROPIC_API_KEY` env var +- Worker inherits environment from Claude Code +- Never logged or stored in database +``` + +### Worker Service Environment Inheritance + +**File:** `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/services/worker-service.ts` + +```typescript +// Line 263 - Worker spawns with full environment +env: process.env +``` + +**File:** `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/services/infrastructure/ProcessManager.ts` + +```typescript +// Line 273 - Process inherits environment +...process.env, +``` + +This means any `ANTHROPIC_API_KEY` present in the parent process environment or discovered from `.env` files will be used by the worker. + +### What Operations Consume API Credits + +| Operation | Trigger | API Usage | +|-----------|---------|-----------| +| Observation Compression | PostToolUse hook | ~0.5-2K tokens per observation | +| Session Summary | Summary hook | ~2-5K tokens per session | +| Follow-up Queries | Multi-turn processing | Variable | + +**Estimated Usage Per Session:** +- Active coding session: 20-50 tool uses +- At ~1.5K tokens per observation: 30-75K tokens +- Session summary: ~3K tokens +- **Total per session: 33-78K tokens** + +### Alternative Providers (Not Using Anthropic API) + +Claude-mem supports alternative AI providers that DO NOT use the Anthropic API: + +**File:** `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/services/worker/GeminiAgent.ts` + +```typescript +// Line 376 +const apiKey = settings.CLAUDE_MEM_GEMINI_API_KEY || process.env.GEMINI_API_KEY || ''; +``` + +**File:** `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/services/worker/OpenRouterAgent.ts` + +```typescript +// Line 418 +const apiKey = settings.CLAUDE_MEM_OPENROUTER_API_KEY || process.env.OPENROUTER_API_KEY || ''; +``` + +These providers require explicit configuration and do not auto-discover. + +--- + +## Impact Assessment + +### Financial Impact + +| Scenario | Estimated Monthly Cost | +|----------|------------------------| +| Light usage (5 sessions/day) | $10-30 | +| Moderate usage (15 sessions/day) | $30-90 | +| Heavy usage (30+ sessions/day) | $90-200+ | + +**Compounding Factors:** +- Auto-recharge enabled by default on Anthropic accounts +- No notification before charges occur +- User may not realize plugin is source of usage + +### User Experience Impact + +1. **Trust Violation:** Users expect plugins to be transparent about costs +2. **Subscription Confusion:** Claude Max subscription doesn't cover SDK API usage +3. **No Consent:** API key used without explicit opt-in +4. **Discovery Difficulty:** Source of charges not immediately obvious + +### Affected User Base + +- Users with `ANTHROPIC_API_KEY` in project `.env` files +- Users with API key in `~/.anthropic/api_key` +- Users who exported `ANTHROPIC_API_KEY` for other tools +- Users who don't know they have an API key configured + +--- + +## Root Cause Analysis + +### Primary Root Cause + +**Silent API key auto-discovery by the Claude Agent SDK without user consent or notification.** + +The SDK is designed for developer use cases where explicit API key configuration is expected. When used within a plugin context, the automatic discovery behavior creates a mismatch between user expectations and system behavior. + +### Contributing Factors + +1. **No Pre-Flight Check:** Plugin doesn't warn users that it will use API credits +2. **No Opt-In Flow:** API key usage happens automatically without consent +3. **No Usage Visibility:** No way to see API consumption before it happens +4. **Documentation Gap:** Not clearly documented that separate API credits are used +5. **Provider Default:** Default provider is 'claude' which uses Anthropic API + +### Why This Wasn't Caught Earlier + +- Developer testing uses API keys intentionally +- Claude Max subscription model is newer +- Auto-discovery is a feature for SDK users, not plugin users +- No telemetry on API key discovery + +--- + +## Recommended Solutions + +### Immediate Fixes (v9.0.1) + +#### 1. Add First-Run Warning + +Display a prominent warning on first plugin activation: + +``` +[claude-mem] IMPORTANT: This plugin uses the Claude Agent SDK for AI operations. + +If you have an ANTHROPIC_API_KEY configured, it will be used for: +- Observation compression +- Session summaries + +This may incur separate API charges beyond your Claude Max subscription. + +To avoid charges, configure an alternative provider in ~/.claude-mem/settings.json: +- Set CLAUDE_MEM_PROVIDER to "gemini" or "openrouter" +- Or ensure no ANTHROPIC_API_KEY is accessible to the plugin + +Continue? [Y/n] +``` + +#### 2. Detect and Warn About API Key + +Add a check during worker initialization: + +```typescript +// Pseudo-code for worker-service.ts +const hasAnthropicKey = !!( + process.env.ANTHROPIC_API_KEY || + existsSync(join(homedir(), '.anthropic', 'api_key')) +); + +if (hasAnthropicKey && provider === 'claude') { + logger.warn('SYSTEM', + 'ANTHROPIC_API_KEY detected. Plugin AI operations will consume API credits. ' + + 'Configure CLAUDE_MEM_PROVIDER in settings.json to use a free alternative.' + ); +} +``` + +#### 3. Default to Free Provider + +Change default provider from 'claude' to 'gemini' (free tier available): + +**File:** `src/shared/SettingsDefaultsManager.ts` + +```typescript +// Line 66 - Change default +CLAUDE_MEM_PROVIDER: 'gemini', // Changed from 'claude' - free tier by default +``` + +### Medium-Term Solutions (v9.1.0) + +#### 4. Opt-In API Key Usage + +Require explicit configuration to use Anthropic API: + +```json +// ~/.claude-mem/settings.json +{ + "CLAUDE_MEM_PROVIDER": "claude", + "CLAUDE_MEM_ANTHROPIC_API_KEY_CONSENT": true // New required field +} +``` + +#### 5. Usage Estimation Before Processing + +Show estimated token usage before processing: + +``` +[claude-mem] Processing 25 observations +Estimated API usage: ~37,500 tokens (~$0.15) +Provider: claude (ANTHROPIC_API_KEY) +``` + +#### 6. Environment Isolation + +Prevent automatic API key inheritance: + +```typescript +// In worker spawn +env: { + ...process.env, + ANTHROPIC_API_KEY: undefined, // Explicitly unset unless opted-in +} +``` + +### Long-Term Solutions (v10.0.0) + +#### 7. Built-In Usage Dashboard + +Add API usage tracking to the viewer UI at http://localhost:37777: + +- Total tokens consumed this session/day/month +- Estimated costs by provider +- Warning thresholds + +#### 8. Provider Configuration Wizard + +First-run wizard in viewer UI: + +1. "Choose your AI provider for memory operations" +2. Options: Free (Gemini), Pay-per-use (Claude/OpenRouter), Self-hosted +3. Configure API keys through UI, not discovery + +--- + +## Priority/Severity Assessment + +### Severity: HIGH + +**Rationale:** +- Direct financial impact on users +- Trust violation in plugin ecosystem +- No user consent for charges +- Difficult to discover source of charges +- Affects users who believed Claude Max covered all costs + +### Priority: P1 - Critical + +**Rationale:** +- Active financial harm to users +- Reputation risk for plugin +- Simple fixes available +- User trust requires immediate action + +### Recommended Timeline + +| Milestone | Target | Description | +|-----------|--------|-------------| +| Hotfix | 48 hours | Add warning message, update docs | +| v9.0.1 | 1 week | Detection, warning, default provider change | +| v9.1.0 | 2 weeks | Opt-in flow, usage estimation | +| v10.0.0 | 1 month | Full usage dashboard, configuration wizard | + +--- + +## Files to Modify + +| File | Change | +|------|--------| +| `src/services/worker-service.ts` | Add API key detection and warning | +| `src/shared/SettingsDefaultsManager.ts` | Change default provider to 'gemini' | +| `plugin/scripts/context-hook.js` | Add first-run warning | +| `docs/public/installation.mdx` | Document API key usage clearly | +| `docs/public/configuration.mdx` | Add provider selection guidance | +| `CHANGELOG.md` | Document the change | + +--- + +## Testing Recommendations + +### Test Cases to Add + +1. **API Key Detection Test:** Verify warning appears when ANTHROPIC_API_KEY present +2. **Default Provider Test:** Ensure new installs default to gemini +3. **Opt-In Test:** Verify claude provider requires explicit consent +4. **Environment Isolation Test:** Confirm API key not inherited without consent + +### Manual Testing + +```bash +# Test 1: Clean environment (should default to gemini) +unset ANTHROPIC_API_KEY +claude # Start Claude Code with plugin + +# Test 2: With API key (should show warning) +export ANTHROPIC_API_KEY="sk-test-key" +claude # Should display warning + +# Test 3: Explicit opt-in +# Configure settings.json with consent flag +claude # Should use claude provider without warning +``` + +--- + +## Conclusion + +Issue #588 represents a critical UX and financial issue where the plugin's use of the Claude Agent SDK results in unexpected API charges for users who have an `ANTHROPIC_API_KEY` configured. The auto-discovery behavior, while useful for developers, creates a poor user experience for plugin users who expect their Claude Max subscription to cover all costs. + +**Immediate Action Required:** +1. Release hotfix with warning message +2. Update documentation to clearly state API usage +3. Change default provider to free tier (gemini) +4. Implement opt-in consent for Anthropic API usage + +**The fix is straightforward, but the impact on user trust requires prompt action.** + +--- + +## Appendix: Related Issues and Documentation + +| Resource | Description | +|----------|-------------| +| [Claude Agent SDK Docs](https://docs.anthropic.com/claude/docs/agent-sdk) | SDK documentation | +| `docs/public/hooks-architecture.mdx` | Hooks and API key documentation | +| `docs/public/configuration.mdx` | Settings configuration reference | +| Issue #511 | Related: Gemini model support | +| Issue #527 | Related: Provider detection issues | + +--- + +## Appendix: User Communication Template + +**Suggested Announcement/Changelog Entry:** + +```markdown +## Important Notice for v9.0.1 + +### API Key Usage Disclosure + +Claude-mem uses AI for observation compression and session summaries. +If you have an `ANTHROPIC_API_KEY` configured (in ~/.anthropic/api_key, +environment variables, or project .env files), the plugin will use +Anthropic API credits for these operations. + +**This is separate from your Claude Max subscription.** + +### Changes in v9.0.1 + +- **Default provider changed to Gemini** (free tier available) +- **Warning displayed** when ANTHROPIC_API_KEY is detected +- **Opt-in required** to use Anthropic API for plugin operations + +### For existing users + +If you experienced unexpected charges: +1. Check your provider setting: `~/.claude-mem/settings.json` +2. Set `CLAUDE_MEM_PROVIDER` to `"gemini"` for free operation +3. Or remove/unset `ANTHROPIC_API_KEY` if not needed for other tools + +We apologize for any confusion or unexpected charges caused by this behavior. +``` diff --git a/docs/reports/issue-590-windows-chroma-terminal-popup.md b/docs/reports/issue-590-windows-chroma-terminal-popup.md new file mode 100644 index 00000000..fdc2b2d6 --- /dev/null +++ b/docs/reports/issue-590-windows-chroma-terminal-popup.md @@ -0,0 +1,411 @@ +# Issue #590: Blank Terminal Window Pops Up on Windows When Chroma MCP Server Starts + +**Date:** 2026-01-07 +**Issue Author:** dwd898 +**Severity:** Medium (UX disruption, not a functional failure) +**Status:** OPEN - Root cause confirmed, multiple solutions proposed + +--- + +## 1. Executive Summary + +On Windows 11, when claude-mem starts the Chroma MCP server via `uvx`, a blank terminal window (Windows Terminal / PowerShell) appears and does not close automatically. Users must manually close this window each time, which disrupts the workflow. + +The root cause is that the MCP SDK's `StdioClientTransport` class does not pass the `windowsHide: true` option to the underlying `child_process.spawn()` call. While the claude-mem codebase attempts to set this option, it has no effect because the MCP SDK ignores it. + +This issue affects all Windows users who have ChromaDB vector search enabled (the default configuration). + +--- + +## 2. Problem Analysis + +### 2.1 User-Reported Symptoms + +- A blank terminal window appears when any action triggers Chroma initialization +- The window shows the `uvx.exe` path but contains no output +- The window remains open until manually closed by the user +- This occurs every time ChromaDB is initialized (typically once per Claude session) + +### 2.2 Environment Details + +| Component | Value | +|-----------|-------| +| OS | Windows 11 64-bit | +| Terminal | PowerShell 7.6.0-preview.6 | +| claude-mem version | 9.0.0 | +| uvx location | `C:\Users\Dell\AppData\Local\Microsoft\WinGet\Links\uvx.exe` | +| MCP SDK version | ^1.25.1 | + +### 2.3 Trigger Conditions + +The terminal popup occurs when: + +1. Claude Code starts a new session with claude-mem enabled +2. A search query is executed with semantic search enabled +3. The ChromaSync service initializes for the first time in a session +4. Any backfill operation triggers Chroma connection + +--- + +## 3. Technical Details + +### 3.1 Affected Code Location + +**File:** `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/services/sync/ChromaSync.ts` + +**Lines:** 106-124 + +```typescript +const transportOptions: any = { + command: 'uvx', + args: [ + '--python', pythonVersion, + 'chroma-mcp', + '--client-type', 'persistent', + '--data-dir', this.VECTOR_DB_DIR + ], + stderr: 'ignore' +}; + +// CRITICAL: On Windows, try to hide console window to prevent PowerShell popups +// Note: windowsHide may not be supported by MCP SDK's StdioClientTransport +if (isWindows) { + transportOptions.windowsHide = true; + logger.debug('CHROMA_SYNC', 'Windows detected, attempting to hide console window', { project: this.project }); +} + +this.transport = new StdioClientTransport(transportOptions); +``` + +### 3.2 Why windowsHide Fails + +The `StdioClientTransport` class from `@modelcontextprotocol/sdk` accepts configuration options but does **not** forward `windowsHide` to `child_process.spawn()`. The SDK's transport implementation only uses a subset of spawn options: + +- `command` - The executable to run +- `args` - Command line arguments +- `env` - Environment variables (optional) +- `stderr` - Stderr handling mode + +The `windowsHide` option is silently ignored because it's not part of the SDK's expected interface. + +### 3.3 MCP SDK Transport Architecture + +``` +ChromaSync.ts + | + v +StdioClientTransport (MCP SDK) + | + v +child_process.spawn() [internal to SDK] + | + v +uvx.exe subprocess + | + v +chroma-mcp Python process +``` + +The SDK controls the spawn call, so claude-mem cannot directly influence the spawn options. + +### 3.4 Comparison with Other Subprocess Calls + +Other parts of claude-mem successfully hide Windows console windows because they use `child_process.spawn()` directly: + +| Component | File | Uses windowsHide | Works on Windows | +|-----------|------|------------------|------------------| +| ProcessManager | `ProcessManager.ts:271` | Yes (direct spawn) | Yes | +| SDKAgent | `SDKAgent.ts:379` | Yes (direct spawn) | Yes | +| BranchManager | `BranchManager.ts:61,88` | Yes (direct spawn) | Yes | +| shared/paths | `paths.ts:103` | Yes (direct spawn) | Yes | +| ChromaSync | `ChromaSync.ts:120` | Yes (via SDK - ignored) | **No** | + +--- + +## 4. Impact Assessment + +### 4.1 Affected Users + +- All Windows users with ChromaDB enabled (default) +- Approximately 100% of Windows user base + +### 4.2 Severity Breakdown + +| Aspect | Impact | +|--------|--------| +| Functionality | No impact - Chroma works correctly | +| UX Disruption | Medium - Requires manual window close | +| Workflow Impact | Low - One-time per session | +| Data Integrity | None | +| Security | None | + +### 4.3 Workaround Availability + +**Current Workaround:** Users can manually close the terminal window. The Chroma process continues running in the background even after the window is closed. + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Cause + +The MCP SDK's `StdioClientTransport` class does not implement support for the `windowsHide` spawn option. This is a limitation in the SDK, not a bug in claude-mem. + +### 5.2 SDK Gap Analysis + +The MCP SDK (version 1.25.1) provides a transport abstraction layer but does not expose all Node.js spawn options. The `StdioClientTransport` constructor signature accepts: + +```typescript +interface StdioClientTransportOptions { + command: string; + args?: string[]; + env?: NodeJS.ProcessEnv; + stderr?: 'inherit' | 'pipe' | 'ignore'; +} +``` + +Notable missing options: +- `windowsHide` +- `detached` +- `cwd` +- `shell` + +### 5.3 Historical Context + +The claude-mem codebase has extensively addressed Windows console popup issues in other areas: + +- **December 4, 2025:** Added `windowsHide` parameter to ProcessManager +- **December 17, 2025:** PR #378 standardized `windowsHide: true` across all direct spawn calls +- **Known Issue:** The comment in ChromaSync.ts (line 118) explicitly acknowledges this limitation + +--- + +## 6. Recommended Solutions + +### 6.1 Solution 1: PowerShell Wrapper (Recommended Short-Term) + +**Approach:** Wrap the `uvx` command in a PowerShell invocation that hides the window. + +**Implementation:** + +```typescript +const transportOptions: any = { + command: 'powershell', + args: [ + '-WindowStyle', 'Hidden', + '-Command', + `uvx --python ${pythonVersion} chroma-mcp --client-type persistent --data-dir '${this.VECTOR_DB_DIR}'` + ], + stderr: 'ignore' +}; +``` + +**Pros:** +- No SDK changes required +- Immediate fix possible +- Pattern already used in worker-cli.js (lines 1-19) + +**Cons:** +- Adds PowerShell dependency (already required for Windows) +- Slightly more complex command construction +- PATH escaping considerations + +**Estimated Effort:** 2-4 hours + +### 6.2 Solution 2: Custom Transport Layer + +**Approach:** Bypass `StdioClientTransport` and implement a custom transport using `child_process.spawn()` directly. + +**Implementation:** + +```typescript +import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js'; +import { spawn, ChildProcess } from 'child_process'; + +class WindowsHiddenStdioTransport implements Transport { + private process: ChildProcess; + + constructor(options: TransportOptions) { + this.process = spawn(options.command, options.args, { + windowsHide: true, + stdio: ['pipe', 'pipe', options.stderr === 'ignore' ? 'ignore' : 'pipe'] + }); + } + // ... implement Transport interface +} +``` + +**Pros:** +- Full control over spawn options +- Clean, maintainable solution +- Reusable for other MCP clients + +**Cons:** +- Requires implementing Transport interface +- Must handle stdin/stdout piping manually +- More complex error handling + +**Estimated Effort:** 8-16 hours + +### 6.3 Solution 3: Upstream SDK Enhancement + +**Approach:** Request the MCP SDK team to add `windowsHide` support to `StdioClientTransport`. + +**Implementation:** +1. Open issue on MCP SDK repository +2. Propose API extension: `spawnOptions?: Partial` +3. Provide PR if accepted + +**Pros:** +- Fixes the root cause +- Benefits all MCP SDK users on Windows +- No workarounds needed + +**Cons:** +- Depends on external team +- Uncertain timeline +- May require SDK version bump + +**Estimated Effort:** Variable (depends on upstream response) + +### 6.4 Solution 4: VBS Wrapper Script + +**Approach:** Use a Windows Script Host (VBS) file to launch the process silently. + +**Implementation:** + +Create `launch-chroma.vbs`: +```vbs +Set WshShell = CreateObject("WScript.Shell") +WshShell.Run "uvx --python 3.13 chroma-mcp --client-type persistent --data-dir " & DataDir, 0, False +``` + +**Pros:** +- Guaranteed hidden window +- Works on all Windows versions + +**Cons:** +- Requires additional script file +- Complex path handling +- VBS is deprecated technology + +**Estimated Effort:** 4-6 hours + +--- + +## 7. Priority/Severity Assessment + +### 7.1 Severity Matrix + +| Factor | Rating | Justification | +|--------|--------|---------------| +| User Impact | Medium | Annoying but not blocking | +| Frequency | Low | Once per session | +| Workaround | Yes | Close window manually | +| Data Risk | None | No data loss or corruption | +| Security Risk | None | No security implications | + +### 7.2 Recommended Priority + +**Priority: P2 (Medium)** + +This issue should be addressed in the next minor release but is not urgent enough to warrant an immediate patch release. + +### 7.3 Recommendation + +Implement **Solution 1 (PowerShell Wrapper)** as an immediate fix for the next release. Simultaneously, open an upstream issue for **Solution 3** to address the root cause in the MCP SDK. + +--- + +## 8. Related Issues and Context + +### 8.1 Related GitHub Issues + +| Issue | Title | Relationship | +|-------|-------|--------------| +| #367 | Console windows appearing during hook execution | Similar root cause | +| #517 | PowerShell `$_` escaping in Git Bash | Windows shell escaping | +| #555 | Windows hooks IPC issues | Windows platform challenges | + +### 8.2 Related PRs + +| PR | Title | Relevance | +|----|-------|-----------| +| #378 | Windows stabilization | Added windowsHide to other spawn calls | +| #372 | Worker wrapper architecture | Similar Windows console hiding approach | + +### 8.3 Documentation + +- Windows Woes Report: `/docs/reports/2026-01-06--windows-woes-comprehensive-report.md` +- Windows Troubleshooting: https://docs.claude-mem.ai/troubleshooting/windows-issues + +--- + +## 9. Testing Recommendations + +### 9.1 Test Cases + +1. **Basic functionality:** Verify Chroma starts correctly with proposed fix +2. **Window visibility:** Confirm no terminal window appears +3. **Process lifecycle:** Ensure Chroma process terminates on worker shutdown +4. **Error handling:** Verify errors are properly captured despite hidden window +5. **PATH variations:** Test with uvx in different PATH locations + +### 9.2 Test Environments + +- Windows 11 with PowerShell 7.x +- Windows 11 with PowerShell 5.1 +- Windows 10 with PowerShell 5.1 +- Windows with Git Bash as default shell + +--- + +## 10. Appendix + +### 10.1 Current ChromaSync Connection Flow + +``` +1. ChromaSync.ensureConnection() called +2. Check if already connected +3. Load Python version from settings +4. Detect Windows platform +5. Set windowsHide: true (ineffective) +6. Create StdioClientTransport with uvx command +7. Connect MCP client to transport + -> POPUP APPEARS HERE +8. Mark as connected +``` + +### 10.2 PowerShell Command Pattern (from worker-cli.js) + +The existing pattern for hidden PowerShell execution: + +```typescript +const cmd = `Start-Process -FilePath '${escapedPath}' -ArgumentList '${args}' -WindowStyle Hidden`; +spawnSync("powershell", ["-Command", cmd], { + stdio: "pipe", + timeout: 10000, + windowsHide: true +}); +``` + +### 10.3 MCP SDK Source Reference + +The StdioClientTransport implementation in `@modelcontextprotocol/sdk` uses: + +```typescript +this._process = spawn(command, args, { + env: this._env, + stdio: ['pipe', 'pipe', stderr] +}); +``` + +Note the absence of `windowsHide` in the spawn options. + +--- + +## 11. Revision History + +| Date | Author | Changes | +|------|--------|---------| +| 2026-01-07 | Claude Opus 4.5 | Initial report | diff --git a/docs/reports/issue-591-openrouter-memorysessionid-capture.md b/docs/reports/issue-591-openrouter-memorysessionid-capture.md new file mode 100644 index 00000000..6a142aac --- /dev/null +++ b/docs/reports/issue-591-openrouter-memorysessionid-capture.md @@ -0,0 +1,423 @@ +# Issue #591: OpenRouter Agent Fails to Capture memorySessionId for Empty Prompt History Sessions + +**Report Date:** 2026-01-07 +**Issue:** [#591](https://github.com/thedotmack/claude-mem/issues/591) +**Reporter:** cjdrilke +**Environment:** claude-mem 9.0.0, Provider: openrouter, Model: xiaomi/mimo-v2-flash:free, Platform: linux + +--- + +## 1. Executive Summary + +This issue describes a critical failure in the OpenRouter agent where it cannot store observations for sessions that have an empty prompt history (`prompt_counter = 0`). The error message "Cannot store observations: memorySessionId not yet captured" indicates that the `memorySessionId` is `null` when `processAgentResponse()` attempts to store observations. + +**Key Finding:** Unlike the Claude SDK Agent which captures `memorySessionId` from SDK response messages, the OpenRouter Agent has **no mechanism to capture or generate a memorySessionId**. This is a fundamental architectural gap that causes all OpenRouter sessions to fail on their first observation. + +**Severity:** Critical +**Priority:** P1 +**Impact:** All new OpenRouter sessions fail to store observations + +--- + +## 2. Problem Analysis + +### 2.1 Error Manifestation + +``` +Error: Cannot store observations: memorySessionId not yet captured +``` + +This error originates from `ResponseProcessor.ts` line 73-75: + +```typescript +// CRITICAL: Must use memorySessionId (not contentSessionId) for FK constraint +if (!session.memorySessionId) { + throw new Error('Cannot store observations: memorySessionId not yet captured'); +} +``` + +### 2.2 Affected Code Path + +1. OpenRouter session starts via `OpenRouterAgent.startSession()` +2. Session is initialized with `memorySessionId: null` +3. OpenRouter API is queried and returns a response +4. `processAgentResponse()` is called with the response +5. **memorySessionId is still null** - no capture mechanism exists +6. Error thrown, observations not stored + +### 2.3 Comparison with SDK Agent + +The Claude SDK Agent successfully captures `memorySessionId` at `SDKAgent.ts` lines 120-141: + +```typescript +// Capture memory session ID from first SDK message (any type has session_id) +if (!session.memorySessionId && message.session_id) { + session.memorySessionId = message.session_id; + // Persist to database for cross-restart recovery + this.dbManager.getSessionStore().updateMemorySessionId( + session.sessionDbId, + message.session_id + ); + // ... verification logging ... +} +``` + +**The OpenRouter Agent has no equivalent capture mechanism.** + +--- + +## 3. Technical Details + +### 3.1 Session ID Architecture + +Claude-mem uses a dual session ID system (documented in `docs/SESSION_ID_ARCHITECTURE.md`): + +| ID | Purpose | Source | +|----|---------|--------| +| `contentSessionId` | User's Claude Code conversation ID | Hook system | +| `memorySessionId` | Memory agent's internal session for resume | SDK response | + +### 3.2 Session Initialization Flow + +``` +1. Hook creates session + createSDKSession(contentSessionId, project, prompt) + + Database state: + ├─ content_session_id: "user-session-123" + └─ memory_session_id: NULL (not yet captured) + +2. SessionManager.initializeSession() creates ActiveSession: + session = { + sessionDbId: number, + contentSessionId: "user-session-123", + memorySessionId: null, // ← Critical: starts as null + ... + } +``` + +### 3.3 OpenRouter Response Format + +OpenRouter uses an OpenAI-compatible API response format: + +```typescript +interface OpenRouterResponse { + choices?: Array<{ + message?: { + role?: string; + content?: string; + }; + finish_reason?: string; + }>; + usage?: { + prompt_tokens?: number; + completion_tokens?: number; + total_tokens?: number; + }; + error?: { + message?: string; + code?: string; + }; +} +``` + +**Critical Gap:** This response format does NOT include a `session_id` field. OpenRouter is a stateless API that does not maintain server-side session state. + +### 3.4 Root Cause in OpenRouterAgent.ts + +In `OpenRouterAgent.startSession()` (lines 85-133), the init response is processed: + +```typescript +const initResponse = await this.queryOpenRouterMultiTurn(session.conversationHistory, apiKey, model, siteUrl, appName); + +if (initResponse.content) { + // Add response to conversation history + session.conversationHistory.push({ role: 'assistant', content: initResponse.content }); + + // ... token tracking ... + + // Process response using shared ResponseProcessor (no original timestamp for init - not from queue) + await processAgentResponse( + initResponse.content, + session, // ← memorySessionId is still null here + this.dbManager, + this.sessionManager, + worker, + tokensUsed, + null, + 'OpenRouter', + undefined + ); +} +``` + +**No memorySessionId capture occurs between session initialization and calling `processAgentResponse()`.** + +--- + +## 4. Impact Assessment + +### 4.1 Direct Impact + +- **All OpenRouter sessions fail** when `prompt_counter = 0` (new sessions) +- No observations are stored for OpenRouter-based memory extraction +- Error prevents any memory from being captured via OpenRouter + +### 4.2 Scope of Impact + +| Affected | Not Affected | +|----------|--------------| +| All OpenRouter providers | Claude SDK Agent | +| All OpenRouter models | Gemini Agent (if implemented differently) | +| New sessions (prompt_counter = 0) | Potentially resumed sessions* | + +*Note: Resumed sessions may work if they were previously processed by Claude SDK and have a captured `memorySessionId` from a fallback. + +### 4.3 User Experience + +Users configuring OpenRouter as their provider will: +1. See successful API calls to OpenRouter +2. Receive no stored observations +3. See error messages in logs about memorySessionId not captured +4. Have an empty memory database despite apparent processing + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Root Cause + +**The OpenRouter Agent was implemented without a mechanism to generate or capture `memorySessionId`.** + +Unlike the Claude SDK which returns a `session_id` in its response messages, OpenRouter's OpenAI-compatible API is stateless and does not provide session identifiers. + +### 5.2 Contributing Factors + +1. **Architectural Mismatch**: The `memorySessionId` concept was designed around the Claude SDK's session management, which OpenRouter does not have. + +2. **Missing Initialization Logic**: Neither the OpenRouter agent nor the ResponseProcessor generates a `memorySessionId` when one is not provided by the API. + +3. **Shared ResponseProcessor Assumption**: `ResponseProcessor.ts` assumes `memorySessionId` is always captured before it is called, which is true for Claude SDK but not for OpenRouter. + +### 5.3 Why It Worked Before (Speculation) + +This may have been masked if: +- OpenRouter fallback to Claude SDK triggered before the bug manifested +- Initial testing used existing sessions with previously captured `memorySessionId` +- The feature was added without comprehensive test coverage for new sessions + +--- + +## 6. Recommended Solutions + +### 6.1 Solution A: Generate memorySessionId for OpenRouter (Recommended) + +Since OpenRouter is stateless, generate a unique `memorySessionId` when starting an OpenRouter session: + +**Location:** `OpenRouterAgent.ts` in `startSession()` method, after session initialization + +```typescript +async startSession(session: ActiveSession, worker?: WorkerRef): Promise { + try { + // Generate memorySessionId for stateless providers (OpenRouter doesn't have session tracking) + if (!session.memorySessionId) { + const generatedMemorySessionId = `openrouter-${session.contentSessionId}-${Date.now()}`; + session.memorySessionId = generatedMemorySessionId; + + // Persist to database + this.dbManager.getSessionStore().updateMemorySessionId( + session.sessionDbId, + generatedMemorySessionId + ); + + logger.info('SESSION', `MEMORY_ID_GENERATED | sessionDbId=${session.sessionDbId} | memorySessionId=${generatedMemorySessionId} | provider=OpenRouter`, { + sessionId: session.sessionDbId, + memorySessionId: generatedMemorySessionId + }); + } + + // ... rest of existing code ... + } +} +``` + +**Pros:** +- Minimal code changes +- Follows existing patterns +- Works with stateless APIs +- Maintains FK integrity + +**Cons:** +- Memory session ID format differs from Claude SDK +- No resume capability (OpenRouter is stateless anyway) + +### 6.2 Solution B: Use contentSessionId as memorySessionId for Stateless Providers + +For stateless providers, use the `contentSessionId` directly as the `memorySessionId`: + +```typescript +if (!session.memorySessionId) { + session.memorySessionId = session.contentSessionId; + this.dbManager.getSessionStore().updateMemorySessionId( + session.sessionDbId, + session.contentSessionId + ); +} +``` + +**Pros:** +- Simpler approach +- No additional ID generation + +**Cons:** +- Violates the architectural principle that memorySessionId should differ from contentSessionId +- Could cause issues with session isolation (see SESSION_ID_ARCHITECTURE.md warnings) + +### 6.3 Solution C: Allow null memorySessionId with Auto-Generation in ResponseProcessor + +Modify `ResponseProcessor.ts` to generate a `memorySessionId` if one is not present: + +```typescript +// In processAgentResponse(): +if (!session.memorySessionId) { + const generatedId = `auto-${session.contentSessionId}-${Date.now()}`; + session.memorySessionId = generatedId; + // Persist to database + dbManager.getSessionStore().updateMemorySessionId(session.sessionDbId, generatedId); + logger.info('DB', `AUTO_GENERATED_MEMORY_ID | sessionDbId=${session.sessionDbId} | memorySessionId=${generatedId}`); +} +``` + +**Pros:** +- Works for any agent type +- Single point of fix + +**Cons:** +- ResponseProcessor takes on responsibilities it shouldn't have +- Less explicit about provider behavior + +### 6.4 Recommended Approach + +**Solution A** is recommended because: +1. It explicitly handles the stateless nature of OpenRouter +2. It follows the existing pattern established by Claude SDK Agent +3. It keeps the memorySessionId generation in the agent where provider-specific logic belongs +4. It maintains clear separation of concerns + +--- + +## 7. Priority/Severity Assessment + +### 7.1 Severity Matrix + +| Factor | Assessment | +|--------|------------| +| **Data Loss** | High - All observations lost for OpenRouter sessions | +| **Functionality** | Complete - OpenRouter provider is non-functional | +| **Workaround** | Exists - Use Claude SDK or Gemini providers | +| **Affected Users** | Subset - Only OpenRouter users | +| **Regression** | Unknown - May be present since OpenRouter was added | + +### 7.2 Priority Assignment + +**Priority: P1 (High)** + +Rationale: +- Complete feature failure for affected configuration +- Users who choose OpenRouter are completely blocked +- Fix is straightforward with low regression risk + +### 7.3 Recommended Timeline + +| Action | Timeline | +|--------|----------| +| Hotfix development | 1-2 hours | +| Testing | 1 hour | +| Code review | 30 minutes | +| Release | Same day | + +--- + +## 8. Testing Recommendations + +### 8.1 Unit Tests to Add + +```typescript +// tests/worker/openrouter-agent.test.ts + +describe('OpenRouterAgent memorySessionId handling', () => { + it('should generate memorySessionId when session has none', async () => { + const session = createMockSession({ + memorySessionId: null, + contentSessionId: 'test-content-123' + }); + + await openRouterAgent.startSession(session, mockWorker); + + expect(session.memorySessionId).not.toBeNull(); + expect(session.memorySessionId).toContain('openrouter-'); + }); + + it('should persist generated memorySessionId to database', async () => { + const session = createMockSession({ memorySessionId: null }); + + await openRouterAgent.startSession(session, mockWorker); + + expect(mockDbManager.getSessionStore().updateMemorySessionId) + .toHaveBeenCalledWith(session.sessionDbId, expect.any(String)); + }); + + it('should not regenerate memorySessionId if already present', async () => { + const existingId = 'existing-memory-id'; + const session = createMockSession({ memorySessionId: existingId }); + + await openRouterAgent.startSession(session, mockWorker); + + expect(session.memorySessionId).toBe(existingId); + }); +}); +``` + +### 8.2 Integration Tests to Add + +```typescript +describe('OpenRouter end-to-end observation storage', () => { + it('should successfully store observations for new OpenRouter sessions', async () => { + // Create new session via hook + const sessionDbId = createSDKSession(db, 'content-123', 'test-project', 'test prompt'); + + // Initialize and start OpenRouter agent + const session = sessionManager.initializeSession(sessionDbId); + await openRouterAgent.startSession(session, mockWorker); + + // Verify observations were stored + const observations = db.prepare('SELECT * FROM observations WHERE memory_session_id = ?') + .all(session.memorySessionId); + expect(observations.length).toBeGreaterThan(0); + }); +}); +``` + +--- + +## 9. Related Files + +| File | Relevance | +|------|-----------| +| `src/services/worker/OpenRouterAgent.ts` | Primary fix location | +| `src/services/worker/agents/ResponseProcessor.ts` | Error origin (line 73-75) | +| `src/services/worker/SessionManager.ts` | Session initialization | +| `src/services/worker/SDKAgent.ts` | Reference implementation for memorySessionId capture | +| `src/services/sqlite/sessions/create.ts` | Database session creation | +| `docs/SESSION_ID_ARCHITECTURE.md` | Architecture documentation | +| `tests/worker/agents/response-processor.test.ts` | Existing test coverage | + +--- + +## 10. Conclusion + +Issue #591 is a critical bug that renders the OpenRouter provider non-functional for new sessions. The root cause is a missing `memorySessionId` capture mechanism specific to stateless providers like OpenRouter. + +The recommended fix is to generate a unique `memorySessionId` in `OpenRouterAgent.startSession()` before calling `processAgentResponse()`. This fix is straightforward, follows existing patterns, and carries low regression risk. + +**Immediate Action Required:** Implement Solution A and release a hotfix. diff --git a/docs/reports/issue-596-processtransport-not-ready.md b/docs/reports/issue-596-processtransport-not-ready.md new file mode 100644 index 00000000..56745fa4 --- /dev/null +++ b/docs/reports/issue-596-processtransport-not-ready.md @@ -0,0 +1,417 @@ +# Issue #596: ProcessTransport is not ready for writing - Generator aborted on every observation + +**Date:** 2026-01-07 +**Issue:** [#596](https://github.com/thedotmack/claude-mem/issues/596) +**Reported by:** soho-dev-account +**Severity:** Critical +**Status:** Under Investigation +**Labels:** bug + +--- + +## 1. Executive Summary + +After a clean install of claude-mem v9.0.0, the SDK agent aborts every observation with a "ProcessTransport is not ready for writing" error. The worker starts successfully and the HTTP API responds, but no observations are stored to the database. The error originates from the Claude Agent SDK's internal transport layer, specifically in the bundled `worker-service.cjs` at line 1119. + +**Key Finding:** This is a race condition or timing issue in the Claude Agent SDK's ProcessTransport initialization. The SDK attempts to write messages to its subprocess transport before the transport's ready state is established. + +**Impact:** Complete loss of memory functionality. The system appears operational but silently fails to capture any development context. + +--- + +## 2. Problem Analysis + +### 2.1 Symptoms + +1. **Worker starts successfully** - No startup errors, HTTP endpoints respond +2. **Observations are queued** - HTTP 200 responses from `/api/sessions/observations` +3. **Generator aborts immediately** - Every queued message triggers generator abort +4. **No observations stored** - Database remains empty despite active usage + +### 2.2 Error Signature + +``` +error: ProcessTransport is not ready for writing at write (/Users/.../worker-service.cjs:1119:5337) +``` + +### 2.3 Worker Logs Pattern + +``` +[INFO ] [SDK ] Starting SDK query... +[INFO ] [SDK ] Creating message generator... +[INFO ] [SESSION] [session-3458] Generator aborted +``` + +The log shows: +- SDK query starts (line 78-85 in SDKAgent.ts) +- Message generator created (line 266-272 in SDKAgent.ts) +- Generator aborts immediately (line 169 in SessionRoutes.ts) + +The gap between "Creating message generator" and "Generator aborted" indicates the SDK's `query()` function throws before yielding any messages. + +### 2.4 Environment Context + +- **OS:** macOS 26.3, Apple Silicon +- **Bun:** 1.3.5 +- **Node:** v22.21.1 +- **Claude Code:** 2.0.75 +- **claude-mem:** v9.0.0 (clean install) + +--- + +## 3. Technical Details + +### 3.1 ProcessTransport in the Agent SDK + +The `ProcessTransport` class is part of the Claude Agent SDK (`@anthropic-ai/claude-agent-sdk`), bundled into `worker-service.cjs` during the build process. This transport manages bidirectional IPC communication between: + +1. **Parent process:** The claude-mem worker service +2. **Child process:** Claude Code subprocess spawned for SDK queries + +The transport uses stdin/stdout pipes to exchange JSON messages with the Claude Code process. + +### 3.2 The Ready State Problem + +ProcessTransport maintains a `ready` state that gates write operations: + +```javascript +// Approximate structure from bundled code +class ProcessTransport { + ready = false; + + write(data) { + if (!this.ready) { + throw new Error("ProcessTransport is not ready for writing"); + } + // ... actual write to subprocess stdin + } + + async start() { + // Spawn subprocess + // Set up pipes + this.ready = true; + } +} +``` + +The error occurs when `write()` is called before `start()` completes, or when the transport initialization fails silently. + +### 3.3 Code Flow Analysis + +1. **Session initialization** (`SessionRoutes.ts:237-299`) + - HTTP request creates/fetches session + - Calls `startGeneratorWithProvider()` + +2. **Generator startup** (`SessionRoutes.ts:118-217`) + - Sets `session.currentProvider` + - Calls `agent.startSession(session, worker)` + - Wraps in Promise with error/finally handlers + +3. **SDK query invocation** (`SDKAgent.ts:102-114`) + ```typescript + const queryResult = query({ + prompt: messageGenerator, + options: { + model: modelId, + ...(hasRealMemorySessionId && session.lastPromptNumber > 1 && { resume: session.memorySessionId }), + disallowedTools, + abortController: session.abortController, + pathToClaudeCodeExecutable: claudePath + } + }); + ``` + +4. **SDK internal flow** (inside `query()`) + - Creates ProcessTransport + - Spawns Claude subprocess + - **RACE:** Attempts to write before ready + +### 3.4 Abort Controller Signal Path + +When ProcessTransport throws, the error propagates through: + +1. `query()` async iterator throws +2. `for await` loop in `startSession()` exits +3. Generator promise rejects +4. SessionRoutes `.catch()` handler executes +5. Checks `session.abortController.signal.aborted` +6. Since not manually aborted, logs "Generator failed" at ERROR level +7. `.finally()` handler executes +8. Logs "Generator aborted" (misleading - it wasn't aborted, it crashed) + +--- + +## 4. Impact Assessment + +### 4.1 Functional Impact + +| Component | Status | Notes | +|-----------|--------|-------| +| Worker startup | Working | HTTP server binds correctly | +| HTTP API | Working | Endpoints respond with 200 | +| Session creation | Working | Database rows created | +| Observation queueing | Working | Messages added to pending queue | +| SDK query | **Failing** | ProcessTransport error | +| Observation storage | **Failing** | No observations saved | +| Summary generation | **Failing** | Depends on working SDK | +| CLAUDE.md generation | **Partial** | No recent activity to show | + +### 4.2 User Impact + +- **100% loss of memory functionality** - No observations captured +- **Silent failure mode** - Worker appears healthy +- **Queue grows indefinitely** - Messages stuck in "processing" +- **No error visible to user** - Requires checking worker logs + +### 4.3 System Recovery + +After this failure: +1. Pending messages remain in database (crash-safe design) +2. On worker restart, messages are recoverable +3. If SDK issue is resolved, backlog will process + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Hypothesis: SDK Version Incompatibility + +**Confidence: 85%** + +The Claude Agent SDK version (`^0.1.76`) may have introduced changes to ProcessTransport initialization timing that conflict with how claude-mem invokes `query()`. + +Evidence: +- v9.0.0 works for some users but fails for others +- Error occurs in SDK internals, not claude-mem code +- Similar timing issues seen in previous SDK versions + +### 5.2 Alternative Hypothesis: Subprocess Spawn Race + +**Confidence: 70%** + +The Claude Code subprocess may fail to start or respond in time, causing the transport to remain in non-ready state. + +Evidence: +- `pathToClaudeCodeExecutable` is auto-detected +- Different Claude Code versions may have different startup times +- Apple Silicon Bun may spawn processes differently + +### 5.3 Alternative Hypothesis: Bun-Specific IPC Issue + +**Confidence: 50%** + +Bun's process spawning may handle stdin/stdout pipes differently than Node.js, causing transport initialization to fail. + +Evidence: +- claude-mem runs under Bun +- Agent SDK may not be tested extensively with Bun runtime +- Bun 1.3.5 is relatively new + +### 5.4 Related: Recent Version Mismatch Fix (#567) + +Commit `e22e2bfc` fixed a version mismatch causing infinite worker restart loops. This touched: +- `plugin/package.json` +- `plugin/scripts/worker-service.cjs` +- Hook scripts + +While this fix addressed restart loops, it may have introduced timing changes that expose this race condition. + +--- + +## 6. Recommended Solutions + +### 6.1 Immediate Workarounds + +#### Option A: Retry with Backoff (Quick Fix) +Add retry logic around `query()` invocation: + +```typescript +// SDKAgent.ts - wrap query() with retry +async function queryWithRetry(options: QueryOptions, maxRetries = 3): Promise { + for (let attempt = 0; attempt < maxRetries; attempt++) { + try { + return query(options); + } catch (error) { + if (error.message?.includes('ProcessTransport is not ready') && attempt < maxRetries - 1) { + await new Promise(resolve => setTimeout(resolve, 100 * (attempt + 1))); + continue; + } + throw error; + } + } +} +``` + +**Pros:** Quick to implement, may resolve timing-sensitive cases +**Cons:** Masks underlying issue, adds latency + +#### Option B: Verify Claude Executable Before Query +Add explicit verification that Claude is responsive: + +```typescript +// Before calling query() +const testResult = execSync(`${claudePath} --version`, { timeout: 5000 }); +if (!testResult) { + throw new Error('Claude executable not responding'); +} +``` + +**Pros:** Catches subprocess spawn failures early +**Cons:** Adds startup latency, doesn't address transport race + +### 6.2 Medium-Term Fixes + +#### Option C: Pin SDK Version +Lock to a known-working SDK version: + +```json +{ + "dependencies": { + "@anthropic-ai/claude-agent-sdk": "0.1.75" + } +} +``` + +**Pros:** Immediate resolution if regression confirmed +**Cons:** Misses security updates, may not match Claude Code version + +#### Option D: Add Transport Ready Callback +Request SDK feature to expose transport ready state: + +```typescript +// Hypothetical API +const queryResult = query({ + prompt: messageGenerator, + options: { ... }, + onTransportReady: () => logger.info('SDK', 'Transport ready') +}); +``` + +**Pros:** Proper fix at SDK level +**Cons:** Requires SDK changes + +### 6.3 Long-Term Solutions + +#### Option E: V2 SDK Migration +The V2 SDK (`unstable_v2_createSession`) uses a different session-based architecture that may not have this race condition: + +```typescript +await using session = unstable_v2_createSession({ + model: 'claude-sonnet-4-5-20250929' +}); + +await session.send(initPrompt); // Explicit send/receive +for await (const msg of session.receive()) { ... } +``` + +**Pros:** Modern API, explicit lifecycle control +**Cons:** V2 is "unstable preview", requires significant refactor + +#### Option F: Alternative Agent Provider +Use Gemini or OpenRouter as default when SDK fails: + +```typescript +// SessionRoutes.ts - fallback logic +try { + await sdkAgent.startSession(session, worker); +} catch (error) { + if (error.message?.includes('ProcessTransport')) { + logger.warn('SESSION', 'SDK transport failed, falling back to Gemini'); + await geminiAgent.startSession(session, worker); + } +} +``` + +**Pros:** System remains functional +**Cons:** Different model behavior, requires API key + +--- + +## 7. Priority/Severity Assessment + +### 7.1 Severity: Critical + +| Criterion | Rating | Justification | +|-----------|--------|---------------| +| Functional Impact | Critical | Core feature completely broken | +| User Count | Unknown | Appears on clean installs | +| Data Loss | Low | No data corrupted, queue preserved | +| Recoverability | Medium | Worker restart may help | +| Workaround Available | Limited | Use alternative provider | + +### 7.2 Priority: P0 + +This should be treated as a P0 (highest priority) issue because: + +1. **Core functionality broken** - Memory capture is the primary feature +2. **Silent failure** - Users may not realize observations aren't being saved +3. **Clean install affected** - New users cannot use the product +4. **No easy workaround** - Requires code changes or provider switching + +### 7.3 Recommended Action Plan + +1. **Immediate (Day 1)** + - [ ] Reproduce issue in controlled environment + - [ ] Test with pinned SDK version 0.1.75 + - [ ] Test with Node.js instead of Bun + - [ ] Add explicit error message to SessionRoutes for this failure mode + +2. **Short-term (Week 1)** + - [ ] Implement retry logic (Option A) + - [ ] Add transport failure telemetry + - [ ] Document workaround in issue comments + - [ ] File SDK issue with Anthropic if confirmed regression + +3. **Medium-term (Week 2-4)** + - [ ] Evaluate V2 SDK migration timeline + - [ ] Add graceful fallback to alternative providers + - [ ] Improve generator error visibility in viewer UI + +--- + +## 8. Appendix + +### 8.1 Related Files + +| File | Relevance | +|------|-----------| +| `src/services/worker/SDKAgent.ts` | SDK query invocation | +| `src/services/worker/http/routes/SessionRoutes.ts` | Generator lifecycle management | +| `src/services/worker/SessionManager.ts` | Session state and queue management | +| `src/services/worker-types.ts` | ActiveSession type definition | +| `plugin/scripts/worker-service.cjs` | Bundled worker with SDK code | + +### 8.2 Related Issues + +- **#567** - Version mismatch causing infinite worker restart loop (may be related) +- **#520** - Stuck messages analysis (similar symptom pattern) +- **#532** - Memory leak analysis (generator lifecycle issues) + +### 8.3 Related Documentation + +- `docs/context/agent-sdk-v2-preview.md` - V2 SDK documentation +- `docs/context/agent-sdk-v2-examples.ts` - V2 SDK code examples +- `docs/reports/2026-01-02--generator-failure-investigation.md` - Previous generator failure analysis + +### 8.4 Test Commands + +```bash +# Check worker logs +tail -f ~/.claude-mem/logs/worker-$(date +%Y-%m-%d).log + +# Check pending queue +npm run queue + +# Restart worker +npm run worker:restart + +# Test with specific SDK version +npm install @anthropic-ai/claude-agent-sdk@0.1.75 +npm run build-and-sync +``` + +--- + +**Report prepared by:** Claude Code +**Analysis date:** 2026-01-07 +**Next review:** After reproduction attempt diff --git a/docs/reports/issue-597-too-many-bugs.md b/docs/reports/issue-597-too-many-bugs.md new file mode 100644 index 00000000..ce295bf2 --- /dev/null +++ b/docs/reports/issue-597-too-many-bugs.md @@ -0,0 +1,271 @@ +# Issue #597: Too Many Bugs - Technical Analysis Report + +**Date:** 2026-01-07 +**Issue:** [#597](https://github.com/thedotmack/claude-mem/issues/597) +**Author:** TullyMonster +**Labels:** bug +**Status:** Open + +--- + +## 1. Executive Summary + +Issue #597 is a bug report from user TullyMonster containing four screenshots documenting various issues encountered over a two-day period. The report lacks textual description of the specific bugs, relying entirely on visual evidence. The user apologizes for the delay in reporting, stating the bugs significantly hampered their productivity. + +**Key Limitation:** This analysis is constrained by the image-only nature of the report. The four screenshots (with dimensions 2560x1239, 1511x628, 2560x3585, and 1907x1109 pixels) cannot be programmatically analyzed to extract specific error messages or UI states. + +**Community Confirmation:** Another user (ham-zax) commented agreeing with the severity: "yeah atleast make beta testing, it hampers productivity" + +--- + +## 2. Problem Analysis + +### 2.1 Contextual Analysis + +Based on the timing (January 7, 2026), the user was running claude-mem v9.0.0, which was released on January 5, 2026. This version introduced the "Live Context System with Distributed CLAUDE.md Generation" (PR #556), a significant architectural change. + +The same user (TullyMonster) also commented on Issue #596 with "same as you," indicating they experienced the ProcessTransport error that causes all observations to fail silently. + +### 2.2 Related Issues Filed Same Day + +| Issue | Title | Relevance | +|-------|-------|-----------| +| #596 | ProcessTransport is not ready for writing - Generator aborted | User confirmed experiencing this | +| #598 | Too many messages, polluting conversation history | UX issue with plugin messages | +| #602 | PostToolUse Error: worker-service.cjs failed to start | Worker startup failures on Windows | + +### 2.3 Screenshot Analysis (Inferred) + +Based on screenshot dimensions and the pattern of issues being reported on v9.0.0: + +| Screenshot | Dimensions | Likely Content | +|------------|------------|----------------| +| Image 1 | 2560x1239 | Full-screen terminal/IDE showing errors | +| Image 2 | 1511x628 | Error message dialog or log output | +| Image 3 | 2560x3585 | Very tall - likely scrolling log output or multiple stacked errors | +| Image 4 | 1907x1109 | Terminal or UI showing bug manifestation | + +--- + +## 3. Technical Details + +### 3.1 Probable Bug Categories (v9.0.0) + +Based on the cluster of issues around this time, the bugs likely fall into these categories: + +#### A. ProcessTransport Failures (High Probability) +``` +error: ProcessTransport is not ready for writing +at write (/Users/.../worker-service.cjs:1119:5337) +at streamInput (/Users/.../worker-service.cjs:1122:1041) +``` +- Every observation fails with "Generator aborted" +- Queue depth accumulates (87+ unprocessed items) +- Worker UI works, but no observations are stored + +#### B. Worker Startup Failures (Moderate Probability) +``` +[ERROR] [HOOK] save-hook failed Worker did not become ready within 15 seconds. (port 37777) +[ERROR] [SYSTEM] Worker failed to start (health check timeout) +[ERROR] [SYSTEM] Failed to start server. Is port 37777 in use? +``` + +#### C. Session/Memory Issues (Moderate Probability) +``` +[ERROR] Cannot store observations: memorySessionId not yet captured +[WARN] Generator exited unexpectedly +``` + +#### D. Conversation Pollution (Possible) +Multiple "Hello memory agent" messages appearing in conversation history, disrupting workflow. + +### 3.2 Environment Assumptions + +Based on the user's participation in Issue #596 (macOS focus) and screenshot dimensions: +- **OS:** Likely macOS (high-resolution display) +- **Version:** v9.0.0 (released Jan 5, 2026) +- **Runtime:** Bun 1.3.x + +--- + +## 4. Impact Assessment + +### 4.1 User Impact + +| Impact Area | Severity | Description | +|-------------|----------|-------------| +| Productivity | **Critical** | User spent 2 days dealing with bugs instead of coding | +| Data Loss | **High** | Observations not being stored (ProcessTransport issue) | +| Workflow Disruption | **High** | Multiple bugs compounding the problem | +| User Trust | **Medium** | User apologizes for delay, showing frustration | + +### 4.2 Broader Impact + +The community response indicates this is not an isolated incident: +- ham-zax: "yeah atleast make beta testing, it hampers productivity" +- Multiple users on #596: "same as you", "same 3" + +This suggests v9.0.0 has significant stability issues affecting multiple users. + +--- + +## 5. Root Cause Analysis + +### 5.1 Likely Root Causes + +#### Primary: ProcessTransport Race Condition +The Claude Agent SDK's ProcessTransport class attempts to write to stdin before the spawned process is ready. This is a timing/race condition that manifests inconsistently. + +**Evidence:** +- Clean installs affected +- Both Bun 1.3.4 and 1.3.5 affected +- Prompts ARE recorded correctly, only SDK agent fails + +#### Secondary: Version 9.0.0 Regression +PR #556 introduced significant changes to the Live Context System, which may have: +1. Introduced new race conditions +2. Affected worker lifecycle management +3. Changed timing of critical initialization steps + +#### Tertiary: Platform-Specific Issues +Windows users experiencing additional problems: +- `wmic` command not recognized (newer Windows versions) +- Port binding conflicts +- PowerShell variable escaping in Git Bash + +### 5.2 Contributing Factors + +| Factor | Description | +|--------|-------------| +| Rapid releases | v8.5.10 to v9.0.0 in 2 days | +| Complex architecture | 5 lifecycle hooks, async worker, SDK integration | +| Limited beta testing | Community comment suggests need for beta channel | +| Platform diversity | macOS, Windows, Linux all have different issues | + +--- + +## 6. Recommended Solutions + +### 6.1 Immediate Actions (For User) + +1. **Request Clarification** - Post a comment asking: + ``` + @TullyMonster Thank you for the detailed screenshots! To help us + investigate these issues more effectively, could you please provide: + + 1. Which specific errors/behaviors are shown in each screenshot? + 2. Your environment (OS, claude-mem version, Bun version)? + 3. Relevant log entries from ~/.claude-mem/logs/worker-YYYY-MM-DD.log? + 4. Steps to reproduce any of these issues? + + We've identified several related issues (#596, #598, #602) and want to + ensure we're addressing your specific problems. + ``` + +2. **Verify Version** - Confirm user is on v9.0.0 + +3. **Link Related Issues** - Cross-reference with: + - #596 (ProcessTransport) + - #598 (message pollution) + - #602 (worker startup) + +### 6.2 Technical Fixes (For Maintainers) + +| Priority | Fix | Issue | +|----------|-----|-------| +| P0 | Fix ProcessTransport race condition | #596 | +| P1 | Improve worker startup reliability | #602 | +| P2 | Reduce conversation pollution | #598 | +| P3 | Add better error recovery | General | + +### 6.3 Process Improvements + +1. **Beta Channel** - Consider a beta release channel for major versions +2. **Automated Testing** - Expand CI to catch lifecycle issues +3. **Error Reporting** - Add structured error logging that's easier to share +4. **Bug Report Template** - Update template to encourage log submission + +--- + +## 7. Priority/Severity Assessment + +### 7.1 Individual Issue Severity + +| Aspect | Rating | Justification | +|--------|--------|---------------| +| Frequency | High | Multiple users affected | +| Impact | Critical | Complete workflow disruption | +| Urgency | High | Blocking user productivity | +| Complexity | Medium | Root causes identified in related issues | + +### 7.2 Overall Priority + +**Priority: P1 - High** + +**Rationale:** +- User lost 2 days of productivity +- Multiple corroborating reports from community +- v9.0.0 appears to have introduced regressions +- Plugin is actively harming user experience rather than helping + +### 7.3 Recommended Triage + +1. **Consolidate** - This issue likely duplicates #596, #602, and/or #598 +2. **Request Details** - Ask user to specify which screenshots map to which issues +3. **Consider Rollback** - If issues persist, consider advising users to downgrade to v8.5.10 +4. **Hotfix** - Prioritize a v9.0.1 release addressing ProcessTransport issue + +--- + +## 8. Appendix + +### 8.1 Related Issues Timeline + +| Date | Issue | Event | +|------|-------|-------| +| Jan 5 | - | v9.0.0 released | +| Jan 6 | #571 | "Cannot store observations" | +| Jan 6 | #573 | "bun does not auto install" | +| Jan 7 01:10 | #588 | API key cost warning | +| Jan 7 10:17 | #596 | ProcessTransport failures | +| Jan 7 13:09 | #597 | This issue | +| Jan 7 14:08 | #598 | Conversation pollution | +| Jan 7 18:13 | #602 | Worker startup failures | + +### 8.2 Screenshot Metadata + +| # | Dimensions | Aspect Ratio | Notes | +|---|------------|--------------|-------| +| 1 | 2560x1239 | 2.07:1 | Wide monitor screenshot | +| 2 | 1511x628 | 2.41:1 | Cropped dialog/window | +| 3 | 2560x3585 | 0.71:1 | Tall scrolling capture | +| 4 | 1907x1109 | 1.72:1 | Standard window capture | + +### 8.3 Version History + +| Version | Date | Notable Changes | +|---------|------|-----------------| +| v8.5.10 | Jan 5 | Pre-v9 stable | +| v9.0.0 | Jan 5 | Live Context System (PR #556) | +| v9.0.0+ | Jan 7 | Version mismatch fix (PR #567) | + +--- + +## 9. Conclusion + +Issue #597 represents user frustration with multiple bugs encountered in claude-mem v9.0.0. While the image-only report makes specific diagnosis difficult, contextual analysis strongly suggests the user experienced: + +1. ProcessTransport failures causing observation loss (#596) +2. Possibly worker startup issues (#602) +3. Possibly conversation pollution (#598) + +**Recommended Next Steps:** +1. Request additional details from the user +2. Link this issue to #596 as likely duplicate/related +3. Prioritize v9.0.1 hotfix for ProcessTransport issue +4. Consider implementing a beta testing channel for major releases + +--- + +*Report generated: 2026-01-07* +*Analysis based on: GitHub issue data, related issues, commit history, and contextual inference* diff --git a/docs/reports/issue-598-conversation-history-pollution.md b/docs/reports/issue-598-conversation-history-pollution.md new file mode 100644 index 00000000..8b0bdbb5 --- /dev/null +++ b/docs/reports/issue-598-conversation-history-pollution.md @@ -0,0 +1,365 @@ +# Issue #598: Conversation History Pollution - Technical Analysis Report + +**Issue:** Too many messages, polluting my conversation history +**Author:** abhijit8ganguly-afk +**Created:** 2026-01-07 +**Labels:** bug +**Report Date:** 2026-01-07 + +--- + +## 1. Executive Summary + +Users are experiencing conversation history pollution when using `/resume` in Claude Code. Plugin-generated messages starting with "Hello memory agent" appear in the user's conversation history, making it difficult to resume sessions. This issue stems from a fundamental architectural concern: the Claude Agent SDK's resume mechanism appears to inject messages into the user's transcript when the `resume` parameter is passed with the user's `contentSessionId` instead of the plugin's separate `memorySessionId`. + +**Key Finding:** The plugin maintains two separate session IDs for isolation: +- `contentSessionId`: The user's Claude Code session (what appears in `/resume`) +- `memorySessionId`: The plugin's internal SDK session (should NEVER appear in user's history) + +When these become conflated, plugin messages pollute the user's conversation history. + +--- + +## 2. Problem Analysis + +### 2.1 User-Reported Symptoms + +When using `/resume`, users see multiple messages starting with "Hello memory agent" appearing in their conversation history. These messages are internal to the claude-mem plugin and should be invisible to users. + +### 2.2 Source of "Hello memory agent" Messages + +The message originates from the mode configuration file at `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/plugin/modes/code.json`: + +```json +{ + "prompts": { + "continuation_greeting": "Hello memory agent, you are continuing to observe the primary Claude session.", + "continuation_instruction": "IMPORTANT: Continue generating observations from tool use messages using the XML structure below." + } +} +``` + +This greeting is injected via `buildContinuationPrompt()` in `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/sdk/prompts.ts`: + +```typescript +export function buildContinuationPrompt(userPrompt: string, promptNumber: number, contentSessionId: string, mode: ModeConfig): string { + return `${mode.prompts.continuation_greeting} +... +``` + +### 2.3 When These Messages Appear + +The continuation prompt is used when `session.lastPromptNumber > 1` (any prompt after the initial session start). This is controlled in `SDKAgent.ts`: + +```typescript +const initPrompt = isInitPrompt + ? buildInitPrompt(session.project, session.contentSessionId, session.userPrompt, mode) + : buildContinuationPrompt(session.userPrompt, session.lastPromptNumber, session.contentSessionId, mode); +``` + +--- + +## 3. Technical Details + +### 3.1 Session ID Architecture + +The plugin uses a dual session ID system to maintain isolation between user conversations and plugin operations: + +| Session ID | Purpose | Storage | Should Appear in /resume | +|------------|---------|---------|--------------------------| +| `contentSessionId` | User's Claude Code session | From hook context | Yes - this IS the user's session | +| `memorySessionId` | Plugin's internal SDK session | Captured from SDK responses | **NEVER** | + +**Critical Code Comments from `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/services/sqlite/SessionStore.ts`:** + +```typescript +// NOTE: memory_session_id starts as NULL. It is captured by SDKAgent from the first SDK +// response and stored via updateMemorySessionId(). CRITICAL: memory_session_id must NEVER +// equal contentSessionId - that would inject memory messages into the user's transcript! +``` + +### 3.2 SDK Query Flow + +The `SDKAgent.startSession()` method at `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/services/worker/SDKAgent.ts` controls how the plugin interacts with Claude: + +```typescript +const queryResult = query({ + prompt: messageGenerator, + options: { + model: modelId, + // Only resume if BOTH: (1) we have a memorySessionId AND (2) this isn't the first prompt + // On worker restart, memorySessionId may exist from a previous SDK session but we + // need to start fresh since the SDK context was lost + ...(hasRealMemorySessionId && session.lastPromptNumber > 1 && { resume: session.memorySessionId }), + disallowedTools, + abortController: session.abortController, + pathToClaudeCodeExecutable: claudePath + } +}); +``` + +**Key Point:** The `resume` parameter specifies which session to continue. If this accidentally uses `contentSessionId`, messages appear in the user's history. + +### 3.3 Message Generator Architecture + +The `createMessageGenerator()` method yields synthetic user messages to the SDK: + +```typescript +yield { + type: 'user', + message: { + role: 'user', + content: initPrompt // Contains "Hello memory agent" for continuation prompts + }, + session_id: session.contentSessionId, // References user's session for context + parent_tool_use_id: null, + isSynthetic: true // Marked as synthetic - should not appear in real history +}; +``` + +### 3.4 Transcript Storage Locations + +Claude Code stores conversation transcripts at: +``` +~/.claude/projects/{dashed-cwd}/{session_id}.jsonl +``` + +If the wrong session ID is used, plugin messages get written to the user's transcript file. + +--- + +## 4. Impact Assessment + +### 4.1 User Experience Impact + +| Severity | Description | +|----------|-------------| +| High | Users cannot effectively use `/resume` due to pollution | +| Medium | Confusion about what messages are "real" vs plugin-generated | +| Low | Increased scrolling/navigation effort | + +### 4.2 Functional Impact + +- **Session Resume Degraded:** The core `/resume` functionality becomes less useful +- **Context Window Pollution:** Plugin messages consume valuable context window tokens +- **Trust Erosion:** Users may question if the plugin is behaving correctly + +### 4.3 Affected Users + +All users who: +1. Have claude-mem plugin installed +2. Use `/resume` to continue sessions +3. Have multi-turn conversations where continuation prompts are generated + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Root Cause + +The issue likely occurs when the session ID passed to the SDK's `resume` parameter conflates with the user's session. This could happen in several scenarios: + +**Scenario A: Stale Session ID Resume (Previously Identified)** + +When the worker restarts with a stale `memorySessionId` from a previous session, it may attempt to resume into a non-existent session. The fix at `SDKAgent.ts:109` prevents this: + +```typescript +...(hasRealMemorySessionId && session.lastPromptNumber > 1 && { resume: session.memorySessionId }), +``` + +However, if this logic was not working correctly, or if there was a race condition, the wrong ID could be used. + +**Scenario B: Session ID Capture Timing** + +The `memorySessionId` is captured from the first SDK response: + +```typescript +if (!session.memorySessionId && message.session_id) { + session.memorySessionId = message.session_id; + // Persist to database for cross-restart recovery + this.dbManager.getSessionStore().updateMemorySessionId( + session.sessionDbId, + message.session_id + ); +} +``` + +If this capture fails or is delayed, subsequent messages might use the wrong session context. + +**Scenario C: Message Yielding with User Session Context** + +The message generator yields messages with `session_id: session.contentSessionId`: + +```typescript +yield { + type: 'user', + message: { role: 'user', content: initPrompt }, + session_id: session.contentSessionId, // <-- This is the user's session ID! + ... +}; +``` + +This field may be used by the SDK to determine where to persist messages. If so, this is a design issue where the plugin's internal messages reference the user's session. + +### 5.2 Contributing Factors + +1. **Shared Conversation History:** The plugin maintains a `conversationHistory` array that includes plugin messages, used for provider switching (Claude/Gemini/OpenRouter). This history may leak into user-visible contexts. + +2. **Continuation Prompt Content:** The "Hello memory agent" greeting is explicitly designed to be internal but has no technical mechanism preventing it from appearing in user transcripts. + +3. **Synthetic Message Flag:** Messages are marked `isSynthetic: true` but this flag may not be respected by all downstream components. + +--- + +## 6. Recommended Solutions + +### 6.1 Immediate Mitigations + +#### Option A: Remove or Minimize Continuation Greeting (Low Effort) + +Modify the mode configuration to use a less intrusive greeting: + +```json +{ + "continuation_greeting": "", // Empty or very minimal +} +``` + +**Pros:** Quick fix, no code changes +**Cons:** Doesn't fix the underlying session ID issue + +#### Option B: Verify Session ID Isolation (Medium Effort) + +Add runtime validation to ensure `memorySessionId` never equals `contentSessionId`: + +```typescript +if (session.memorySessionId === session.contentSessionId) { + logger.error('SESSION', 'CRITICAL: memorySessionId matches contentSessionId - messages will pollute user history!', { + contentSessionId: session.contentSessionId, + memorySessionId: session.memorySessionId + }); + // Reset memorySessionId to force fresh SDK session + session.memorySessionId = null; +} +``` + +### 6.2 Structural Fixes + +#### Option C: Remove session_id from Yielded Messages (High Effort) + +Investigate if the `session_id` field in yielded messages can be omitted or changed: + +```typescript +yield { + type: 'user', + message: { role: 'user', content: initPrompt }, + // session_id: session.contentSessionId, // REMOVE or use memorySessionId + parent_tool_use_id: null, + isSynthetic: true +}; +``` + +**Requires:** Understanding of SDK internals and testing + +#### Option D: Separate Transcript Storage (High Effort) + +Ensure plugin messages are stored in a completely separate transcript path: +- User transcript: `~/.claude/projects/{cwd}/{contentSessionId}.jsonl` +- Plugin transcript: `~/.claude-mem/transcripts/{memorySessionId}.jsonl` + +### 6.3 Long-Term Architecture + +#### Option E: Agent SDK Isolation Mode + +Request or implement an SDK feature that marks certain messages as "agent-internal" and prevents them from appearing in user-facing `/resume` history. + +--- + +## 7. Priority/Severity Assessment + +| Dimension | Rating | Justification | +|-----------|--------|---------------| +| **User Impact** | High | Directly affects core user workflow (`/resume`) | +| **Frequency** | High | Affects all users with continuation prompts | +| **Workaround Available** | Partial | Users can ignore messages, but UX degraded | +| **Fix Complexity** | Medium-High | Requires understanding SDK session mechanics | + +### Recommended Priority: P1 (High) + +This issue should be addressed promptly as it: +1. Degrades a core Claude Code feature (`/resume`) +2. Affects all plugin users +3. May indicate a deeper session isolation problem +4. Could lead to users disabling the plugin + +--- + +## 8. Related Issues and Documentation + +### Related Issues +- Previous fix for stale session resume: `.claude/plans/fix-stale-session-resume-crash.md` +- Session ID architecture: `SESSION_ID_ARCHITECTURE.md` (referenced in plans) + +### Key Files for Investigation +| File | Relevance | +|------|-----------| +| `src/services/worker/SDKAgent.ts` | SDK query loop and session handling | +| `src/sdk/prompts.ts` | Prompt generation including "Hello memory agent" | +| `plugin/modes/code.json` | Mode configuration with greeting text | +| `src/services/sqlite/SessionStore.ts` | Session ID storage and validation | +| `tests/sdk-agent-resume.test.ts` | Test file for resume logic | + +### Test Coverage +The resume parameter logic has unit tests at `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/tests/sdk-agent-resume.test.ts` covering: +- INIT prompt scenarios (should NOT resume) +- Continuation prompt scenarios (should resume with memorySessionId) +- Edge cases (empty/undefined memorySessionId) +- Stale session crash prevention + +--- + +## 9. Appendix: Code References + +### A. Continuation Greeting in Mode Config +**File:** `plugin/modes/code.json` +```json +"continuation_greeting": "Hello memory agent, you are continuing to observe the primary Claude session." +``` + +### B. Prompt Building +**File:** `src/sdk/prompts.ts:174-177` +```typescript +export function buildContinuationPrompt(...): string { + return `${mode.prompts.continuation_greeting} +... +``` + +### C. Message Yielding +**File:** `src/services/worker/SDKAgent.ts:283-292` +```typescript +yield { + type: 'user', + message: { role: 'user', content: initPrompt }, + session_id: session.contentSessionId, + parent_tool_use_id: null, + isSynthetic: true +}; +``` + +### D. Session ID Capture +**File:** `src/services/worker/SDKAgent.ts:120-140` +```typescript +if (!session.memorySessionId && message.session_id) { + session.memorySessionId = message.session_id; + this.dbManager.getSessionStore().updateMemorySessionId( + session.sessionDbId, + message.session_id + ); + ... +} +``` + +--- + +*Report generated: 2026-01-07* +*Analysis based on codebase at commit: 687146ce (merge main)* diff --git a/docs/reports/issue-599-windows-drive-root-400-error.md b/docs/reports/issue-599-windows-drive-root-400-error.md new file mode 100644 index 00000000..7ab6f2ab --- /dev/null +++ b/docs/reports/issue-599-windows-drive-root-400-error.md @@ -0,0 +1,323 @@ +# Technical Report: Issue #599 - Windows Drive Root 400 Error + +**Issue:** [#599](https://github.com/thedotmack/claude-mem/issues/599) +**Title:** user-message-hook.js fails with 400 error when running from Windows drive root (C:\) +**Author:** PakAbhishek +**Created:** 2026-01-07 +**Severity:** Low +**Priority:** Medium +**Component:** Hooks / Session Initialization + +--- + +## 1. Executive Summary + +When running Claude Code from a Windows drive root directory (e.g., `C:\`), the `user-message-hook.js` script fails with a 400 HTTP error during session startup. The root cause is that `path.basename('C:\')` returns an empty string on Windows, which causes the API call to `/api/context/inject?project=` to fail with the error "Project(s) parameter is required". + +**Key Findings:** + +- The bug is **cosmetic only** - all core memory functionality continues to work correctly +- A robust fix already exists in `src/utils/project-name.ts` (`getProjectName()` function) but is not used by `user-message-hook.ts` +- The fix requires updating `user-message-hook.ts` to use the existing `getProjectName()` utility instead of raw `path.basename()` +- The `context-hook.ts` is already immune to this bug because it uses `getProjectContext()` which wraps `getProjectName()` + +**Affected Files:** + +- `src/hooks/user-message-hook.ts` (needs fix) +- `plugin/scripts/user-message-hook.js` (built artifact, auto-fixed by rebuild) + +--- + +## 2. Problem Analysis + +### 2.1 User-Reported Symptoms + +1. Error message on Claude Code startup when cwd is `C:\`: + ``` + error: Failed to fetch context: 400 + at C:\Users\achau\.claude\plugins\cache\thedotmack\claude-mem\9.0.0\scripts\user-message-hook.js:19:1339 + ``` + +2. The error appears during the SessionStart hook phase + +3. Despite the error, all other functionality works correctly: + - Worker health check: passing + - MCP tools: connected and functional + - Memory search: working + - Session observations: saved correctly + +### 2.2 Reproduction Steps + +1. Open terminal on Windows +2. Navigate to drive root: `cd C:\` +3. Start Claude Code: `claude` +4. Observe the startup error + +### 2.3 Environment + +- **OS:** Windows 11 +- **claude-mem version:** 9.0.0 +- **Bun version:** 1.3.5 +- **Claude Code:** Latest + +--- + +## 3. Technical Details + +### 3.1 Code Flow Analysis + +The `user-message-hook.ts` extracts the project name using: + +```typescript +// File: src/hooks/user-message-hook.ts (lines 18-23) +const project = basename(process.cwd()); + +const response = await fetch( + `http://127.0.0.1:${port}/api/context/inject?project=${encodeURIComponent(project)}&colors=true`, + { method: 'GET' } +); +``` + +When `process.cwd()` returns `C:\`, the `path.basename()` function returns an empty string: + +```javascript +> require('path').basename('C:\\') +'' +``` + +This results in an API call to: +``` +/api/context/inject?project=&colors=true +``` + +### 3.2 Server-Side Validation + +The `/api/context/inject` endpoint in `SearchRoutes.ts` performs strict validation: + +```typescript +// File: src/services/worker/http/routes/SearchRoutes.ts (lines 207-223) +private handleContextInject = this.wrapHandler(async (req: Request, res: Response): Promise => { + const projectsParam = (req.query.projects as string) || (req.query.project as string); + const useColors = req.query.colors === 'true'; + + if (!projectsParam) { + this.badRequest(res, 'Project(s) parameter is required'); + return; + } + + const projects = projectsParam.split(',').map(p => p.trim()).filter(Boolean); + + if (projects.length === 0) { + this.badRequest(res, 'At least one project is required'); + return; + } + // ... +}); +``` + +The validation correctly rejects empty project names, returning HTTP 400. + +### 3.3 Existing Solution + +A robust solution already exists in `src/utils/project-name.ts`: + +```typescript +// File: src/utils/project-name.ts (lines 12-40) +export function getProjectName(cwd: string | null | undefined): string { + if (!cwd || cwd.trim() === '') { + logger.warn('PROJECT_NAME', 'Empty cwd provided, using fallback', { cwd }); + return 'unknown-project'; + } + + const basename = path.basename(cwd); + + // Edge case: Drive roots on Windows (C:\, J:\) or Unix root (/) + // path.basename('C:\') returns '' (empty string) + if (basename === '') { + const isWindows = process.platform === 'win32'; + if (isWindows) { + const driveMatch = cwd.match(/^([A-Z]):\\/i); + if (driveMatch) { + const driveLetter = driveMatch[1].toUpperCase(); + const projectName = `drive-${driveLetter}`; + logger.info('PROJECT_NAME', 'Drive root detected', { cwd, projectName }); + return projectName; + } + } + logger.warn('PROJECT_NAME', 'Root directory detected, using fallback', { cwd }); + return 'unknown-project'; + } + + return basename; +} +``` + +This function: +- Handles null/undefined cwd +- Handles empty basename (drive roots) +- Returns meaningful names like `drive-C`, `drive-D` for Windows drive roots +- Returns `unknown-project` for Unix root or other edge cases + +### 3.4 Comparison: Fixed vs. Unfixed Hooks + +| Hook | Implementation | Status | +|------|---------------|--------| +| `context-hook.ts` | Uses `getProjectContext()` which calls `getProjectName()` | Immune to bug | +| `user-message-hook.ts` | Uses raw `basename(process.cwd())` | **Vulnerable** | +| `new-hook.ts` | Receives `cwd` from stdin, uses `getProjectName()` | Immune to bug | +| `save-hook.ts` | Uses basename but receives cwd from API context | Context-dependent | + +--- + +## 4. Impact Assessment + +### 4.1 Severity: Low + +- **Functional Impact:** Cosmetic only - the error message is displayed but does not affect core functionality +- **Data Integrity:** No data loss or corruption +- **Workaround Available:** Yes - run Claude from a project directory instead of drive root + +### 4.2 Affected Users + +- Users running Claude Code from Windows drive roots (C:\, D:\, etc.) +- Estimated as a small percentage of users based on typical usage patterns +- More likely to affect users doing quick tests or troubleshooting + +### 4.3 User Experience Impact + +- Confusing error message on startup +- Users may incorrectly believe the plugin is broken +- Error appears in stderr alongside legitimate context information + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Cause + +The `user-message-hook.ts` was implemented using a direct `path.basename()` call instead of the standardized `getProjectName()` utility function that handles edge cases. + +### 5.2 Contributing Factors + +1. **Inconsistent Pattern Usage:** Different hooks use different approaches to extract project names +2. **Missing Validation:** No client-side validation of project name before making API call +3. **Edge Case Not Tested:** Windows drive root is an unusual but valid working directory + +### 5.3 Historical Context + +The `getProjectName()` utility was added to handle this exact edge case (see `src/utils/project-name.ts`), but not all hooks were updated to use it. The `context-hook.ts` uses the newer `getProjectContext()` function, while `user-message-hook.ts` still uses the older pattern. + +--- + +## 6. Recommended Solutions + +### 6.1 Primary Fix (Recommended) + +Update `user-message-hook.ts` to use the existing `getProjectName()` utility: + +```typescript +// Current (vulnerable): +import { basename } from "path"; +const project = basename(process.cwd()); + +// Fixed: +import { getProjectName } from "../utils/project-name.js"; +const project = getProjectName(process.cwd()); +``` + +**Benefits:** +- Uses battle-tested utility +- Consistent with other hooks +- Handles all edge cases (drive roots, Unix root, empty cwd) +- Provides meaningful project names (`drive-C`) instead of fallbacks + +### 6.2 Alternative: Inline Fix (User-Suggested) + +The user suggested an inline fix in the issue: + +```javascript +let projectName = basename(process.cwd()); +if (!projectName || projectName === '') { + const cwd = process.cwd(); + projectName = cwd.match(/^([A-Za-z]:)[\\/]?$/) + ? `drive-${cwd[0].toUpperCase()}` + : 'unknown-project'; +} +``` + +**Evaluation:** +- Functionally correct +- Duplicates existing logic in `getProjectName()` +- Does not address the pattern inconsistency +- Acceptable if import constraints prevent using the utility + +### 6.3 Additional Improvements (Optional) + +1. **Add Client-Side Validation:** + ```typescript + if (!project || project.trim() === '') { + throw new Error('Unable to determine project name from working directory'); + } + ``` + +2. **Standardize All Hooks:** Audit other hooks using `basename(process.cwd())` and update to use `getProjectName()` + +3. **Add Unit Tests:** Create tests for `user-message-hook.ts` covering: + - Normal project directories + - Windows drive roots (C:\, D:\) + - Unix root (/) + - Trailing slashes + +--- + +## 7. Priority and Severity Assessment + +### 7.1 Classification + +| Metric | Value | Justification | +|--------|-------|---------------| +| **Severity** | Low | Cosmetic error only, no functional impact | +| **Priority** | Medium | User-facing error, easy fix, affects Windows users | +| **Effort** | Trivial | Single line change + rebuild | +| **Risk** | Very Low | Using existing, tested utility function | + +### 7.2 Recommendation + +**Recommended Action:** Fix in next patch release (9.0.1) + +**Rationale:** +- Simple fix with minimal risk +- Improves Windows user experience +- Demonstrates responsiveness to community feedback +- Pattern already exists in codebase + +### 7.3 Testing Requirements + +1. Verify fix on Windows with `C:\` as cwd +2. Verify existing behavior unchanged for normal project directories +3. Verify worktree detection still works correctly +4. Run full hook test suite + +--- + +## 8. Appendix + +### 8.1 Related Files + +| File | Purpose | Fix Required | +|------|---------|--------------| +| `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/hooks/user-message-hook.ts` | Source hook (needs fix) | Yes | +| `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/plugin/scripts/user-message-hook.js` | Built hook | Auto-rebuilds | +| `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/utils/project-name.ts` | Utility (has fix) | No | +| `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/hooks/context-hook.ts` | Reference implementation | No | +| `/Users/alexnewman/conductor/workspaces/claude-mem/budapest/src/services/worker/http/routes/SearchRoutes.ts` | API validation | No | + +### 8.2 Related Issues + +- Windows compatibility has been a focus area, with 56+ memory entries documenting Windows-specific fixes +- This issue follows the pattern of other Windows edge case bugs + +### 8.3 References + +- [Node.js path.basename documentation](https://nodejs.org/api/path.html#pathbasenamepath-suffix) +- [Windows file system path formats](https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file) diff --git a/docs/reports/issue-600-documentation-audit-features-not-implemented.md b/docs/reports/issue-600-documentation-audit-features-not-implemented.md new file mode 100644 index 00000000..d016c33f --- /dev/null +++ b/docs/reports/issue-600-documentation-audit-features-not-implemented.md @@ -0,0 +1,432 @@ +# Issue #600: Documentation Audit - Features Documented But Not Implemented + +**Report Date:** 2026-01-07 +**Issue Author:** @bguidolim +**Issue Created:** 2026-01-07 +**Status:** Open +**Priority:** Medium-High + +--- + +## 1. Executive Summary + +A comprehensive audit by @bguidolim has identified **8 discrepancies** between the claude-mem documentation (`docs/public/`) and the actual implementation in the main branch. The core issue is that documentation describes beta-branch features as if they exist in the production release, leading to user confusion and failed feature expectations. + +### Key Findings + +| Category | Issue | Severity | +|----------|-------|----------| +| **Critical** | Version Channel UI missing from frontend | High | +| **Critical** | Endless Mode settings not validated/functional | High | +| **Moderate** | Troubleshoot Skill referenced but doesn't exist | Medium | +| **Moderate** | Folder CLAUDE.md setting documented but always enabled | Medium | +| **Moderate** | Skills directory documented but replaced by MCP | Medium | +| **Minor** | Allowed branches list incomplete | Low | +| **Minor** | Hook count inconsistency (5 vs 6) | Low | +| **Minor** | MCP tool count clarification needed | Low | + +### Recommendation + +Implement **Option B** (documentation update) for most items, with selective **Option A** (feature completion) for Version Channel UI given its near-complete backend implementation. + +--- + +## 2. Problem Analysis + +### 2.1 Documentation-Reality Gap + +The documentation at `docs/public/` describes several features that: +1. Exist only in beta branches (`beta/endless-mode`, `beta/7.0`) +2. Have partial implementations (backend only, no frontend) +3. Were removed during architecture migrations (MCP transition) +4. Have non-functional settings (documented but ignored in code) + +### 2.2 Impact on Users + +Users following the documentation will: +- Look for UI elements that don't exist (Version Channel switcher) +- Configure settings that have no effect (Endless Mode, Folder CLAUDE.md) +- Invoke skills that don't exist (troubleshoot skill) +- Expect directory structures that don't match reality + +--- + +## 3. Technical Details + +### 3.1 Version Channel UI (High Severity) + +**Documentation Claims** (`docs/public/beta-features.mdx`): +- Lines 14-24 describe a Version Channel switcher in the Settings modal +- Users should see "Settings gear icon" > "Version Channel" section +- Options include "Try Beta (Endless Mode)" and "Switch to Stable" + +**Actual Implementation**: + +| Component | Status | Location | +|-----------|--------|----------| +| `BranchManager.ts` | Implemented | `src/services/worker/BranchManager.ts` | +| `getBranchInfo()` | Implemented | Backend API | +| `switchBranch()` | Implemented | Backend API | +| `pullUpdates()` | Implemented | Backend API | +| `/api/branch/status` | Implemented | `SettingsRoutes.ts:169-172` | +| `/api/branch/switch` | Implemented | `SettingsRoutes.ts:178-209` | +| `/api/branch/update` | Implemented | `SettingsRoutes.ts:214-228` | +| **UI Component** | **NOT IMPLEMENTED** | `ContextSettingsModal.tsx` has no Version Channel section | + +**Verification** (from `ContextSettingsModal.tsx`): +The component contains sections for: +- Loading settings (observations, sessions) +- Filters (types, concepts) +- Display settings +- Advanced settings (provider, model, port) + +There is **no Version Channel section**. A grep for "Version Channel", "version channel", or "channel" in `src/ui/` returns no results. + +**Related Issues**: #333, #436, #461 (all closed without merging UI) + +--- + +### 3.2 Endless Mode Settings (High Severity) + +**Documentation Claims** (`docs/public/endless-mode.mdx`): +```json +{ + "CLAUDE_MEM_ENDLESS_MODE": "false", + "CLAUDE_MEM_ENDLESS_WAIT_TIMEOUT_MS": "90000" +} +``` + +**Actual Implementation**: + +The `SettingsRoutes.ts` file (lines 87-124) defines the validated `settingKeys` array: + +```typescript +const settingKeys = [ + 'CLAUDE_MEM_MODEL', + 'CLAUDE_MEM_CONTEXT_OBSERVATIONS', + 'CLAUDE_MEM_WORKER_PORT', + 'CLAUDE_MEM_WORKER_HOST', + 'CLAUDE_MEM_PROVIDER', + 'CLAUDE_MEM_GEMINI_API_KEY', + // ... 20+ other settings + 'CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE', +]; +``` + +**Neither `CLAUDE_MEM_ENDLESS_MODE` nor `CLAUDE_MEM_ENDLESS_WAIT_TIMEOUT_MS` are present in this array.** + +A grep for `ENDLESS_MODE` in `src/` returns only CLAUDE.md context files (auto-generated), not any TypeScript implementation. + +**Current Location**: Implementation exists only in `upstream/beta/endless-mode` branch. + +**Related Issues**: #366, #403, #416 (all closed, feature still in beta only) + +--- + +### 3.3 Troubleshoot Skill (Medium Severity) + +**Documentation Claims**: + +`docs/public/troubleshooting.mdx` (lines 8-20): +```markdown +## Quick Diagnostic Tool + +Describe any issues you're experiencing to Claude, and the troubleshoot skill +will automatically activate to provide diagnosis and fixes. + +The troubleshoot skill will: +- Check worker status and health +- Verify database existence and integrity +- ... +``` + +`docs/public/architecture/overview.mdx` (lines 165-175): +``` +plugin/skills/ +├── mem-search/ +├── troubleshoot/ ← Documented but doesn't exist +│ ├── SKILL.md +│ └── operations/ +└── version-bump/ +``` + +**Actual Implementation**: + +```bash +$ ls plugin/skills/ +ls: plugin/skills/: No such file or directory +``` + +The `plugin/skills/` directory **does not exist** in the main branch. + +**Historical Context**: Skills were merged in PR #72 (v5.2) but later removed during the MCP migration. The documentation was not updated to reflect this architectural change. + +--- + +### 3.4 Folder CLAUDE.md Setting (Medium Severity) + +**Documentation Claims** (`docs/public/configuration.mdx`, lines 232-238): + +| Setting | Default | Description | +|---------|---------|-------------| +| `CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED` | `false` | Enable auto-generation of folder CLAUDE.md files | + +**Actual Implementation**: + +In `ResponseProcessor.ts` (lines 216-233), folder CLAUDE.md updates are triggered unconditionally: + +```typescript +// Update folder CLAUDE.md files for touched folders (fire-and-forget) +const allFilePaths: string[] = []; +for (const obs of observations) { + allFilePaths.push(...(obs.files_modified || [])); + allFilePaths.push(...(obs.files_read || [])); +} + +if (allFilePaths.length > 0) { + updateFolderClaudeMdFiles( + allFilePaths, + session.project, + getWorkerPort(), + projectRoot + ).catch(error => { + logger.warn('FOLDER_INDEX', 'CLAUDE.md update failed (non-critical)', ...); + }); +} +``` + +**The setting `CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED` is never read.** The feature runs unconditionally when files are touched. + +Additionally, the setting is not in the `SettingsRoutes.ts` settingKeys array, so it cannot be configured through the API. + +**Fix in Progress**: PR #589 + +--- + +### 3.5 Skills Directory (Medium Severity) + +**Documentation Claims** (`docs/public/architecture/overview.mdx`, lines 165-175): + +``` +plugin/skills/ +├── mem-search/ +│ ├── SKILL.md +│ ├── operations/ +│ └── principles/ +├── troubleshoot/ +└── version-bump/ +``` + +**Actual Implementation**: + +The `plugin/skills/` directory does not exist. Search functionality is now provided by MCP tools defined in `src/servers/mcp-server.ts`: + +```typescript +const tools = [ + { name: '__IMPORTANT', ... }, + { name: 'search', ... }, + { name: 'timeline', ... }, + { name: 'get_observations', ... } +]; +``` + +The skill-based architecture was replaced by MCP tools during the v6.x architecture evolution. The documentation still describes the old skill-based system. + +--- + +### 3.6 Allowed Branches List (Low Severity) + +**Location**: `SettingsRoutes.ts:187` + +```typescript +const allowedBranches = ['main', 'beta/7.0', 'feature/bun-executable']; +``` + +**Issue**: Missing `beta/endless-mode` which exists in upstream and is documented. + +--- + +### 3.7 Hook Count Inconsistency (Low Severity) + +| Source | Stated Count | +|--------|--------------| +| `docs/public/architecture/overview.mdx` | "6 lifecycle hooks" | +| Root `CLAUDE.md` | "5 Lifecycle Hooks" | +| Actual `hooks.json` | 4 hook types (SessionStart, UserPromptSubmit, PostToolUse, Stop) | + +**Actual Hooks** (from `plugin/hooks/hooks.json`): +1. SessionStart (with smart-install, worker-service, context-hook, user-message-hook) +2. UserPromptSubmit (with worker-service, new-hook) +3. PostToolUse (with worker-service, save-hook) +4. Stop (with worker-service, summary-hook) + +Note: The documentation may be counting individual script invocations rather than hook types. + +--- + +### 3.8 MCP Tool Count (Low Severity) + +**Documentation Claims**: "4 MCP tools" + +**Actual Tools**: +1. `__IMPORTANT` - Instructional/workflow guidance (not a functional tool) +2. `search` - Search memory index +3. `timeline` - Get chronological context +4. `get_observations` - Fetch full observation details + +The claim is technically correct, but `__IMPORTANT` is workflow documentation rather than a functional tool. + +--- + +## 4. Impact Assessment + +### 4.1 User Experience Impact + +| Issue | User Impact | Frequency | +|-------|-------------|-----------| +| Version Channel UI | Users cannot switch branches via UI | High - Documented prominently | +| Endless Mode | Config has no effect | Medium - Beta feature | +| Troubleshoot Skill | Skill invocation fails | High - Troubleshooting entry point | +| Folder CLAUDE.md | Setting ignored | Low - Niche feature | +| Skills Directory | Structure doesn't match | Low - Developer documentation | + +### 4.2 Developer Experience Impact + +| Issue | Developer Impact | +|-------|------------------| +| Architecture docs outdated | New contributors confused by skill references | +| Hook count mismatch | Onboarding confusion | +| API endpoint gaps | Integration developers encounter missing features | + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Causes + +1. **Branch Divergence**: Beta branches contain features that were documented but never merged to main +2. **Architecture Migration**: The MCP transition removed the skill system but docs weren't updated +3. **Documentation-First Development**: Features were documented during planning but implementation was incomplete +4. **Missing Sync Process**: No automated check between docs and code + +### 5.2 Contributing Factors + +1. **Multiple Authors**: Documentation and code written by different contributors +2. **Long-Running Branches**: Beta branches existed for extended periods +3. **Incomplete PRs**: Related issues (#333, #436, #461, #366, #403, #416) were closed without merging + +--- + +## 6. Recommended Solutions + +### 6.1 Immediate Actions (This Week) + +| Item | Action | Owner | Effort | +|------|--------|-------|--------| +| Troubleshoot Skill | Remove references from `troubleshooting.mdx` | Docs | 1 hour | +| Skills Directory | Update `overview.mdx` to show current MCP architecture | Docs | 2 hours | +| Hook Count | Align all sources to "5 hooks" | Docs | 30 min | +| MCP Tool Clarification | Note that `__IMPORTANT` is workflow guidance | Docs | 15 min | + +### 6.2 Short-Term Actions (This Sprint) + +| Item | Action | Owner | Effort | +|------|--------|-------|--------| +| Endless Mode | Add "Beta Only" badge to `endless-mode.mdx` and `beta-features.mdx` | Docs | 1 hour | +| Version Channel | Add "Beta Only" badge OR complete UI implementation | Eng/Docs | 2-8 hours | +| Folder CLAUDE.md | Merge PR #589 to respect setting | Eng | Code review | +| Allowed Branches | Add `beta/endless-mode` to allowed list | Eng | 15 min | + +### 6.3 Long-Term Actions (Next Release) + +| Item | Action | Owner | Effort | +|------|--------|-------|--------| +| Documentation Sync | Implement CI check for doc/code alignment | DevOps | 1 day | +| Beta Badge System | Create Mintlify component for beta feature marking | Docs | 2 hours | +| Feature Flags | Consider feature flag system for documented-but-beta features | Eng | 1 week | + +--- + +## 7. Priority/Severity Assessment + +### Severity Matrix + +| Issue | Severity | Priority | Rationale | +|-------|----------|----------|-----------| +| Version Channel UI | High | P1 | Backend complete, users actively confused | +| Endless Mode | High | P2 | Documented prominently, users try to configure | +| Troubleshoot Skill | Medium | P1 | Entry point for support, must work | +| Folder CLAUDE.md | Medium | P2 | Settings should work as documented | +| Skills Directory | Medium | P3 | Developer-facing, less user impact | +| Allowed Branches | Low | P3 | Edge case | +| Hook Count | Low | P4 | Cosmetic inconsistency | +| MCP Tool Count | Low | P4 | Minor clarification | + +### Recommended Resolution Order + +1. **P1 - Immediate**: Fix troubleshoot skill reference (remove or explain) +2. **P1 - Immediate**: Version Channel UI decision (badge or implement) +3. **P2 - This Week**: Endless Mode documentation badges +4. **P2 - This Week**: Folder CLAUDE.md PR #589 merge +5. **P3 - This Sprint**: Architecture documentation update +6. **P4 - Eventually**: Minor inconsistencies + +--- + +## 8. Files Requiring Updates + +### Documentation Files + +| File | Changes Needed | +|------|---------------| +| `docs/public/troubleshooting.mdx` | Remove troubleshoot skill reference | +| `docs/public/architecture/overview.mdx` | Update to MCP architecture, fix hook count | +| `docs/public/beta-features.mdx` | Add "Beta Only" badges, clarify UI availability | +| `docs/public/endless-mode.mdx` | Add "Beta Only" badge prominently | +| `docs/public/configuration.mdx` | Mark `FOLDER_CLAUDEMD_ENABLED` as coming soon or remove | +| `CLAUDE.md` (root) | Verify hook count | + +### Code Files + +| File | Changes Needed | +|------|---------------| +| `src/services/worker/http/routes/SettingsRoutes.ts` | Add `beta/endless-mode` to allowed branches | +| `src/services/worker/agents/ResponseProcessor.ts` | Check `FOLDER_CLAUDEMD_ENABLED` setting (via PR #589) | +| `src/shared/SettingsDefaultsManager.ts` | Add `CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED` setting | + +--- + +## 9. Appendix + +### Related Issues and PRs + +| Reference | Description | Status | +|-----------|-------------|--------| +| #333 | Version Channel UI | Closed | +| #436 | Version Channel UI | Closed | +| #461 | Version Channel UI | Closed | +| #366 | Endless Mode | Closed | +| #403 | Endless Mode | Closed | +| #416 | Endless Mode | Closed | +| #589 | Folder CLAUDE.md setting fix | Open | +| #600 | This documentation audit | Open | + +### Verification Commands + +```bash +# Check for Version Channel UI +grep -r "Version Channel\|version.*channel" src/ui/ + +# Check for Endless Mode settings +grep -r "ENDLESS_MODE" src/ + +# Check skills directory +ls -la plugin/skills/ + +# Check settings validation +grep -A 50 "settingKeys" src/services/worker/http/routes/SettingsRoutes.ts +``` + +--- + +*Report generated from analysis of Issue #600 and codebase inspection on 2026-01-07.* diff --git a/docs/reports/issue-602-posttooluse-worker-service-failed.md b/docs/reports/issue-602-posttooluse-worker-service-failed.md new file mode 100644 index 00000000..6c1186f3 --- /dev/null +++ b/docs/reports/issue-602-posttooluse-worker-service-failed.md @@ -0,0 +1,430 @@ +# Issue #602: PostToolUse Error - Worker Service Failed to Start (Windows) + +**Report Date:** 2026-01-07 +**Issue Author:** onurtirpan +**Issue Created:** 2026-01-07 +**Labels:** bug +**Severity:** HIGH +**Priority:** P1 - Critical + +--- + +## 1. Executive Summary + +A Windows 11 user running Claude Code 0.2.76 with claude-mem v9.0.0 is experiencing complete plugin failure. The worker service cannot start during PostToolUse hook execution, resulting in long delays and multiple cascading errors. This is a systemic Windows platform compatibility issue that prevents the entire memory system from functioning. + +### Key Symptoms +- "Plugin hook bun worker-service.cjs start failed to start: The operation was aborted" +- Multiple "Worker failed to start (health check timeout)" errors +- "Failed to start server. Is port 37777 in use?" +- "wmic is not recognized" - Windows command compatibility issue +- Database not initialized errors + +### Impact +- **Complete loss of memory functionality** on Windows +- Long delays during Claude Code operations +- User workflow disruption + +--- + +## 2. Problem Analysis + +### 2.1 Error Chain Analysis + +The reported errors form a cascade failure pattern: + +``` +1. PostToolUse hook triggered + └── 2. worker-service.cjs start command executed + └── 3. Bun spawns worker process + └── 4. Worker startup timeout (operation aborted) + └── 5. Health check fails repeatedly + └── 6. "Is port 37777 in use?" check fails + └── 7. "wmic is not recognized" - WMIC unavailable + └── 8. Database cannot initialize + └── 9. Plugin hook failure +``` + +### 2.2 Error Categories + +| Error Type | Root Cause | Severity | +|------------|-----------|----------| +| "operation was aborted" | Hook timeout exceeded before worker ready | High | +| "health check timeout" | Worker startup takes too long on Windows | High | +| "Is port 37777 in use?" | Previous zombie process holding port | Medium | +| "wmic is not recognized" | WMIC deprecated/removed in Windows 11 | Critical | +| "Database not initialized" | Worker never reached ready state | Consequential | + +--- + +## 3. Technical Details + +### 3.1 Affected Components + +| Component | File Path | Role | +|-----------|-----------|------| +| Hook Configuration | `plugin/hooks/hooks.json` | Defines PostToolUse command chain | +| Worker Service | `src/services/worker-service.ts` | Main worker orchestrator | +| Process Manager | `src/services/infrastructure/ProcessManager.ts` | Windows process enumeration via WMIC | +| Health Monitor | `src/services/infrastructure/HealthMonitor.ts` | Port and health check logic | +| Server | `src/services/server/Server.ts` | HTTP server on port 37777 | + +### 3.2 Hook Configuration (hooks.json) + +```json +{ + "PostToolUse": [{ + "matcher": "*", + "hooks": [ + { + "type": "command", + "command": "bun \"${CLAUDE_PLUGIN_ROOT}/scripts/worker-service.cjs\" start", + "timeout": 60 + }, + { + "type": "command", + "command": "bun \"${CLAUDE_PLUGIN_ROOT}/scripts/save-hook.js\"", + "timeout": 120 + } + ] + }] +} +``` + +The 60-second timeout for worker startup may be insufficient on Windows systems, especially during first-time initialization when database creation, Chroma vector store setup, and MCP server connection all must complete. + +### 3.3 Platform Timeouts + +Current timeout configuration in `src/shared/hook-constants.ts`: + +```typescript +export const HOOK_TIMEOUTS = { + DEFAULT: 300000, // 5 minutes + HEALTH_CHECK: 30000, // 30 seconds + WORKER_STARTUP_WAIT: 1000, + WORKER_STARTUP_RETRIES: 300, + PRE_RESTART_SETTLE_DELAY: 2000, + WINDOWS_MULTIPLIER: 1.5 // Only 1.5x for Windows +} as const; +``` + +### 3.4 WMIC Dependency + +The `ProcessManager.ts` uses WMIC for Windows process enumeration: + +```typescript +// Line 91-92: getChildProcesses() +const cmd = `wmic process where "parentprocessid=${parentPid}" get processid /format:list`; + +// Line 174: cleanupOrphanedProcesses() +const cmd = `wmic process where "name like '%python%' and commandline like '%chroma-mcp%'" get processid /format:list`; +``` + +**Critical Issue:** WMIC (Windows Management Instrumentation Command-line) has been deprecated since Windows 10 version 21H1 and is being removed in Windows 11. Users with clean Windows 11 installations may not have WMIC available. + +--- + +## 4. Impact Assessment + +### 4.1 User Impact + +| Impact Category | Description | +|-----------------|-------------| +| Functionality | Complete loss of memory features on Windows | +| Performance | Long delays during Claude Code operations (60s+ timeouts) | +| User Experience | Error messages displayed, interrupted workflows | +| Data | No observations being saved, no context injection | + +### 4.2 Scope + +- **Affected Platform:** Windows 11 (Build 26100+) +- **Affected Shell:** PowerShell 7 +- **Affected Version:** claude-mem 9.0.0 +- **Claude Code Version:** 0.2.76 +- **Estimated User Base:** All Windows 11 users with modern builds + +### 4.3 Related Issues + +| Issue | Title | Status | Relationship | +|-------|-------|--------|--------------| +| #517 | PowerShell `$_` escaping in Git Bash | Fixed (v9.0.0) | Same component (ProcessManager) | +| #555 | Windows hooks IPC issues | Open | Related Windows hook execution | +| #324 | Windows 11 64-bit system issues | Open | Same platform | + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Root Cause: WMIC Deprecation + +WMIC is no longer available by default on Windows 11. When `cleanupOrphanedProcesses()` runs during worker initialization, it fails with "wmic is not recognized", causing the error to be swallowed but subsequent operations to fail. + +**Evidence from ProcessManager.ts lines 167-218:** +```typescript +export async function cleanupOrphanedProcesses(): Promise { + const isWindows = process.platform === 'win32'; + // ... + if (isWindows) { + // Windows: Use WMIC to find chroma-mcp processes + const cmd = `wmic process where "name like '%python%' and commandline like '%chroma-mcp%'" get processid /format:list`; + const { stdout } = await execAsync(cmd, { timeout: 60000 }); + // ... + } +} +``` + +### 5.2 Secondary Root Cause: Insufficient Timeouts + +The hooks.json defines a 60-second timeout for worker startup, but on Windows: +1. WMIC command execution adds latency +2. Database initialization is slower on Windows file systems +3. MCP server initialization has a 5-minute timeout but the hook only waits 60 seconds +4. The WINDOWS_MULTIPLIER of 1.5x is applied inconsistently + +### 5.3 Tertiary Root Cause: Zombie Port Issue + +The "Is port 37777 in use?" error indicates previous worker processes may not have exited cleanly. This is a known issue (documented in `docs/reports/2026-01-06--windows-woes-comprehensive-report.md`) where Bun's socket cleanup bug on Windows leaves zombie ports. + +### 5.4 Quaternary Root Cause: Error Cascade + +When `cleanupOrphanedProcesses()` fails silently, the worker attempts to start but: +1. Previous zombie processes may still hold port 37777 +2. Health checks fail because the new worker cannot bind +3. The "operation was aborted" error triggers when the 60s hook timeout expires +4. Database initialization never completes + +--- + +## 6. Recommended Solutions + +### 6.1 Immediate Fix: Replace WMIC with PowerShell CIM Cmdlets (P0) + +**Replace WMIC commands with PowerShell Get-CimInstance:** + +```typescript +// Before (ProcessManager.ts line 91-92) +const cmd = `wmic process where "parentprocessid=${parentPid}" get processid /format:list`; + +// After +const cmd = `powershell -NoProfile -Command "Get-CimInstance Win32_Process | Where-Object { $_.ParentProcessId -eq ${parentPid} } | Select-Object -ExpandProperty ProcessId"`; +``` + +```typescript +// Before (ProcessManager.ts line 174) +const cmd = `wmic process where "name like '%python%' and commandline like '%chroma-mcp%'" get processid /format:list`; + +// After +const cmd = `powershell -NoProfile -Command "Get-CimInstance Win32_Process | Where-Object { $_.Name -like '*python*' -and $_.CommandLine -like '*chroma-mcp*' } | Select-Object -ExpandProperty ProcessId"`; +``` + +**Note:** This reintroduces Issue #517 concerns about `$_` in Git Bash. Use proper escaping or run via Node.js `child_process.spawn` with `shell: false` and explicit `powershell.exe` path. + +### 6.2 Alternative Fix: Use tasklist Command (P0) + +A WMIC-free alternative using built-in Windows commands: + +```typescript +// For process enumeration +const cmd = `tasklist /FI "IMAGENAME eq python*" /FO CSV /NH`; +// Parse CSV output to get PIDs +``` + +### 6.3 Increase Windows Timeouts (P1) + +Update `plugin/hooks/hooks.json` to use longer Windows-appropriate timeouts: + +```json +{ + "PostToolUse": [{ + "matcher": "*", + "hooks": [ + { + "type": "command", + "command": "bun \"${CLAUDE_PLUGIN_ROOT}/scripts/worker-service.cjs\" start", + "timeout": 120 + } + ] + }] +} +``` + +Update `src/shared/hook-constants.ts`: + +```typescript +export const HOOK_TIMEOUTS = { + // ... + WINDOWS_MULTIPLIER: 2.5 // Increase from 1.5 to 2.5 +} as const; +``` + +### 6.4 Add WMIC Availability Detection (P1) + +Add graceful fallback when WMIC is unavailable: + +```typescript +async function isWmicAvailable(): Promise { + try { + await execAsync('wmic os get caption', { timeout: 5000 }); + return true; + } catch { + return false; + } +} + +export async function cleanupOrphanedProcesses(): Promise { + if (process.platform !== 'win32') { + // Unix implementation + return; + } + + const useWmic = await isWmicAvailable(); + const cmd = useWmic + ? `wmic process where "name like '%python%' ..." get processid /format:list` + : `powershell -NoProfile -Command "Get-CimInstance Win32_Process | ..."`; + + // Continue with appropriate parser +} +``` + +### 6.5 Improve Port Cleanup on Windows (P2) + +Ensure proper cleanup before worker restart: + +```typescript +// Add to ProcessManager.ts +export async function forceReleasePort(port: number): Promise { + if (process.platform !== 'win32') return; + + try { + // Find process using the port + const { stdout } = await execAsync( + `powershell -NoProfile -Command "(Get-NetTCPConnection -LocalPort ${port} -ErrorAction SilentlyContinue).OwningProcess | Sort-Object -Unique"` + ); + + const pids = stdout.trim().split('\n').filter(p => p.trim()); + for (const pid of pids) { + await forceKillProcess(parseInt(pid, 10)); + } + } catch { + // Port not in use or access denied + } +} +``` + +### 6.6 Improve Error Messaging (P2) + +Add user-friendly error messages with actionable guidance: + +```typescript +// In HealthMonitor.ts +export async function waitForHealth(port: number, timeoutMs: number): Promise { + // ... existing logic ... + + if (!ready && process.platform === 'win32') { + logger.warn('SYSTEM', 'Windows worker startup slow. Check:'); + logger.warn('SYSTEM', ' 1. Is antivirus scanning the plugin folder?'); + logger.warn('SYSTEM', ' 2. Is port 37777 blocked by firewall?'); + logger.warn('SYSTEM', ' 3. Try: netstat -ano | findstr 37777'); + } + + return ready; +} +``` + +--- + +## 7. Priority/Severity Assessment + +### 7.1 Severity Matrix + +| Factor | Assessment | Score | +|--------|-----------|-------| +| User Impact | Complete feature loss | 5/5 | +| Frequency | Every operation on affected systems | 5/5 | +| Workaround Available | None | 5/5 | +| Data Loss Risk | No data saved | 4/5 | +| Affected Users | All Windows 11 users | 4/5 | + +**Overall Severity: CRITICAL (23/25)** + +### 7.2 Priority Recommendation + +| Priority | Action | Timeline | +|----------|--------|----------| +| P0 | Replace WMIC with PowerShell CIM cmdlets | Immediate (v9.0.1) | +| P1 | Increase Windows timeouts | Same release | +| P1 | Add WMIC availability detection | Same release | +| P2 | Improve port cleanup | Next minor release | +| P2 | Better error messaging | Next minor release | + +### 7.3 Testing Requirements + +1. **Unit Tests:** + - Test `cleanupOrphanedProcesses()` with mock WMIC failure + - Test `getChildProcesses()` with PowerShell fallback + - Test timeout multiplier application + +2. **Integration Tests:** + - Windows 11 clean install (no WMIC) + - Windows 10 with WMIC available + - Git Bash environment with PowerShell commands + +3. **Manual Verification:** + - Confirm worker starts successfully on Windows 11 + - Confirm health checks pass within timeout + - Confirm orphaned process cleanup works + +--- + +## 8. Files to Modify + +| File | Change Required | +|------|-----------------| +| `src/services/infrastructure/ProcessManager.ts` | Replace WMIC with PowerShell or tasklist | +| `src/shared/hook-constants.ts` | Increase WINDOWS_MULTIPLIER | +| `plugin/hooks/hooks.json` | Increase worker start timeout | +| `src/services/infrastructure/HealthMonitor.ts` | Add Windows-specific error messages | +| `docs/public/troubleshooting.mdx` | Document Windows 11 requirements | + +--- + +## 9. Appendix + +### 9.1 Related Documentation + +- `docs/reports/2026-01-06--windows-woes-comprehensive-report.md` +- `docs/reports/2026-01-04--issue-517-windows-powershell-analysis.md` +- `docs/reports/2026-01-05--issue-555-windows-hooks-ipc-false.md` + +### 9.2 WMIC Deprecation Timeline + +| Windows Version | WMIC Status | +|-----------------|-------------| +| Windows 10 (pre-21H1) | Available by default | +| Windows 10 21H1+ | Deprecated, feature on demand | +| Windows 11 (initial) | Available but deprecated | +| Windows 11 22H2+ | Being removed progressively | +| Windows 11 23H2+ | Not installed by default | + +### 9.3 PowerShell Equivalent Commands + +| WMIC Command | PowerShell Equivalent | +|--------------|----------------------| +| `wmic process list` | `Get-CimInstance Win32_Process` | +| `wmic process where "name='x'"` | `Get-CimInstance Win32_Process \| Where-Object { $_.Name -eq 'x' }` | +| `wmic process get processid` | `(Get-CimInstance Win32_Process).ProcessId` | + +### 9.4 User Workaround (Temporary) + +Until a fix is released, users can manually install WMIC: + +1. Open Settings > Apps > Optional Features +2. Click "Add a feature" +3. Search for "WMIC (Windows Management Instrumentation Command-line)" +4. Install and restart terminal + +**Note:** This is not a recommended long-term solution as WMIC will eventually be fully removed. + +--- + +*Report generated by Claude Opus 4.5 for issue #602* diff --git a/docs/reports/issue-603-worker-daemon-leaks-child-processes.md b/docs/reports/issue-603-worker-daemon-leaks-child-processes.md new file mode 100644 index 00000000..863677c4 --- /dev/null +++ b/docs/reports/issue-603-worker-daemon-leaks-child-processes.md @@ -0,0 +1,427 @@ +# Technical Report: Worker Daemon Child Process Leak + +**Issue:** #603 - Bug: worker-service daemon leaks child claude processes +**Author:** raulk +**Created:** 2026-01-07 +**Report Version:** 1.0 +**Severity:** Critical +**Priority:** P0 - Immediate attention required + +--- + +## 1. Executive Summary + +The `worker-service.cjs --daemon` process spawns Claude subagent processes via the Claude Agent SDK that are not being properly terminated when their tasks complete. Over the course of normal usage (6+ hours), this results in the accumulation of orphaned child processes that consume significant system memory. + +**Key Findings:** +- 121 orphaned `claude` processes accumulated over ~6 hours +- Total memory consumption: ~44GB RSS +- Average memory per process: ~372MB +- Root cause: Missing child process cleanup after SDK query completion +- The issue affects Linux systems and potentially all platforms + +**Recommendation:** Implement explicit child process tracking and cleanup in the SDK agent lifecycle, and add process reaping on generator completion. + +--- + +## 2. Problem Analysis + +### 2.1 Observed Behavior + +The reporter documented the following scenario: + +**Parent daemon process (running 7+ hours):** +``` +PID PPID RSS(KB) ELAPSED COMMAND +4118969 1 161656 07:28:16 bun ~/.claude/plugins/cache/thedotmack/claude-mem/9.0.0/scripts/worker-service.cjs --daemon +``` + +**Sample of leaked children (121 total, all parented to daemon):** +``` +PID PPID RSS(KB) ELAPSED COMMAND +1927 4118969 377308 06:21:16 claude --output-format stream-json --verbose --input-format stream-json --model claude-sonnet-4-5 --disallowedTools Bash,Read,Write,Edit,Grep,Glob,WebFetch,WebSearch,Task,NotebookEdit,AskUserQuestion,TodoWrite --setting-sources --permission-mode default +2834 4118969 384716 06:20:44 claude --output-format stream-json [...] +3988 4118969 381844 06:20:15 claude --output-format stream-json --resume [...] +5938 4118969 382816 06:19:37 claude --output-format stream-json --resume [...] +11503 4118969 381276 06:16:12 claude --output-format stream-json --resume [...] +``` + +### 2.2 Reproduction Steps + +1. Use claude-mem normally throughout a work session +2. Run: `ps -o pid,ppid,rss,etime --no-headers | awk '$2 == '$(pgrep -f worker-service.cjs)` +3. Count grows over time without bound + +### 2.3 Expected Behavior + +Child claude processes should terminate when their task completes, or the daemon should reap them. + +--- + +## 3. Technical Details + +### 3.1 Architecture Overview + +The claude-mem worker service uses a modular architecture: + +``` +WorkerService (worker-service.ts) + | + +-- SDKAgent (SDKAgent.ts) + | | + | +-- query() from @anthropic-ai/claude-agent-sdk + | | + | +-- Spawns `claude` CLI subprocess + | + +-- SessionManager (SessionManager.ts) + | | + | +-- Manages active sessions + | +-- Event-driven message queues + | + +-- ProcessManager (ProcessManager.ts) + | + +-- Child process enumeration + +-- Graceful shutdown cleanup +``` + +### 3.2 SDK Agent Child Process Spawning + +The `SDKAgent.startSession()` method invokes the Claude Agent SDK's `query()` function: + +```typescript +// src/services/worker/SDKAgent.ts (lines 100-114) +const queryResult = query({ + prompt: messageGenerator, + options: { + model: modelId, + ...(hasRealMemorySessionId && session.lastPromptNumber > 1 && { resume: session.memorySessionId }), + disallowedTools, + abortController: session.abortController, + pathToClaudeCodeExecutable: claudePath + } +}); +``` + +The `query()` function internally spawns a `claude` CLI subprocess with the parameters visible in the leaked process list: +- `--output-format stream-json` +- `--verbose` +- `--input-format stream-json` +- `--model claude-sonnet-4-5` +- `--disallowedTools ...` +- `--setting-sources` +- `--permission-mode default` + +### 3.3 Session Lifecycle + +Sessions are managed through the following flow: + +1. **Initialization:** `SessionRoutes.handleSessionInit()` creates a session and starts a generator +2. **Processing:** `SDKAgent.startSession()` runs the query loop, processing messages from the queue +3. **Completion:** Generator promise resolves, triggering cleanup in `finally` block + +The relevant generator lifecycle code in `SessionRoutes.ts` (lines 137-216): + +```typescript +session.generatorPromise = agent.startSession(session, this.workerService) + .catch(error => { /* error handling */ }) + .finally(() => { + session.generatorPromise = null; + session.currentProvider = null; + this.workerService.broadcastProcessingStatus(); + + // Crash recovery logic... + if (!wasAborted) { + // Check for pending work and potentially restart + } + }); +``` + +### 3.4 Graceful Shutdown Implementation + +The existing shutdown mechanism in `GracefulShutdown.ts` (lines 49-90) does handle child processes, but **only during daemon shutdown**: + +```typescript +export async function performGracefulShutdown(config: GracefulShutdownConfig): Promise { + // STEP 1: Enumerate all child processes BEFORE we start closing things + const childPids = await getChildProcesses(process.pid); + + // ... other cleanup steps ... + + // STEP 6: Force kill any remaining child processes (Windows zombie port fix) + if (childPids.length > 0) { + for (const pid of childPids) { + await forceKillProcess(pid); + } + await waitForProcessesExit(childPids, 5000); + } +} +``` + +**Critical Gap:** This cleanup only runs when the daemon itself shuts down, not when individual SDK sessions complete. + +--- + +## 4. Impact Assessment + +### 4.1 Resource Consumption + +| Metric | Value | +|--------|-------| +| Leaked processes | 121 | +| Total RSS | ~44GB | +| Average per process | ~372MB | +| Accumulation rate | ~20 processes/hour | +| Time to exhaustion (64GB system) | ~3 hours | + +### 4.2 System Effects + +1. **Memory Exhaustion:** Systems with limited RAM will experience OOM conditions +2. **Performance Degradation:** Swap thrashing as memory fills +3. **Process Table Pollution:** Maximum PID limits may be approached +4. **User Experience:** System becomes unresponsive during extended sessions + +### 4.3 Affected Platforms + +- **Linux (confirmed):** Ubuntu reported by issue author +- **macOS (likely):** Same process spawning mechanism +- **Windows (potentially different):** Uses different child process tracking + +--- + +## 5. Root Cause Analysis + +### 5.1 Primary Root Cause + +**The SDK's `query()` function spawns a child `claude` process that is not being explicitly terminated when the async iterator completes.** + +The `SDKAgent.startSession()` method: +1. Creates an async generator via `query()` +2. Iterates over messages via `for await (const message of queryResult)` +3. When iteration completes (naturally or via abort), the generator resolves +4. **No explicit cleanup of the underlying child process occurs** + +### 5.2 Contributing Factors + +1. **No Child Process Tracking:** The codebase does not maintain a registry of spawned child processes during normal operation - only during shutdown enumeration. + +2. **AbortController Not Triggering Process Kill:** While sessions have an `abortController`, signaling abort to the SDK iterator does not guarantee the underlying `claude` process terminates. + +3. **Generator Finally Block Missing Process Cleanup:** The `finally` block in `SessionRoutes.startGeneratorWithProvider()` handles state cleanup but does not explicitly kill child processes. + +4. **SDK Abstraction Hiding Process Details:** The `@anthropic-ai/claude-agent-sdk` abstracts the subprocess management, making it difficult to access and terminate the child process directly. + +### 5.3 Code Path Analysis + +``` +User Session Complete + | + v +SDKAgent.startSession() completes for-await loop + | + v +Generator promise resolves + | + v +SessionRoutes finally block executes + | + +-- session.generatorPromise = null + +-- session.currentProvider = null + +-- broadcastProcessingStatus() + +-- Check pending work + | + v +[MISSING] Child process termination + | + v +Claude subprocess continues running (LEAKED) +``` + +--- + +## 6. Recommended Solutions + +### 6.1 Solution A: SDK-Level Child Process Tracking (Preferred) + +Add explicit child process tracking to the SDKAgent class: + +```typescript +// src/services/worker/SDKAgent.ts + +export class SDKAgent { + private activeChildProcesses: Map = new Map(); + + async startSession(session: ActiveSession, worker?: WorkerRef): Promise { + // Before query(), track that we're about to spawn + const queryResult = query({...}); + + // After first message, capture the PID if available + // Note: May require SDK modification to expose PID + + try { + for await (const message of queryResult) { + // ... existing message handling + } + } finally { + // Cleanup: Kill any child process for this session + this.cleanupSessionProcess(session.sessionDbId); + } + } + + private cleanupSessionProcess(sessionDbId: number): void { + // Find and terminate process for this session + // Requires either SDK enhancement or platform-specific process enumeration + } +} +``` + +**Challenges:** The SDK does not currently expose the child process PID. + +### 6.2 Solution B: Session-Level Process Enumeration and Cleanup + +Add process cleanup to the session completion flow: + +```typescript +// src/services/worker/http/routes/SessionRoutes.ts + +private startGeneratorWithProvider(session, provider, source): void { + const parentPid = process.pid; + const preExistingPids = new Set(await getChildProcessesForSession(parentPid, 'claude')); + + session.generatorPromise = agent.startSession(session, this.workerService) + .finally(async () => { + // Find new child processes that appeared during this session + const currentPids = await getChildProcessesForSession(parentPid, 'claude'); + const newPids = currentPids.filter(pid => !preExistingPids.has(pid)); + + // Terminate orphaned processes + for (const pid of newPids) { + await forceKillProcess(pid); + } + + // ... existing cleanup + }); +} +``` + +### 6.3 Solution C: Periodic Orphan Reaper (Mitigation) + +Add a background task that periodically identifies and terminates leaked processes: + +```typescript +// src/services/worker/OrphanReaper.ts + +export class OrphanReaper { + private interval: NodeJS.Timer | null = null; + + start(intervalMs: number = 60000): void { + this.interval = setInterval(async () => { + const orphans = await this.findOrphanedClaudeProcesses(); + for (const pid of orphans) { + await forceKillProcess(pid); + } + }, intervalMs); + } + + private async findOrphanedClaudeProcesses(): Promise { + // Find claude processes parented to the worker daemon + // that have been running longer than expected (e.g., > 30 minutes) + } +} +``` + +**Pros:** Works without SDK modifications +**Cons:** Reactive rather than proactive; processes leak for up to interval duration + +### 6.4 Solution D: Request SDK Enhancement + +File an issue with the Claude Agent SDK requesting: +1. Exposure of child process PID in query result +2. Built-in cleanup on iterator completion +3. Explicit `close()` or `terminate()` method + +### 6.5 Recommended Implementation Order + +1. **Immediate (P0):** Implement Solution C (Orphan Reaper) as a mitigation +2. **Short-term (P1):** Implement Solution B (Session-Level Cleanup) +3. **Medium-term (P2):** Pursue Solution D (SDK Enhancement) with Anthropic +4. **Long-term (P3):** Implement Solution A once SDK provides PID access + +--- + +## 7. Priority/Severity Assessment + +### 7.1 Severity: Critical + +- **Data Loss:** No +- **System Instability:** Yes - memory exhaustion +- **User Impact:** High - system becomes unusable +- **Scope:** All users with extended sessions + +### 7.2 Priority: P0 - Immediate + +- **Frequency:** Every session creates leaked processes +- **Accumulation:** Unbounded growth +- **Workaround:** Manual daemon restart (disruptive) +- **Business Impact:** Renders product unusable for long sessions + +### 7.3 Effort Estimate + +| Solution | Effort | Risk | +|----------|--------|------| +| Orphan Reaper (C) | 2-4 hours | Low | +| Session Cleanup (B) | 4-8 hours | Medium | +| SDK Enhancement (D) | External dependency | - | +| Full Tracking (A) | 8-16 hours | Medium | + +--- + +## 8. References + +- **Issue:** https://github.com/thedotmack/claude-mem/issues/603 +- **Source Files:** + - `/src/services/worker/SDKAgent.ts` - SDK query invocation + - `/src/services/worker/SessionManager.ts` - Session lifecycle + - `/src/services/worker/http/routes/SessionRoutes.ts` - Generator management + - `/src/services/infrastructure/ProcessManager.ts` - Process utilities + - `/src/services/infrastructure/GracefulShutdown.ts` - Shutdown cleanup +- **Related Code:** + - `@anthropic-ai/claude-agent-sdk` - External SDK spawning processes + +--- + +## 9. Appendix: Process Enumeration Reference + +### Current getChildProcesses Implementation + +```typescript +// src/services/infrastructure/ProcessManager.ts +export async function getChildProcesses(parentPid: number): Promise { + if (process.platform !== 'win32') { + return []; // NOTE: Only implemented for Windows! + } + + // Windows implementation using wmic + const cmd = `wmic process where "parentprocessid=${parentPid}" get processid /format:list`; + // ... +} +``` + +**Critical Finding:** The `getChildProcesses` function is currently **Windows-only** and returns an empty array on Linux/macOS. This means the Linux user reporting the issue has no built-in cleanup mechanism. + +### Required Fix for Linux/macOS + +```typescript +export async function getChildProcesses(parentPid: number): Promise { + if (process.platform === 'win32') { + // Existing Windows implementation + } else { + // Unix implementation + const { stdout } = await execAsync(`pgrep -P ${parentPid}`); + return stdout.trim().split('\n').map(Number).filter(n => !isNaN(n)); + } +} +``` + +--- + +*Report prepared by Claude Code analysis of codebase and issue #603* diff --git a/docs/reports/log-level-audit.txt b/docs/reports/log-level-audit.txt new file mode 100644 index 00000000..70f9271b --- /dev/null +++ b/docs/reports/log-level-audit.txt @@ -0,0 +1,1716 @@ +bun test v1.2.20 (6ad208bc) + +=== LOG LEVEL AUDIT REPORT === + +Total logger calls found: 437 + + +ERROR (should be critical failures only): +──────────────────────────────────────────────────────────── + src/hooks/new-hook.ts:103 [HOOK] + message: "new-hook failed" + error: error as Error + full: logger.error('HOOK', 'new-hook failed', {}, error as Error) + + src/hooks/save-hook.ts:85 [HOOK] + message: "save-hook failed" + error: error as Error + full: logger.error('HOOK', 'save-hook failed', {}, error as Error) + + src/hooks/summary-hook.ts:89 [HOOK] + message: "summary-hook failed" + error: error as Error + full: logger.error('HOOK', 'summary-hook failed', {}, error as Error) + + src/servers/mcp-server.ts:17 [CONSOLE] + message: "(message not captured)" + full: logger.error('CONSOLE', 'Intercepted console output (MCP protocol protection) + + src/servers/mcp-server.ts:77 [SYSTEM] + message: "← Worker API error" + error: error as Error + full: logger.error('SYSTEM', '← Worker API error', { endpoint }, error as Error) + + src/servers/mcp-server.ts:124 [HTTP] + message: "(message not captured)" + full: logger.error('HTTP', 'Worker API error (POST) + + src/servers/mcp-server.ts:270 [SYSTEM] + message: "Tool execution failed" + error: error as Error + full: logger.error('SYSTEM', 'Tool execution failed', { tool: request.params.name }, error as Error) + + src/servers/mcp-server.ts:312 [SYSTEM] + message: "Fatal error" + error: error + full: logger.error('SYSTEM', 'Fatal error', undefined, error) + + src/services/context/ContextBuilder.ts:59 [SYSTEM] + message: "Native module rebuild needed - restart Claude Code to auto-fix" + full: logger.error('SYSTEM', 'Native module rebuild needed - restart Claude Code to auto-fix') + + src/services/context/ObservationCompiler.ts:181 [WORKER] + message: "Failed to extract prior messages from transcript" + error: error as Error + full: logger.failure('WORKER', `Failed to extract prior messages from transcript`, { transcriptPath }, error as Error) + + src/services/infrastructure/ProcessManager.ts:308 [SYSTEM] + message: "Error during shutdown" + error: error as Error + full: logger.error('SYSTEM', 'Error during shutdown', {}, error as Error) + + src/services/queue/SessionQueueProcessor.ts:34 [SESSION] + message: "Error in queue processor loop" + error: error as Error + full: logger.error('SESSION', 'Error in queue processor loop', { sessionDbId }, error as Error) + + src/services/server/ErrorHandler.ts:64 [HTTP] + message: "Error handling ${req.method} ${req.path}" + error: err + full: logger.error('HTTP', `Error handling ${req.method} ${req.path}`, { statusCode, error: err.message, code: err instanceof AppError ? err.code : undefined }, err) + + src/services/sqlite/SessionStore.ts:1716 [DB] + message: "Error getting boundary observations" + full: logger.error('DB', 'Error getting boundary observations', undefined, { error: err, project }) + + src/services/sqlite/SessionStore.ts:1748 [DB] + message: "Error getting boundary timestamps" + full: logger.error('DB', 'Error getting boundary timestamps', undefined, { error: err, project }) + + src/services/sqlite/timeline/queries.ts:114 [DB] + message: "Error getting boundary observations" + full: logger.error('DB', 'Error getting boundary observations', undefined, { error: err, project }) + + src/services/sqlite/timeline/queries.ts:146 [DB] + message: "Error getting boundary timestamps" + full: logger.error('DB', 'Error getting boundary timestamps', undefined, { error: err, project }) + + src/services/sync/ChromaSync.ts:138 [CHROMA_SYNC] + message: "Failed to connect to Chroma MCP server" + error: error as Error + full: logger.error('CHROMA_SYNC', 'Failed to connect to Chroma MCP server', { project: this.project }, error as Error) + + src/services/sync/ChromaSync.ts:179 [CHROMA_SYNC] + message: "Connection lost during collection check" + error: error as Error + full: logger.error('CHROMA_SYNC', 'Connection lost during collection check', { collection: this.collectionName }, error as Error) + + src/services/sync/ChromaSync.ts:199 [CHROMA_SYNC] + message: "Failed to create collection" + full: logger.error('CHROMA_SYNC', 'Failed to create collection', { collection: this.collectionName }, createError as Error) + + src/services/sync/ChromaSync.ts:374 [CHROMA_SYNC] + message: "Failed to add documents" + error: error as Error + full: logger.error('CHROMA_SYNC', 'Failed to add documents', { collection: this.collectionName, count: documents.length }, error as Error) + + src/services/sync/ChromaSync.ts:593 [CHROMA_SYNC] + message: "Failed to fetch existing IDs" + error: error as Error + full: logger.error('CHROMA_SYNC', 'Failed to fetch existing IDs', { project: this.project }, error as Error) + + src/services/sync/ChromaSync.ts:770 [CHROMA_SYNC] + message: "Backfill failed" + error: error as Error + full: logger.error('CHROMA_SYNC', 'Backfill failed', { project: this.project }, error as Error) + + src/services/sync/ChromaSync.ts:822 [CHROMA_SYNC] + message: "Connection lost during query" + error: error as Error + full: logger.error('CHROMA_SYNC', 'Connection lost during query', { project: this.project, query }, error as Error) + + src/services/sync/ChromaSync.ts:842 [CHROMA_SYNC] + message: "Failed to parse Chroma response" + error: error as Error + full: logger.error('CHROMA_SYNC', 'Failed to parse Chroma response', { project: this.project }, error as Error) + + src/services/worker-service.ts:212 [SYSTEM] + message: "Background initialization failed" + error: error as Error + full: logger.error('SYSTEM', 'Background initialization failed', {}, error as Error) + + src/services/worker-service.ts:293 [SYSTEM] + message: "Background initialization failed" + error: error as Error + full: logger.error('SYSTEM', 'Background initialization failed', {}, error as Error) + + src/services/worker-service.ts:312 [SDK] + message: "Session generator failed" + error: error as Error + full: logger.error('SDK', 'Session generator failed', { sessionId: session.sessionDbId, project: session.project }, error as Error) + + src/services/worker-service.ts:638 [SYSTEM] + message: "Port did not free up after shutdown for version mismatch restart" + full: logger.error('SYSTEM', 'Port did not free up after shutdown for version mismatch restart', { port }) + + src/services/worker-service.ts:656 [SYSTEM] + message: "Port in use but worker not responding to health checks" + full: logger.error('SYSTEM', 'Port in use but worker not responding to health checks') + + src/services/worker-service.ts:663 [SYSTEM] + message: "Failed to spawn worker daemon" + full: logger.error('SYSTEM', 'Failed to spawn worker daemon') + + src/services/worker-service.ts:672 [SYSTEM] + message: "(message not captured)" + full: logger.error('SYSTEM', 'Worker failed to start (health check timeout) + + src/services/worker-service.ts:696 [SYSTEM] + message: "Port did not free up after shutdown, aborting restart" + full: logger.error('SYSTEM', 'Port did not free up after shutdown, aborting restart', { port }) + + src/services/worker-service.ts:703 [SYSTEM] + message: "Failed to spawn worker daemon during restart" + full: logger.error('SYSTEM', 'Failed to spawn worker daemon during restart') + + src/services/worker-service.ts:712 [SYSTEM] + message: "Worker failed to restart" + full: logger.error('SYSTEM', 'Worker failed to restart') + + src/services/worker-service.ts:744 [SYSTEM] + message: "Worker failed to start" + error: error as Error + full: logger.failure('SYSTEM', 'Worker failed to start', {}, error as Error) + + src/services/worker/BranchManager.ts:139 [BRANCH] + message: "Failed to get branch info" + error: error as Error + full: logger.error('BRANCH', 'Failed to get branch info', {}, error as Error) + + src/services/worker/BranchManager.ts:236 [BRANCH] + message: "Branch switch failed" + error: error as Error + full: logger.error('BRANCH', 'Branch switch failed', { targetBranch }, error as Error) + + src/services/worker/BranchManager.ts:301 [BRANCH] + message: "Pull failed" + error: error as Error + full: logger.error('BRANCH', 'Pull failed', {}, error as Error) + + src/services/worker/GeminiAgent.ts:297 [SDK] + message: "Gemini agent error" + error: error as Error + full: logger.failure('SDK', 'Gemini agent error', { sessionDbId: session.sessionDbId }, error as Error) + + src/services/worker/http/BaseRouteHandler.ts:29 [HTTP] + message: "Route handler error" + error: error as Error + full: logger.error('HTTP', 'Route handler error', { path: req.path }, error as Error) + + src/services/worker/http/BaseRouteHandler.ts:81 [WORKER] + message: "(message not captured)" + error: error + full: logger.failure('WORKER', context || 'Request failed', {}, error) + + src/services/worker/http/routes/SessionRoutes.ts:142 [SESSION] + message: "Generator failed" + error: error + full: logger.error('SESSION', `Generator failed`, { sessionId: session.sessionDbId, provider: provider, error: error.message }, error) + + src/services/worker/http/routes/SessionRoutes.ts:159 [SESSION] + message: "Failed to mark messages as failed" + full: logger.error('SESSION', 'Failed to mark messages as failed', { sessionId: session.sessionDbId }, dbError as Error) + + src/services/worker/http/routes/SettingsRoutes.ts:77 [SETTINGS] + message: "Failed to parse settings file" + full: logger.error('SETTINGS', 'Failed to parse settings file', { settingsPath }, parseError as Error) + + src/services/worker/OpenRouterAgent.ts:256 [SDK] + message: "OpenRouter agent error" + error: error as Error + full: logger.failure('SDK', 'OpenRouter agent error', { sessionDbId: session.sessionDbId }, error as Error) + + src/services/worker/SDKAgent.ts:135 [SESSION] + message: "MEMORY_ID_MISMATCH | sessionDbId=${session.sessionDbId} | expected=${message.session_id} | got=${verification?.memory_session_id}" + full: logger.error('SESSION', `MEMORY_ID_MISMATCH | sessionDbId=${session.sessionDbId} | expected=${message.session_id} | got=${verification?.memory_session_id}`, { sessionId: session.sessionDbId }) + + src/services/worker/SessionManager.ts:208 [SESSION] + message: "Failed to persist observation to DB" + error: error + full: logger.error('SESSION', 'Failed to persist observation to DB', { sessionId: sessionDbId, tool: data.tool_name }, error) + + src/services/worker/SessionManager.ts:247 [SESSION] + message: "Failed to persist summarize to DB" + error: error + full: logger.error('SESSION', 'Failed to persist summarize to DB', { sessionId: sessionDbId }, error) + + Count: 49 + +WARN (should be non-critical, has fallback): +──────────────────────────────────────────────────────────── + src/sdk/parser.ts:66 [PARSER] + message: "Invalid observation type: ${type}, using "${fallbackType}"" + full: logger.warn('PARSER', `Invalid observation type: ${type}, using "${fallbackType}"`, { correlationId }) + + src/sdk/parser.ts:69 [PARSER] + message: "Observation missing type field, using "${fallbackType}"" + full: logger.warn('PARSER', `Observation missing type field, using "${fallbackType}"`, { correlationId }) + + src/sdk/parser.ts:78 [PARSER] + message: "Removed observation type from concepts array" + full: logger.warn('PARSER', 'Removed observation type from concepts array', { correlationId, type: finalType, originalConcepts: concepts, cleanedConcepts }) + + src/sdk/parser.ts:141 [PARSER] + message: "Summary missing required fields" + full: logger.warn('PARSER', 'Summary missing required fields', { // sessionId, // hasRequest: !!request, // hasInvestigated: !!investigated, // hasLearned: !!learned, // hasCompleted: !!completed, // hasNextSteps: !!next_steps // }) + + src/sdk/prompts.ts:126 [SDK] + message: "Missing last_assistant_message in session for summary prompt" + full: logger.happyPathError( 'SDK', 'Missing last_assistant_message in session for summary prompt', { sessionId: session.id }, undefined, '' ) + + src/servers/mcp-server.ts:302 [SYSTEM] + message: "Worker not available" + full: logger.warn('SYSTEM', 'Worker not available', undefined, { workerUrl: WORKER_BASE_URL }) + + src/servers/mcp-server.ts:303 [SYSTEM] + message: "Tools will fail until Worker is started" + full: logger.warn('SYSTEM', 'Tools will fail until Worker is started') + + src/servers/mcp-server.ts:304 [SYSTEM] + message: "Start Worker with: npm run worker:restart" + full: logger.warn('SYSTEM', 'Start Worker with: npm run worker:restart') + + src/services/domain/ModeManager.ts:147 [SYSTEM] + message: "Mode file not found: ${modeId}, falling back to 'code'" + full: logger.warn('SYSTEM', `Mode file not found: ${modeId}, falling back to 'code'`) + + src/services/domain/ModeManager.ts:164 [SYSTEM] + message: "Parent mode '${parentId}' not found for ${modeId}, falling back to 'code'" + full: logger.warn('SYSTEM', `Parent mode '${parentId}' not found for ${modeId}, falling back to 'code'`) + + src/services/domain/ModeManager.ts:174 [SYSTEM] + message: "Override file '${overrideId}' not found, using parent mode '${parentId}' only" + full: logger.warn('SYSTEM', `Override file '${overrideId}' not found, using parent mode '${parentId}' only`) + + src/services/domain/ModeManager.ts:181 [SYSTEM] + message: "Invalid override file: ${overrideId}, using parent mode '${parentId}' only" + full: logger.warn('SYSTEM', `Invalid override file: ${overrideId}, using parent mode '${parentId}' only`) + + src/services/infrastructure/HealthMonitor.ts:78 [SYSTEM] + message: "Shutdown request returned error" + full: logger.warn('SYSTEM', 'Shutdown request returned error', { port, status: response.status }) + + src/services/infrastructure/HealthMonitor.ts:89 [SYSTEM] + message: "Shutdown request failed unexpectedly" + error: error as Error + full: logger.warn('SYSTEM', 'Shutdown request failed unexpectedly', { port }, error as Error) + + src/services/infrastructure/ProcessManager.ts:48 [SYSTEM] + message: "Failed to parse PID file" + error: error as Error + full: logger.warn('SYSTEM', 'Failed to parse PID file', { path: PID_FILE }, error as Error) + + src/services/infrastructure/ProcessManager.ts:63 [SYSTEM] + message: "Failed to remove PID file" + error: error as Error + full: logger.warn('SYSTEM', 'Failed to remove PID file', { path: PID_FILE }, error as Error) + + src/services/infrastructure/ProcessManager.ts:86 [SYSTEM] + message: "Invalid parent PID for child process enumeration" + full: logger.warn('SYSTEM', 'Invalid parent PID for child process enumeration', { parentPid }) + + src/services/infrastructure/ProcessManager.ts:103 [SYSTEM] + message: "Failed to enumerate child processes" + error: error as Error + full: logger.warn('SYSTEM', 'Failed to enumerate child processes', { parentPid }, error as Error) + + src/services/infrastructure/ProcessManager.ts:116 [SYSTEM] + message: "Invalid PID for force kill" + full: logger.warn('SYSTEM', 'Invalid PID for force kill', { pid }) + + src/services/infrastructure/ProcessManager.ts:160 [SYSTEM] + message: "Timeout waiting for child processes to exit" + full: logger.warn('SYSTEM', 'Timeout waiting for child processes to exit') + + src/services/infrastructure/ProcessManager.ts:216 [SYSTEM] + message: "Failed to enumerate orphaned processes" + error: error as Error + full: logger.warn('SYSTEM', 'Failed to enumerate orphaned processes', {}, error as Error) + + src/services/infrastructure/ProcessManager.ts:235 [SYSTEM] + message: "Skipping invalid PID" + full: logger.warn('SYSTEM', 'Skipping invalid PID', { pid }) + + src/services/infrastructure/ProcessManager.ts:297 [SYSTEM] + message: "Received ${signal} but shutdown already in progress" + full: logger.warn('SYSTEM', `Received ${signal} but shutdown already in progress`) + + src/services/integrations/CursorHooksInstaller.ts:120 [CURSOR] + message: "Failed to update context file" + error: error as Error + full: logger.warn('CURSOR', 'Failed to update context file', { projectName }, error as Error) + + src/services/integrations/CursorHooksInstaller.ts:237 [SYSTEM] + message: "Corrupt mcp.json, creating new config" + error: error as Error + full: logger.warn('SYSTEM', 'Corrupt mcp.json, creating new config', { path: mcpJsonPath }, error as Error) + + src/services/sqlite/migrations/runner.ts:569 [DB] + message: "Column ${oldCol} not found in ${table}, skipping rename" + full: logger.warn('DB', `Column ${oldCol} not found in ${table}, skipping rename`) + + src/services/sqlite/SessionSearch.ts:271 [DB] + message: "Text search not supported - use ChromaDB for vector search" + full: logger.warn('DB', 'Text search not supported - use ChromaDB for vector search') + + src/services/sqlite/SessionSearch.ts:310 [DB] + message: "Text search not supported - use ChromaDB for vector search" + full: logger.warn('DB', 'Text search not supported - use ChromaDB for vector search') + + src/services/sqlite/SessionSearch.ts:555 [DB] + message: "Text search not supported - use ChromaDB for vector search" + full: logger.warn('DB', 'Text search not supported - use ChromaDB for vector search') + + src/services/sqlite/SessionStore.ts:585 [DB] + message: "Column ${oldCol} not found in ${table}, skipping rename" + full: logger.warn('DB', `Column ${oldCol} not found in ${table}, skipping rename`) + + src/services/sync/ChromaSync.ts:185 [CHROMA_SYNC] + message: "Collection check failed, attempting to create" + error: error as Error + full: logger.warn('CHROMA_SYNC', 'Collection check failed, attempting to create', { collection: this.collectionName }, error as Error) + + src/services/sync/ChromaSync.ts:829 [CHROMA] + message: "Missing text in MCP chroma_query_documents result" + full: logger.happyPathError( 'CHROMA', 'Missing text in MCP chroma_query_documents result', { project: this.project }, { query_text: query }, result.content[0]?.text || '' ) + + src/services/worker-service.ts:290 [SYSTEM] + message: "Auto-recovery of pending queues failed" + error: error as Error + full: logger.warn('SYSTEM', 'Auto-recovery of pending queues failed', {}, error as Error) + + src/services/worker-service.ts:369 [SYSTEM] + message: "Failed to process session ${sessionDbId}" + error: error as Error + full: logger.warn('SYSTEM', `Failed to process session ${sessionDbId}`, {}, error as Error) + + src/services/worker-service.ts:684 [SYSTEM] + message: "Port did not free up after shutdown" + full: logger.warn('SYSTEM', 'Port did not free up after shutdown', { port }) + + src/services/worker/agents/ResponseProcessor.ts:188 [CHROMA] + message: "${agentName} chroma sync failed, continuing without vector search" + full: logger.warn('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, { obsId, type: obs.type, title: obs.title || '(untitled) + + src/services/worker/agents/ResponseProcessor.ts:231 [FOLDER_INDEX] + message: "(message not captured)" + full: logger.warn('FOLDER_INDEX', 'CLAUDE.md update failed (non-critical) + + src/services/worker/agents/ResponseProcessor.ts:272 [CHROMA] + message: "${agentName} chroma sync failed, continuing without vector search" + full: logger.warn('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, { summaryId: result.summaryId, request: summaryForStore.request || '(no request) + + src/services/worker/agents/ResponseProcessor.ts:295 [CURSOR] + message: "(message not captured)" + full: logger.warn('CURSOR', 'Context update failed (non-critical) + + src/services/worker/BranchManager.ts:245 [BRANCH] + message: "Recovery checkout also failed" + full: logger.warn('BRANCH', 'Recovery checkout also failed', { originalBranch: info.branch }, recoveryError as Error) + + src/services/worker/GeminiAgent.ts:169 [SDK] + message: "Empty Gemini init response - session may lack context" + full: logger.warn('SDK', 'Empty Gemini init response - session may lack context', { sessionId: session.sessionDbId, model }) + + src/services/worker/GeminiAgent.ts:280 [SDK] + message: "Gemini agent aborted" + full: logger.warn('SDK', 'Gemini agent aborted', { sessionId: session.sessionDbId }) + + src/services/worker/GeminiAgent.ts:286 [SDK] + message: "Gemini API failed, falling back to Claude SDK" + full: logger.warn('SDK', 'Gemini API failed, falling back to Claude SDK', { sessionDbId: session.sessionDbId, error: error instanceof Error ? error.message : String(error) + + src/services/worker/GeminiAgent.ts:358 [SDK] + message: "Empty response from Gemini" + full: logger.warn('SDK', 'Empty response from Gemini') + + src/services/worker/GeminiAgent.ts:394 [SDK] + message: "Invalid Gemini model "${configuredModel}", falling back to ${defaultModel}" + full: logger.warn('SDK', `Invalid Gemini model "${configuredModel}", falling back to ${defaultModel}`, { configured: configuredModel, validModels, }) + + src/services/worker/http/middleware.ts:79 [SECURITY] + message: "Admin endpoint access denied - not localhost" + full: logger.warn('SECURITY', 'Admin endpoint access denied - not localhost', { endpoint: req.path, clientIp, method: req.method }) + + src/services/worker/http/routes/DataRoutes.ts:459 [QUEUE] + message: "(message not captured)" + full: logger.warn('QUEUE', 'Cleared ALL queue messages (pending, processing, failed) + + src/services/worker/http/routes/SessionRoutes.ts:153 [SESSION] + message: "Marked messages as failed after generator error" + full: logger.warn('SESSION', `Marked messages as failed after generator error`, { sessionId: session.sessionDbId, failedCount }) + + src/services/worker/http/routes/SessionRoutes.ts:171 [SESSION] + message: "Generator exited unexpectedly" + full: logger.warn('SESSION', `Generator exited unexpectedly`, { sessionId: sessionDbId }) + + src/services/worker/http/routes/SessionRoutes.ts:287 [CHROMA] + message: "User prompt sync failed, continuing without vector search" + full: logger.warn('CHROMA', 'User prompt sync failed, continuing without vector search', { promptId: latestPrompt.id, prompt: promptText.length > 60 ? promptText.substring(0, 60) + + src/services/worker/http/routes/SessionRoutes.ts:471 [SESSION] + message: "Missing cwd when queueing observation in SessionRoutes" + full: logger.happyPathError( 'SESSION', 'Missing cwd when queueing observation in SessionRoutes', { sessionId: sessionDbId }, { tool_name }, '' ) + + src/services/worker/OpenRouterAgent.ts:128 [SDK] + message: "Empty OpenRouter init response - session may lack context" + full: logger.warn('SDK', 'Empty OpenRouter init response - session may lack context', { sessionId: session.sessionDbId, model }) + + src/services/worker/OpenRouterAgent.ts:239 [SDK] + message: "OpenRouter agent aborted" + full: logger.warn('SDK', 'OpenRouter agent aborted', { sessionId: session.sessionDbId }) + + src/services/worker/OpenRouterAgent.ts:245 [SDK] + message: "OpenRouter API failed, falling back to Claude SDK" + full: logger.warn('SDK', 'OpenRouter API failed, falling back to Claude SDK', { sessionDbId: session.sessionDbId, error: error instanceof Error ? error.message : String(error) + + src/services/worker/OpenRouterAgent.ts:296 [SDK] + message: "Context window truncated to prevent runaway costs" + full: logger.warn('SDK', 'Context window truncated to prevent runaway costs', { originalMessages: history.length, keptMessages: truncated.length, droppedMessages: i + 1, estimatedTokens: tokenCount, tokenLimit: MAX_ESTIMATED_TOKENS }) + + src/services/worker/OpenRouterAgent.ts:375 [SDK] + message: "Empty response from OpenRouter" + full: logger.warn('SDK', 'Empty response from OpenRouter') + + src/services/worker/OpenRouterAgent.ts:400 [SDK] + message: "High token usage detected - consider reducing context" + full: logger.warn('SDK', 'High token usage detected - consider reducing context', { totalTokens: tokensUsed, estimatedCost: estimatedCost.toFixed(4) + + src/services/worker/SDKAgent.ts:96 [SDK] + message: "(message not captured)" + full: logger.warn('SDK', `Skipping resume for INIT prompt despite existing memorySessionId=${session.memorySessionId} - SDK context was lost (worker restart or crash recovery) + + src/services/worker/search/strategies/ChromaSearchStrategy.ts:141 [SEARCH] + message: "ChromaSearchStrategy: Search failed" + error: error as Error + full: logger.warn('SEARCH', 'ChromaSearchStrategy: Search failed', {}, error as Error) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:114 [SEARCH] + message: "HybridSearchStrategy: findByConcept failed" + error: error as Error + full: logger.warn('SEARCH', 'HybridSearchStrategy: findByConcept failed', {}, error as Error) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:179 [SEARCH] + message: "HybridSearchStrategy: findByType failed" + error: error as Error + full: logger.warn('SEARCH', 'HybridSearchStrategy: findByType failed', {}, error as Error) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:245 [SEARCH] + message: "HybridSearchStrategy: findByFile failed" + error: error as Error + full: logger.warn('SEARCH', 'HybridSearchStrategy: findByFile failed', {}, error as Error) + + src/services/worker/search/strategies/SQLiteSearchStrategy.ts:100 [SEARCH] + message: "SQLiteSearchStrategy: Search failed" + error: error as Error + full: logger.warn('SEARCH', 'SQLiteSearchStrategy: Search failed', {}, error as Error) + + src/services/worker/SearchManager.ts:414 [SEARCH] + message: "Chroma search failed for timeline, continuing without semantic results" + full: logger.warn('SEARCH', 'Chroma search failed for timeline, continuing without semantic results', {}, chromaError as Error) + + src/services/worker/SearchManager.ts:682 [SEARCH] + message: "Chroma search failed for decisions, falling back to metadata search" + full: logger.warn('SEARCH', 'Chroma search failed for decisions, falling back to metadata search', {}, chromaError as Error) + + src/services/worker/SearchManager.ts:750 [SEARCH] + message: "Chroma search failed for changes, falling back to metadata search" + full: logger.warn('SEARCH', 'Chroma search failed for changes, falling back to metadata search', {}, chromaError as Error) + + src/utils/claude-md-utils.ts:267 [FOLDER_INDEX] + message: "Failed to fetch timeline" + full: logger.warn('FOLDER_INDEX', 'Failed to fetch timeline', { folderPath, status: response.status }) + + src/utils/claude-md-utils.ts:284 [FOLDER_INDEX] + message: "Failed to update CLAUDE.md" + full: logger.warn('FOLDER_INDEX', 'Failed to update CLAUDE.md', { folderPath, errorMessage: err.message, errorStack: err.stack }) + + src/utils/cursor-utils.ts:45 [CONFIG] + message: "Failed to read Cursor registry, using empty registry" + full: logger.warn('CONFIG', 'Failed to read Cursor registry, using empty registry', { file: registryFile, error: error instanceof Error ? error.message : String(error) + + src/utils/cursor-utils.ts:154 [CONFIG] + message: "Failed to read MCP config, starting fresh" + full: logger.warn('CONFIG', 'Failed to read MCP config, starting fresh', { file: mcpJsonPath, error: error instanceof Error ? error.message : String(error) + + src/utils/cursor-utils.ts:185 [CURSOR] + message: "Failed to remove MCP config during cleanup" + full: logger.warn('CURSOR', 'Failed to remove MCP config during cleanup', { mcpJsonPath, error: e instanceof Error ? e.message : String(e) + + src/utils/project-name.ts:14 [PROJECT_NAME] + message: "Empty cwd provided, using fallback" + full: logger.warn('PROJECT_NAME', 'Empty cwd provided, using fallback', { cwd }) + + src/utils/project-name.ts:35 [PROJECT_NAME] + message: "Root directory detected, using fallback" + full: logger.warn('PROJECT_NAME', 'Root directory detected, using fallback', { cwd }) + + src/utils/tag-stripping.ts:41 [SYSTEM] + message: "tag count exceeds limit" + full: logger.warn('SYSTEM', 'tag count exceeds limit', undefined, { tagCount, maxAllowed: MAX_TAG_COUNT, contentLength: content.length }) + + src/utils/transcript-parser.ts:56 [PARSER] + message: "Failed to parse ${this.parseErrors.length} lines" + full: logger.warn('PARSER', `Failed to parse ${this.parseErrors.length} lines`, { path: transcriptPath, totalLines: lines.length, errorCount: this.parseErrors.length }) + + Count: 75 + +INFO (informational): +──────────────────────────────────────────────────────────── + src/hooks/new-hook.ts:58 [HOOK] + message: "INIT_COMPLETE | sessionDbId=${sessionDbId} | promptNumber=${promptNumber} | skipped=true | reason=private" + full: logger.info('HOOK', `INIT_COMPLETE | sessionDbId=${sessionDbId} | promptNumber=${promptNumber} | skipped=true | reason=private`, { sessionId: sessionDbId }) + + src/hooks/new-hook.ts:83 [HOOK] + message: "INIT_COMPLETE | sessionDbId=${sessionDbId} | promptNumber=${promptNumber} | project=${project}" + full: logger.info('HOOK', `INIT_COMPLETE | sessionDbId=${sessionDbId} | promptNumber=${promptNumber} | project=${project}`, { sessionId: sessionDbId }) + + src/hooks/save-hook.ts:40 [HOOK] + message: "PostToolUse: ${toolStr}" + full: logger.dataIn('HOOK', `PostToolUse: ${toolStr}`, { workerPort: port }) + + src/hooks/summary-hook.ts:50 [HOOK] + message: "Stop: Requesting summary" + full: logger.dataIn('HOOK', 'Stop: Requesting summary', { workerPort: port, hasLastAssistantMessage: !!lastAssistantMessage }) + + src/sdk/parser.ts:111 [PARSER] + message: "Summary skipped" + full: logger.info('PARSER', 'Summary skipped', { sessionId, reason: skipMatch[1] }) + + src/servers/mcp-server.ts:283 [SYSTEM] + message: "MCP server shutting down" + full: logger.info('SYSTEM', 'MCP server shutting down') + + src/servers/mcp-server.ts:296 [SYSTEM] + message: "Claude-mem search server started" + full: logger.info('SYSTEM', 'Claude-mem search server started') + + src/servers/mcp-server.ts:306 [SYSTEM] + message: "Worker available" + full: logger.info('SYSTEM', 'Worker available', undefined, { workerUrl: WORKER_BASE_URL }) + + src/services/infrastructure/GracefulShutdown.ts:50 [SYSTEM] + message: "Shutdown initiated" + full: logger.info('SYSTEM', 'Shutdown initiated') + + src/services/infrastructure/GracefulShutdown.ts:57 [SYSTEM] + message: "Found child processes" + full: logger.info('SYSTEM', 'Found child processes', { count: childPids.length, pids: childPids }) + + src/services/infrastructure/GracefulShutdown.ts:62 [SYSTEM] + message: "HTTP server closed" + full: logger.info('SYSTEM', 'HTTP server closed') + + src/services/infrastructure/GracefulShutdown.ts:71 [SYSTEM] + message: "MCP client closed" + full: logger.info('SYSTEM', 'MCP client closed') + + src/services/infrastructure/GracefulShutdown.ts:81 [SYSTEM] + message: "Force killing remaining children" + full: logger.info('SYSTEM', 'Force killing remaining children') + + src/services/infrastructure/GracefulShutdown.ts:89 [SYSTEM] + message: "Worker shutdown complete" + full: logger.info('SYSTEM', 'Worker shutdown complete') + + src/services/infrastructure/GracefulShutdown.ts:113 [SYSTEM] + message: "Waited for Windows port cleanup" + full: logger.info('SYSTEM', 'Waited for Windows port cleanup') + + src/services/infrastructure/ProcessManager.ts:127 [SYSTEM] + message: "Killed process" + full: logger.info('SYSTEM', 'Killed process', { pid }) + + src/services/infrastructure/ProcessManager.ts:152 [SYSTEM] + message: "All child processes exited" + full: logger.info('SYSTEM', 'All child processes exited') + + src/services/infrastructure/ProcessManager.ts:224 [SYSTEM] + message: "Cleaning up orphaned chroma-mcp processes" + full: logger.info('SYSTEM', 'Cleaning up orphaned chroma-mcp processes', { platform: isWindows ? 'Windows' : 'Unix', count: pids.length, pids }) + + src/services/infrastructure/ProcessManager.ts:256 [SYSTEM] + message: "Orphaned processes cleaned up" + full: logger.info('SYSTEM', 'Orphaned processes cleaned up', { count: pids.length }) + + src/services/infrastructure/ProcessManager.ts:302 [SYSTEM] + message: "Received ${signal}, shutting down..." + full: logger.info('SYSTEM', `Received ${signal}, shutting down...`) + + src/services/integrations/CursorHooksInstaller.ts:79 [CURSOR] + message: "Registered project for auto-context updates" + full: logger.info('CURSOR', 'Registered project for auto-context updates', { projectName, workspacePath }) + + src/services/integrations/CursorHooksInstaller.ts:90 [CURSOR] + message: "Unregistered project" + full: logger.info('CURSOR', 'Unregistered project', { projectName }) + + src/services/server/Server.ts:77 [SYSTEM] + message: "HTTP server started" + full: logger.info('SYSTEM', 'HTTP server started', { host, port, pid: process.pid }) + + src/services/server/Server.ts:109 [SYSTEM] + message: "HTTP server closed" + full: logger.info('SYSTEM', 'HTTP server closed') + + src/services/server/Server.ts:215 [SYSTEM] + message: "Sending restart request to wrapper" + full: logger.info('SYSTEM', 'Sending restart request to wrapper') + + src/services/server/Server.ts:234 [SYSTEM] + message: "Sending shutdown request to wrapper" + full: logger.info('SYSTEM', 'Sending shutdown request to wrapper') + + src/services/sqlite/Database.ts:176 [DB] + message: "Applying migration ${migration.version}" + full: logger.info('DB', `Applying migration ${migration.version}`) + + src/services/sqlite/Database.ts:186 [DB] + message: "Migration ${migration.version} applied successfully" + full: logger.info('DB', `Migration ${migration.version} applied successfully`) + + src/services/sqlite/migrations/runner.ts:57 [DB] + message: "Initializing fresh database with migration004" + full: logger.info('DB', 'Initializing fresh database with migration004') + + src/services/sqlite/migrations/runner.ts:121 [DB] + message: "Migration004 applied successfully" + full: logger.info('DB', 'Migration004 applied successfully') + + src/services/sqlite/PendingMessageStore.ts:101 [QUEUE] + message: "CLAIMED | sessionDbId=${sessionId} | messageId=${msg.id} | type=${msg.message_type}" + full: logger.info('QUEUE', `CLAIMED | sessionDbId=${sessionId} | messageId=${msg.id} | type=${msg.message_type}`, { sessionId: sessionId }) + + src/services/sqlite/SessionSearch.ts:60 [DB] + message: "Creating FTS5 tables" + full: logger.info('DB', 'Creating FTS5 tables') + + src/services/sqlite/SessionSearch.ts:144 [DB] + message: "FTS5 tables created successfully" + full: logger.info('DB', 'FTS5 tables created successfully') + + src/services/sqlite/SessionStore.ts:73 [DB] + message: "Initializing fresh database with migration004" + full: logger.info('DB', 'Initializing fresh database with migration004') + + src/services/sqlite/SessionStore.ts:137 [DB] + message: "Migration004 applied successfully" + full: logger.info('DB', 'Migration004 applied successfully') + + src/services/sync/ChromaSync.ts:97 [CHROMA_SYNC] + message: "Connecting to Chroma MCP server..." + full: logger.info('CHROMA_SYNC', 'Connecting to Chroma MCP server...', { project: this.project }) + + src/services/sync/ChromaSync.ts:136 [CHROMA_SYNC] + message: "Connected to Chroma MCP server" + full: logger.info('CHROMA_SYNC', 'Connected to Chroma MCP server', { project: this.project }) + + src/services/sync/ChromaSync.ts:186 [CHROMA_SYNC] + message: "Creating collection" + full: logger.info('CHROMA_SYNC', 'Creating collection', { collection: this.collectionName }) + + src/services/sync/ChromaSync.ts:197 [CHROMA_SYNC] + message: "Collection created" + full: logger.info('CHROMA_SYNC', 'Collection created', { collection: this.collectionName }) + + src/services/sync/ChromaSync.ts:417 [CHROMA_SYNC] + message: "Syncing observation" + full: logger.info('CHROMA_SYNC', 'Syncing observation', { observationId, documentCount: documents.length, project }) + + src/services/sync/ChromaSync.ts:458 [CHROMA_SYNC] + message: "Syncing summary" + full: logger.info('CHROMA_SYNC', 'Syncing summary', { summaryId, documentCount: documents.length, project }) + + src/services/sync/ChromaSync.ts:512 [CHROMA_SYNC] + message: "Syncing user prompt" + full: logger.info('CHROMA_SYNC', 'Syncing user prompt', { promptId, project }) + + src/services/sync/ChromaSync.ts:545 [CHROMA_SYNC] + message: "Fetching existing Chroma document IDs..." + full: logger.info('CHROMA_SYNC', 'Fetching existing Chroma document IDs...', { project: this.project }) + + src/services/sync/ChromaSync.ts:598 [CHROMA_SYNC] + message: "Existing IDs fetched" + full: logger.info('CHROMA_SYNC', 'Existing IDs fetched', { project: this.project, observations: observationIds.size, summaries: summaryIds.size, prompts: promptIds.size }) + + src/services/sync/ChromaSync.ts:614 [CHROMA_SYNC] + message: "Starting smart backfill" + full: logger.info('CHROMA_SYNC', 'Starting smart backfill', { project: this.project }) + + src/services/sync/ChromaSync.ts:641 [CHROMA_SYNC] + message: "Backfilling observations" + full: logger.info('CHROMA_SYNC', 'Backfilling observations', { project: this.project, missing: observations.length, existing: existing.observations.size, total: totalObsCount.count }) + + src/services/sync/ChromaSync.ts:682 [CHROMA_SYNC] + message: "Backfilling summaries" + full: logger.info('CHROMA_SYNC', 'Backfilling summaries', { project: this.project, missing: summaries.length, existing: existing.summaries.size, total: totalSummaryCount.count }) + + src/services/sync/ChromaSync.ts:731 [CHROMA_SYNC] + message: "Backfilling user prompts" + full: logger.info('CHROMA_SYNC', 'Backfilling user prompts', { project: this.project, missing: prompts.length, existing: existing.prompts.size, total: totalPromptCount.count }) + + src/services/sync/ChromaSync.ts:755 [CHROMA_SYNC] + message: "Smart backfill complete" + full: logger.info('CHROMA_SYNC', 'Smart backfill complete', { project: this.project, synced: { observationDocs: allDocs.length, summaryDocs: summaryDocs.length, promptDocs: promptDocs.length }, skipped: { observations: existing.observations.size, summaries: existing.summaries.size, prompts: existing.prompts.size } }) + + src/services/sync/ChromaSync.ts:896 [CHROMA_SYNC] + message: "Chroma client and subprocess closed" + full: logger.info('CHROMA_SYNC', 'Chroma client and subprocess closed', { project: this.project }) + + src/services/worker-service.ts:208 [SYSTEM] + message: "Worker started" + full: logger.info('SYSTEM', 'Worker started', { host, port, pid: process.pid }) + + src/services/worker-service.ts:231 [SYSTEM] + message: "Mode loaded: ${modeId}" + full: logger.info('SYSTEM', `Mode loaded: ${modeId}`) + + src/services/worker-service.ts:241 [SYSTEM] + message: "Recovered ${resetCount} stuck messages from previous session" + full: logger.info('SYSTEM', `Recovered ${resetCount} stuck messages from previous session`, { thresholdMinutes: 5 }) + + src/services/worker-service.ts:256 [WORKER] + message: "SearchManager initialized and search routes registered" + full: logger.info('WORKER', 'SearchManager initialized and search routes registered') + + src/services/worker-service.ts:274 [WORKER] + message: "Connected to MCP server" + full: logger.success('WORKER', 'Connected to MCP server') + + src/services/worker-service.ts:278 [SYSTEM] + message: "Background initialization complete" + full: logger.info('SYSTEM', 'Background initialization complete') + + src/services/worker-service.ts:283 [SYSTEM] + message: "Auto-recovered ${result.sessionsStarted} sessions with pending work" + full: logger.info('SYSTEM', `Auto-recovered ${result.sessionsStarted} sessions with pending work`, { totalPending: result.totalPendingSessions, started: result.sessionsStarted, sessionIds: result.startedSessionIds }) + + src/services/worker-service.ts:308 [SYSTEM] + message: "(message not captured)" + full: logger.info('SYSTEM', `Starting generator (${source}) + + src/services/worker-service.ts:345 [SYSTEM] + message: "Processing up to ${sessionLimit} of ${orphanedSessionIds.length} pending session queues" + full: logger.info('SYSTEM', `Processing up to ${sessionLimit} of ${orphanedSessionIds.length} pending session queues`) + + src/services/worker-service.ts:358 [SYSTEM] + message: "Starting processor for session ${sessionDbId}" + full: logger.info('SYSTEM', `Starting processor for session ${sessionDbId}`, { project: session.project, pendingCount: pendingStore.getPendingCount(sessionDbId) + + src/services/worker-service.ts:397 [WORKER] + message: "Broadcasting processing status" + full: logger.info('WORKER', 'Broadcasting processing status', { isProcessing, queueDepth, activeSessions }) + + src/services/worker-service.ts:630 [SYSTEM] + message: "Worker version mismatch detected - auto-restarting" + full: logger.info('SYSTEM', 'Worker version mismatch detected - auto-restarting', { pluginVersion: versionCheck.pluginVersion, workerVersion: versionCheck.workerVersion }) + + src/services/worker-service.ts:643 [SYSTEM] + message: "Worker already running and healthy" + full: logger.info('SYSTEM', 'Worker already running and healthy') + + src/services/worker-service.ts:650 [SYSTEM] + message: "Port in use, waiting for worker to become healthy" + full: logger.info('SYSTEM', 'Port in use, waiting for worker to become healthy') + + src/services/worker-service.ts:653 [SYSTEM] + message: "Worker is now healthy" + full: logger.info('SYSTEM', 'Worker is now healthy') + + src/services/worker-service.ts:660 [SYSTEM] + message: "Starting worker daemon" + full: logger.info('SYSTEM', 'Starting worker daemon') + + src/services/worker-service.ts:676 [SYSTEM] + message: "Worker started successfully" + full: logger.info('SYSTEM', 'Worker started successfully') + + src/services/worker-service.ts:687 [SYSTEM] + message: "Worker stopped successfully" + full: logger.info('SYSTEM', 'Worker stopped successfully') + + src/services/worker-service.ts:692 [SYSTEM] + message: "Restarting worker" + full: logger.info('SYSTEM', 'Restarting worker') + + src/services/worker-service.ts:716 [SYSTEM] + message: "Worker restarted successfully" + full: logger.info('SYSTEM', 'Worker restarted successfully') + + src/services/worker/agents/ResponseProcessor.ts:78 [DB] + message: "STORING | sessionDbId=${session.sessionDbId} | memorySessionId=${session.memorySessionId} | obsCount=${observations.length} | hasSummary=${!!summaryForStore}" + full: logger.info('DB', `STORING | sessionDbId=${session.sessionDbId} | memorySessionId=${session.memorySessionId} | obsCount=${observations.length} | hasSummary=${!!summaryForStore}`, { sessionId: session.sessionDbId, memorySessionId: session.memorySessionId }) + + src/services/worker/agents/ResponseProcessor.ts:96 [DB] + message: "(message not captured)" + full: logger.info('DB', `STORED | sessionDbId=${session.sessionDbId} | memorySessionId=${session.memorySessionId} | obsCount=${result.observationIds.length} | obsIds=[${result.observationIds.join(',') + + src/services/worker/BranchManager.ts:189 [BRANCH] + message: "Starting branch switch" + full: logger.info('BRANCH', 'Starting branch switch', { from: info.branch, to: targetBranch }) + + src/services/worker/BranchManager.ts:226 [BRANCH] + message: "Branch switch complete" + full: logger.success('BRANCH', 'Branch switch complete', { branch: targetBranch }) + + src/services/worker/BranchManager.ts:277 [BRANCH] + message: "Pulling updates" + full: logger.info('BRANCH', 'Pulling updates', { branch: info.branch }) + + src/services/worker/BranchManager.ts:293 [BRANCH] + message: "Updates pulled" + full: logger.success('BRANCH', 'Updates pulled', { branch: info.branch }) + + src/services/worker/DatabaseManager.ts:33 [DB] + message: "Database initialized" + full: logger.info('DB', 'Database initialized') + + src/services/worker/DatabaseManager.ts:54 [DB] + message: "Database closed" + full: logger.info('DB', 'Database closed') + + src/services/worker/GeminiAgent.ts:272 [SDK] + message: "Gemini agent completed" + full: logger.success('SDK', 'Gemini agent completed', { sessionId: session.sessionDbId, duration: `${(sessionDuration / 1000) + + src/services/worker/http/middleware.ts:45 [HTTP] + message: "→ ${req.method} ${req.path}" + full: logger.info('HTTP', `→ ${req.method} ${req.path}`, { requestId }, bodySummary) + + src/services/worker/http/middleware.ts:51 [HTTP] + message: "← ${res.statusCode} ${req.path}" + full: logger.info('HTTP', `← ${res.statusCode} ${req.path}`, { requestId, duration: `${duration}ms` }) + + src/services/worker/http/routes/DataRoutes.ts:440 [QUEUE] + message: "Cleared failed queue messages" + full: logger.info('QUEUE', 'Cleared failed queue messages', { clearedCount }) + + src/services/worker/http/routes/LogsRoutes.ts:88 [SYSTEM] + message: "Log file cleared via UI" + full: logger.info('SYSTEM', 'Log file cleared via UI', { path: logFilePath }) + + src/services/worker/http/routes/SessionRoutes.ts:104 [SESSION] + message: "Provider changed, will switch after current generator finishes" + full: logger.info('SESSION', `Provider changed, will switch after current generator finishes`, { sessionId: sessionDbId, currentProvider: session.currentProvider, selectedProvider, historyLength: session.conversationHistory.length }) + + src/services/worker/http/routes/SessionRoutes.ts:128 [SESSION] + message: "(message not captured)" + full: logger.info('SESSION', `Generator auto-starting (${source}) + + src/services/worker/http/routes/SessionRoutes.ts:169 [SESSION] + message: "Generator aborted" + full: logger.info('SESSION', `Generator aborted`, { sessionId: sessionDbId }) + + src/services/worker/http/routes/SessionRoutes.ts:185 [SESSION] + message: "Restarting generator after crash/exit with pending work" + full: logger.info('SESSION', `Restarting generator after crash/exit with pending work`, { sessionId: sessionDbId, pendingCount }) + + src/services/worker/http/routes/SessionRoutes.ts:244 [HTTP] + message: "SessionRoutes: handleSessionInit called" + full: logger.info('HTTP', 'SessionRoutes: handleSessionInit called', { sessionDbId, promptNumber, has_userPrompt: !!userPrompt }) + + src/services/worker/http/routes/SessionRoutes.ts:549 [HTTP] + message: "SessionRoutes: handleSessionInitByClaudeId called" + full: logger.info('HTTP', 'SessionRoutes: handleSessionInitByClaudeId called', { contentSessionId, project, prompt_length: prompt?.length }) + + src/services/worker/http/routes/SessionRoutes.ts:568 [SESSION] + message: "CREATED | contentSessionId=${contentSessionId} → sessionDbId=${sessionDbId} | isNew=${isNewSession} | project=${project}" + full: logger.info('SESSION', `CREATED | contentSessionId=${contentSessionId} → sessionDbId=${sessionDbId} | isNew=${isNewSession} | project=${project}`, { sessionId: sessionDbId }) + + src/services/worker/http/routes/SettingsRoutes.ts:138 [WORKER] + message: "Settings updated" + full: logger.info('WORKER', 'Settings updated') + + src/services/worker/http/routes/SettingsRoutes.ts:196 [WORKER] + message: "Branch switch requested" + full: logger.info('WORKER', 'Branch switch requested', { branch }) + + src/services/worker/http/routes/SettingsRoutes.ts:203 [WORKER] + message: "Restarting worker after branch switch" + full: logger.info('WORKER', 'Restarting worker after branch switch') + + src/services/worker/http/routes/SettingsRoutes.ts:215 [WORKER] + message: "Branch update requested" + full: logger.info('WORKER', 'Branch update requested') + + src/services/worker/http/routes/SettingsRoutes.ts:222 [WORKER] + message: "Restarting worker after branch update" + full: logger.info('WORKER', 'Restarting worker after branch update') + + src/services/worker/http/routes/SettingsRoutes.ts:387 [WORKER] + message: "MCP search server enabled" + full: logger.info('WORKER', 'MCP search server enabled') + + src/services/worker/http/routes/SettingsRoutes.ts:391 [WORKER] + message: "MCP search server disabled" + full: logger.info('WORKER', 'MCP search server disabled') + + src/services/worker/http/routes/SettingsRoutes.ts:411 [SETTINGS] + message: "Created settings file with defaults" + full: logger.info('SETTINGS', 'Created settings file with defaults', { settingsPath }) + + src/services/worker/OpenRouterAgent.ts:230 [SDK] + message: "OpenRouter agent completed" + full: logger.success('SDK', 'OpenRouter agent completed', { sessionId: session.sessionDbId, duration: `${(sessionDuration / 1000) + + src/services/worker/OpenRouterAgent.ts:389 [SDK] + message: "OpenRouter API usage" + full: logger.info('SDK', 'OpenRouter API usage', { model, inputTokens, outputTokens, totalTokens: tokensUsed, estimatedCostUSD: estimatedCost.toFixed(4) + + src/services/worker/SDKAgent.ts:78 [SDK] + message: "Starting SDK query" + full: logger.info('SDK', 'Starting SDK query', { sessionDbId: session.sessionDbId, contentSessionId: session.contentSessionId, memorySessionId: session.memorySessionId, hasRealMemorySessionId, resume_parameter: hasRealMemorySessionId ? session.memorySessionId : '(none - fresh start) + + src/services/worker/SDKAgent.ts:130 [SESSION] + message: "MEMORY_ID_CAPTURED | sessionDbId=${session.sessionDbId} | memorySessionId=${message.session_id} | dbVerified=${dbVerified}" + full: logger.info('SESSION', `MEMORY_ID_CAPTURED | sessionDbId=${session.sessionDbId} | memorySessionId=${message.session_id} | dbVerified=${dbVerified}`, { sessionId: session.sessionDbId, memorySessionId: message.session_id }) + + src/services/worker/SDKAgent.ts:188 [SDK] + message: "(message not captured)" + full: logger.dataOut('SDK', `Response received (${responseSize} chars) + + src/services/worker/SDKAgent.ts:216 [SDK] + message: "Agent completed" + full: logger.success('SDK', 'Agent completed', { sessionId: session.sessionDbId, duration: `${(sessionDuration / 1000) + + src/services/worker/SDKAgent.ts:266 [SDK] + message: "Creating message generator" + full: logger.info('SDK', 'Creating message generator', { sessionDbId: session.sessionDbId, contentSessionId: session.contentSessionId, lastPromptNumber: session.lastPromptNumber, isInitPrompt, promptType: isInitPrompt ? 'INIT' : 'CONTINUATION' }) + + src/services/worker/SessionManager.ts:158 [SESSION] + message: "Session initialized" + full: logger.info('SESSION', 'Session initialized', { sessionId: sessionDbId, project: session.project, contentSessionId: session.contentSessionId, queueDepth: 0, hasGenerator: false }) + + src/services/worker/SessionManager.ts:204 [QUEUE] + message: "ENQUEUED | sessionDbId=${sessionDbId} | messageId=${messageId} | type=observation | tool=${toolSummary} | depth=${queueDepth}" + full: logger.info('QUEUE', `ENQUEUED | sessionDbId=${sessionDbId} | messageId=${messageId} | type=observation | tool=${toolSummary} | depth=${queueDepth}`, { sessionId: sessionDbId }) + + src/services/worker/SessionManager.ts:243 [QUEUE] + message: "ENQUEUED | sessionDbId=${sessionDbId} | messageId=${messageId} | type=summarize | depth=${queueDepth}" + full: logger.info('QUEUE', `ENQUEUED | sessionDbId=${sessionDbId} | messageId=${messageId} | type=summarize | depth=${queueDepth}`, { sessionId: sessionDbId }) + + src/services/worker/SessionManager.ts:282 [SESSION] + message: "Session deleted" + full: logger.info('SESSION', 'Session deleted', { sessionId: sessionDbId, duration: `${(sessionDuration / 1000) + + src/utils/project-name.ts:31 [PROJECT_NAME] + message: "Drive root detected" + full: logger.info('PROJECT_NAME', 'Drive root detected', { cwd, projectName }) + + Count: 110 + +DEBUG (detailed diagnostics): +──────────────────────────────────────────────────────────── + src/bin/import-xml-observations.ts:80 [IMPORT] + message: "Skipping invalid JSON line" + full: logger.debug('IMPORT', 'Skipping invalid JSON line', { lineNumber: index + 1, filename, error: e instanceof Error ? e.message : String(e) + + src/hooks/new-hook.ts:29 [HOOK] + message: "new-hook: Calling /api/sessions/init" + full: logger.debug('HOOK', 'new-hook: Calling /api/sessions/init', { contentSessionId: session_id, project }) + + src/hooks/new-hook.ts:51 [HOOK] + message: "new-hook: Received from /api/sessions/init" + full: logger.debug('HOOK', 'new-hook: Received from /api/sessions/init', { sessionDbId, promptNumber, skipped: initResult.skipped }) + + src/hooks/new-hook.ts:54 [HOOK] + message: "[ALIGNMENT] Hook Entry | contentSessionId=${session_id} | prompt#=${promptNumber} | sessionDbId=${sessionDbId}" + full: logger.debug('HOOK', `[ALIGNMENT] Hook Entry | contentSessionId=${session_id} | prompt#=${promptNumber} | sessionDbId=${sessionDbId}`) + + src/hooks/new-hook.ts:69 [HOOK] + message: "new-hook: Calling /sessions/{sessionDbId}/init" + full: logger.debug('HOOK', 'new-hook: Calling /sessions/{sessionDbId}/init', { sessionDbId, promptNumber }) + + src/hooks/save-hook.ts:67 [HOOK] + message: "Observation sent successfully" + full: logger.debug('HOOK', 'Observation sent successfully', { toolName: tool_name }) + + src/hooks/summary-hook.ts:71 [HOOK] + message: "Summary request sent successfully" + full: logger.debug('HOOK', 'Summary request sent successfully') + + src/sdk/prompts.ts:99 [SDK] + message: "Tool input is plain string, using as-is" + error: error as Error + full: logger.debug('SDK', 'Tool input is plain string, using as-is', { toolName: obs.tool_name }, error as Error) + + src/sdk/prompts.ts:108 [SDK] + message: "Tool output is plain string, using as-is" + error: error as Error + full: logger.debug('SDK', 'Tool output is plain string, using as-is', { toolName: obs.tool_name }, error as Error) + + src/servers/mcp-server.ts:50 [SYSTEM] + message: "→ Worker API" + full: logger.debug('SYSTEM', '→ Worker API', undefined, { endpoint, params }) + + src/servers/mcp-server.ts:72 [SYSTEM] + message: "← Worker API success" + full: logger.debug('SYSTEM', '← Worker API success', undefined, { endpoint }) + + src/servers/mcp-server.ts:95 [HTTP] + message: "(message not captured)" + full: logger.debug('HTTP', 'Worker API request (POST) + + src/servers/mcp-server.ts:114 [HTTP] + message: "(message not captured)" + full: logger.debug('HTTP', 'Worker API success (POST) + + src/servers/mcp-server.ts:144 [SYSTEM] + message: "Worker health check failed" + error: error as Error + full: logger.debug('SYSTEM', 'Worker health check failed', {}, error as Error) + + src/services/context/ContextBuilder.ts:57 [SYSTEM] + message: "(message not captured)" + full: logger.debug('SYSTEM', 'Marker file cleanup failed (may not exist) + + src/services/context/ObservationCompiler.ts:174 [PARSER] + message: "Skipping malformed transcript line" + full: logger.debug('PARSER', 'Skipping malformed transcript line', { lineIndex: i }, parseError as Error) + + src/services/domain/ModeManager.ts:141 [SYSTEM] + message: "(message not captured)" + full: logger.debug('SYSTEM', `Loaded mode: ${mode.name} (${modeId}) + + src/services/domain/ModeManager.ts:172 [SYSTEM] + message: "Loaded override file: ${overrideId} for parent ${parentId}" + full: logger.debug('SYSTEM', `Loaded override file: ${overrideId} for parent ${parentId}`) + + src/services/domain/ModeManager.ts:190 [SYSTEM] + message: "(message not captured)" + full: logger.debug('SYSTEM', `Loaded mode with inheritance: ${mergedMode.name} (${modeId} = ${parentId} + ${overrideId}) + + src/services/infrastructure/HealthMonitor.ts:46 [SYSTEM] + message: "Service not ready yet, will retry" + error: error as Error + full: logger.debug('SYSTEM', 'Service not ready yet, will retry', { port }, error as Error) + + src/services/infrastructure/HealthMonitor.ts:85 [SYSTEM] + message: "Worker already stopped" + error: error + full: logger.debug('SYSTEM', 'Worker already stopped', { port }, error) + + src/services/infrastructure/HealthMonitor.ts:117 [SYSTEM] + message: "Could not fetch worker version" + full: logger.debug('SYSTEM', 'Could not fetch worker version', { port }) + + src/services/infrastructure/ProcessManager.ts:130 [SYSTEM] + message: "Process already exited during force kill" + error: error as Error + full: logger.debug('SYSTEM', 'Process already exited during force kill', { pid }, error as Error) + + src/services/infrastructure/ProcessManager.ts:156 [SYSTEM] + message: "Waiting for processes to exit" + full: logger.debug('SYSTEM', 'Waiting for processes to exit', { stillAlive }) + + src/services/infrastructure/ProcessManager.ts:178 [SYSTEM] + message: "(message not captured)" + full: logger.debug('SYSTEM', 'No orphaned chroma-mcp processes found (Windows) + + src/services/infrastructure/ProcessManager.ts:198 [SYSTEM] + message: "(message not captured)" + full: logger.debug('SYSTEM', 'No orphaned chroma-mcp processes found (Unix) + + src/services/infrastructure/ProcessManager.ts:242 [SYSTEM] + message: "Failed to kill process, may have already exited" + error: error as Error + full: logger.debug('SYSTEM', 'Failed to kill process, may have already exited', { pid }, error as Error) + + src/services/infrastructure/ProcessManager.ts:251 [SYSTEM] + message: "Process already exited" + error: error as Error + full: logger.debug('SYSTEM', 'Process already exited', { pid }, error as Error) + + src/services/integrations/CursorHooksInstaller.ts:117 [CURSOR] + message: "Updated context file" + full: logger.debug('CURSOR', 'Updated context file', { projectName, workspacePath: entry.workspacePath }) + + src/services/integrations/CursorHooksInstaller.ts:414 [CURSOR] + message: "Worker not running during install" + error: error as Error + full: logger.debug('CURSOR', 'Worker not running during install', {}, error as Error) + + src/services/integrations/CursorHooksInstaller.ts:593 [SYSTEM] + message: "Claude CLI not in PATH" + error: error as Error + full: logger.debug('SYSTEM', 'Claude CLI not in PATH', {}, error as Error) + + src/services/sqlite/migrations/runner.ts:139 [DB] + message: "Added worker_port column to sdk_sessions table" + full: logger.debug('DB', 'Added worker_port column to sdk_sessions table') + + src/services/sqlite/migrations/runner.ts:160 [DB] + message: "Added prompt_counter column to sdk_sessions table" + full: logger.debug('DB', 'Added prompt_counter column to sdk_sessions table') + + src/services/sqlite/migrations/runner.ts:169 [DB] + message: "Added prompt_number column to observations table" + full: logger.debug('DB', 'Added prompt_number column to observations table') + + src/services/sqlite/migrations/runner.ts:178 [DB] + message: "Added prompt_number column to session_summaries table" + full: logger.debug('DB', 'Added prompt_number column to session_summaries table') + + src/services/sqlite/migrations/runner.ts:203 [DB] + message: "Removing UNIQUE constraint from session_summaries.memory_session_id" + full: logger.debug('DB', 'Removing UNIQUE constraint from session_summaries.memory_session_id') + + src/services/sqlite/migrations/runner.ts:257 [DB] + message: "Successfully removed UNIQUE constraint from session_summaries.memory_session_id" + full: logger.debug('DB', 'Successfully removed UNIQUE constraint from session_summaries.memory_session_id') + + src/services/sqlite/migrations/runner.ts:278 [DB] + message: "Adding hierarchical fields to observations table" + full: logger.debug('DB', 'Adding hierarchical fields to observations table') + + src/services/sqlite/migrations/runner.ts:294 [DB] + message: "Successfully added hierarchical fields to observations table" + full: logger.debug('DB', 'Successfully added hierarchical fields to observations table') + + src/services/sqlite/migrations/runner.ts:316 [DB] + message: "Making observations.text nullable" + full: logger.debug('DB', 'Making observations.text nullable') + + src/services/sqlite/migrations/runner.ts:372 [DB] + message: "Successfully made observations.text nullable" + full: logger.debug('DB', 'Successfully made observations.text nullable') + + src/services/sqlite/migrations/runner.ts:391 [DB] + message: "Creating user_prompts table with FTS5 support" + full: logger.debug('DB', 'Creating user_prompts table with FTS5 support') + + src/services/sqlite/migrations/runner.ts:449 [DB] + message: "Successfully created user_prompts table with FTS5 support" + full: logger.debug('DB', 'Successfully created user_prompts table with FTS5 support') + + src/services/sqlite/migrations/runner.ts:468 [DB] + message: "Added discovery_tokens column to observations table" + full: logger.debug('DB', 'Added discovery_tokens column to observations table') + + src/services/sqlite/migrations/runner.ts:477 [DB] + message: "Added discovery_tokens column to session_summaries table" + full: logger.debug('DB', 'Added discovery_tokens column to session_summaries table') + + src/services/sqlite/migrations/runner.ts:501 [DB] + message: "Creating pending_messages table" + full: logger.debug('DB', 'Creating pending_messages table') + + src/services/sqlite/migrations/runner.ts:531 [DB] + message: "pending_messages table created successfully" + full: logger.debug('DB', 'pending_messages table created successfully') + + src/services/sqlite/migrations/runner.ts:546 [DB] + message: "Checking session ID columns for semantic clarity rename" + full: logger.debug('DB', 'Checking session ID columns for semantic clarity rename') + + src/services/sqlite/migrations/runner.ts:564 [DB] + message: "Renamed ${table}.${oldCol} to ${newCol}" + full: logger.debug('DB', `Renamed ${table}.${oldCol} to ${newCol}`) + + src/services/sqlite/migrations/runner.ts:593 [DB] + message: "Successfully renamed ${renamesPerformed} session ID columns" + full: logger.debug('DB', `Successfully renamed ${renamesPerformed} session ID columns`) + + src/services/sqlite/migrations/runner.ts:595 [DB] + message: "(message not captured)" + full: logger.debug('DB', 'No session ID column renames needed (already up to date) + + src/services/sqlite/migrations/runner.ts:626 [DB] + message: "Added failed_at_epoch column to pending_messages table" + full: logger.debug('DB', 'Added failed_at_epoch column to pending_messages table') + + src/services/sqlite/SessionStore.ts:155 [DB] + message: "Added worker_port column to sdk_sessions table" + full: logger.debug('DB', 'Added worker_port column to sdk_sessions table') + + src/services/sqlite/SessionStore.ts:176 [DB] + message: "Added prompt_counter column to sdk_sessions table" + full: logger.debug('DB', 'Added prompt_counter column to sdk_sessions table') + + src/services/sqlite/SessionStore.ts:185 [DB] + message: "Added prompt_number column to observations table" + full: logger.debug('DB', 'Added prompt_number column to observations table') + + src/services/sqlite/SessionStore.ts:194 [DB] + message: "Added prompt_number column to session_summaries table" + full: logger.debug('DB', 'Added prompt_number column to session_summaries table') + + src/services/sqlite/SessionStore.ts:219 [DB] + message: "Removing UNIQUE constraint from session_summaries.memory_session_id" + full: logger.debug('DB', 'Removing UNIQUE constraint from session_summaries.memory_session_id') + + src/services/sqlite/SessionStore.ts:273 [DB] + message: "Successfully removed UNIQUE constraint from session_summaries.memory_session_id" + full: logger.debug('DB', 'Successfully removed UNIQUE constraint from session_summaries.memory_session_id') + + src/services/sqlite/SessionStore.ts:294 [DB] + message: "Adding hierarchical fields to observations table" + full: logger.debug('DB', 'Adding hierarchical fields to observations table') + + src/services/sqlite/SessionStore.ts:310 [DB] + message: "Successfully added hierarchical fields to observations table" + full: logger.debug('DB', 'Successfully added hierarchical fields to observations table') + + src/services/sqlite/SessionStore.ts:332 [DB] + message: "Making observations.text nullable" + full: logger.debug('DB', 'Making observations.text nullable') + + src/services/sqlite/SessionStore.ts:388 [DB] + message: "Successfully made observations.text nullable" + full: logger.debug('DB', 'Successfully made observations.text nullable') + + src/services/sqlite/SessionStore.ts:407 [DB] + message: "Creating user_prompts table with FTS5 support" + full: logger.debug('DB', 'Creating user_prompts table with FTS5 support') + + src/services/sqlite/SessionStore.ts:465 [DB] + message: "Successfully created user_prompts table with FTS5 support" + full: logger.debug('DB', 'Successfully created user_prompts table with FTS5 support') + + src/services/sqlite/SessionStore.ts:484 [DB] + message: "Added discovery_tokens column to observations table" + full: logger.debug('DB', 'Added discovery_tokens column to observations table') + + src/services/sqlite/SessionStore.ts:493 [DB] + message: "Added discovery_tokens column to session_summaries table" + full: logger.debug('DB', 'Added discovery_tokens column to session_summaries table') + + src/services/sqlite/SessionStore.ts:517 [DB] + message: "Creating pending_messages table" + full: logger.debug('DB', 'Creating pending_messages table') + + src/services/sqlite/SessionStore.ts:547 [DB] + message: "pending_messages table created successfully" + full: logger.debug('DB', 'pending_messages table created successfully') + + src/services/sqlite/SessionStore.ts:562 [DB] + message: "Checking session ID columns for semantic clarity rename" + full: logger.debug('DB', 'Checking session ID columns for semantic clarity rename') + + src/services/sqlite/SessionStore.ts:580 [DB] + message: "Renamed ${table}.${oldCol} to ${newCol}" + full: logger.debug('DB', `Renamed ${table}.${oldCol} to ${newCol}`) + + src/services/sqlite/SessionStore.ts:609 [DB] + message: "Successfully renamed ${renamesPerformed} session ID columns" + full: logger.debug('DB', `Successfully renamed ${renamesPerformed} session ID columns`) + + src/services/sqlite/SessionStore.ts:611 [DB] + message: "(message not captured)" + full: logger.debug('DB', 'No session ID column renames needed (already up to date) + + src/services/sqlite/SessionStore.ts:642 [DB] + message: "Added failed_at_epoch column to pending_messages table" + full: logger.debug('DB', 'Added failed_at_epoch column to pending_messages table') + + src/services/sync/ChromaSync.ts:121 [CHROMA_SYNC] + message: "Windows detected, attempting to hide console window" + full: logger.debug('CHROMA_SYNC', 'Windows detected, attempting to hide console window', { project: this.project }) + + src/services/sync/ChromaSync.ts:166 [CHROMA_SYNC] + message: "Collection exists" + full: logger.debug('CHROMA_SYNC', 'Collection exists', { collection: this.collectionName }) + + src/services/sync/ChromaSync.ts:369 [CHROMA_SYNC] + message: "Documents added" + full: logger.debug('CHROMA_SYNC', 'Documents added', { collection: this.collectionName, count: documents.length }) + + src/services/sync/ChromaSync.ts:587 [CHROMA_SYNC] + message: "Fetched batch of existing IDs" + full: logger.debug('CHROMA_SYNC', 'Fetched batch of existing IDs', { project: this.project, offset, batchSize: metadatas.length }) + + src/services/sync/ChromaSync.ts:659 [CHROMA_SYNC] + message: "Backfill progress" + full: logger.debug('CHROMA_SYNC', 'Backfill progress', { project: this.project, progress: `${Math.min(i + this.BATCH_SIZE, allDocs.length) + + src/services/sync/ChromaSync.ts:700 [CHROMA_SYNC] + message: "Backfill progress" + full: logger.debug('CHROMA_SYNC', 'Backfill progress', { project: this.project, progress: `${Math.min(i + this.BATCH_SIZE, summaryDocs.length) + + src/services/sync/ChromaSync.ts:749 [CHROMA_SYNC] + message: "Backfill progress" + full: logger.debug('CHROMA_SYNC', 'Backfill progress', { project: this.project, progress: `${Math.min(i + this.BATCH_SIZE, promptDocs.length) + + src/services/worker-service.ts:445 [SETUP] + message: "Corrupt settings file, starting fresh" + error: error as Error + full: logger.debug('SETUP', 'Corrupt settings file, starting fresh', { path: settingsPath }, error as Error) + + src/services/worker/agents/ResponseProcessor.ts:181 [CHROMA] + message: "Observation synced" + full: logger.debug('CHROMA', 'Observation synced', { obsId, duration: `${chromaDuration}ms`, type: obs.type, title: obs.title || '(untitled) + + src/services/worker/agents/ResponseProcessor.ts:266 [CHROMA] + message: "Summary synced" + full: logger.debug('CHROMA', 'Summary synced', { summaryId: result.summaryId, duration: `${chromaDuration}ms`, request: summaryForStore.request || '(no request) + + src/services/worker/BranchManager.ts:195 [BRANCH] + message: "Discarding local changes" + full: logger.debug('BRANCH', 'Discarding local changes') + + src/services/worker/BranchManager.ts:200 [BRANCH] + message: "Fetching from origin" + full: logger.debug('BRANCH', 'Fetching from origin') + + src/services/worker/BranchManager.ts:204 [BRANCH] + message: "Checking out branch" + full: logger.debug('BRANCH', 'Checking out branch', { branch: targetBranch }) + + src/services/worker/BranchManager.ts:209 [BRANCH] + message: "Branch not local, tracking remote" + full: logger.debug('BRANCH', 'Branch not local, tracking remote', { branch: targetBranch, error: error instanceof Error ? error.message : String(error) + + src/services/worker/BranchManager.ts:214 [BRANCH] + message: "Pulling latest" + full: logger.debug('BRANCH', 'Pulling latest') + + src/services/worker/BranchManager.ts:223 [BRANCH] + message: "Running npm install" + full: logger.debug('BRANCH', 'Running npm install') + + src/services/worker/GeminiAgent.ts:74 [SDK] + message: "Rate limiting: waiting ${waitTime}ms before Gemini request" + full: logger.debug('SDK', `Rate limiting: waiting ${waitTime}ms before Gemini request`, { model, rpm }) + + src/services/worker/GeminiAgent.ts:326 [SDK] + message: "(message not captured)" + full: logger.debug('SDK', `Querying Gemini multi-turn (${model}) + + src/services/worker/http/routes/SessionRoutes.ts:54 [SESSION] + message: "Using OpenRouter agent" + full: logger.debug('SESSION', 'Using OpenRouter agent') + + src/services/worker/http/routes/SessionRoutes.ts:62 [SESSION] + message: "Using Gemini agent" + full: logger.debug('SESSION', 'Using Gemini agent') + + src/services/worker/http/routes/SessionRoutes.ts:205 [SESSION] + message: "Aborted controller after natural completion" + full: logger.debug('SESSION', 'Aborted controller after natural completion', { sessionId: sessionDbId }) + + src/services/worker/http/routes/SessionRoutes.ts:211 [SESSION] + message: "Error during recovery check, aborting to prevent leaks" + full: logger.debug('SESSION', 'Error during recovery check, aborting to prevent leaks', { sessionId: sessionDbId, error: e instanceof Error ? e.message : String(e) + + src/services/worker/http/routes/SessionRoutes.ts:281 [CHROMA] + message: "User prompt synced" + full: logger.debug('CHROMA', 'User prompt synced', { promptId: latestPrompt.id, duration: `${chromaDuration}ms`, prompt: truncatedPrompt }) + + src/services/worker/http/routes/SessionRoutes.ts:417 [SESSION] + message: "Skipping observation for tool" + full: logger.debug('SESSION', 'Skipping observation for tool', { tool_name }) + + src/services/worker/http/routes/SessionRoutes.ts:427 [SESSION] + message: "Skipping meta-observation for session-memory file" + full: logger.debug('SESSION', 'Skipping meta-observation for session-memory file', { tool_name, file_path: filePath }) + + src/services/worker/http/routes/SessionRoutes.ts:579 [HTTP] + message: "(message not captured)" + full: logger.debug('HTTP', `[ALIGNMENT] DB Lookup Proof | contentSessionId=${contentSessionId} → memorySessionId=${memorySessionId || '(not yet captured) + + src/services/worker/http/routes/SessionRoutes.ts:581 [HTTP] + message: "[ALIGNMENT] New Session | contentSessionId=${contentSessionId} | prompt#=${promptNumber} | memorySessionId will be captured on first SDK response" + full: logger.debug('HTTP', `[ALIGNMENT] New Session | contentSessionId=${contentSessionId} | prompt#=${promptNumber} | memorySessionId will be captured on first SDK response`) + + src/services/worker/http/routes/SessionRoutes.ts:589 [HOOK] + message: "Session init - prompt entirely private" + full: logger.debug('HOOK', 'Session init - prompt entirely private', { sessionId: sessionDbId, promptNumber, originalLength: prompt.length }) + + src/services/worker/http/routes/SessionRoutes.ts:608 [SESSION] + message: "User prompt saved" + full: logger.debug('SESSION', 'User prompt saved', { sessionId: sessionDbId, promptNumber }) + + src/services/worker/http/routes/SettingsRoutes.ts:353 [SETTINGS] + message: "Invalid URL format" + full: logger.debug('SETTINGS', 'Invalid URL format', { url: settings.CLAUDE_MEM_OPENROUTER_SITE_URL, error: error instanceof Error ? error.message : String(error) + + src/services/worker/http/routes/SettingsRoutes.ts:393 [WORKER] + message: "(message not captured)" + full: logger.debug('WORKER', 'MCP toggle no-op (already in desired state) + + src/services/worker/OpenRouterAgent.ts:340 [SDK] + message: "(message not captured)" + full: logger.debug('SDK', `Querying OpenRouter multi-turn (${model}) + + src/services/worker/PaginationHelper.ts:55 [WORKER] + message: "File paths is plain string, using as-is" + error: err as Error + full: logger.debug('WORKER', 'File paths is plain string, using as-is', {}, err as Error) + + src/services/worker/SDKAgent.ts:90 [SDK] + message: "[ALIGNMENT] Resume Decision | contentSessionId=${session.contentSessionId} | memorySessionId=${session.memorySessionId} | prompt#=${session.lastPromptNumber} | hasRealMemorySessionId=${hasRealMemorySessionId} | willResume=${willResume} | resumeWith=${willResume ? session.memorySessionId : 'NONE'}" + full: logger.debug('SDK', `[ALIGNMENT] Resume Decision | contentSessionId=${session.contentSessionId} | memorySessionId=${session.memorySessionId} | prompt#=${session.lastPromptNumber} | hasRealMemorySessionId=${hasRealMemorySessionId} | willResume=${willResume} | resumeWith=${willResume ? session.memorySessionId : 'NONE'}`) + + src/services/worker/SDKAgent.ts:94 [SDK] + message: "(message not captured)" + full: logger.debug('SDK', `[ALIGNMENT] First Prompt (INIT) + + src/services/worker/SDKAgent.ts:140 [SDK] + message: "[ALIGNMENT] Captured | contentSessionId=${session.contentSessionId} → memorySessionId=${message.session_id} | Future prompts will resume with this ID" + full: logger.debug('SDK', `[ALIGNMENT] Captured | contentSessionId=${session.contentSessionId} → memorySessionId=${message.session_id} | Future prompts will resume with this ID`) + + src/services/worker/SDKAgent.ts:166 [SDK] + message: "Token usage captured" + full: logger.debug('SDK', 'Token usage captured', { sessionId: session.sessionDbId, inputTokens: usage.input_tokens, outputTokens: usage.output_tokens, cacheCreation: usage.cache_creation_input_tokens || 0, cacheRead: usage.cache_read_input_tokens || 0, cumulativeInput: session.cumulativeInputTokens, cumulativeOutput: session.cumulativeOutputTokens }) + + src/services/worker/SDKAgent.ts:385 [SDK] + message: "Claude executable auto-detection failed" + error: error as Error + full: logger.debug('SDK', 'Claude executable auto-detection failed', {}, error as Error) + + src/services/worker/search/SearchOrchestrator.ts:86 [SEARCH] + message: "Orchestrator: Filter-only query, using SQLite" + full: logger.debug('SEARCH', 'Orchestrator: Filter-only query, using SQLite', {}) + + src/services/worker/search/SearchOrchestrator.ts:92 [SEARCH] + message: "Orchestrator: Using Chroma semantic search" + full: logger.debug('SEARCH', 'Orchestrator: Using Chroma semantic search', {}) + + src/services/worker/search/SearchOrchestrator.ts:101 [SEARCH] + message: "Orchestrator: Chroma failed, falling back to SQLite" + full: logger.debug('SEARCH', 'Orchestrator: Chroma failed, falling back to SQLite', {}) + + src/services/worker/search/SearchOrchestrator.ts:114 [SEARCH] + message: "Orchestrator: Chroma not available" + full: logger.debug('SEARCH', 'Orchestrator: Chroma not available', {}) + + src/services/worker/search/strategies/ChromaSearchStrategy.ts:71 [SEARCH] + message: "ChromaSearchStrategy: Querying Chroma" + full: logger.debug('SEARCH', 'ChromaSearchStrategy: Querying Chroma', { query, searchType }) + + src/services/worker/search/strategies/ChromaSearchStrategy.ts:78 [SEARCH] + message: "ChromaSearchStrategy: Chroma returned matches" + full: logger.debug('SEARCH', 'ChromaSearchStrategy: Chroma returned matches', { matchCount: chromaResults.ids.length }) + + src/services/worker/search/strategies/ChromaSearchStrategy.ts:94 [SEARCH] + message: "ChromaSearchStrategy: Filtered by recency" + full: logger.debug('SEARCH', 'ChromaSearchStrategy: Filtered by recency', { count: recentItems.length }) + + src/services/worker/search/strategies/ChromaSearchStrategy.ts:127 [SEARCH] + message: "ChromaSearchStrategy: Hydrated results" + full: logger.debug('SEARCH', 'ChromaSearchStrategy: Hydrated results', { observations: observations.length, sessions: sessions.length, prompts: prompts.length }) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:72 [SEARCH] + message: "HybridSearchStrategy: findByConcept" + full: logger.debug('SEARCH', 'HybridSearchStrategy: findByConcept', { concept }) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:76 [SEARCH] + message: "HybridSearchStrategy: Found metadata matches" + full: logger.debug('SEARCH', 'HybridSearchStrategy: Found metadata matches', { count: metadataResults.length }) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:93 [SEARCH] + message: "HybridSearchStrategy: Ranked by semantic relevance" + full: logger.debug('SEARCH', 'HybridSearchStrategy: Ranked by semantic relevance', { count: rankedIds.length }) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:138 [SEARCH] + message: "HybridSearchStrategy: findByType" + full: logger.debug('SEARCH', 'HybridSearchStrategy: findByType', { type: typeStr }) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:142 [SEARCH] + message: "HybridSearchStrategy: Found metadata matches" + full: logger.debug('SEARCH', 'HybridSearchStrategy: Found metadata matches', { count: metadataResults.length }) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:159 [SEARCH] + message: "HybridSearchStrategy: Ranked by semantic relevance" + full: logger.debug('SEARCH', 'HybridSearchStrategy: Ranked by semantic relevance', { count: rankedIds.length }) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:205 [SEARCH] + message: "HybridSearchStrategy: findByFile" + full: logger.debug('SEARCH', 'HybridSearchStrategy: findByFile', { filePath }) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:209 [SEARCH] + message: "HybridSearchStrategy: Found file matches" + full: logger.debug('SEARCH', 'HybridSearchStrategy: Found file matches', { observations: metadataResults.observations.length, sessions: metadataResults.sessions.length }) + + src/services/worker/search/strategies/HybridSearchStrategy.ts:230 [SEARCH] + message: "HybridSearchStrategy: Ranked observations" + full: logger.debug('SEARCH', 'HybridSearchStrategy: Ranked observations', { count: rankedIds.length }) + + src/services/worker/search/strategies/SQLiteSearchStrategy.ts:61 [SEARCH] + message: "SQLiteSearchStrategy: Filter-only query" + full: logger.debug('SEARCH', 'SQLiteSearchStrategy: Filter-only query', { searchType, hasDateRange: !!dateRange, hasProject: !!project }) + + src/services/worker/search/strategies/SQLiteSearchStrategy.ts:86 [SEARCH] + message: "SQLiteSearchStrategy: Results" + full: logger.debug('SEARCH', 'SQLiteSearchStrategy: Results', { observations: observations.length, sessions: sessions.length, prompts: prompts.length }) + + src/services/worker/SearchManager.ts:140 [SEARCH] + message: "(message not captured)" + full: logger.debug('SEARCH', 'Filter-only query (no query text) + + src/services/worker/SearchManager.ts:155 [SEARCH] + message: "Using ChromaDB semantic search" + full: logger.debug('SEARCH', 'Using ChromaDB semantic search', { typeFilter: type || 'all' }) + + src/services/worker/SearchManager.ts:170 [SEARCH] + message: "ChromaDB returned semantic matches" + full: logger.debug('SEARCH', 'ChromaDB returned semantic matches', { matchCount: chromaResults.ids.length }) + + src/services/worker/SearchManager.ts:181 [SEARCH] + message: "Results within 90-day window" + full: logger.debug('SEARCH', 'Results within 90-day window', { count: recentMetadata.length }) + + src/services/worker/SearchManager.ts:199 [SEARCH] + message: "Categorized results by type" + full: logger.debug('SEARCH', 'Categorized results by type', { observations: obsIds.length, sessions: sessionIds.length, prompts: prompts.length }) + + src/services/worker/SearchManager.ts:214 [SEARCH] + message: "Hydrated results from SQLite" + full: logger.debug('SEARCH', 'Hydrated results from SQLite', { observations: observations.length, sessions: sessions.length, prompts: prompts.length }) + + src/services/worker/SearchManager.ts:217 [SEARCH] + message: "(message not captured)" + full: logger.debug('SEARCH', 'ChromaDB found no matches (final result, no FTS5 fallback) + + src/services/worker/SearchManager.ts:223 [SEARCH] + message: "ChromaDB not initialized - semantic search unavailable" + full: logger.debug('SEARCH', 'ChromaDB not initialized - semantic search unavailable', {}) + + src/services/worker/SearchManager.ts:224 [SEARCH] + message: "Install UVX/Python to enable vector search" + full: logger.debug('SEARCH', 'Install UVX/Python to enable vector search', { url: 'https://docs.astral.sh/uv/getting-started/installation/' }) + + src/services/worker/SearchManager.ts:398 [SEARCH] + message: "Using hybrid semantic search for timeline query" + full: logger.debug('SEARCH', 'Using hybrid semantic search for timeline query', {}) + + src/services/worker/SearchManager.ts:400 [SEARCH] + message: "Chroma returned semantic matches for timeline" + full: logger.debug('SEARCH', 'Chroma returned semantic matches for timeline', { matchCount: chromaResults?.ids?.length ?? 0 }) + + src/services/worker/SearchManager.ts:431 [SEARCH] + message: "Query mode: Using observation as timeline anchor" + full: logger.debug('SEARCH', 'Query mode: Using observation as timeline anchor', { observationId: topResult.id }) + + src/services/worker/SearchManager.ts:650 [SEARCH] + message: "Using Chroma semantic search with type=decision filter" + full: logger.debug('SEARCH', 'Using Chroma semantic search with type=decision filter', {}) + + src/services/worker/SearchManager.ts:661 [SEARCH] + message: "Using metadata-first + semantic ranking for decisions" + full: logger.debug('SEARCH', 'Using metadata-first + semantic ranking for decisions', {}) + + src/services/worker/SearchManager.ts:722 [SEARCH] + message: "Using hybrid search for change-related observations" + full: logger.debug('SEARCH', 'Using hybrid search for change-related observations', {}) + + src/services/worker/SearchManager.ts:804 [SEARCH] + message: "Using metadata-first + semantic ranking for how-it-works" + full: logger.debug('SEARCH', 'Using metadata-first + semantic ranking for how-it-works', {}) + + src/services/worker/SearchManager.ts:861 [SEARCH] + message: "(message not captured)" + full: logger.debug('SEARCH', 'Using hybrid semantic search (Chroma + SQLite) + + src/services/worker/SearchManager.ts:865 [SEARCH] + message: "Chroma returned semantic matches" + full: logger.debug('SEARCH', 'Chroma returned semantic matches', { matchCount: chromaResults.ids.length }) + + src/services/worker/SearchManager.ts:875 [SEARCH] + message: "Results within 90-day window" + full: logger.debug('SEARCH', 'Results within 90-day window', { count: recentIds.length }) + + src/services/worker/SearchManager.ts:881 [SEARCH] + message: "Hydrated observations from SQLite" + full: logger.debug('SEARCH', 'Hydrated observations from SQLite', { count: results.length }) + + src/services/worker/SearchManager.ts:918 [SEARCH] + message: "Using hybrid semantic search for sessions" + full: logger.debug('SEARCH', 'Using hybrid semantic search for sessions', {}) + + src/services/worker/SearchManager.ts:922 [SEARCH] + message: "Chroma returned semantic matches for sessions" + full: logger.debug('SEARCH', 'Chroma returned semantic matches for sessions', { matchCount: chromaResults.ids.length }) + + src/services/worker/SearchManager.ts:932 [SEARCH] + message: "Results within 90-day window" + full: logger.debug('SEARCH', 'Results within 90-day window', { count: recentIds.length }) + + src/services/worker/SearchManager.ts:938 [SEARCH] + message: "Hydrated sessions from SQLite" + full: logger.debug('SEARCH', 'Hydrated sessions from SQLite', { count: results.length }) + + src/services/worker/SearchManager.ts:975 [SEARCH] + message: "Using hybrid semantic search for user prompts" + full: logger.debug('SEARCH', 'Using hybrid semantic search for user prompts', {}) + + src/services/worker/SearchManager.ts:979 [SEARCH] + message: "Chroma returned semantic matches for prompts" + full: logger.debug('SEARCH', 'Chroma returned semantic matches for prompts', { matchCount: chromaResults.ids.length }) + + src/services/worker/SearchManager.ts:989 [SEARCH] + message: "Results within 90-day window" + full: logger.debug('SEARCH', 'Results within 90-day window', { count: recentIds.length }) + + src/services/worker/SearchManager.ts:995 [SEARCH] + message: "Hydrated user prompts from SQLite" + full: logger.debug('SEARCH', 'Hydrated user prompts from SQLite', { count: results.length }) + + src/services/worker/SearchManager.ts:1032 [SEARCH] + message: "Using metadata-first + semantic ranking for concept search" + full: logger.debug('SEARCH', 'Using metadata-first + semantic ranking for concept search', {}) + + src/services/worker/SearchManager.ts:1036 [SEARCH] + message: "Found observations with concept" + full: logger.debug('SEARCH', 'Found observations with concept', { concept, count: metadataResults.length }) + + src/services/worker/SearchManager.ts:1051 [SEARCH] + message: "Chroma ranked results by semantic relevance" + full: logger.debug('SEARCH', 'Chroma ranked results by semantic relevance', { count: rankedIds.length }) + + src/services/worker/SearchManager.ts:1064 [SEARCH] + message: "Using SQLite-only concept search" + full: logger.debug('SEARCH', 'Using SQLite-only concept search', {}) + + src/services/worker/SearchManager.ts:1103 [SEARCH] + message: "Using metadata-first + semantic ranking for file search" + full: logger.debug('SEARCH', 'Using metadata-first + semantic ranking for file search', {}) + + src/services/worker/SearchManager.ts:1107 [SEARCH] + message: "Found results for file" + full: logger.debug('SEARCH', 'Found results for file', { file: filePath, observations: metadataResults.observations.length, sessions: metadataResults.sessions.length }) + + src/services/worker/SearchManager.ts:1126 [SEARCH] + message: "Chroma ranked observations by semantic relevance" + full: logger.debug('SEARCH', 'Chroma ranked observations by semantic relevance', { count: rankedIds.length }) + + src/services/worker/SearchManager.ts:1139 [SEARCH] + message: "Using SQLite-only file search" + full: logger.debug('SEARCH', 'Using SQLite-only file search', {}) + + src/services/worker/SearchManager.ts:1223 [SEARCH] + message: "Using metadata-first + semantic ranking for type search" + full: logger.debug('SEARCH', 'Using metadata-first + semantic ranking for type search', {}) + + src/services/worker/SearchManager.ts:1227 [SEARCH] + message: "Found observations with type" + full: logger.debug('SEARCH', 'Found observations with type', { type: typeStr, count: metadataResults.length }) + + src/services/worker/SearchManager.ts:1242 [SEARCH] + message: "Chroma ranked results by semantic relevance" + full: logger.debug('SEARCH', 'Chroma ranked results by semantic relevance', { count: rankedIds.length }) + + src/services/worker/SearchManager.ts:1255 [SEARCH] + message: "Using SQLite-only type search" + full: logger.debug('SEARCH', 'Using SQLite-only type search', {}) + + src/services/worker/SearchManager.ts:1331 [WORKER] + message: "files_read is plain string, using as-is" + error: error as Error + full: logger.debug('WORKER', 'files_read is plain string, using as-is', {}, error as Error) + + src/services/worker/SearchManager.ts:1346 [WORKER] + message: "files_edited is plain string, using as-is" + error: error as Error + full: logger.debug('WORKER', 'files_edited is plain string, using as-is', {}, error as Error) + + src/services/worker/SearchManager.ts:1631 [SEARCH] + message: "Using hybrid semantic search for timeline query" + full: logger.debug('SEARCH', 'Using hybrid semantic search for timeline query', {}) + + src/services/worker/SearchManager.ts:1633 [SEARCH] + message: "Chroma returned semantic matches for timeline" + full: logger.debug('SEARCH', 'Chroma returned semantic matches for timeline', { matchCount: chromaResults.ids.length }) + + src/services/worker/SearchManager.ts:1643 [SEARCH] + \ No newline at end of file diff --git a/plugin/CLAUDE.md b/plugin/CLAUDE.md index fca6bf37..dcf7eedb 100644 --- a/plugin/CLAUDE.md +++ b/plugin/CLAUDE.md @@ -12,11 +12,6 @@ | #34350 | 11:12 PM | ✅ | Version 8.5.0 Build Completed Successfully | ~425 | | #34214 | 10:07 PM | 🔵 | Cursor Integration Feature Set Discovered via Memory Search | ~427 | | #34208 | 10:00 PM | ✅ | claude-mem v8.2.10 built and synced to marketplace | ~416 | -| #34163 | 9:38 PM | ✅ | Project rebuilt with updated interactive setup wizard | ~326 | -| #34092 | 9:02 PM | ✅ | Built claude-mem project with updated interactive setup wizard | ~452 | -| #33997 | 7:10 PM | ✅ | Version Bumped to 8.2.10 | ~179 | -| #33996 | " | 🟣 | Built claude-mem v8.2.10 with all hooks and services | ~387 | -| #33982 | 7:08 PM | ✅ | Staged Version Mismatch Fix Changes | ~333 | ### Dec 30, 2025 @@ -84,4 +79,12 @@ | ID | Time | T | Title | Read | |----|------|---|-------|------| | #37545 | 4:47 PM | ✅ | Issue #544 Analysis Report Created for mem-search Skill Messaging Problem | ~480 | + +### Jan 7, 2026 + +**package.json** +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #38186 | 7:33 PM | 🟣 | Claude-mem plugin v9.0.0 built and deployed to marketplace | ~327 | +| #38120 | 5:46 PM | 🔴 | Rebuilt all plugin hooks and worker service | ~278 | \ No newline at end of file diff --git a/plugin/hooks/CLAUDE.md b/plugin/hooks/CLAUDE.md index 78cf54f5..0533702f 100644 --- a/plugin/hooks/CLAUDE.md +++ b/plugin/hooks/CLAUDE.md @@ -3,107 +3,29 @@ -### Dec 27, 2025 +### Oct 25, 2025 -**hooks.json** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #33090 | 7:05 PM | 🔵 | Claude-mem hook configuration reviewed for session disconnect investigation | ~331 | -| #33038 | 5:14 PM | 🔵 | PR 462 Code Review Identifies Critical Endpoint Mismatch and Worker Restart Issues | ~475 | -| #33025 | 5:00 PM | 🟣 | Automated worker restart on plugin updates | ~391 | -| #33017 | 4:57 PM | ✅ | Auto-Restart Feature Deployed to Production Version 8.2.2 | ~367 | -| #33014 | 4:56 PM | 🔄 | SessionStart Hook Reordered for Immediate Worker Restart | ~380 | -| #33012 | " | 🔵 | Plugin Hook Chain Orchestrates Worker Lifecycle | ~412 | -| #33007 | 4:54 PM | 🔵 | Worker Service Lifecycle and Version Mismatch Detection Analysis | ~530 | -| #33006 | 4:47 PM | 🔴 | Changed SessionStart hook from restart to start command | ~311 | -| #33001 | 4:44 PM | ⚖️ | Lockfile-Based Concurrency Control for Windows Multi-Session Fix | ~513 | -| #32996 | 4:42 PM | ⚖️ | Implementation Plan: Atomic Lockfile Strategy for Windows Concurrency Fix | ~639 | -| #32995 | 4:40 PM | 🔵 | Critical Finding: Windows Managed Mode Not Activated in Hooks | ~657 | +| #2518 | 11:47 PM | 🔴 | Removed Invalid 'matcher' Field from SessionStart Hook | ~228 | +| #2517 | " | 🔵 | Project hooks.json Template Also Empty | ~222 | +| #2501 | 11:11 PM | 🔵 | Context Hook Fails Due to Missing @anthropic-ai/sdk Dependency | ~245 | -### Dec 28, 2025 +### Oct 27, 2025 -**hooks.json** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #33323 | 3:09 PM | 🔴 | Fixed Windows multi-session worker race condition causing hangs | ~513 | -| #33318 | " | 🔴 | Fixed Worker Auto-Restart Shutdown Endpoint and Port Configuration | ~411 | -| #33284 | 3:07 PM | 🔄 | Consolidated Worker Lifecycle Management (-580 Lines) | ~327 | -| #33271 | 2:59 PM | ⚖️ | Plan Created to Fix Worker Lifecycle in 8 Phases | ~399 | -| #33269 | " | 🔵 | PR #456 Broke Worker Background Execution | ~365 | -| #33266 | 2:58 PM | 🟣 | Test coverage for self-spawn worker pattern | ~391 | -| #33263 | " | 🔴 | Increased timeout limits across system for slow systems compatibility | ~463 | +| #2718 | 12:00 AM | 🔴 | Removed incorrect failOnError configuration from hook | ~165 | -### Dec 29, 2025 +### Nov 18, 2025 -**hooks.json** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #33960 | 7:00 PM | 🔵 | Hook Chain Architecture in hooks.json | ~389 | -| #33905 | 5:18 PM | 🟣 | Platform-Native Worker Executable Compilation | ~498 | -| #33895 | 5:13 PM | 🟣 | Implemented install-time worker executable compilation | ~423 | -| #33888 | 5:12 PM | ✅ | Worker Service Command Simplified in Plugin Hooks | ~251 | -| #33869 | 4:47 PM | 🔵 | Claude Code Hook System Integration for Memory Lifecycle Management | ~477 | -| #33868 | " | ⚖️ | Windows standalone executable implementation plan designed | ~590 | -| #33858 | 4:34 PM | 🔵 | Hook execution configuration uses mixed node and bun commands | ~402 | -| #33854 | 4:33 PM | 🔵 | Worker service build and execution architecture mapped | ~509 | +| #11518 | 8:22 PM | 🔵 | Smart Contextualization Switched from Skill to HTTP API | ~498 | -### Dec 30, 2025 +### Dec 24, 2025 -**hooks.json** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #34392 | 1:41 PM | 🔵 | Plugin Hooks Architecture Shows No Cleanup Hook for Session Termination | ~396 | - -### Dec 31, 2025 - -**hooks.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34687 | 3:39 PM | 🔵 | Hook Configuration Uses CLAUDE_PLUGIN_ROOT Environment Variable | ~387 | - -### Jan 2, 2026 - -**hooks.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35911 | 2:51 PM | 🔵 | Hooks.json Defines Timeout Values For Hook Execution | ~361 | - -### Jan 4, 2026 - -**hooks.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36937 | 2:36 AM | 🔵 | Matcher Line History - Added November 2025 | ~203 | -| #36936 | 2:34 AM | 🔵 | Current SessionStart Hook Configuration Analysis | ~338 | -| #36935 | " | 🔵 | PR #541 Changes - Matcher Removal in SessionStart Hook | ~263 | - -### Jan 5, 2026 - -**hooks.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38100 | 10:46 PM | 🔵 | Legacy hooks.json still references Bun runtime | ~393 | -| #38057 | 9:48 PM | ✅ | Live Context Branch Changes Hook Runtime from Bun Back to Node | ~449 | -| #38048 | 9:45 PM | 🔴 | PR #558 - Comprehensive Bug Fix and Test Quality Improvement | ~585 | -| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 | -| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 | -| #37604 | 4:59 PM | 🔴 | Phase 4 Committed - Hook Runtime Mismatch Fixed | ~377 | -| #37603 | " | ✅ | Phase 4 Corrected - smart-install.js Restored to node Runtime | ~385 | -| #37602 | 4:58 PM | ✅ | Reverted smart-install.js to node Runtime | ~301 | -| #37597 | 4:57 PM | 🔴 | Phase 4 Complete - All Hooks Now Use bun Runtime | ~386 | -| #37596 | " | ✅ | Phase 4 Verification - All Commands Now Use bun Runtime | ~325 | -| #37595 | 4:56 PM | 🔴 | Fixed All Hook Commands to Use bun Runtime | ~364 | -| #37594 | " | 🔵 | hooks.json Contains Mixed node and bun Runtime Commands | ~377 | -| #37558 | 4:49 PM | 🔵 | Issue #555 Windows Hook Execution Patterns and Fix Strategy Documented | ~510 | -| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 | -| #37547 | 4:47 PM | ✅ | Issue #557 Analysis Report Created for Plugin Startup Failure | ~491 | -| #37531 | 4:43 PM | 🔵 | Plugin Hook Configuration and Lifecycle Definition | ~424 | - -### Jan 6, 2026 - -**hooks.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 | -| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 | +| #32309 | 3:09 PM | 🔵 | Claude-mem hooks system configuration structure | ~435 | \ No newline at end of file diff --git a/plugin/hooks/hooks.json b/plugin/hooks/hooks.json index a6f53bad..4fb31ac2 100644 --- a/plugin/hooks/hooks.json +++ b/plugin/hooks/hooks.json @@ -19,11 +19,6 @@ "type": "command", "command": "bun \"${CLAUDE_PLUGIN_ROOT}/scripts/context-hook.js\"", "timeout": 60 - }, - { - "type": "command", - "command": "bun \"${CLAUDE_PLUGIN_ROOT}/scripts/user-message-hook.js\"", - "timeout": 60 } ] } diff --git a/plugin/modes/CLAUDE.md b/plugin/modes/CLAUDE.md index c9c5daa7..adfdcb11 100644 --- a/plugin/modes/CLAUDE.md +++ b/plugin/modes/CLAUDE.md @@ -3,181 +3,5 @@ -### Dec 22, 2025 - -**code--fr.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31959 | 8:41 PM | 🔵 | French Language Remix Implementation Pattern | ~336 | -| #31883 | 7:12 PM | ✅ | Externalisation des prompts de résumé dans le fichier de configuration JSON français | ~345 | -| #31840 | 6:47 PM | 🔄 | Removed unused header configuration strings from French mode | ~228 | - -**code.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31958 | 8:40 PM | 🔵 | Mode System Structure in Claude-Mem | ~304 | -| #31891 | 7:17 PM | 🔴 | Migration des prompts de résumé vers les fichiers de modes pour le support multilingue | ~474 | -| #31869 | 7:03 PM | 🔵 | コードモードJSONファイルのプロンプト構造の確認 | ~196 | - -**code--hu.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31941 | 7:57 PM | 🟣 | Hungarian language mode configuration created | ~336 | - -**code--es.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31940 | 7:56 PM | 🔵 | Claude-mem supports 28 language localizations for code mode | ~365 | -| #31922 | 7:50 PM | 🔵 | Spanish Language Mode Remix File Structure | ~323 | -| #31875 | 7:07 PM | ✅ | Standardisation du pied de page de résumé en anglais avec exigence linguistique | ~301 | -| #31874 | " | ✅ | Ajout des instructions de résumé au fichier de mode espagnol | ~308 | -| #31871 | 7:04 PM | 🔵 | Examen de la structure des fichiers de modes multilingues | ~354 | -| #31838 | 6:46 PM | 🔄 | Removed unused header configuration strings from Spanish mode | ~240 | - -**code--el.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31939 | 7:56 PM | 🟣 | Greek language mode configuration created | ~330 | - -**code--it.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31938 | 7:56 PM | 🟣 | Italian language mode configuration created | ~333 | - -**code--sv.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31937 | 7:56 PM | 🟣 | Swedish language mode configuration created | ~330 | - -**code--ro.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31936 | 7:56 PM | 🟣 | Romanian language mode configuration created | ~328 | - -**code--bn.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31935 | 7:56 PM | 🟣 | Bengali language mode configuration created | ~329 | - -**code--hi.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31934 | 7:55 PM | 🟣 | Hindi language mode configuration created | ~318 | - -**code--id.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31933 | 7:55 PM | 🟣 | Indonesian language mode configuration created | ~307 | - -**code--uk.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31932 | 7:54 PM | 🟣 | Ukrainian Language Mode File Created for Code Development Observer | ~330 | - -**code--tr.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31931 | 7:53 PM | 🟣 | Turkish Language Mode File Created for Code Development Observer | ~323 | - -**code--nl.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31930 | 7:53 PM | 🟣 | Dutch Language Mode File Created for Code Development Observer | ~317 | - -**code--cs.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31929 | 7:53 PM | 🟣 | Czech Language Mode File Created for Code Development Observer | ~316 | - -**code--pl.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31928 | 7:53 PM | 🟣 | Polish Language Mode File Created for Code Development Observer | ~319 | - -**code--ar.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31927 | 7:53 PM | 🟣 | Arabic Language Mode File Created for Code Development Observer | ~320 | - -**code--he.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31926 | 7:53 PM | 🟣 | Hebrew Language Mode File Created for Code Development Observer | ~319 | - -**code--ja.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31925 | 7:52 PM | 🟣 | Japanese Language Mode File Created for Code Development Observer | ~324 | -| #31881 | 7:10 PM | ✅ | Ajout des prompts de summary au fichier mode japonais | ~269 | - -**code--ko.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31924 | 7:52 PM | 🟣 | Korean Language Mode File Created for Code Development Observer | ~318 | -| #31877 | 7:09 PM | 🔵 | Examen du fichier de mode coréen révélant une structure de prompts externalisés | ~372 | -| #31837 | 6:46 PM | 🔄 | Removed unused header configuration strings from Korean mode | ~255 | - -**code--de.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31890 | 7:17 PM | 🔵 | Modifications en cours sur les fichiers de modes multilingues et le système de prompts | ~325 | -| #31886 | 7:14 PM | 🔄 | Externalisation du footer de résumé dans la configuration des prompts | ~318 | -| #31841 | 6:47 PM | 🔄 | Removed unused header configuration strings from German mode | ~231 | - -**code--pt.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31888 | 7:16 PM | ✅ | Ajout du champ summary_footer aux prompts du mode portugais | ~301 | -| #31842 | 6:47 PM | 🔄 | Removed unused header configuration strings from Portuguese mode | ~225 | - -**code--zh.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31884 | 7:13 PM | ✅ | Externalisation des prompts de résumé dans le fichier de configuration JSON chinois | ~290 | -| #31839 | 6:46 PM | 🔄 | Removed unused header configuration strings from Chinese mode | ~260 | - -**code--th.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31845 | 6:48 PM | 🔄 | Removed unused header configuration strings from Thai mode | ~215 | - -**code--vi.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31844 | 6:47 PM | 🔄 | Removed unused header configuration strings from Vietnamese mode | ~215 | - -**code--ru.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31843 | 6:47 PM | 🔄 | Removed unused header configuration strings from Russian mode | ~225 | - -### Dec 23, 2025 - -**email-investigation.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32026 | 7:39 PM | 🔵 | Email Investigation Mode Configuration Located | ~300 | - -**code--pt-br.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32297 | 7:50 PM | ✅ | Renamed Portuguese mode file to Brazilian Portuguese | ~191 | -| #32322 | " | ✅ | Updated pt-br mode display name to Brazilian Portuguese | ~221 | - -### Dec 24, 2025 - -**email-investigation.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32384 | 9:18 PM | ✅ | Email investigation mode enhanced with observation granularity guidance | ~340 | -| #32227 | 8:21 PM | 🔴 | Added missing summary prompts to email-investigation mode | ~308 | -| #32209 | 8:16 PM | 🟣 | Email Investigation mode configured for fraud analysis | ~348 | -| #32205 | 7:55 PM | ✅ | Email Investigation Observation Granularity Guidance | ~256 | - -### Dec 25, 2025 - -**email-investigation.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32456 | 5:41 PM | ✅ | Completed merge of main branch into feature/titans-phase1-3 | ~354 | +*No recent activity* \ No newline at end of file diff --git a/plugin/scripts/CLAUDE.md b/plugin/scripts/CLAUDE.md index 9a81544a..813e380f 100644 --- a/plugin/scripts/CLAUDE.md +++ b/plugin/scripts/CLAUDE.md @@ -3,139 +3,123 @@ -### Jan 2, 2026 +### Dec 4, 2025 -**context-generator.cjs** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35982 | 5:09 PM | ✅ | Built and deployed claude-mem version 8.5.4 with LogsModal UI component | ~295 | -| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 | +| #20052 | 3:23 PM | ✅ | Built and deployed version 6.5.2 to marketplace | ~321 | + +### Dec 7, 2025 -**worker-service.cjs** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35976 | 4:48 PM | ✅ | Claude-mem build and marketplace sync completed | ~335 | -| #35925 | 2:53 PM | ✅ | Built Project for Version 8.5.4 Release | ~294 | -| #35815 | 2:26 PM | ✅ | Claude-mem plugin built and deployed to marketplace | ~381 | +| #21251 | 6:06 PM | 🔵 | Context Hook Plugin Architecture and Worker Communication | ~405 | + +### Dec 8, 2025 -**new-hook.js** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35952 | 4:42 PM | 🔵 | Hook and Session Test Coverage Discovery | ~323 | +| #22092 | 6:40 PM | 🔵 | Queue Depth Check Not Found in Minified Code | ~217 | +| #22091 | " | 🔵 | Save Hook Script Structure Revealed | ~472 | +| #22085 | 6:34 PM | 🔵 | Examined pre-tool-use-hook.js implementation showing timing-only logic | ~330 | + +### Dec 9, 2025 -**context-hook.js** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35873 | 2:39 PM | ✅ | Claude-mem plugin synced to marketplace version 8.5.3 | ~261 | +| #22557 | 1:08 AM | ✅ | Build completed for version 7.0.3 | ~342 | -### Jan 3, 2026 +### Dec 10, 2025 -**context-generator.cjs** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36687 | 11:53 PM | ✅ | MCP SDK and esbuild Dependencies Updated | ~332 | -| #36353 | 8:42 PM | 🔵 | Multiple observation table definitions found across codebase | ~280 | -| #36304 | 8:06 PM | 🔄 | Git Status: Phase 4 Changes Ready for Commit | ~570 | +| #23444 | 2:25 PM | 🟣 | Build Pipeline Execution Successful | ~293 | + +### Dec 11, 2025 -**new-hook.js** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36682 | 11:45 PM | 🔵 | Build System Successfully Compiles All Hooks and Services | ~290 | +| #24057 | 2:56 PM | ✅ | Hook Scripts Shebang Verification | ~294 | +| #24056 | 2:55 PM | ✅ | Worker CLI Shebang Verification | ~258 | +| #24055 | " | ✅ | Build Successful with Bun Runtime Shebangs | ~355 | + +### Dec 12, 2025 -**worker-service.cjs** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 | -| #36291 | 8:03 PM | 🔄 | Build Verification: Phase 3 & 4 Refactoring Compiles Successfully | ~545 | +| #24636 | 10:46 PM | 🔵 | Duplicate Smart Install Scripts in Project Structure | ~288 | +| #24635 | " | 🔵 | Claude-Mem Smart Install Script Architecture | ~371 | +| #24359 | 7:00 PM | 🟣 | Phase 1 Critical Code Fixes Completed via Agent Task | ~441 | +| #24358 | 6:59 PM | ✅ | Completed Phase 1 Code Fixes for better-sqlite3 Migration | ~385 | +| #24357 | " | ✅ | Removed createRequire Import from smart-install.js | ~284 | +| #24356 | " | ✅ | Removed Native Module Verification from main() Function | ~384 | +| #24355 | " | ✅ | Removed better-sqlite3 Error Detection from runNpmInstall() | ~324 | +| #24354 | 6:58 PM | ✅ | Removed getWindowsErrorHelp() Function from smart-install.js | ~356 | +| #24353 | " | ✅ | Removed verifyNativeModules() Function from smart-install.js | ~340 | +| #24352 | " | ✅ | Removed better-sqlite3 Existence Check from needsInstall() | ~266 | +| #24351 | " | ✅ | Removed BETTER_SQLITE3_PATH Constant from smart-install.js | ~226 | +| #24344 | 6:56 PM | 🔵 | smart-install.js Contains Obsolete better-sqlite3 Dependencies | ~380 | + +### Dec 13, 2025 -**context-hook.js** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36111 | 3:43 PM | 🔵 | Plugin Hook System Architecture | ~243 | +| #25286 | 8:41 PM | 🔵 | New Hook Fails with Node.js Path Error | ~298 | +| #25285 | " | 🔵 | Context Hook Runs Successfully with Node.js | ~306 | +| #25283 | " | 🔵 | Bun Wrapper Analysis: Fallback Detection System | ~416 | + +### Dec 14, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #26800 | 11:39 PM | ✅ | Version 7.2.3 Build Complete With Worker Restart Fix | ~394 | +| #26791 | 11:38 PM | ✅ | Phase 3 Complete: Project Built Successfully With Worker Restart Fix | ~446 | +| #26720 | 11:23 PM | 🔵 | Smart Install Handles Dependencies But No Worker Coordination | ~468 | +| #26719 | " | 🔵 | Worker CLI Provides Start/Stop/Restart Commands With Health Check Validation | ~490 | +| #26718 | " | 🔵 | Worker CLI Restart Implementation Details | ~452 | +| #26717 | 11:22 PM | 🔵 | Context Hook Worker Startup Logic Handles Initial Start But Not Post-Update Restart | ~485 | +| #26716 | " | 🔵 | Context Hook Worker Startup Logic Revealed | ~538 | +| #26715 | " | 🔵 | Smart Install Script Handles Dependency Installation Without Worker Restart | ~430 | +| #26052 | 7:13 PM | 🔵 | Examined Minified Context Hook Source Code | ~285 | +| #25686 | 4:22 PM | 🔵 | SessionRoutes tracks missing last_user_message errors at two different locations | ~456 | +| #25685 | " | 🔵 | Progress summary generation system uses Claude to create XML-formatted session checkpoints | ~461 | + +### Dec 16, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #27554 | 4:48 PM | ✅ | Project built successfully with version 7.3.1 | ~306 | + +### Dec 17, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #28924 | 7:29 PM | 🔵 | Plugin MCP Server Uses Bun Runtime | ~283 | + +### Dec 26, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #32983 | 11:04 PM | 🟣 | Complete build and deployment pipeline executed | ~260 | ### Jan 4, 2026 -**worker-service.cjs** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36926 | 2:26 AM | ✅ | Git rebase aborted and working directory restored | ~242 | -| #36701 | 12:01 AM | ✅ | Built Version 8.5.7 Plugin Artifacts | ~406 | +| #36873 | 1:55 AM | 🔵 | Smart-Install Script Analyzed for Homebrew Path Implementation | ~466 | + +### Jan 7, 2026 -**smart-install.js** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36924 | 2:25 AM | ✅ | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 | -| #36914 | 2:24 AM | 🔵 | Recent commit 4d0a10c fixed multiple GitHub issues | ~365 | -| #36829 | 1:40 AM | 🔵 | PR #542 Review Analysis - Multi-Issue Fix Validation | ~562 | -| #36827 | 1:03 AM | ✅ | Branch diff shows 1,293 insertions and 98 deletions across 15 files | ~464 | -| #36809 | 12:56 AM | 🟣 | GitHub Issue #527 Anti-Pattern Verification Complete - All Checks Passed | ~495 | -| #36807 | " | 🟣 | Final Verification Confirms Complete Apple Silicon Homebrew Implementation | ~430 | -| #36804 | 12:55 AM | 🟣 | Built File Syntax Validation Passed - Issue #527 Complete | ~378 | -| #36802 | " | 🟣 | Verified Built File Homebrew Path Count | ~398 | -| #36800 | 12:54 AM | 🟣 | Completed All Five Apple Silicon Homebrew Path Updates for GitHub Issue #527 | ~563 | -| #36799 | " | 🟣 | Added Apple Silicon Homebrew Path to plugin installBun Post-Installation Verification | ~456 | -| #36798 | " | 🟣 | Added Apple Silicon Homebrew Path to plugin isUvInstalled Function | ~436 | -| #36797 | 12:53 AM | 🟣 | Added Apple Silicon Homebrew Path to plugin getBunPath Function | ~443 | -| #36796 | " | 🟣 | Added Apple Silicon Homebrew Path to plugin isBunInstalled Function | ~427 | -| #36795 | 12:52 AM | 🟣 | GitHub Issue #527 Completed - Apple Silicon Homebrew Path Support | ~550 | -| #36794 | 12:51 AM | 🔵 | Built File Plugin smart-install.js Requires Apple Silicon Path Updates | ~442 | -| #36772 | 12:42 AM | 🔵 | Smart Install Script Path Arrays Analysis Complete | ~448 | -| #36761 | 12:36 AM | ✅ | Created Implementation Plans for Four GitHub Issues | ~507 | -| #36721 | 12:15 AM | 🔵 | Issue #527 UV Homebrew Path Missing on Apple Silicon | ~492 | -| #36719 | " | 🔵 | Issue #527 uv Homebrew Detection Missing on Apple Silicon Macs | ~526 | - -**new-hook.js** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36921 | 2:25 AM | ✅ | Project built successfully with all hooks and services | ~240 | - -### Jan 5, 2026 - -**worker-service.cjs** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38092 | 10:44 PM | ✅ | Built version 9.0.0 with complete plugin bundle | ~329 | -| #38036 | 9:43 PM | 🟣 | Configurable Observation Limits and Enhanced Folder Search | ~418 | -| #37981 | 8:34 PM | 🔴 | Fixed date parsing bug in worker assets | ~268 | -| #37610 | 5:04 PM | ✅ | Committed Rebuilt Plugin Scripts After Source Changes | ~432 | - -**context-generator.cjs** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 | -| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 | -| #37574 | 4:52 PM | ✅ | Phase 1 Changes Ready for Commit | ~351 | - -**context-hook.js** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38048 | 9:45 PM | 🔴 | PR #558 - Comprehensive Bug Fix and Test Quality Improvement | ~585 | - -**user-message-hook.js** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 | - -**smart-install.js** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37558 | 4:49 PM | 🔵 | Issue #555 Windows Hook Execution Patterns and Fix Strategy Documented | ~510 | -| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 | - -**worker-wrapper.cjs** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37553 | 4:48 PM | 🔵 | Windows Worker Wrapper Process Management Implementation | ~456 | - -### Jan 6, 2026 - -**cleanup-hook.js** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 | - -**bun-wrapper.cjs** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 | +| #38169 | 7:21 PM | 🔵 | SessionStart Hook Output Pattern Investigation Complete | ~464 | +| #38168 | " | 🔵 | Smart-Install Script Outputs All Status Messages to stderr via console.error | ~438 | +| #38167 | 7:20 PM | 🔵 | Context-Hook Uses stdin Event Handlers for Non-TTY JSON Output Mode | ~396 | +| #38166 | " | 🔵 | User-Message-Hook Executes at Top Level with Await and Exit Code 1 | ~423 | +| #38165 | " | 🔵 | Context-Hook Has Minimal Console Output in Compiled Code | ~333 | +| #38164 | " | 🔵 | Worker-Service Script is Large 1575-Line Multi-Purpose Service Manager | ~352 | +| #38163 | 7:19 PM | 🔵 | Worker-Service Script Uses console.log and console.error for Output | ~385 | +| #38162 | " | 🔵 | Smart-Install Script Auto-Installs Bun and UV Dependencies | ~495 | +| #38161 | " | 🔵 | User-Message-Hook Outputs to stderr and Exits with Code 1 | ~211 | +| #38160 | 7:18 PM | 🔵 | Context-Hook Returns JSON with hookSpecificOutput Structure | ~470 | \ No newline at end of file diff --git a/plugin/scripts/context-hook.js b/plugin/scripts/context-hook.js index 35974bd5..c8530ea1 100755 --- a/plugin/scripts/context-hook.js +++ b/plugin/scripts/context-hook.js @@ -1,13 +1,13 @@ #!/usr/bin/env bun -import{stdin as A}from"process";import C from"path";import{homedir as z}from"os";import{readFileSync as q}from"fs";import{appendFileSync as j,existsSync as h,mkdirSync as H,readFileSync as G}from"fs";import{join as T}from"path";import{homedir as K}from"os";var O=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(O||{}),U=T(K(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=T(U,"logs");h(t)||H(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=T(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=T(U,"settings.json");if(h(t)){let r=G(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=O[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} -${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),E=String(t.getSeconds()).padStart(2,"0"),c=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${i}:${s}:${E}.${c}`}log(t,r,e,n,i){if(t(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(S||{}),U=T(K(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=T(U,"logs");h(t)||H(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=T(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=T(U,"settings.json");if(h(t)){let r=G(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=S[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),E=String(t.getSeconds()).padStart(2,"0"),c=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${i}:${s}:${E}.${c}`}log(t,r,e,n,i){if(t0&&(p=` {${Object.entries(R).map(([x,b])=>`${x}=${b}`).join(", ")}}`)}let D=`[${s}] [${E}] [${c}] ${a}${e}${p}${_}`;if(this.logFilePath)try{j(this.logFilePath,D+` `,"utf8")}catch(d){process.stderr.write(`[LOGGER] Failed to write to log file: ${d} `)}else process.stderr.write(D+` `)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,i=""){let a=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),_=a?`${a[1].split("/").pop()}:${a[2]}`:"unknown",p={...e,location:_};return this.warn(t,`[HAPPY-PATH] ${r}`,p,n),i}},l=new M;var m={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function N(o){return process.platform==="win32"?Math.round(o*m.WINDOWS_MULTIPLIER):o}import{readFileSync as X,writeFileSync as P,existsSync as y,mkdirSync as V}from"fs";import{join as Y,dirname as B}from"path";import{homedir as J}from"os";var I="bugfix,feature,refactor,discovery,decision,change",k="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:Y(J(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:I,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:k,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!y(t)){let s=this.getAllDefaults();try{let E=B(t);y(E)||V(E,{recursive:!0}),P(t,JSON.stringify(s,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",t)}catch(E){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",t,E)}return s}let r=X(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{P(t,JSON.stringify(n,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",t)}catch(s){console.warn("[SETTINGS] Failed to auto-migrate settings file:",t,s)}}let i={...this.DEFAULTS};for(let s of Object.keys(this.DEFAULTS))n[s]!==void 0&&(i[s]=n[s]);return i}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",t,r),this.getAllDefaults()}}};function $(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,i=e||"Worker service connection failed.",s=t?` (port ${t})`:"",E=`${i}${s} +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),_=a?`${a[1].split("/").pop()}:${a[2]}`:"unknown",p={...e,location:_};return this.warn(t,`[HAPPY-PATH] ${r}`,p,n),i}},l=new M;var m={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function N(o){return process.platform==="win32"?Math.round(o*m.WINDOWS_MULTIPLIER):o}import{readFileSync as X,writeFileSync as P,existsSync as y,mkdirSync as V}from"fs";import{join as B,dirname as Y}from"path";import{homedir as J}from"os";var I="bugfix,feature,refactor,discovery,decision,change",k="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:B(J(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:I,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:k,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!y(t)){let s=this.getAllDefaults();try{let E=Y(t);y(E)||V(E,{recursive:!0}),P(t,JSON.stringify(s,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",t)}catch(E){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",t,E)}return s}let r=X(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{P(t,JSON.stringify(n,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",t)}catch(s){console.warn("[SETTINGS] Failed to auto-migrate settings file:",t,s)}}let i={...this.DEFAULTS};for(let s of Object.keys(this.DEFAULTS))n[s]!==void 0&&(i[s]=n[s]);return i}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",t,r),this.getAllDefaults()}}};function $(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,i=e||"Worker service connection failed.",s=t?` (port ${t})`:"",E=`${i}${s} `;return E+=`To restart the worker: `,E+=`1. Exit Claude Code completely @@ -16,4 +16,4 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?_=` If that doesn't work, try: /troubleshoot`),n&&(E=`Worker Error: ${n} -${E}`),E}var Q=C.join(z(),".claude","plugins","marketplaces","thedotmack"),It=N(m.HEALTH_CHECK),S=null;function u(){if(S!==null)return S;let o=C.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(o);return S=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),S}async function Z(){let o=u();return(await fetch(`http://127.0.0.1:${o}/api/readiness`)).ok}function tt(){let o=C.join(Q,"package.json");return JSON.parse(q(o,"utf-8")).version}async function et(){let o=u(),t=await fetch(`http://127.0.0.1:${o}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function rt(){let o=tt(),t=await et();o!==t&&l.debug("SYSTEM","Version check",{pluginVersion:o,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function v(){for(let r=0;r<75;r++){try{if(await Z()){await rt();return}}catch(e){l.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error($({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}import it from"path";import{statSync as nt,readFileSync as ot}from"fs";import L from"path";var f={isWorktree:!1,worktreeName:null,parentRepoPath:null,parentProjectName:null};function W(o){let t=L.join(o,".git"),r;try{r=nt(t)}catch{return f}if(!r.isFile())return f;let e;try{e=ot(t,"utf-8").trim()}catch{return f}let n=e.match(/^gitdir:\s*(.+)$/);if(!n)return f;let s=n[1].match(/^(.+)[/\\]\.git[/\\]worktrees[/\\]([^/\\]+)$/);if(!s)return f;let E=s[1],c=L.basename(o),a=L.basename(E);return{isWorktree:!0,worktreeName:c,parentRepoPath:E,parentProjectName:a}}function st(o){if(!o||o.trim()==="")return l.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=it.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let i=`drive-${e[1].toUpperCase()}`;return l.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:i}),i}}return l.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}function F(o){let t=st(o);if(!o)return{primary:t,parent:null,isWorktree:!1,allProjects:[t]};let r=W(o);return r.isWorktree&&r.parentProjectName?{primary:t,parent:r.parentProjectName,isWorktree:!0,allProjects:[r.parentProjectName,t]}:{primary:t,parent:null,isWorktree:!1,allProjects:[t]}}async function w(o){await v();let t=o?.cwd??process.cwd(),r=F(t),e=u(),n=r.allProjects.join(","),i=`http://127.0.0.1:${e}/api/context/inject?projects=${encodeURIComponent(n)}`,s=await fetch(i);if(!s.ok)throw new Error(`Context generation failed: ${s.status}`);return(await s.text()).trim()}var Et=process.argv.includes("--colors");if(A.isTTY||Et)w(void 0).then(o=>{console.log(o),process.exit(0)});else{let o="";A.on("data",t=>o+=t),A.on("end",async()=>{let t;try{t=o.trim()?JSON.parse(o):void 0}catch(e){throw new Error(`Failed to parse hook input: ${e instanceof Error?e.message:String(e)}`)}let r=await w(t);console.log(JSON.stringify({hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:r}})),process.exit(0)})} +${E}`),E}var Q=C.join(z(),".claude","plugins","marketplaces","thedotmack"),It=N(m.HEALTH_CHECK),O=null;function u(){if(O!==null)return O;let o=C.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(o);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function Z(){let o=u();return(await fetch(`http://127.0.0.1:${o}/api/readiness`)).ok}function tt(){let o=C.join(Q,"package.json");return JSON.parse(q(o,"utf-8")).version}async function et(){let o=u(),t=await fetch(`http://127.0.0.1:${o}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function rt(){let o=tt(),t=await et();o!==t&&l.debug("SYSTEM","Version check",{pluginVersion:o,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function v(){for(let r=0;r<75;r++){try{if(await Z()){await rt();return}}catch(e){l.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error($({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}import it from"path";import{statSync as nt,readFileSync as ot}from"fs";import L from"path";var f={isWorktree:!1,worktreeName:null,parentRepoPath:null,parentProjectName:null};function W(o){let t=L.join(o,".git"),r;try{r=nt(t)}catch{return f}if(!r.isFile())return f;let e;try{e=ot(t,"utf-8").trim()}catch{return f}let n=e.match(/^gitdir:\s*(.+)$/);if(!n)return f;let s=n[1].match(/^(.+)[/\\]\.git[/\\]worktrees[/\\]([^/\\]+)$/);if(!s)return f;let E=s[1],c=L.basename(o),a=L.basename(E);return{isWorktree:!0,worktreeName:c,parentRepoPath:E,parentProjectName:a}}function st(o){if(!o||o.trim()==="")return l.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=it.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let i=`drive-${e[1].toUpperCase()}`;return l.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:i}),i}}return l.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}function F(o){let t=st(o);if(!o)return{primary:t,parent:null,isWorktree:!1,allProjects:[t]};let r=W(o);return r.isWorktree&&r.parentProjectName?{primary:t,parent:r.parentProjectName,isWorktree:!0,allProjects:[r.parentProjectName,t]}:{primary:t,parent:null,isWorktree:!1,allProjects:[t]}}async function w(o){await v();let t=o?.cwd??process.cwd(),r=F(t),e=u(),n=r.allProjects.join(","),i=`http://127.0.0.1:${e}/api/context/inject?projects=${encodeURIComponent(n)}`,s=await fetch(i);if(!s.ok)throw new Error(`Context generation failed: ${s.status}`);return(await s.text()).trim()}var Et=process.argv.includes("--colors");if(A.isTTY||Et)w(void 0).then(o=>{console.log(o),process.exit(0)});else{let o="";A.on("data",t=>o+=t),A.on("end",async()=>{let t;try{t=o.trim()?JSON.parse(o):void 0}catch(e){throw new Error(`Failed to parse hook input: ${e instanceof Error?e.message:String(e)}`)}let r=await w(t);console.log(JSON.stringify({hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:r}})),process.exit(0)})} diff --git a/plugin/scripts/mcp-server.cjs b/plugin/scripts/mcp-server.cjs index ea235620..e5bed667 100755 --- a/plugin/scripts/mcp-server.cjs +++ b/plugin/scripts/mcp-server.cjs @@ -1,12 +1,12 @@ #!/usr/bin/env node -"use strict";var Ny=Object.create;var xs=Object.defineProperty;var Dy=Object.getOwnPropertyDescriptor;var Ry=Object.getOwnPropertyNames;var Zy=Object.getPrototypeOf,Ay=Object.prototype.hasOwnProperty;var S=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vn=(t,e)=>{for(var r in e)xs(t,r,{get:e[r],enumerable:!0})},Uy=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ry(e))!Ay.call(t,o)&&o!==r&&xs(t,o,{get:()=>e[o],enumerable:!(n=Dy(e,o))||n.enumerable});return t};var oi=(t,e,r)=>(r=t!=null?Ny(Zy(t)):{},Uy(e||!t||!t.__esModule?xs(r,"default",{value:t,enumerable:!0}):r,t));var Po=S(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.regexpCode=te.getEsmExportName=te.getProperty=te.safeStringify=te.stringify=te.strConcat=te.addCodeArg=te.str=te._=te.nil=te._Code=te.Name=te.IDENTIFIER=te._CodeOrName=void 0;var Eo=class{};te._CodeOrName=Eo;te.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var hr=class extends Eo{constructor(e){if(super(),!te.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};te.Name=hr;var tt=class extends Eo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof hr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};te._Code=tt;te.nil=new tt("");function Og(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.ValueScope=Le.ValueScopeName=Le.Scope=Le.varKinds=Le.UsedValueState=void 0;var Me=Po(),yd=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Ea;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Ea||(Le.UsedValueState=Ea={}));Le.varKinds={const:new Me.Name("const"),let:new Me.Name("let"),var:new Me.Name("var")};var Ta=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Me.Name?e:this.name(e)}name(e){return new Me.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Le.Scope=Ta;var Pa=class extends Me.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Me._)`.${new Me.Name(r)}[${n}]`}};Le.ValueScopeName=Pa;var CS=(0,Me._)`\n`,$d=class extends Ta{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?CS:Me.nil}}get(){return this._scope}name(e){return new Pa(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:i}=o,a=(n=r.key)!==null&&n!==void 0?n:r.ref,s=this._values[i];if(s){let l=s.get(a);if(l)return l}else s=this._values[i]=new Map;s.set(a,o);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:i,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Me._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let i=Me.nil;for(let a in e){let s=e[a];if(!s)continue;let c=n[a]=n[a]||new Map;s.forEach(u=>{if(c.has(u))return;c.set(u,Ea.Started);let l=r(u);if(l){let d=this.opts.es5?Le.varKinds.var:Le.varKinds.const;i=(0,Me._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))i=(0,Me._)`${i}${l}${this.opts._n}`;else throw new yd(u);c.set(u,Ea.Completed)})}return i}};Le.ValueScope=$d});var K=S(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.or=G.and=G.not=G.CodeGen=G.operators=G.varKinds=G.ValueScopeName=G.ValueScope=G.Scope=G.Name=G.regexpCode=G.stringify=G.getProperty=G.nil=G.strConcat=G.str=G._=void 0;var Q=Po(),lt=bd(),Yt=Po();Object.defineProperty(G,"_",{enumerable:!0,get:function(){return Yt._}});Object.defineProperty(G,"str",{enumerable:!0,get:function(){return Yt.str}});Object.defineProperty(G,"strConcat",{enumerable:!0,get:function(){return Yt.strConcat}});Object.defineProperty(G,"nil",{enumerable:!0,get:function(){return Yt.nil}});Object.defineProperty(G,"getProperty",{enumerable:!0,get:function(){return Yt.getProperty}});Object.defineProperty(G,"stringify",{enumerable:!0,get:function(){return Yt.stringify}});Object.defineProperty(G,"regexpCode",{enumerable:!0,get:function(){return Yt.regexpCode}});Object.defineProperty(G,"Name",{enumerable:!0,get:function(){return Yt.Name}});var Da=bd();Object.defineProperty(G,"Scope",{enumerable:!0,get:function(){return Da.Scope}});Object.defineProperty(G,"ValueScope",{enumerable:!0,get:function(){return Da.ValueScope}});Object.defineProperty(G,"ValueScopeName",{enumerable:!0,get:function(){return Da.ValueScopeName}});Object.defineProperty(G,"varKinds",{enumerable:!0,get:function(){return Da.varKinds}});G.operators={GT:new Q._Code(">"),GTE:new Q._Code(">="),LT:new Q._Code("<"),LTE:new Q._Code("<="),EQ:new Q._Code("==="),NEQ:new Q._Code("!=="),NOT:new Q._Code("!"),OR:new Q._Code("||"),AND:new Q._Code("&&"),ADD:new Q._Code("+")};var Zt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},xd=class extends Zt{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?lt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=en(this.rhs,e,r)),this}get names(){return this.rhs instanceof Q._CodeOrName?this.rhs.names:{}}},Oa=class extends Zt{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof Q.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=en(this.rhs,e,r),this}get names(){let e=this.lhs instanceof Q.Name?{}:{...this.lhs.names};return Na(e,this.rhs)}},kd=class extends Oa{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Sd=class extends Zt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},wd=class extends Zt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},zd=class extends Zt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Id=class extends Zt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=en(this.code,e,r),this}get names(){return this.code instanceof Q._CodeOrName?this.code.names:{}}},Oo=class extends Zt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let i=n[o];i.optimizeNames(e,r)||(MS(e,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>_r(e,r.names),{})}},At=class extends Oo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Ed=class extends Oo{},Qr=class extends At{};Qr.kind="else";var gr=class t extends At{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Qr(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Ng(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=en(this.condition,e,r),this}get names(){let e=super.names;return Na(e,this.condition),this.else&&_r(e,this.else.names),e}};gr.kind="if";var vr=class extends At{};vr.kind="for";var Td=class extends vr{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=en(this.iteration,e,r),this}get names(){return _r(super.names,this.iteration.names)}},Pd=class extends vr{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?lt.varKinds.var:this.varKind,{name:n,from:o,to:i}=this;return`for(${r} ${n}=${o}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=Na(super.names,this.from);return Na(e,this.to)}},ja=class extends vr{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=en(this.iterable,e,r),this}get names(){return _r(super.names,this.iterable.names)}},jo=class extends At{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};jo.kind="func";var No=class extends Oo{render(e){return"return "+super.render(e)}};No.kind="return";var Od=class extends At{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&_r(e,this.catch.names),this.finally&&_r(e,this.finally.names),e}},Do=class extends At{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Do.kind="catch";var Ro=class extends At{render(e){return"finally"+super.render(e)}};Ro.kind="finally";var jd=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` -`:""},this._extScope=e,this._scope=new lt.Scope({parent:e}),this._nodes=[new Ed]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let i=this._scope.toName(r);return n!==void 0&&o&&(this._constants[i.str]=n),this._leafNode(new xd(e,i,n)),i}const(e,r,n){return this._def(lt.varKinds.const,e,r,n)}let(e,r,n){return this._def(lt.varKinds.let,e,r,n)}var(e,r,n){return this._def(lt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Oa(e,r,n))}add(e,r){return this._leafNode(new kd(e,G.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==Q.nil&&this._leafNode(new Id(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,Q.addCodeArg)(r,o));return r.push("}"),new Q._Code(r)}if(e,r,n){if(this._blockNode(new gr(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new gr(e))}else(){return this._elseNode(new Qr)}endIf(){return this._endBlockNode(gr,Qr)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Td(e),r)}forRange(e,r,n,o,i=this.opts.es5?lt.varKinds.var:lt.varKinds.let){let a=this._scope.toName(e);return this._for(new Pd(i,a,r,n),()=>o(a))}forOf(e,r,n,o=lt.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof Q.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Q._)`${a}.length`,s=>{this.var(i,(0,Q._)`${a}[${s}]`),n(i)})}return this._for(new ja("of",o,i,r),()=>n(i))}forIn(e,r,n,o=this.opts.es5?lt.varKinds.var:lt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Q._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new ja("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(vr)}label(e){return this._leafNode(new Sd(e))}break(e){return this._leafNode(new wd(e))}return(e){let r=new No;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(No)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Od;if(this._blockNode(o),this.code(e),r){let i=this.name("e");this._currNode=o.catch=new Do(i),r(i)}return n&&(this._currNode=o.finally=new Ro,this.code(n)),this._endBlockNode(Do,Ro)}throw(e){return this._leafNode(new zd(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=Q.nil,n,o){return this._blockNode(new jo(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(jo)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof gr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};G.CodeGen=jd;function _r(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Na(t,e){return e instanceof Q._CodeOrName?_r(t,e.names):t}function en(t,e,r){if(t instanceof Q.Name)return n(t);if(!o(t))return t;return new Q._Code(t._items.reduce((i,a)=>(a instanceof Q.Name&&(a=n(a)),a instanceof Q._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function o(i){return i instanceof Q._Code&&i._items.some(a=>a instanceof Q.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function MS(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Ng(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,Q._)`!${Nd(t)}`}G.not=Ng;var LS=Dg(G.operators.AND);function qS(...t){return t.reduce(LS)}G.and=qS;var FS=Dg(G.operators.OR);function VS(...t){return t.reduce(FS)}G.or=VS;function Dg(t){return(e,r)=>e===Q.nil?r:r===Q.nil?e:(0,Q._)`${Nd(e)} ${t} ${Nd(r)}`}function Nd(t){return t instanceof Q.Name?t:(0,Q._)`(${t})`}});var re=S(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.checkStrictMode=B.getErrorPath=B.Type=B.useFunc=B.setEvaluated=B.evaluatedPropsToName=B.mergeEvaluated=B.eachItem=B.unescapeJsonPointer=B.escapeJsonPointer=B.escapeFragment=B.unescapeFragment=B.schemaRefOrVal=B.schemaHasRulesButRef=B.schemaHasRules=B.checkUnknownRules=B.alwaysValidSchema=B.toHash=void 0;var le=K(),JS=Po();function KS(t){let e={};for(let r of t)e[r]=!0;return e}B.toHash=KS;function WS(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Ag(t,e),!Ug(e,t.self.RULES.all))}B.alwaysValidSchema=WS;function Ag(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let i in e)o[i]||Lg(t,`unknown keyword: "${i}"`)}B.checkUnknownRules=Ag;function Ug(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}B.schemaHasRules=Ug;function GS(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}B.schemaHasRulesButRef=GS;function HS({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,le._)`${r}`}return(0,le._)`${t}${e}${(0,le.getProperty)(n)}`}B.schemaRefOrVal=HS;function BS(t){return Cg(decodeURIComponent(t))}B.unescapeFragment=BS;function XS(t){return encodeURIComponent(Rd(t))}B.escapeFragment=XS;function Rd(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}B.escapeJsonPointer=Rd;function Cg(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}B.unescapeJsonPointer=Cg;function YS(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}B.eachItem=YS;function Rg({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,i,a,s)=>{let c=a===void 0?i:a instanceof le.Name?(i instanceof le.Name?t(o,i,a):e(o,i,a),a):i instanceof le.Name?(e(o,a,i),i):r(i,a);return s===le.Name&&!(c instanceof le.Name)?n(o,c):c}}B.mergeEvaluated={props:Rg({mergeNames:(t,e,r)=>t.if((0,le._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,le._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,le._)`${r} || {}`).code((0,le._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,le._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,le._)`${r} || {}`),Zd(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Mg}),items:Rg({mergeNames:(t,e,r)=>t.if((0,le._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,le._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,le._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,le._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Mg(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,le._)`{}`);return e!==void 0&&Zd(t,r,e),r}B.evaluatedPropsToName=Mg;function Zd(t,e,r){Object.keys(r).forEach(n=>t.assign((0,le._)`${e}${(0,le.getProperty)(n)}`,!0))}B.setEvaluated=Zd;var Zg={};function QS(t,e){return t.scopeValue("func",{ref:e,code:Zg[e.code]||(Zg[e.code]=new JS._Code(e.code))})}B.useFunc=QS;var Dd;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Dd||(B.Type=Dd={}));function ew(t,e,r){if(t instanceof le.Name){let n=e===Dd.Num;return r?n?(0,le._)`"[" + ${t} + "]"`:(0,le._)`"['" + ${t} + "']"`:n?(0,le._)`"/" + ${t}`:(0,le._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,le.getProperty)(t).toString():"/"+Rd(t)}B.getErrorPath=ew;function Lg(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}B.checkStrictMode=Lg});var Ut=S(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var Te=K(),tw={data:new Te.Name("data"),valCxt:new Te.Name("valCxt"),instancePath:new Te.Name("instancePath"),parentData:new Te.Name("parentData"),parentDataProperty:new Te.Name("parentDataProperty"),rootData:new Te.Name("rootData"),dynamicAnchors:new Te.Name("dynamicAnchors"),vErrors:new Te.Name("vErrors"),errors:new Te.Name("errors"),this:new Te.Name("this"),self:new Te.Name("self"),scope:new Te.Name("scope"),json:new Te.Name("json"),jsonPos:new Te.Name("jsonPos"),jsonLen:new Te.Name("jsonLen"),jsonPart:new Te.Name("jsonPart")};Ad.default=tw});var Zo=S(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.extendErrors=Pe.resetErrorsCount=Pe.reportExtraError=Pe.reportError=Pe.keyword$DataError=Pe.keywordError=void 0;var ee=K(),Ra=re(),Ae=Ut();Pe.keywordError={message:({keyword:t})=>(0,ee.str)`must pass "${t}" keyword validation`};Pe.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,ee.str)`"${t}" keyword must be ${e} ($data)`:(0,ee.str)`"${t}" keyword is invalid ($data)`};function rw(t,e=Pe.keywordError,r,n){let{it:o}=t,{gen:i,compositeRule:a,allErrors:s}=o,c=Vg(t,e,r);n??(a||s)?qg(i,c):Fg(o,(0,ee._)`[${c}]`)}Pe.reportError=rw;function nw(t,e=Pe.keywordError,r){let{it:n}=t,{gen:o,compositeRule:i,allErrors:a}=n,s=Vg(t,e,r);qg(o,s),i||a||Fg(n,Ae.default.vErrors)}Pe.reportExtraError=nw;function ow(t,e){t.assign(Ae.default.errors,e),t.if((0,ee._)`${Ae.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,ee._)`${Ae.default.vErrors}.length`,e),()=>t.assign(Ae.default.vErrors,null)))}Pe.resetErrorsCount=ow;function iw({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:i}){if(o===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",o,Ae.default.errors,s=>{t.const(a,(0,ee._)`${Ae.default.vErrors}[${s}]`),t.if((0,ee._)`${a}.instancePath === undefined`,()=>t.assign((0,ee._)`${a}.instancePath`,(0,ee.strConcat)(Ae.default.instancePath,i.errorPath))),t.assign((0,ee._)`${a}.schemaPath`,(0,ee.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,ee._)`${a}.schema`,r),t.assign((0,ee._)`${a}.data`,n))})}Pe.extendErrors=iw;function qg(t,e){let r=t.const("err",e);t.if((0,ee._)`${Ae.default.vErrors} === null`,()=>t.assign(Ae.default.vErrors,(0,ee._)`[${r}]`),(0,ee._)`${Ae.default.vErrors}.push(${r})`),t.code((0,ee._)`${Ae.default.errors}++`)}function Fg(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,ee._)`new ${t.ValidationError}(${e})`):(r.assign((0,ee._)`${n}.errors`,e),r.return(!1))}var yr={keyword:new ee.Name("keyword"),schemaPath:new ee.Name("schemaPath"),params:new ee.Name("params"),propertyName:new ee.Name("propertyName"),message:new ee.Name("message"),schema:new ee.Name("schema"),parentSchema:new ee.Name("parentSchema")};function Vg(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ee._)`{}`:aw(t,e,r)}function aw(t,e,r={}){let{gen:n,it:o}=t,i=[sw(o,r),cw(t,r)];return uw(t,e,i),n.object(...i)}function sw({errorPath:t},{instancePath:e}){let r=e?(0,ee.str)`${t}${(0,Ra.getErrorPath)(e,Ra.Type.Str)}`:t;return[Ae.default.instancePath,(0,ee.strConcat)(Ae.default.instancePath,r)]}function cw({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,ee.str)`${e}/${t}`;return r&&(o=(0,ee.str)`${o}${(0,Ra.getErrorPath)(r,Ra.Type.Str)}`),[yr.schemaPath,o]}function uw(t,{params:e,message:r},n){let{keyword:o,data:i,schemaValue:a,it:s}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=s;n.push([yr.keyword,o],[yr.params,typeof e=="function"?e(t):e||(0,ee._)`{}`]),c.messages&&n.push([yr.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([yr.schema,a],[yr.parentSchema,(0,ee._)`${l}${d}`],[Ae.default.data,i]),u&&n.push([yr.propertyName,u])}});var Kg=S(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.boolOrEmptySchema=tn.topBoolOrEmptySchema=void 0;var lw=Zo(),dw=K(),pw=Ut(),fw={message:"boolean schema is false"};function mw(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Jg(t,!1):typeof r=="object"&&r.$async===!0?e.return(pw.default.data):(e.assign((0,dw._)`${n}.errors`,null),e.return(!0))}tn.topBoolOrEmptySchema=mw;function hw(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Jg(t)):r.var(e,!0)}tn.boolOrEmptySchema=hw;function Jg(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,lw.reportError)(o,fw,void 0,e)}});var Ud=S(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.getRules=rn.isJSONType=void 0;var gw=["string","number","integer","boolean","null","object","array"],vw=new Set(gw);function _w(t){return typeof t=="string"&&vw.has(t)}rn.isJSONType=_w;function yw(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}rn.getRules=yw});var Cd=S(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.shouldUseRule=Qt.shouldUseGroup=Qt.schemaHasRulesForType=void 0;function $w({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Wg(t,n)}Qt.schemaHasRulesForType=$w;function Wg(t,e){return e.rules.some(r=>Gg(t,r))}Qt.shouldUseGroup=Wg;function Gg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Qt.shouldUseRule=Gg});var Ao=S(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.reportTypeError=Oe.checkDataTypes=Oe.checkDataType=Oe.coerceAndCheckDataType=Oe.getJSONTypes=Oe.getSchemaTypes=Oe.DataType=void 0;var bw=Ud(),xw=Cd(),kw=Zo(),F=K(),Hg=re(),nn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(nn||(Oe.DataType=nn={}));function Sw(t){let e=Bg(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Oe.getSchemaTypes=Sw;function Bg(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(bw.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Oe.getJSONTypes=Bg;function ww(t,e){let{gen:r,data:n,opts:o}=t,i=zw(e,o.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,xw.schemaHasRulesForType)(t,e[0]));if(a){let s=Ld(e,n,o.strictNumbers,nn.Wrong);r.if(s,()=>{i.length?Iw(t,e,i):qd(t)})}return a}Oe.coerceAndCheckDataType=ww;var Xg=new Set(["string","number","integer","boolean","null"]);function zw(t,e){return e?t.filter(r=>Xg.has(r)||e==="array"&&r==="array"):[]}function Iw(t,e,r){let{gen:n,data:o,opts:i}=t,a=n.let("dataType",(0,F._)`typeof ${o}`),s=n.let("coerced",(0,F._)`undefined`);i.coerceTypes==="array"&&n.if((0,F._)`${a} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,F._)`${o}[0]`).assign(a,(0,F._)`typeof ${o}`).if(Ld(e,o,i.strictNumbers),()=>n.assign(s,o))),n.if((0,F._)`${s} !== undefined`);for(let u of r)(Xg.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),qd(t),n.endIf(),n.if((0,F._)`${s} !== undefined`,()=>{n.assign(o,s),Ew(t,s)});function c(u){switch(u){case"string":n.elseIf((0,F._)`${a} == "number" || ${a} == "boolean"`).assign(s,(0,F._)`"" + ${o}`).elseIf((0,F._)`${o} === null`).assign(s,(0,F._)`""`);return;case"number":n.elseIf((0,F._)`${a} == "boolean" || ${o} === null - || (${a} == "string" && ${o} && ${o} == +${o})`).assign(s,(0,F._)`+${o}`);return;case"integer":n.elseIf((0,F._)`${a} === "boolean" || ${o} === null - || (${a} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(s,(0,F._)`+${o}`);return;case"boolean":n.elseIf((0,F._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(s,!1).elseIf((0,F._)`${o} === "true" || ${o} === 1`).assign(s,!0);return;case"null":n.elseIf((0,F._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(s,null);return;case"array":n.elseIf((0,F._)`${a} === "string" || ${a} === "number" - || ${a} === "boolean" || ${o} === null`).assign(s,(0,F._)`[${o}]`)}}}function Ew({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,F._)`${e} !== undefined`,()=>t.assign((0,F._)`${e}[${r}]`,n))}function Md(t,e,r,n=nn.Correct){let o=n===nn.Correct?F.operators.EQ:F.operators.NEQ,i;switch(t){case"null":return(0,F._)`${e} ${o} null`;case"array":i=(0,F._)`Array.isArray(${e})`;break;case"object":i=(0,F._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,F._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,F._)`typeof ${e} ${o} ${t}`}return n===nn.Correct?i:(0,F.not)(i);function a(s=F.nil){return(0,F.and)((0,F._)`typeof ${e} == "number"`,s,r?(0,F._)`isFinite(${e})`:F.nil)}}Oe.checkDataType=Md;function Ld(t,e,r,n){if(t.length===1)return Md(t[0],e,r,n);let o,i=(0,Hg.toHash)(t);if(i.array&&i.object){let a=(0,F._)`typeof ${e} != "object"`;o=i.null?a:(0,F._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else o=F.nil;i.number&&delete i.integer;for(let a in i)o=(0,F.and)(o,Md(a,e,r,n));return o}Oe.checkDataTypes=Ld;var Tw={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,F._)`{type: ${t}}`:(0,F._)`{type: ${e}}`};function qd(t){let e=Pw(t);(0,kw.reportError)(e,Tw)}Oe.reportTypeError=qd;function Pw(t){let{gen:e,data:r,schema:n}=t,o=(0,Hg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Qg=S(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.assignDefaults=void 0;var on=K(),Ow=re();function jw(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Yg(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,i)=>Yg(t,i,o.default))}Za.assignDefaults=jw;function Yg(t,e,r){let{gen:n,compositeRule:o,data:i,opts:a}=t;if(r===void 0)return;let s=(0,on._)`${i}${(0,on.getProperty)(e)}`;if(o){(0,Ow.checkStrictMode)(t,`default is ignored for: ${s}`);return}let c=(0,on._)`${s} === undefined`;a.useDefaults==="empty"&&(c=(0,on._)`${c} || ${s} === null || ${s} === ""`),n.if(c,(0,on._)`${s} = ${(0,on.stringify)(r)}`)}});var rt=S(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.validateUnion=ae.validateArray=ae.usePattern=ae.callValidateCode=ae.schemaProperties=ae.allSchemaProperties=ae.noPropertyInData=ae.propertyInData=ae.isOwnProperty=ae.hasPropFunc=ae.reportMissingProp=ae.checkMissingProp=ae.checkReportMissingProp=void 0;var me=K(),Fd=re(),er=Ut(),Nw=re();function Dw(t,e){let{gen:r,data:n,it:o}=t;r.if(Jd(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,me._)`${e}`},!0),t.error()})}ae.checkReportMissingProp=Dw;function Rw({gen:t,data:e,it:{opts:r}},n,o){return(0,me.or)(...n.map(i=>(0,me.and)(Jd(t,e,i,r.ownProperties),(0,me._)`${o} = ${i}`)))}ae.checkMissingProp=Rw;function Zw(t,e){t.setParams({missingProperty:e},!0),t.error()}ae.reportMissingProp=Zw;function ev(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,me._)`Object.prototype.hasOwnProperty`})}ae.hasPropFunc=ev;function Vd(t,e,r){return(0,me._)`${ev(t)}.call(${e}, ${r})`}ae.isOwnProperty=Vd;function Aw(t,e,r,n){let o=(0,me._)`${e}${(0,me.getProperty)(r)} !== undefined`;return n?(0,me._)`${o} && ${Vd(t,e,r)}`:o}ae.propertyInData=Aw;function Jd(t,e,r,n){let o=(0,me._)`${e}${(0,me.getProperty)(r)} === undefined`;return n?(0,me.or)(o,(0,me.not)(Vd(t,e,r))):o}ae.noPropertyInData=Jd;function tv(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ae.allSchemaProperties=tv;function Uw(t,e){return tv(e).filter(r=>!(0,Fd.alwaysValidSchema)(t,e[r]))}ae.schemaProperties=Uw;function Cw({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:a},s,c,u){let l=u?(0,me._)`${t}, ${e}, ${n}${o}`:e,d=[[er.default.instancePath,(0,me.strConcat)(er.default.instancePath,i)],[er.default.parentData,a.parentData],[er.default.parentDataProperty,a.parentDataProperty],[er.default.rootData,er.default.rootData]];a.opts.dynamicRef&&d.push([er.default.dynamicAnchors,er.default.dynamicAnchors]);let m=(0,me._)`${l}, ${r.object(...d)}`;return c!==me.nil?(0,me._)`${s}.call(${c}, ${m})`:(0,me._)`${s}(${m})`}ae.callValidateCode=Cw;var Mw=(0,me._)`new RegExp`;function Lw({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,i=o(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,me._)`${o.code==="new RegExp"?Mw:(0,Nw.useFunc)(t,o)}(${r}, ${n})`})}ae.usePattern=Lw;function qw(t){let{gen:e,data:r,keyword:n,it:o}=t,i=e.name("valid");if(o.allErrors){let s=e.let("valid",!0);return a(()=>e.assign(s,!1)),s}return e.var(i,!0),a(()=>e.break()),i;function a(s){let c=e.const("len",(0,me._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Fd.Type.Num},i),e.if((0,me.not)(i),s)})}}ae.validateArray=qw;function Fw(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Fd.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let a=e.let("valid",!1),s=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},s);e.assign(a,(0,me._)`${a} || ${s}`),t.mergeValidEvaluated(l,s)||e.if((0,me.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}ae.validateUnion=Fw});var ov=S(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.validateKeywordUsage=_t.validSchemaType=_t.funcKeywordCode=_t.macroKeywordCode=void 0;var Ue=K(),$r=Ut(),Vw=rt(),Jw=Zo();function Kw(t,e){let{gen:r,keyword:n,schema:o,parentSchema:i,it:a}=t,s=e.macro.call(a.self,o,i,a),c=nv(r,n,s);a.opts.validateSchema!==!1&&a.self.validateSchema(s,!0);let u=r.name("valid");t.subschema({schema:s,schemaPath:Ue.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}_t.macroKeywordCode=Kw;function Ww(t,e){var r;let{gen:n,keyword:o,schema:i,parentSchema:a,$data:s,it:c}=t;Hw(c,e);let u=!s&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=nv(n,o,u),d=n.let("valid");t.block$data(d,m),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function m(){if(e.errors===!1)v(),e.modifying&&rv(t),$(()=>t.error());else{let x=e.async?f():g();e.modifying&&rv(t),$(()=>Gw(t,x))}}function f(){let x=n.let("ruleErrs",null);return n.try(()=>v((0,Ue._)`await `),O=>n.assign(d,!1).if((0,Ue._)`${O} instanceof ${c.ValidationError}`,()=>n.assign(x,(0,Ue._)`${O}.errors`),()=>n.throw(O))),x}function g(){let x=(0,Ue._)`${l}.errors`;return n.assign(x,null),v(Ue.nil),x}function v(x=e.async?(0,Ue._)`await `:Ue.nil){let O=c.opts.passContext?$r.default.this:$r.default.self,I=!("compile"in e&&!s||e.schema===!1);n.assign(d,(0,Ue._)`${x}${(0,Vw.callValidateCode)(t,l,O,I)}`,e.modifying)}function $(x){var O;n.if((0,Ue.not)((O=e.valid)!==null&&O!==void 0?O:d),x)}}_t.funcKeywordCode=Ww;function rv(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ue._)`${n.parentData}[${n.parentDataProperty}]`))}function Gw(t,e){let{gen:r}=t;r.if((0,Ue._)`Array.isArray(${e})`,()=>{r.assign($r.default.vErrors,(0,Ue._)`${$r.default.vErrors} === null ? ${e} : ${$r.default.vErrors}.concat(${e})`).assign($r.default.errors,(0,Ue._)`${$r.default.vErrors}.length`),(0,Jw.extendErrors)(t)},()=>t.error())}function Hw({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function nv(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ue.stringify)(r)})}function Bw(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}_t.validSchemaType=Bw;function Xw({schema:t,opts:e,self:r,errSchemaPath:n},o,i){if(Array.isArray(o.keyword)?!o.keyword.includes(i):o.keyword!==i)throw new Error("ajv implementation error");let a=o.dependencies;if(a?.some(s=>!Object.prototype.hasOwnProperty.call(t,s)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}_t.validateKeywordUsage=Xw});var av=S(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.extendSubschemaMode=tr.extendSubschemaData=tr.getSubschema=void 0;var yt=K(),iv=re();function Yw(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let s=t.schema[e];return r===void 0?{schema:s,schemaPath:(0,yt._)`${t.schemaPath}${(0,yt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:s[r],schemaPath:(0,yt._)`${t.schemaPath}${(0,yt.getProperty)(e)}${(0,yt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,iv.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}tr.getSubschema=Yw;function Qw(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:i,propertyName:a}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,m=s.let("data",(0,yt._)`${e.data}${(0,yt.getProperty)(r)}`,!0);c(m),t.errorPath=(0,yt.str)`${u}${(0,iv.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,yt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof yt.Name?o:s.let("data",o,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}tr.extendSubschemaData=Qw;function e0(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:i}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}tr.extendSubschemaMode=e0});var Kd=S((cA,sv)=>{"use strict";sv.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;o--!==0;){var a=i[o];if(!t(e[a],r[a]))return!1}return!0}return e!==e&&r!==r}});var uv=S((uA,cv)=>{"use strict";var rr=cv.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Aa(e,n,o,t,"",t)};rr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};rr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};rr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};rr.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Aa(t,e,r,n,o,i,a,s,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,i,a,s,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in rr.arrayKeywords)for(var m=0;m{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.getSchemaRefs=qe.resolveUrl=qe.normalizeId=qe._getFullPath=qe.getFullPath=qe.inlineRef=void 0;var r0=re(),n0=Kd(),o0=uv(),i0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function a0(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Wd(t):e?lv(t)<=e:!1}qe.inlineRef=a0;var s0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Wd(t){for(let e in t){if(s0.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Wd)||typeof r=="object"&&Wd(r))return!0}return!1}function lv(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!i0.has(r)&&(typeof t[r]=="object"&&(0,r0.eachItem)(t[r],n=>e+=lv(n)),e===1/0))return 1/0}return e}function dv(t,e="",r){r!==!1&&(e=an(e));let n=t.parse(e);return pv(t,n)}qe.getFullPath=dv;function pv(t,e){return t.serialize(e).split("#")[0]+"#"}qe._getFullPath=pv;var c0=/#\/?$/;function an(t){return t?t.replace(c0,""):""}qe.normalizeId=an;function u0(t,e,r){return r=an(r),t.resolve(e,r)}qe.resolveUrl=u0;var l0=/^[a-z_][-a-z0-9._]*$/i;function d0(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=an(t[r]||e),i={"":o},a=dv(n,o,!1),s={},c=new Set;return o0(t,{allKeys:!0},(d,m,f,g)=>{if(g===void 0)return;let v=a+m,$=i[g];typeof d[r]=="string"&&($=x.call(this,d[r])),O.call(this,d.$anchor),O.call(this,d.$dynamicAnchor),i[m]=$;function x(I){let U=this.opts.uriResolver.resolve;if(I=an($?U($,I):I),c.has(I))throw l(I);c.add(I);let j=this.refs[I];return typeof j=="string"&&(j=this.refs[j]),typeof j=="object"?u(d,j.schema,I):I!==an(v)&&(I[0]==="#"?(u(d,s[I],I),s[I]=d):this.refs[I]=v),I}function O(I){if(typeof I=="string"){if(!l0.test(I))throw new Error(`invalid anchor "${I}"`);x.call(this,`#${I}`)}}}),s;function u(d,m,f){if(m!==void 0&&!n0(d,m))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}qe.getSchemaRefs=d0});var Lo=S(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.getData=nr.KeywordCxt=nr.validateFunctionCode=void 0;var vv=Kg(),fv=Ao(),Hd=Cd(),Ua=Ao(),p0=Qg(),Mo=ov(),Gd=av(),P=K(),C=Ut(),f0=Uo(),Ct=re(),Co=Zo();function m0(t){if($v(t)&&(bv(t),yv(t))){v0(t);return}_v(t,()=>(0,vv.topBoolOrEmptySchema)(t))}nr.validateFunctionCode=m0;function _v({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},i){o.code.es5?t.func(e,(0,P._)`${C.default.data}, ${C.default.valCxt}`,n.$async,()=>{t.code((0,P._)`"use strict"; ${mv(r,o)}`),g0(t,o),t.code(i)}):t.func(e,(0,P._)`${C.default.data}, ${h0(o)}`,n.$async,()=>t.code(mv(r,o)).code(i))}function h0(t){return(0,P._)`{${C.default.instancePath}="", ${C.default.parentData}, ${C.default.parentDataProperty}, ${C.default.rootData}=${C.default.data}${t.dynamicRef?(0,P._)`, ${C.default.dynamicAnchors}={}`:P.nil}}={}`}function g0(t,e){t.if(C.default.valCxt,()=>{t.var(C.default.instancePath,(0,P._)`${C.default.valCxt}.${C.default.instancePath}`),t.var(C.default.parentData,(0,P._)`${C.default.valCxt}.${C.default.parentData}`),t.var(C.default.parentDataProperty,(0,P._)`${C.default.valCxt}.${C.default.parentDataProperty}`),t.var(C.default.rootData,(0,P._)`${C.default.valCxt}.${C.default.rootData}`),e.dynamicRef&&t.var(C.default.dynamicAnchors,(0,P._)`${C.default.valCxt}.${C.default.dynamicAnchors}`)},()=>{t.var(C.default.instancePath,(0,P._)`""`),t.var(C.default.parentData,(0,P._)`undefined`),t.var(C.default.parentDataProperty,(0,P._)`undefined`),t.var(C.default.rootData,C.default.data),e.dynamicRef&&t.var(C.default.dynamicAnchors,(0,P._)`{}`)})}function v0(t){let{schema:e,opts:r,gen:n}=t;_v(t,()=>{r.$comment&&e.$comment&&kv(t),x0(t),n.let(C.default.vErrors,null),n.let(C.default.errors,0),r.unevaluated&&_0(t),xv(t),w0(t)})}function _0(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,P._)`${r}.evaluated`),e.if((0,P._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,P._)`${t.evaluated}.props`,(0,P._)`undefined`)),e.if((0,P._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,P._)`${t.evaluated}.items`,(0,P._)`undefined`))}function mv(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,P._)`/*# sourceURL=${r} */`:P.nil}function y0(t,e){if($v(t)&&(bv(t),yv(t))){$0(t,e);return}(0,vv.boolOrEmptySchema)(t,e)}function yv({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function $v(t){return typeof t.schema!="boolean"}function $0(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&kv(t),k0(t),S0(t);let i=n.const("_errs",C.default.errors);xv(t,i),n.var(e,(0,P._)`${i} === ${C.default.errors}`)}function bv(t){(0,Ct.checkUnknownRules)(t),b0(t)}function xv(t,e){if(t.opts.jtd)return hv(t,[],!1,e);let r=(0,fv.getSchemaTypes)(t.schema),n=(0,fv.coerceAndCheckDataType)(t,r);hv(t,r,!n,e)}function b0(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Ct.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function x0(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Ct.checkStrictMode)(t,"default is ignored in the schema root")}function k0(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,f0.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function S0(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function kv({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)t.code((0,P._)`${C.default.self}.logger.log(${i})`);else if(typeof o.$comment=="function"){let a=(0,P.str)`${n}/$comment`,s=t.scopeValue("root",{ref:e.root});t.code((0,P._)`${C.default.self}.opts.$comment(${i}, ${a}, ${s}.schema)`)}}function w0(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=t;r.$async?e.if((0,P._)`${C.default.errors} === 0`,()=>e.return(C.default.data),()=>e.throw((0,P._)`new ${o}(${C.default.vErrors})`)):(e.assign((0,P._)`${n}.errors`,C.default.vErrors),i.unevaluated&&z0(t),e.return((0,P._)`${C.default.errors} === 0`))}function z0({gen:t,evaluated:e,props:r,items:n}){r instanceof P.Name&&t.assign((0,P._)`${e}.props`,r),n instanceof P.Name&&t.assign((0,P._)`${e}.items`,n)}function hv(t,e,r,n){let{gen:o,schema:i,data:a,allErrors:s,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,Ct.schemaHasRulesButRef)(i,l))){o.block(()=>wv(t,"$ref",l.all.$ref.definition));return}c.jtd||I0(t,e),o.block(()=>{for(let m of l.rules)d(m);d(l.post)});function d(m){(0,Hd.shouldUseGroup)(i,m)&&(m.type?(o.if((0,Ua.checkDataType)(m.type,a,c.strictNumbers)),gv(t,m),e.length===1&&e[0]===m.type&&r&&(o.else(),(0,Ua.reportTypeError)(t)),o.endIf()):gv(t,m),s||o.if((0,P._)`${C.default.errors} === ${n||0}`))}}function gv(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,p0.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,Hd.shouldUseRule)(n,i)&&wv(t,i.keyword,i.definition,e.type)})}function I0(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(E0(t,e),t.opts.allowUnionTypes||T0(t,e),P0(t,t.dataTypes))}function E0(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Sv(t.dataTypes,r)||Bd(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),j0(t,e)}}function T0(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Bd(t,"use allowUnionTypes to allow union type keyword")}function P0(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Hd.shouldUseRule)(t.schema,o)){let{type:i}=o.definition;i.length&&!i.some(a=>O0(e,a))&&Bd(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function O0(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Sv(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function j0(t,e){let r=[];for(let n of t.dataTypes)Sv(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Bd(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Ct.checkStrictMode)(t,e,t.opts.strictTypes)}var Ca=class{constructor(e,r,n){if((0,Mo.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Ct.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",zv(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Mo.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",C.default.errors))}result(e,r,n){this.failResult((0,P.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,P.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,P._)`${r} !== undefined && (${(0,P.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Co.reportExtraError:Co.reportError)(this,this.def.error,r)}$dataError(){(0,Co.reportError)(this,this.def.$dataError||Co.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Co.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=P.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=P.nil,r=P.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:i,def:a}=this;n.if((0,P.or)((0,P._)`${o} === undefined`,r)),e!==P.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==P.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:i}=this;return(0,P.or)(a(),s());function a(){if(n.length){if(!(r instanceof P.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,P._)`${(0,Ua.checkDataTypes)(c,r,i.opts.strictNumbers,Ua.DataType.Wrong)}`}return P.nil}function s(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,P._)`!${c}(${r})`}return P.nil}}subschema(e,r){let n=(0,Gd.getSubschema)(this.it,e);(0,Gd.extendSubschemaData)(n,this.it,e),(0,Gd.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return y0(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Ct.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Ct.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,P.Name)),!0}};nr.KeywordCxt=Ca;function wv(t,e,r,n){let o=new Ca(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Mo.funcKeywordCode)(o,r):"macro"in r?(0,Mo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Mo.funcKeywordCode)(o,r)}var N0=/^\/(?:[^~]|~0|~1)*$/,D0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function zv(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,i;if(t==="")return C.default.rootData;if(t[0]==="/"){if(!N0.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,i=C.default.rootData}else{let u=D0.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!o)return i}let a=i,s=o.split("/");for(let u of s)u&&(i=(0,P._)`${i}${(0,P.getProperty)((0,Ct.unescapeJsonPointer)(u))}`,a=(0,P._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}nr.getData=zv});var Ma=S(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var Xd=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Yd.default=Xd});var qo=S(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});var Qd=Uo(),ep=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Qd.resolveUrl)(e,r,n),this.missingSchema=(0,Qd.normalizeId)((0,Qd.getFullPath)(e,this.missingRef))}};tp.default=ep});var qa=S(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.resolveSchema=nt.getCompilingSchema=nt.resolveRef=nt.compileSchema=nt.SchemaEnv=void 0;var dt=K(),R0=Ma(),br=Ut(),pt=Uo(),Iv=re(),Z0=Lo(),sn=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,pt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};nt.SchemaEnv=sn;function np(t){let e=Ev.call(this,t);if(e)return e;let r=(0,pt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:i}=this.opts,a=new dt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:i}),s;t.$async&&(s=a.scopeValue("Error",{ref:R0.default,code:(0,dt._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:br.default.data,parentData:br.default.parentData,parentDataProperty:br.default.parentDataProperty,dataNames:[br.default.data],dataPathArr:[dt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,dt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:s,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:dt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,dt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,Z0.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(br.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${br.default.self}`,`${br.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:g,items:v}=u;f.evaluated={props:g instanceof dt.Name?void 0:g,items:v instanceof dt.Name?void 0:v,dynamicProps:g instanceof dt.Name,dynamicItems:v instanceof dt.Name},f.source&&(f.source.evaluated=(0,dt.stringify)(f.evaluated))}return t.validate=f,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}nt.compileSchema=np;function A0(t,e,r){var n;r=(0,pt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let i=M0.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;a&&(i=new sn({schema:a,schemaId:s,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=U0.call(this,i)}nt.resolveRef=A0;function U0(t){return(0,pt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:np.call(this,t)}function Ev(t){for(let e of this._compilations)if(C0(e,t))return e}nt.getCompilingSchema=Ev;function C0(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function M0(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||La.call(this,t,e)}function La(t,e){let r=this.opts.uriResolver.parse(e),n=(0,pt._getFullPath)(this.opts.uriResolver,r),o=(0,pt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return rp.call(this,r,t);let i=(0,pt.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let s=La.call(this,t,a);return typeof s?.schema!="object"?void 0:rp.call(this,r,s)}if(typeof a?.schema=="object"){if(a.validate||np.call(this,a),i===(0,pt.normalizeId)(e)){let{schema:s}=a,{schemaId:c}=this.opts,u=s[c];return u&&(o=(0,pt.resolveUrl)(this.opts.uriResolver,o,u)),new sn({schema:s,schemaId:c,root:t,baseId:o})}return rp.call(this,r,a)}}nt.resolveSchema=La;var L0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function rp(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let s of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Iv.unescapeFragment)(s)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!L0.has(s)&&u&&(e=(0,pt.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,Iv.schemaHasRulesButRef)(r,this.RULES)){let s=(0,pt.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=La.call(this,n,s)}let{schemaId:a}=this.opts;if(i=i||new sn({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var Tv=S((hA,q0)=>{q0.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var ip=S((gA,Nv)=>{"use strict";var F0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Ov=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function op(t){let e="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var V0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Pv(t){return t.length=0,!0}function J0(t,e,r){if(t.length){let n=op(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function K0(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,a=!1,s=J0;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!s(o,n,r))break;s=Pv}else{o.push(u);continue}}return o.length&&(s===Pv?r.zone=o.join(""):a?n.push(o.join("")):n.push(op(o))),r.address=n.join(""),r}function jv(t){if(W0(t,":")<2)return{host:t,isIPV6:!1};let e=K0(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function W0(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:X0}=ip(),Y0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Q0=["http","https","ws","wss","urn","urn:uuid"];function ez(t){return Q0.indexOf(t)!==-1}function ap(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Dv(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Rv(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function tz(t){return t.secure=ap(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function rz(t){if((t.port===(ap(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function nz(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Y0);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,i=sp(o);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function oz(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,i=sp(o);i&&(t=i.serialize(t,e));let a=t,s=t.nss;return a.path=`${n||e.nid}:${s}`,e.skipEscape=!0,a}function iz(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!X0(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function az(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Zv={scheme:"http",domainHost:!0,parse:Dv,serialize:Rv},sz={scheme:"https",domainHost:Zv.domainHost,parse:Dv,serialize:Rv},Fa={scheme:"ws",domainHost:!0,parse:tz,serialize:rz},cz={scheme:"wss",domainHost:Fa.domainHost,parse:Fa.parse,serialize:Fa.serialize},uz={scheme:"urn",parse:nz,serialize:oz,skipNormalize:!0},lz={scheme:"urn:uuid",parse:iz,serialize:az,skipNormalize:!0},Va={http:Zv,https:sz,ws:Fa,wss:cz,urn:uz,"urn:uuid":lz};Object.setPrototypeOf(Va,null);function sp(t){return t&&(Va[t]||Va[t.toLowerCase()])||void 0}Av.exports={wsIsSecure:ap,SCHEMES:Va,isValidSchemeName:ez,getSchemeHandler:sp}});var Lv=S((_A,Ka)=>{"use strict";var{normalizeIPv6:dz,removeDotSegments:Fo,recomposeAuthority:pz,normalizeComponentEncoding:Ja,isIPv4:fz,nonSimpleDomain:mz}=ip(),{SCHEMES:hz,getSchemeHandler:Cv}=Uv();function gz(t,e){return typeof t=="string"?t=$t(Mt(t,e),e):typeof t=="object"&&(t=Mt($t(t,e),e)),t}function vz(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Mv(Mt(t,n),Mt(e,n),n,!0);return n.skipEscape=!0,$t(o,n)}function Mv(t,e,r,n){let o={};return n||(t=Mt($t(t,r),r),e=Mt($t(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Fo(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Fo(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=Fo(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=Fo(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function _z(t,e,r){return typeof t=="string"?(t=unescape(t),t=$t(Ja(Mt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=$t(Ja(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=$t(Ja(Mt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=$t(Ja(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function $t(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],i=Cv(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let a=pz(r);if(a!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(a),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(s=Fo(s)),a===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),o.push(s)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var yz=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Mt(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(yz);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(fz(n.host)===!1){let c=dz(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=Cv(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&o===!1&&mz(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(s){n.error=n.error||"Host's domain name can not be converted to ASCII: "+s}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var cp={SCHEMES:hz,normalize:gz,resolve:vz,resolveComponent:Mv,equal:_z,serialize:$t,parse:Mt};Ka.exports=cp;Ka.exports.default=cp;Ka.exports.fastUri=cp});var Fv=S(up=>{"use strict";Object.defineProperty(up,"__esModule",{value:!0});var qv=Lv();qv.code='require("ajv/dist/runtime/uri").default';up.default=qv});var Xv=S(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.CodeGen=Se.Name=Se.nil=Se.stringify=Se.str=Se._=Se.KeywordCxt=void 0;var $z=Lo();Object.defineProperty(Se,"KeywordCxt",{enumerable:!0,get:function(){return $z.KeywordCxt}});var cn=K();Object.defineProperty(Se,"_",{enumerable:!0,get:function(){return cn._}});Object.defineProperty(Se,"str",{enumerable:!0,get:function(){return cn.str}});Object.defineProperty(Se,"stringify",{enumerable:!0,get:function(){return cn.stringify}});Object.defineProperty(Se,"nil",{enumerable:!0,get:function(){return cn.nil}});Object.defineProperty(Se,"Name",{enumerable:!0,get:function(){return cn.Name}});Object.defineProperty(Se,"CodeGen",{enumerable:!0,get:function(){return cn.CodeGen}});var bz=Ma(),Gv=qo(),xz=Ud(),Vo=qa(),kz=K(),Jo=Uo(),Wa=Ao(),dp=re(),Vv=Tv(),Sz=Fv(),Hv=(t,e)=>new RegExp(t,e);Hv.code="new RegExp";var wz=["removeAdditional","useDefaults","coerceTypes"],zz=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Iz={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Ez={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Jv=200;function Tz(t){var e,r,n,o,i,a,s,c,u,l,d,m,f,g,v,$,x,O,I,U,j,it,at,ys,$s;let gn=t.strict,bs=(e=t.code)===null||e===void 0?void 0:e.optimize,ff=bs===!0||bs===void 0?1:bs||0,mf=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Hv,jy=(o=t.uriResolver)!==null&&o!==void 0?o:Sz.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:gn)!==null&&a!==void 0?a:!0,strictNumbers:(c=(s=t.strictNumbers)!==null&&s!==void 0?s:gn)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:gn)!==null&&l!==void 0?l:"log",strictTuples:(m=(d=t.strictTuples)!==null&&d!==void 0?d:gn)!==null&&m!==void 0?m:"log",strictRequired:(g=(f=t.strictRequired)!==null&&f!==void 0?f:gn)!==null&&g!==void 0?g:!1,code:t.code?{...t.code,optimize:ff,regExp:mf}:{optimize:ff,regExp:mf},loopRequired:(v=t.loopRequired)!==null&&v!==void 0?v:Jv,loopEnum:($=t.loopEnum)!==null&&$!==void 0?$:Jv,meta:(x=t.meta)!==null&&x!==void 0?x:!0,messages:(O=t.messages)!==null&&O!==void 0?O:!0,inlineRefs:(I=t.inlineRefs)!==null&&I!==void 0?I:!0,schemaId:(U=t.schemaId)!==null&&U!==void 0?U:"$id",addUsedSchema:(j=t.addUsedSchema)!==null&&j!==void 0?j:!0,validateSchema:(it=t.validateSchema)!==null&&it!==void 0?it:!0,validateFormats:(at=t.validateFormats)!==null&&at!==void 0?at:!0,unicodeRegExp:(ys=t.unicodeRegExp)!==null&&ys!==void 0?ys:!0,int32range:($s=t.int32range)!==null&&$s!==void 0?$s:!0,uriResolver:jy}}var Ko=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Tz(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new kz.ValueScope({scope:{},prefixes:zz,es5:r,lines:n}),this.logger=Rz(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,xz.getRules)(),Kv.call(this,Iz,e,"NOT SUPPORTED"),Kv.call(this,Ez,e,"DEPRECATED","warn"),this._metaOpts=Nz.call(this),e.formats&&Oz.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&jz.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Pz.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=Vv;n==="id"&&(o={...Vv},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await i.call(this,l.$schema);let m=this._addSchema(l,d);return m.validate||a.call(this,m)}async function i(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Gv.default))throw d;return s.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function s({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,o);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,Jo.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,e);if(!o&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return o}getSchema(e){let r;for(;typeof(r=Wv.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Vo.SchemaEnv({schema:{},schemaId:n});if(r=Vo.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Wv.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,Jo.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Az.call(this,n,r),!r)return(0,dp.eachItem)(n,i=>lp.call(this,i)),this;Cz.call(this,r);let o={...r,type:(0,Wa.getJSONTypes)(r.type),schemaType:(0,Wa.getJSONTypes)(r.schemaType)};return(0,dp.eachItem)(n,o.type.length===0?i=>lp.call(this,i,o):i=>o.type.forEach(a=>lp.call(this,i,o,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(i=>i.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,i)=>o+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let i=o.split("/").slice(1),a=e;for(let s of i)a=a[s];for(let s in n){let c=n[s];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[s];u&&l&&(a[s]=Bv(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:s}=this.opts;if(typeof e=="object")a=e[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,Jo.normalizeId)(a||n);let u=Jo.getSchemaRefs.call(this,e,n);return c=new Vo.SchemaEnv({schema:e,schemaId:s,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Vo.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Vo.compileSchema.call(this,e)}finally{this.opts=r}}};Ko.ValidationError=bz.default;Ko.MissingRefError=Gv.default;Se.default=Ko;function Kv(t,e,r,n="error"){for(let o in t){let i=o;i in e&&this.logger[n](`${r}: option ${o}. ${t[i]}`)}}function Wv(t){return t=(0,Jo.normalizeId)(t),this.schemas[t]||this.refs[t]}function Pz(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function Oz(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function jz(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function Nz(){let t={...this.opts};for(let e of wz)delete t[e];return t}var Dz={log(){},warn(){},error(){}};function Rz(t){if(t===!1)return Dz;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var Zz=/^[a-z_$][a-z0-9_$:-]*$/i;function Az(t,e){let{RULES:r}=this;if((0,dp.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Zz.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function lp(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=o?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let s={keyword:t,definition:{...e,type:(0,Wa.getJSONTypes)(e.type),schemaType:(0,Wa.getJSONTypes)(e.schemaType)}};e.before?Uz.call(this,a,s,e.before):a.rules.push(s),i.all[t]=s,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function Uz(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function Cz(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Bv(e)),t.validateSchema=this.compile(e,!0))}var Mz={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Bv(t){return{anyOf:[t,Mz]}}});var Yv=S(pp=>{"use strict";Object.defineProperty(pp,"__esModule",{value:!0});var Lz={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};pp.default=Lz});var r_=S(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.callRef=xr.getValidate=void 0;var qz=qo(),Qv=rt(),Fe=K(),un=Ut(),e_=qa(),Ga=re(),Fz={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:i,validateName:a,opts:s,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=e_.resolveRef.call(c,u,o,r);if(l===void 0)throw new qz.default(n.opts.uriResolver,o,r);if(l instanceof e_.SchemaEnv)return m(l);return f(l);function d(){if(i===u)return Ha(t,a,i,i.$async);let g=e.scopeValue("root",{ref:u});return Ha(t,(0,Fe._)`${g}.validate`,u,u.$async)}function m(g){let v=t_(t,g);Ha(t,v,g,g.$async)}function f(g){let v=e.scopeValue("schema",s.code.source===!0?{ref:g,code:(0,Fe.stringify)(g)}:{ref:g}),$=e.name("valid"),x=t.subschema({schema:g,dataTypes:[],schemaPath:Fe.nil,topSchemaRef:v,errSchemaPath:r},$);t.mergeEvaluated(x),t.ok($)}}};function t_(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Fe._)`${r.scopeValue("wrapper",{ref:e})}.validate`}xr.getValidate=t_;function Ha(t,e,r,n){let{gen:o,it:i}=t,{allErrors:a,schemaEnv:s,opts:c}=i,u=c.passContext?un.default.this:Fe.nil;n?l():d();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let g=o.let("valid");o.try(()=>{o.code((0,Fe._)`await ${(0,Qv.callValidateCode)(t,e,u)}`),f(e),a||o.assign(g,!0)},v=>{o.if((0,Fe._)`!(${v} instanceof ${i.ValidationError})`,()=>o.throw(v)),m(v),a||o.assign(g,!1)}),t.ok(g)}function d(){t.result((0,Qv.callValidateCode)(t,e,u),()=>f(e),()=>m(e))}function m(g){let v=(0,Fe._)`${g}.errors`;o.assign(un.default.vErrors,(0,Fe._)`${un.default.vErrors} === null ? ${v} : ${un.default.vErrors}.concat(${v})`),o.assign(un.default.errors,(0,Fe._)`${un.default.vErrors}.length`)}function f(g){var v;if(!i.opts.unevaluated)return;let $=(v=r?.validate)===null||v===void 0?void 0:v.evaluated;if(i.props!==!0)if($&&!$.dynamicProps)$.props!==void 0&&(i.props=Ga.mergeEvaluated.props(o,$.props,i.props));else{let x=o.var("props",(0,Fe._)`${g}.evaluated.props`);i.props=Ga.mergeEvaluated.props(o,x,i.props,Fe.Name)}if(i.items!==!0)if($&&!$.dynamicItems)$.items!==void 0&&(i.items=Ga.mergeEvaluated.items(o,$.items,i.items));else{let x=o.var("items",(0,Fe._)`${g}.evaluated.items`);i.items=Ga.mergeEvaluated.items(o,x,i.items,Fe.Name)}}}xr.callRef=Ha;xr.default=Fz});var n_=S(fp=>{"use strict";Object.defineProperty(fp,"__esModule",{value:!0});var Vz=Yv(),Jz=r_(),Kz=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Vz.default,Jz.default];fp.default=Kz});var o_=S(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});var Ba=K(),or=Ba.operators,Xa={maximum:{okStr:"<=",ok:or.LTE,fail:or.GT},minimum:{okStr:">=",ok:or.GTE,fail:or.LT},exclusiveMaximum:{okStr:"<",ok:or.LT,fail:or.GTE},exclusiveMinimum:{okStr:">",ok:or.GT,fail:or.LTE}},Wz={message:({keyword:t,schemaCode:e})=>(0,Ba.str)`must be ${Xa[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Ba._)`{comparison: ${Xa[t].okStr}, limit: ${e}}`},Gz={keyword:Object.keys(Xa),type:"number",schemaType:"number",$data:!0,error:Wz,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Ba._)`${r} ${Xa[e].fail} ${n} || isNaN(${r})`)}};mp.default=Gz});var i_=S(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});var Wo=K(),Hz={message:({schemaCode:t})=>(0,Wo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Wo._)`{multipleOf: ${t}}`},Bz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Hz,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,i=o.opts.multipleOfPrecision,a=e.let("res"),s=i?(0,Wo._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,Wo._)`${a} !== parseInt(${a})`;t.fail$data((0,Wo._)`(${n} === 0 || (${a} = ${r}/${n}, ${s}))`)}};hp.default=Bz});var s_=S(gp=>{"use strict";Object.defineProperty(gp,"__esModule",{value:!0});function a_(t){let e=t.length,r=0,n=0,o;for(;n=55296&&o<=56319&&n{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});var kr=K(),Xz=re(),Yz=s_(),Qz={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,kr.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,kr._)`{limit: ${t}}`},eI={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Qz,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,i=e==="maxLength"?kr.operators.GT:kr.operators.LT,a=o.opts.unicode===!1?(0,kr._)`${r}.length`:(0,kr._)`${(0,Xz.useFunc)(t.gen,Yz.default)}(${r})`;t.fail$data((0,kr._)`${a} ${i} ${n}`)}};vp.default=eI});var u_=S(_p=>{"use strict";Object.defineProperty(_p,"__esModule",{value:!0});var tI=rt(),Ya=K(),rI={message:({schemaCode:t})=>(0,Ya.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Ya._)`{pattern: ${t}}`},nI={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:rI,code(t){let{data:e,$data:r,schema:n,schemaCode:o,it:i}=t,a=i.opts.unicodeRegExp?"u":"",s=r?(0,Ya._)`(new RegExp(${o}, ${a}))`:(0,tI.usePattern)(t,n);t.fail$data((0,Ya._)`!${s}.test(${e})`)}};_p.default=nI});var l_=S(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});var Go=K(),oI={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Go.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Go._)`{limit: ${t}}`},iI={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:oI,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Go.operators.GT:Go.operators.LT;t.fail$data((0,Go._)`Object.keys(${r}).length ${o} ${n}`)}};yp.default=iI});var d_=S($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});var Ho=rt(),Bo=K(),aI=re(),sI={message:({params:{missingProperty:t}})=>(0,Bo.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Bo._)`{missingProperty: ${t}}`},cI={keyword:"required",type:"object",schemaType:"array",$data:!0,error:sI,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:i,it:a}=t,{opts:s}=a;if(!i&&r.length===0)return;let c=r.length>=s.loopRequired;if(a.allErrors?u():l(),s.strictRequired){let f=t.parentSchema.properties,{definedProperties:g}=t.it;for(let v of r)if(f?.[v]===void 0&&!g.has(v)){let $=a.schemaEnv.baseId+a.errSchemaPath,x=`required property "${v}" is not defined at "${$}" (strictRequired)`;(0,aI.checkStrictMode)(a,x,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(Bo.nil,d);else for(let f of r)(0,Ho.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||i){let g=e.let("valid",!0);t.block$data(g,()=>m(f,g)),t.ok(g)}else e.if((0,Ho.checkMissingProp)(t,r,f)),(0,Ho.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,Ho.noPropertyInData)(e,o,f,s.ownProperties),()=>t.error())})}function m(f,g){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(g,(0,Ho.propertyInData)(e,o,f,s.ownProperties)),e.if((0,Bo.not)(g),()=>{t.error(),e.break()})},Bo.nil)}}};$p.default=cI});var p_=S(bp=>{"use strict";Object.defineProperty(bp,"__esModule",{value:!0});var Xo=K(),uI={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,Xo.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,Xo._)`{limit: ${t}}`},lI={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:uI,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?Xo.operators.GT:Xo.operators.LT;t.fail$data((0,Xo._)`${r}.length ${o} ${n}`)}};bp.default=lI});var Qa=S(xp=>{"use strict";Object.defineProperty(xp,"__esModule",{value:!0});var f_=Kd();f_.code='require("ajv/dist/runtime/equal").default';xp.default=f_});var m_=S(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});var kp=Ao(),we=K(),dI=re(),pI=Qa(),fI={message:({params:{i:t,j:e}})=>(0,we.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,we._)`{i: ${t}, j: ${e}}`},mI={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:fI,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:i,schemaCode:a,it:s}=t;if(!n&&!o)return;let c=e.let("valid"),u=i.items?(0,kp.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,we._)`${a} === false`),t.ok(c);function l(){let g=e.let("i",(0,we._)`${r}.length`),v=e.let("j");t.setParams({i:g,j:v}),e.assign(c,!0),e.if((0,we._)`${g} > 1`,()=>(d()?m:f)(g,v))}function d(){return u.length>0&&!u.some(g=>g==="object"||g==="array")}function m(g,v){let $=e.name("item"),x=(0,kp.checkDataTypes)(u,$,s.opts.strictNumbers,kp.DataType.Wrong),O=e.const("indices",(0,we._)`{}`);e.for((0,we._)`;${g}--;`,()=>{e.let($,(0,we._)`${r}[${g}]`),e.if(x,(0,we._)`continue`),u.length>1&&e.if((0,we._)`typeof ${$} == "string"`,(0,we._)`${$} += "_"`),e.if((0,we._)`typeof ${O}[${$}] == "number"`,()=>{e.assign(v,(0,we._)`${O}[${$}]`),t.error(),e.assign(c,!1).break()}).code((0,we._)`${O}[${$}] = ${g}`)})}function f(g,v){let $=(0,dI.useFunc)(e,pI.default),x=e.name("outer");e.label(x).for((0,we._)`;${g}--;`,()=>e.for((0,we._)`${v} = ${g}; ${v}--;`,()=>e.if((0,we._)`${$}(${r}[${g}], ${r}[${v}])`,()=>{t.error(),e.assign(c,!1).break(x)})))}}};Sp.default=mI});var h_=S(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});var wp=K(),hI=re(),gI=Qa(),vI={message:"must be equal to constant",params:({schemaCode:t})=>(0,wp._)`{allowedValue: ${t}}`},_I={keyword:"const",$data:!0,error:vI,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,wp._)`!${(0,hI.useFunc)(e,gI.default)}(${r}, ${o})`):t.fail((0,wp._)`${i} !== ${r}`)}};zp.default=_I});var g_=S(Ip=>{"use strict";Object.defineProperty(Ip,"__esModule",{value:!0});var Yo=K(),yI=re(),$I=Qa(),bI={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Yo._)`{allowedValues: ${t}}`},xI={keyword:"enum",schemaType:"array",$data:!0,error:bI,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:i,it:a}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let s=o.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,yI.useFunc)(e,$I.default)),l;if(s||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=e.const("vSchema",i);l=(0,Yo.or)(...o.map((g,v)=>m(f,v)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,f=>e.if((0,Yo._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function m(f,g){let v=o[g];return typeof v=="object"&&v!==null?(0,Yo._)`${u()}(${r}, ${f}[${g}])`:(0,Yo._)`${r} === ${v}`}}};Ip.default=xI});var v_=S(Ep=>{"use strict";Object.defineProperty(Ep,"__esModule",{value:!0});var kI=o_(),SI=i_(),wI=c_(),zI=u_(),II=l_(),EI=d_(),TI=p_(),PI=m_(),OI=h_(),jI=g_(),NI=[kI.default,SI.default,wI.default,zI.default,II.default,EI.default,TI.default,PI.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},OI.default,jI.default];Ep.default=NI});var Pp=S(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.validateAdditionalItems=void 0;var Sr=K(),Tp=re(),DI={message:({params:{len:t}})=>(0,Sr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Sr._)`{limit: ${t}}`},RI={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:DI,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Tp.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}__(t,n)}};function __(t,e){let{gen:r,schema:n,data:o,keyword:i,it:a}=t;a.items=!0;let s=r.const("len",(0,Sr._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Sr._)`${s} <= ${e.length}`);else if(typeof n=="object"&&!(0,Tp.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,Sr._)`${s} <= ${e.length}`);r.if((0,Sr.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,s,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:Tp.Type.Num},u),a.allErrors||r.if((0,Sr.not)(u),()=>r.break())})}}Qo.validateAdditionalItems=__;Qo.default=RI});var Op=S(ei=>{"use strict";Object.defineProperty(ei,"__esModule",{value:!0});ei.validateTuple=void 0;var y_=K(),es=re(),ZI=rt(),AI={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return $_(t,"additionalItems",e);r.items=!0,!(0,es.alwaysValidSchema)(r,e)&&t.ok((0,ZI.validateArray)(t))}};function $_(t,e,r=t.schema){let{gen:n,parentSchema:o,data:i,keyword:a,it:s}=t;l(o),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=es.mergeEvaluated.items(n,r.length,s.items));let c=n.name("valid"),u=n.const("len",(0,y_._)`${i}.length`);r.forEach((d,m)=>{(0,es.alwaysValidSchema)(s,d)||(n.if((0,y_._)`${u} > ${m}`,()=>t.subschema({keyword:a,schemaProp:m,dataProp:m},c)),t.ok(c))});function l(d){let{opts:m,errSchemaPath:f}=s,g=r.length,v=g===d.minItems&&(g===d.maxItems||d[e]===!1);if(m.strictTuples&&!v){let $=`"${a}" is ${g}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,es.checkStrictMode)(s,$,m.strictTuples)}}}ei.validateTuple=$_;ei.default=AI});var b_=S(jp=>{"use strict";Object.defineProperty(jp,"__esModule",{value:!0});var UI=Op(),CI={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,UI.validateTuple)(t,"items")};jp.default=CI});var k_=S(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});var x_=K(),MI=re(),LI=rt(),qI=Pp(),FI={message:({params:{len:t}})=>(0,x_.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,x_._)`{limit: ${t}}`},VI={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:FI,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,MI.alwaysValidSchema)(n,e)&&(o?(0,qI.validateAdditionalItems)(t,o):t.ok((0,LI.validateArray)(t)))}};Np.default=VI});var S_=S(Dp=>{"use strict";Object.defineProperty(Dp,"__esModule",{value:!0});var ot=K(),ts=re(),JI={message:({params:{min:t,max:e}})=>e===void 0?(0,ot.str)`must contain at least ${t} valid item(s)`:(0,ot.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ot._)`{minContains: ${t}}`:(0,ot._)`{minContains: ${t}, maxContains: ${e}}`},KI={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:JI,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:i}=t,a,s,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,s=u):a=1;let l=e.const("len",(0,ot._)`${o}.length`);if(t.setParams({min:a,max:s}),s===void 0&&a===0){(0,ts.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&a>s){(0,ts.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,ts.alwaysValidSchema)(i,r)){let v=(0,ot._)`${l} >= ${a}`;s!==void 0&&(v=(0,ot._)`${v} && ${l} <= ${s}`),t.pass(v);return}i.items=!0;let d=e.name("valid");s===void 0&&a===1?f(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),s!==void 0&&e.if((0,ot._)`${o}.length > 0`,m)):(e.let(d,!1),m()),t.result(d,()=>t.reset());function m(){let v=e.name("_valid"),$=e.let("count",0);f(v,()=>e.if(v,()=>g($)))}function f(v,$){e.forRange("i",0,l,x=>{t.subschema({keyword:"contains",dataProp:x,dataPropType:ts.Type.Num,compositeRule:!0},v),$()})}function g(v){e.code((0,ot._)`${v}++`),s===void 0?e.if((0,ot._)`${v} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,ot._)`${v} > ${s}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,ot._)`${v} >= ${a}`,()=>e.assign(d,!0)))}}};Dp.default=KI});var I_=S(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.validateSchemaDeps=bt.validatePropertyDeps=bt.error=void 0;var Rp=K(),WI=re(),ti=rt();bt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Rp.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Rp._)`{property: ${t}, +"use strict";var Cy=Object.create;var xs=Object.defineProperty;var My=Object.getOwnPropertyDescriptor;var Ly=Object.getOwnPropertyNames;var qy=Object.getPrototypeOf,Fy=Object.prototype.hasOwnProperty;var S=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vn=(t,e)=>{for(var r in e)xs(t,r,{get:e[r],enumerable:!0})},Vy=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ly(e))!Fy.call(t,o)&&o!==r&&xs(t,o,{get:()=>e[o],enumerable:!(n=My(e,o))||n.enumerable});return t};var oi=(t,e,r)=>(r=t!=null?Cy(qy(t)):{},Vy(e||!t||!t.__esModule?xs(r,"default",{value:t,enumerable:!0}):r,t));var Po=S(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.regexpCode=te.getEsmExportName=te.getProperty=te.safeStringify=te.stringify=te.strConcat=te.addCodeArg=te.str=te._=te.nil=te._Code=te.Name=te.IDENTIFIER=te._CodeOrName=void 0;var Eo=class{};te._CodeOrName=Eo;te.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var hr=class extends Eo{constructor(e){if(super(),!te.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};te.Name=hr;var tt=class extends Eo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof hr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};te._Code=tt;te.nil=new tt("");function Ag(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.ValueScope=Le.ValueScopeName=Le.Scope=Le.varKinds=Le.UsedValueState=void 0;var Me=Po(),$d=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Ea;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Ea||(Le.UsedValueState=Ea={}));Le.varKinds={const:new Me.Name("const"),let:new Me.Name("let"),var:new Me.Name("var")};var Ta=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Me.Name?e:this.name(e)}name(e){return new Me.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Le.Scope=Ta;var Pa=class extends Me.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Me._)`.${new Me.Name(r)}[${n}]`}};Le.ValueScopeName=Pa;var CS=(0,Me._)`\n`,bd=class extends Ta{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?CS:Me.nil}}get(){return this._scope}name(e){return new Pa(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:i}=o,a=(n=r.key)!==null&&n!==void 0?n:r.ref,s=this._values[i];if(s){let l=s.get(a);if(l)return l}else s=this._values[i]=new Map;s.set(a,o);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:i,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Me._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let i=Me.nil;for(let a in e){let s=e[a];if(!s)continue;let c=n[a]=n[a]||new Map;s.forEach(u=>{if(c.has(u))return;c.set(u,Ea.Started);let l=r(u);if(l){let d=this.opts.es5?Le.varKinds.var:Le.varKinds.const;i=(0,Me._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))i=(0,Me._)`${i}${l}${this.opts._n}`;else throw new $d(u);c.set(u,Ea.Completed)})}return i}};Le.ValueScope=bd});var K=S(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.or=G.and=G.not=G.CodeGen=G.operators=G.varKinds=G.ValueScopeName=G.ValueScope=G.Scope=G.Name=G.regexpCode=G.stringify=G.getProperty=G.nil=G.strConcat=G.str=G._=void 0;var Q=Po(),lt=xd(),Yt=Po();Object.defineProperty(G,"_",{enumerable:!0,get:function(){return Yt._}});Object.defineProperty(G,"str",{enumerable:!0,get:function(){return Yt.str}});Object.defineProperty(G,"strConcat",{enumerable:!0,get:function(){return Yt.strConcat}});Object.defineProperty(G,"nil",{enumerable:!0,get:function(){return Yt.nil}});Object.defineProperty(G,"getProperty",{enumerable:!0,get:function(){return Yt.getProperty}});Object.defineProperty(G,"stringify",{enumerable:!0,get:function(){return Yt.stringify}});Object.defineProperty(G,"regexpCode",{enumerable:!0,get:function(){return Yt.regexpCode}});Object.defineProperty(G,"Name",{enumerable:!0,get:function(){return Yt.Name}});var Da=xd();Object.defineProperty(G,"Scope",{enumerable:!0,get:function(){return Da.Scope}});Object.defineProperty(G,"ValueScope",{enumerable:!0,get:function(){return Da.ValueScope}});Object.defineProperty(G,"ValueScopeName",{enumerable:!0,get:function(){return Da.ValueScopeName}});Object.defineProperty(G,"varKinds",{enumerable:!0,get:function(){return Da.varKinds}});G.operators={GT:new Q._Code(">"),GTE:new Q._Code(">="),LT:new Q._Code("<"),LTE:new Q._Code("<="),EQ:new Q._Code("==="),NEQ:new Q._Code("!=="),NOT:new Q._Code("!"),OR:new Q._Code("||"),AND:new Q._Code("&&"),ADD:new Q._Code("+")};var Zt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},kd=class extends Zt{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?lt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=en(this.rhs,e,r)),this}get names(){return this.rhs instanceof Q._CodeOrName?this.rhs.names:{}}},Oa=class extends Zt{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof Q.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=en(this.rhs,e,r),this}get names(){let e=this.lhs instanceof Q.Name?{}:{...this.lhs.names};return Na(e,this.rhs)}},Sd=class extends Oa{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},wd=class extends Zt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},zd=class extends Zt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Id=class extends Zt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Ed=class extends Zt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=en(this.code,e,r),this}get names(){return this.code instanceof Q._CodeOrName?this.code.names:{}}},Oo=class extends Zt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let i=n[o];i.optimizeNames(e,r)||(MS(e,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>_r(e,r.names),{})}},At=class extends Oo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Td=class extends Oo{},Qr=class extends At{};Qr.kind="else";var gr=class t extends At{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Qr(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Cg(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=en(this.condition,e,r),this}get names(){let e=super.names;return Na(e,this.condition),this.else&&_r(e,this.else.names),e}};gr.kind="if";var vr=class extends At{};vr.kind="for";var Pd=class extends vr{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=en(this.iteration,e,r),this}get names(){return _r(super.names,this.iteration.names)}},Od=class extends vr{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?lt.varKinds.var:this.varKind,{name:n,from:o,to:i}=this;return`for(${r} ${n}=${o}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=Na(super.names,this.from);return Na(e,this.to)}},ja=class extends vr{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=en(this.iterable,e,r),this}get names(){return _r(super.names,this.iterable.names)}},jo=class extends At{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};jo.kind="func";var No=class extends Oo{render(e){return"return "+super.render(e)}};No.kind="return";var jd=class extends At{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&_r(e,this.catch.names),this.finally&&_r(e,this.finally.names),e}},Do=class extends At{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Do.kind="catch";var Ro=class extends At{render(e){return"finally"+super.render(e)}};Ro.kind="finally";var Nd=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` +`:""},this._extScope=e,this._scope=new lt.Scope({parent:e}),this._nodes=[new Td]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let i=this._scope.toName(r);return n!==void 0&&o&&(this._constants[i.str]=n),this._leafNode(new kd(e,i,n)),i}const(e,r,n){return this._def(lt.varKinds.const,e,r,n)}let(e,r,n){return this._def(lt.varKinds.let,e,r,n)}var(e,r,n){return this._def(lt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Oa(e,r,n))}add(e,r){return this._leafNode(new Sd(e,G.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==Q.nil&&this._leafNode(new Ed(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,Q.addCodeArg)(r,o));return r.push("}"),new Q._Code(r)}if(e,r,n){if(this._blockNode(new gr(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new gr(e))}else(){return this._elseNode(new Qr)}endIf(){return this._endBlockNode(gr,Qr)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Pd(e),r)}forRange(e,r,n,o,i=this.opts.es5?lt.varKinds.var:lt.varKinds.let){let a=this._scope.toName(e);return this._for(new Od(i,a,r,n),()=>o(a))}forOf(e,r,n,o=lt.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof Q.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Q._)`${a}.length`,s=>{this.var(i,(0,Q._)`${a}[${s}]`),n(i)})}return this._for(new ja("of",o,i,r),()=>n(i))}forIn(e,r,n,o=this.opts.es5?lt.varKinds.var:lt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Q._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new ja("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(vr)}label(e){return this._leafNode(new wd(e))}break(e){return this._leafNode(new zd(e))}return(e){let r=new No;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(No)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new jd;if(this._blockNode(o),this.code(e),r){let i=this.name("e");this._currNode=o.catch=new Do(i),r(i)}return n&&(this._currNode=o.finally=new Ro,this.code(n)),this._endBlockNode(Do,Ro)}throw(e){return this._leafNode(new Id(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=Q.nil,n,o){return this._blockNode(new jo(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(jo)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof gr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};G.CodeGen=Nd;function _r(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Na(t,e){return e instanceof Q._CodeOrName?_r(t,e.names):t}function en(t,e,r){if(t instanceof Q.Name)return n(t);if(!o(t))return t;return new Q._Code(t._items.reduce((i,a)=>(a instanceof Q.Name&&(a=n(a)),a instanceof Q._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function o(i){return i instanceof Q._Code&&i._items.some(a=>a instanceof Q.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function MS(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Cg(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,Q._)`!${Dd(t)}`}G.not=Cg;var LS=Mg(G.operators.AND);function qS(...t){return t.reduce(LS)}G.and=qS;var FS=Mg(G.operators.OR);function VS(...t){return t.reduce(FS)}G.or=VS;function Mg(t){return(e,r)=>e===Q.nil?r:r===Q.nil?e:(0,Q._)`${Dd(e)} ${t} ${Dd(r)}`}function Dd(t){return t instanceof Q.Name?t:(0,Q._)`(${t})`}});var re=S(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.checkStrictMode=B.getErrorPath=B.Type=B.useFunc=B.setEvaluated=B.evaluatedPropsToName=B.mergeEvaluated=B.eachItem=B.unescapeJsonPointer=B.escapeJsonPointer=B.escapeFragment=B.unescapeFragment=B.schemaRefOrVal=B.schemaHasRulesButRef=B.schemaHasRules=B.checkUnknownRules=B.alwaysValidSchema=B.toHash=void 0;var le=K(),JS=Po();function KS(t){let e={};for(let r of t)e[r]=!0;return e}B.toHash=KS;function WS(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Fg(t,e),!Vg(e,t.self.RULES.all))}B.alwaysValidSchema=WS;function Fg(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let i in e)o[i]||Wg(t,`unknown keyword: "${i}"`)}B.checkUnknownRules=Fg;function Vg(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}B.schemaHasRules=Vg;function GS(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}B.schemaHasRulesButRef=GS;function HS({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,le._)`${r}`}return(0,le._)`${t}${e}${(0,le.getProperty)(n)}`}B.schemaRefOrVal=HS;function BS(t){return Jg(decodeURIComponent(t))}B.unescapeFragment=BS;function XS(t){return encodeURIComponent(Zd(t))}B.escapeFragment=XS;function Zd(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}B.escapeJsonPointer=Zd;function Jg(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}B.unescapeJsonPointer=Jg;function YS(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}B.eachItem=YS;function Lg({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,i,a,s)=>{let c=a===void 0?i:a instanceof le.Name?(i instanceof le.Name?t(o,i,a):e(o,i,a),a):i instanceof le.Name?(e(o,a,i),i):r(i,a);return s===le.Name&&!(c instanceof le.Name)?n(o,c):c}}B.mergeEvaluated={props:Lg({mergeNames:(t,e,r)=>t.if((0,le._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,le._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,le._)`${r} || {}`).code((0,le._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,le._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,le._)`${r} || {}`),Ad(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Kg}),items:Lg({mergeNames:(t,e,r)=>t.if((0,le._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,le._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,le._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,le._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Kg(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,le._)`{}`);return e!==void 0&&Ad(t,r,e),r}B.evaluatedPropsToName=Kg;function Ad(t,e,r){Object.keys(r).forEach(n=>t.assign((0,le._)`${e}${(0,le.getProperty)(n)}`,!0))}B.setEvaluated=Ad;var qg={};function QS(t,e){return t.scopeValue("func",{ref:e,code:qg[e.code]||(qg[e.code]=new JS._Code(e.code))})}B.useFunc=QS;var Rd;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Rd||(B.Type=Rd={}));function ew(t,e,r){if(t instanceof le.Name){let n=e===Rd.Num;return r?n?(0,le._)`"[" + ${t} + "]"`:(0,le._)`"['" + ${t} + "']"`:n?(0,le._)`"/" + ${t}`:(0,le._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,le.getProperty)(t).toString():"/"+Zd(t)}B.getErrorPath=ew;function Wg(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}B.checkStrictMode=Wg});var Ut=S(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var Te=K(),tw={data:new Te.Name("data"),valCxt:new Te.Name("valCxt"),instancePath:new Te.Name("instancePath"),parentData:new Te.Name("parentData"),parentDataProperty:new Te.Name("parentDataProperty"),rootData:new Te.Name("rootData"),dynamicAnchors:new Te.Name("dynamicAnchors"),vErrors:new Te.Name("vErrors"),errors:new Te.Name("errors"),this:new Te.Name("this"),self:new Te.Name("self"),scope:new Te.Name("scope"),json:new Te.Name("json"),jsonPos:new Te.Name("jsonPos"),jsonLen:new Te.Name("jsonLen"),jsonPart:new Te.Name("jsonPart")};Ud.default=tw});var Zo=S(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.extendErrors=Pe.resetErrorsCount=Pe.reportExtraError=Pe.reportError=Pe.keyword$DataError=Pe.keywordError=void 0;var ee=K(),Ra=re(),Ae=Ut();Pe.keywordError={message:({keyword:t})=>(0,ee.str)`must pass "${t}" keyword validation`};Pe.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,ee.str)`"${t}" keyword must be ${e} ($data)`:(0,ee.str)`"${t}" keyword is invalid ($data)`};function rw(t,e=Pe.keywordError,r,n){let{it:o}=t,{gen:i,compositeRule:a,allErrors:s}=o,c=Bg(t,e,r);n??(a||s)?Gg(i,c):Hg(o,(0,ee._)`[${c}]`)}Pe.reportError=rw;function nw(t,e=Pe.keywordError,r){let{it:n}=t,{gen:o,compositeRule:i,allErrors:a}=n,s=Bg(t,e,r);Gg(o,s),i||a||Hg(n,Ae.default.vErrors)}Pe.reportExtraError=nw;function ow(t,e){t.assign(Ae.default.errors,e),t.if((0,ee._)`${Ae.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,ee._)`${Ae.default.vErrors}.length`,e),()=>t.assign(Ae.default.vErrors,null)))}Pe.resetErrorsCount=ow;function iw({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:i}){if(o===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",o,Ae.default.errors,s=>{t.const(a,(0,ee._)`${Ae.default.vErrors}[${s}]`),t.if((0,ee._)`${a}.instancePath === undefined`,()=>t.assign((0,ee._)`${a}.instancePath`,(0,ee.strConcat)(Ae.default.instancePath,i.errorPath))),t.assign((0,ee._)`${a}.schemaPath`,(0,ee.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,ee._)`${a}.schema`,r),t.assign((0,ee._)`${a}.data`,n))})}Pe.extendErrors=iw;function Gg(t,e){let r=t.const("err",e);t.if((0,ee._)`${Ae.default.vErrors} === null`,()=>t.assign(Ae.default.vErrors,(0,ee._)`[${r}]`),(0,ee._)`${Ae.default.vErrors}.push(${r})`),t.code((0,ee._)`${Ae.default.errors}++`)}function Hg(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,ee._)`new ${t.ValidationError}(${e})`):(r.assign((0,ee._)`${n}.errors`,e),r.return(!1))}var yr={keyword:new ee.Name("keyword"),schemaPath:new ee.Name("schemaPath"),params:new ee.Name("params"),propertyName:new ee.Name("propertyName"),message:new ee.Name("message"),schema:new ee.Name("schema"),parentSchema:new ee.Name("parentSchema")};function Bg(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ee._)`{}`:aw(t,e,r)}function aw(t,e,r={}){let{gen:n,it:o}=t,i=[sw(o,r),cw(t,r)];return uw(t,e,i),n.object(...i)}function sw({errorPath:t},{instancePath:e}){let r=e?(0,ee.str)`${t}${(0,Ra.getErrorPath)(e,Ra.Type.Str)}`:t;return[Ae.default.instancePath,(0,ee.strConcat)(Ae.default.instancePath,r)]}function cw({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,ee.str)`${e}/${t}`;return r&&(o=(0,ee.str)`${o}${(0,Ra.getErrorPath)(r,Ra.Type.Str)}`),[yr.schemaPath,o]}function uw(t,{params:e,message:r},n){let{keyword:o,data:i,schemaValue:a,it:s}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=s;n.push([yr.keyword,o],[yr.params,typeof e=="function"?e(t):e||(0,ee._)`{}`]),c.messages&&n.push([yr.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([yr.schema,a],[yr.parentSchema,(0,ee._)`${l}${d}`],[Ae.default.data,i]),u&&n.push([yr.propertyName,u])}});var Yg=S(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.boolOrEmptySchema=tn.topBoolOrEmptySchema=void 0;var lw=Zo(),dw=K(),pw=Ut(),fw={message:"boolean schema is false"};function mw(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Xg(t,!1):typeof r=="object"&&r.$async===!0?e.return(pw.default.data):(e.assign((0,dw._)`${n}.errors`,null),e.return(!0))}tn.topBoolOrEmptySchema=mw;function hw(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Xg(t)):r.var(e,!0)}tn.boolOrEmptySchema=hw;function Xg(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,lw.reportError)(o,fw,void 0,e)}});var Cd=S(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.getRules=rn.isJSONType=void 0;var gw=["string","number","integer","boolean","null","object","array"],vw=new Set(gw);function _w(t){return typeof t=="string"&&vw.has(t)}rn.isJSONType=_w;function yw(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}rn.getRules=yw});var Md=S(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.shouldUseRule=Qt.shouldUseGroup=Qt.schemaHasRulesForType=void 0;function $w({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Qg(t,n)}Qt.schemaHasRulesForType=$w;function Qg(t,e){return e.rules.some(r=>ev(t,r))}Qt.shouldUseGroup=Qg;function ev(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Qt.shouldUseRule=ev});var Ao=S(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.reportTypeError=Oe.checkDataTypes=Oe.checkDataType=Oe.coerceAndCheckDataType=Oe.getJSONTypes=Oe.getSchemaTypes=Oe.DataType=void 0;var bw=Cd(),xw=Md(),kw=Zo(),V=K(),tv=re(),nn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(nn||(Oe.DataType=nn={}));function Sw(t){let e=rv(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Oe.getSchemaTypes=Sw;function rv(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(bw.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Oe.getJSONTypes=rv;function ww(t,e){let{gen:r,data:n,opts:o}=t,i=zw(e,o.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,xw.schemaHasRulesForType)(t,e[0]));if(a){let s=qd(e,n,o.strictNumbers,nn.Wrong);r.if(s,()=>{i.length?Iw(t,e,i):Fd(t)})}return a}Oe.coerceAndCheckDataType=ww;var nv=new Set(["string","number","integer","boolean","null"]);function zw(t,e){return e?t.filter(r=>nv.has(r)||e==="array"&&r==="array"):[]}function Iw(t,e,r){let{gen:n,data:o,opts:i}=t,a=n.let("dataType",(0,V._)`typeof ${o}`),s=n.let("coerced",(0,V._)`undefined`);i.coerceTypes==="array"&&n.if((0,V._)`${a} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,V._)`${o}[0]`).assign(a,(0,V._)`typeof ${o}`).if(qd(e,o,i.strictNumbers),()=>n.assign(s,o))),n.if((0,V._)`${s} !== undefined`);for(let u of r)(nv.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),Fd(t),n.endIf(),n.if((0,V._)`${s} !== undefined`,()=>{n.assign(o,s),Ew(t,s)});function c(u){switch(u){case"string":n.elseIf((0,V._)`${a} == "number" || ${a} == "boolean"`).assign(s,(0,V._)`"" + ${o}`).elseIf((0,V._)`${o} === null`).assign(s,(0,V._)`""`);return;case"number":n.elseIf((0,V._)`${a} == "boolean" || ${o} === null + || (${a} == "string" && ${o} && ${o} == +${o})`).assign(s,(0,V._)`+${o}`);return;case"integer":n.elseIf((0,V._)`${a} === "boolean" || ${o} === null + || (${a} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(s,(0,V._)`+${o}`);return;case"boolean":n.elseIf((0,V._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(s,!1).elseIf((0,V._)`${o} === "true" || ${o} === 1`).assign(s,!0);return;case"null":n.elseIf((0,V._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(s,null);return;case"array":n.elseIf((0,V._)`${a} === "string" || ${a} === "number" + || ${a} === "boolean" || ${o} === null`).assign(s,(0,V._)`[${o}]`)}}}function Ew({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,V._)`${e} !== undefined`,()=>t.assign((0,V._)`${e}[${r}]`,n))}function Ld(t,e,r,n=nn.Correct){let o=n===nn.Correct?V.operators.EQ:V.operators.NEQ,i;switch(t){case"null":return(0,V._)`${e} ${o} null`;case"array":i=(0,V._)`Array.isArray(${e})`;break;case"object":i=(0,V._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,V._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,V._)`typeof ${e} ${o} ${t}`}return n===nn.Correct?i:(0,V.not)(i);function a(s=V.nil){return(0,V.and)((0,V._)`typeof ${e} == "number"`,s,r?(0,V._)`isFinite(${e})`:V.nil)}}Oe.checkDataType=Ld;function qd(t,e,r,n){if(t.length===1)return Ld(t[0],e,r,n);let o,i=(0,tv.toHash)(t);if(i.array&&i.object){let a=(0,V._)`typeof ${e} != "object"`;o=i.null?a:(0,V._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else o=V.nil;i.number&&delete i.integer;for(let a in i)o=(0,V.and)(o,Ld(a,e,r,n));return o}Oe.checkDataTypes=qd;var Tw={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,V._)`{type: ${t}}`:(0,V._)`{type: ${e}}`};function Fd(t){let e=Pw(t);(0,kw.reportError)(e,Tw)}Oe.reportTypeError=Fd;function Pw(t){let{gen:e,data:r,schema:n}=t,o=(0,tv.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var iv=S(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.assignDefaults=void 0;var on=K(),Ow=re();function jw(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)ov(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,i)=>ov(t,i,o.default))}Za.assignDefaults=jw;function ov(t,e,r){let{gen:n,compositeRule:o,data:i,opts:a}=t;if(r===void 0)return;let s=(0,on._)`${i}${(0,on.getProperty)(e)}`;if(o){(0,Ow.checkStrictMode)(t,`default is ignored for: ${s}`);return}let c=(0,on._)`${s} === undefined`;a.useDefaults==="empty"&&(c=(0,on._)`${c} || ${s} === null || ${s} === ""`),n.if(c,(0,on._)`${s} = ${(0,on.stringify)(r)}`)}});var rt=S(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.validateUnion=ae.validateArray=ae.usePattern=ae.callValidateCode=ae.schemaProperties=ae.allSchemaProperties=ae.noPropertyInData=ae.propertyInData=ae.isOwnProperty=ae.hasPropFunc=ae.reportMissingProp=ae.checkMissingProp=ae.checkReportMissingProp=void 0;var me=K(),Vd=re(),er=Ut(),Nw=re();function Dw(t,e){let{gen:r,data:n,it:o}=t;r.if(Kd(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,me._)`${e}`},!0),t.error()})}ae.checkReportMissingProp=Dw;function Rw({gen:t,data:e,it:{opts:r}},n,o){return(0,me.or)(...n.map(i=>(0,me.and)(Kd(t,e,i,r.ownProperties),(0,me._)`${o} = ${i}`)))}ae.checkMissingProp=Rw;function Zw(t,e){t.setParams({missingProperty:e},!0),t.error()}ae.reportMissingProp=Zw;function av(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,me._)`Object.prototype.hasOwnProperty`})}ae.hasPropFunc=av;function Jd(t,e,r){return(0,me._)`${av(t)}.call(${e}, ${r})`}ae.isOwnProperty=Jd;function Aw(t,e,r,n){let o=(0,me._)`${e}${(0,me.getProperty)(r)} !== undefined`;return n?(0,me._)`${o} && ${Jd(t,e,r)}`:o}ae.propertyInData=Aw;function Kd(t,e,r,n){let o=(0,me._)`${e}${(0,me.getProperty)(r)} === undefined`;return n?(0,me.or)(o,(0,me.not)(Jd(t,e,r))):o}ae.noPropertyInData=Kd;function sv(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ae.allSchemaProperties=sv;function Uw(t,e){return sv(e).filter(r=>!(0,Vd.alwaysValidSchema)(t,e[r]))}ae.schemaProperties=Uw;function Cw({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:a},s,c,u){let l=u?(0,me._)`${t}, ${e}, ${n}${o}`:e,d=[[er.default.instancePath,(0,me.strConcat)(er.default.instancePath,i)],[er.default.parentData,a.parentData],[er.default.parentDataProperty,a.parentDataProperty],[er.default.rootData,er.default.rootData]];a.opts.dynamicRef&&d.push([er.default.dynamicAnchors,er.default.dynamicAnchors]);let m=(0,me._)`${l}, ${r.object(...d)}`;return c!==me.nil?(0,me._)`${s}.call(${c}, ${m})`:(0,me._)`${s}(${m})`}ae.callValidateCode=Cw;var Mw=(0,me._)`new RegExp`;function Lw({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,i=o(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,me._)`${o.code==="new RegExp"?Mw:(0,Nw.useFunc)(t,o)}(${r}, ${n})`})}ae.usePattern=Lw;function qw(t){let{gen:e,data:r,keyword:n,it:o}=t,i=e.name("valid");if(o.allErrors){let s=e.let("valid",!0);return a(()=>e.assign(s,!1)),s}return e.var(i,!0),a(()=>e.break()),i;function a(s){let c=e.const("len",(0,me._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Vd.Type.Num},i),e.if((0,me.not)(i),s)})}}ae.validateArray=qw;function Fw(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Vd.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let a=e.let("valid",!1),s=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},s);e.assign(a,(0,me._)`${a} || ${s}`),t.mergeValidEvaluated(l,s)||e.if((0,me.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}ae.validateUnion=Fw});var lv=S(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.validateKeywordUsage=_t.validSchemaType=_t.funcKeywordCode=_t.macroKeywordCode=void 0;var Ue=K(),$r=Ut(),Vw=rt(),Jw=Zo();function Kw(t,e){let{gen:r,keyword:n,schema:o,parentSchema:i,it:a}=t,s=e.macro.call(a.self,o,i,a),c=uv(r,n,s);a.opts.validateSchema!==!1&&a.self.validateSchema(s,!0);let u=r.name("valid");t.subschema({schema:s,schemaPath:Ue.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}_t.macroKeywordCode=Kw;function Ww(t,e){var r;let{gen:n,keyword:o,schema:i,parentSchema:a,$data:s,it:c}=t;Hw(c,e);let u=!s&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=uv(n,o,u),d=n.let("valid");t.block$data(d,m),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function m(){if(e.errors===!1)v(),e.modifying&&cv(t),$(()=>t.error());else{let k=e.async?f():g();e.modifying&&cv(t),$(()=>Gw(t,k))}}function f(){let k=n.let("ruleErrs",null);return n.try(()=>v((0,Ue._)`await `),O=>n.assign(d,!1).if((0,Ue._)`${O} instanceof ${c.ValidationError}`,()=>n.assign(k,(0,Ue._)`${O}.errors`),()=>n.throw(O))),k}function g(){let k=(0,Ue._)`${l}.errors`;return n.assign(k,null),v(Ue.nil),k}function v(k=e.async?(0,Ue._)`await `:Ue.nil){let O=c.opts.passContext?$r.default.this:$r.default.self,I=!("compile"in e&&!s||e.schema===!1);n.assign(d,(0,Ue._)`${k}${(0,Vw.callValidateCode)(t,l,O,I)}`,e.modifying)}function $(k){var O;n.if((0,Ue.not)((O=e.valid)!==null&&O!==void 0?O:d),k)}}_t.funcKeywordCode=Ww;function cv(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ue._)`${n.parentData}[${n.parentDataProperty}]`))}function Gw(t,e){let{gen:r}=t;r.if((0,Ue._)`Array.isArray(${e})`,()=>{r.assign($r.default.vErrors,(0,Ue._)`${$r.default.vErrors} === null ? ${e} : ${$r.default.vErrors}.concat(${e})`).assign($r.default.errors,(0,Ue._)`${$r.default.vErrors}.length`),(0,Jw.extendErrors)(t)},()=>t.error())}function Hw({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function uv(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ue.stringify)(r)})}function Bw(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}_t.validSchemaType=Bw;function Xw({schema:t,opts:e,self:r,errSchemaPath:n},o,i){if(Array.isArray(o.keyword)?!o.keyword.includes(i):o.keyword!==i)throw new Error("ajv implementation error");let a=o.dependencies;if(a?.some(s=>!Object.prototype.hasOwnProperty.call(t,s)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}_t.validateKeywordUsage=Xw});var pv=S(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.extendSubschemaMode=tr.extendSubschemaData=tr.getSubschema=void 0;var yt=K(),dv=re();function Yw(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let s=t.schema[e];return r===void 0?{schema:s,schemaPath:(0,yt._)`${t.schemaPath}${(0,yt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:s[r],schemaPath:(0,yt._)`${t.schemaPath}${(0,yt.getProperty)(e)}${(0,yt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,dv.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}tr.getSubschema=Yw;function Qw(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:i,propertyName:a}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,m=s.let("data",(0,yt._)`${e.data}${(0,yt.getProperty)(r)}`,!0);c(m),t.errorPath=(0,yt.str)`${u}${(0,dv.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,yt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof yt.Name?o:s.let("data",o,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}tr.extendSubschemaData=Qw;function e0(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:i}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}tr.extendSubschemaMode=e0});var Wd=S((sA,fv)=>{"use strict";fv.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;o--!==0;){var a=i[o];if(!t(e[a],r[a]))return!1}return!0}return e!==e&&r!==r}});var hv=S((cA,mv)=>{"use strict";var rr=mv.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Aa(e,n,o,t,"",t)};rr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};rr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};rr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};rr.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Aa(t,e,r,n,o,i,a,s,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,i,a,s,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in rr.arrayKeywords)for(var m=0;m{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.getSchemaRefs=qe.resolveUrl=qe.normalizeId=qe._getFullPath=qe.getFullPath=qe.inlineRef=void 0;var r0=re(),n0=Wd(),o0=hv(),i0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function a0(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Gd(t):e?gv(t)<=e:!1}qe.inlineRef=a0;var s0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Gd(t){for(let e in t){if(s0.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Gd)||typeof r=="object"&&Gd(r))return!0}return!1}function gv(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!i0.has(r)&&(typeof t[r]=="object"&&(0,r0.eachItem)(t[r],n=>e+=gv(n)),e===1/0))return 1/0}return e}function vv(t,e="",r){r!==!1&&(e=an(e));let n=t.parse(e);return _v(t,n)}qe.getFullPath=vv;function _v(t,e){return t.serialize(e).split("#")[0]+"#"}qe._getFullPath=_v;var c0=/#\/?$/;function an(t){return t?t.replace(c0,""):""}qe.normalizeId=an;function u0(t,e,r){return r=an(r),t.resolve(e,r)}qe.resolveUrl=u0;var l0=/^[a-z_][-a-z0-9._]*$/i;function d0(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=an(t[r]||e),i={"":o},a=vv(n,o,!1),s={},c=new Set;return o0(t,{allKeys:!0},(d,m,f,g)=>{if(g===void 0)return;let v=a+m,$=i[g];typeof d[r]=="string"&&($=k.call(this,d[r])),O.call(this,d.$anchor),O.call(this,d.$dynamicAnchor),i[m]=$;function k(I){let U=this.opts.uriResolver.resolve;if(I=an($?U($,I):I),c.has(I))throw l(I);c.add(I);let j=this.refs[I];return typeof j=="string"&&(j=this.refs[j]),typeof j=="object"?u(d,j.schema,I):I!==an(v)&&(I[0]==="#"?(u(d,s[I],I),s[I]=d):this.refs[I]=v),I}function O(I){if(typeof I=="string"){if(!l0.test(I))throw new Error(`invalid anchor "${I}"`);k.call(this,`#${I}`)}}}),s;function u(d,m,f){if(m!==void 0&&!n0(d,m))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}qe.getSchemaRefs=d0});var Lo=S(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.getData=nr.KeywordCxt=nr.validateFunctionCode=void 0;var kv=Yg(),yv=Ao(),Bd=Md(),Ua=Ao(),p0=iv(),Mo=lv(),Hd=pv(),P=K(),C=Ut(),f0=Uo(),Ct=re(),Co=Zo();function m0(t){if(zv(t)&&(Iv(t),wv(t))){v0(t);return}Sv(t,()=>(0,kv.topBoolOrEmptySchema)(t))}nr.validateFunctionCode=m0;function Sv({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},i){o.code.es5?t.func(e,(0,P._)`${C.default.data}, ${C.default.valCxt}`,n.$async,()=>{t.code((0,P._)`"use strict"; ${$v(r,o)}`),g0(t,o),t.code(i)}):t.func(e,(0,P._)`${C.default.data}, ${h0(o)}`,n.$async,()=>t.code($v(r,o)).code(i))}function h0(t){return(0,P._)`{${C.default.instancePath}="", ${C.default.parentData}, ${C.default.parentDataProperty}, ${C.default.rootData}=${C.default.data}${t.dynamicRef?(0,P._)`, ${C.default.dynamicAnchors}={}`:P.nil}}={}`}function g0(t,e){t.if(C.default.valCxt,()=>{t.var(C.default.instancePath,(0,P._)`${C.default.valCxt}.${C.default.instancePath}`),t.var(C.default.parentData,(0,P._)`${C.default.valCxt}.${C.default.parentData}`),t.var(C.default.parentDataProperty,(0,P._)`${C.default.valCxt}.${C.default.parentDataProperty}`),t.var(C.default.rootData,(0,P._)`${C.default.valCxt}.${C.default.rootData}`),e.dynamicRef&&t.var(C.default.dynamicAnchors,(0,P._)`${C.default.valCxt}.${C.default.dynamicAnchors}`)},()=>{t.var(C.default.instancePath,(0,P._)`""`),t.var(C.default.parentData,(0,P._)`undefined`),t.var(C.default.parentDataProperty,(0,P._)`undefined`),t.var(C.default.rootData,C.default.data),e.dynamicRef&&t.var(C.default.dynamicAnchors,(0,P._)`{}`)})}function v0(t){let{schema:e,opts:r,gen:n}=t;Sv(t,()=>{r.$comment&&e.$comment&&Tv(t),x0(t),n.let(C.default.vErrors,null),n.let(C.default.errors,0),r.unevaluated&&_0(t),Ev(t),w0(t)})}function _0(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,P._)`${r}.evaluated`),e.if((0,P._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,P._)`${t.evaluated}.props`,(0,P._)`undefined`)),e.if((0,P._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,P._)`${t.evaluated}.items`,(0,P._)`undefined`))}function $v(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,P._)`/*# sourceURL=${r} */`:P.nil}function y0(t,e){if(zv(t)&&(Iv(t),wv(t))){$0(t,e);return}(0,kv.boolOrEmptySchema)(t,e)}function wv({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function zv(t){return typeof t.schema!="boolean"}function $0(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Tv(t),k0(t),S0(t);let i=n.const("_errs",C.default.errors);Ev(t,i),n.var(e,(0,P._)`${i} === ${C.default.errors}`)}function Iv(t){(0,Ct.checkUnknownRules)(t),b0(t)}function Ev(t,e){if(t.opts.jtd)return bv(t,[],!1,e);let r=(0,yv.getSchemaTypes)(t.schema),n=(0,yv.coerceAndCheckDataType)(t,r);bv(t,r,!n,e)}function b0(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Ct.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function x0(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Ct.checkStrictMode)(t,"default is ignored in the schema root")}function k0(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,f0.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function S0(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Tv({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)t.code((0,P._)`${C.default.self}.logger.log(${i})`);else if(typeof o.$comment=="function"){let a=(0,P.str)`${n}/$comment`,s=t.scopeValue("root",{ref:e.root});t.code((0,P._)`${C.default.self}.opts.$comment(${i}, ${a}, ${s}.schema)`)}}function w0(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=t;r.$async?e.if((0,P._)`${C.default.errors} === 0`,()=>e.return(C.default.data),()=>e.throw((0,P._)`new ${o}(${C.default.vErrors})`)):(e.assign((0,P._)`${n}.errors`,C.default.vErrors),i.unevaluated&&z0(t),e.return((0,P._)`${C.default.errors} === 0`))}function z0({gen:t,evaluated:e,props:r,items:n}){r instanceof P.Name&&t.assign((0,P._)`${e}.props`,r),n instanceof P.Name&&t.assign((0,P._)`${e}.items`,n)}function bv(t,e,r,n){let{gen:o,schema:i,data:a,allErrors:s,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,Ct.schemaHasRulesButRef)(i,l))){o.block(()=>Ov(t,"$ref",l.all.$ref.definition));return}c.jtd||I0(t,e),o.block(()=>{for(let m of l.rules)d(m);d(l.post)});function d(m){(0,Bd.shouldUseGroup)(i,m)&&(m.type?(o.if((0,Ua.checkDataType)(m.type,a,c.strictNumbers)),xv(t,m),e.length===1&&e[0]===m.type&&r&&(o.else(),(0,Ua.reportTypeError)(t)),o.endIf()):xv(t,m),s||o.if((0,P._)`${C.default.errors} === ${n||0}`))}}function xv(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,p0.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,Bd.shouldUseRule)(n,i)&&Ov(t,i.keyword,i.definition,e.type)})}function I0(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(E0(t,e),t.opts.allowUnionTypes||T0(t,e),P0(t,t.dataTypes))}function E0(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Pv(t.dataTypes,r)||Xd(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),j0(t,e)}}function T0(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Xd(t,"use allowUnionTypes to allow union type keyword")}function P0(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Bd.shouldUseRule)(t.schema,o)){let{type:i}=o.definition;i.length&&!i.some(a=>O0(e,a))&&Xd(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function O0(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Pv(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function j0(t,e){let r=[];for(let n of t.dataTypes)Pv(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Xd(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Ct.checkStrictMode)(t,e,t.opts.strictTypes)}var Ca=class{constructor(e,r,n){if((0,Mo.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Ct.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",jv(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Mo.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",C.default.errors))}result(e,r,n){this.failResult((0,P.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,P.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,P._)`${r} !== undefined && (${(0,P.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Co.reportExtraError:Co.reportError)(this,this.def.error,r)}$dataError(){(0,Co.reportError)(this,this.def.$dataError||Co.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Co.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=P.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=P.nil,r=P.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:i,def:a}=this;n.if((0,P.or)((0,P._)`${o} === undefined`,r)),e!==P.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==P.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:i}=this;return(0,P.or)(a(),s());function a(){if(n.length){if(!(r instanceof P.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,P._)`${(0,Ua.checkDataTypes)(c,r,i.opts.strictNumbers,Ua.DataType.Wrong)}`}return P.nil}function s(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,P._)`!${c}(${r})`}return P.nil}}subschema(e,r){let n=(0,Hd.getSubschema)(this.it,e);(0,Hd.extendSubschemaData)(n,this.it,e),(0,Hd.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return y0(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Ct.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Ct.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,P.Name)),!0}};nr.KeywordCxt=Ca;function Ov(t,e,r,n){let o=new Ca(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Mo.funcKeywordCode)(o,r):"macro"in r?(0,Mo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Mo.funcKeywordCode)(o,r)}var N0=/^\/(?:[^~]|~0|~1)*$/,D0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function jv(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,i;if(t==="")return C.default.rootData;if(t[0]==="/"){if(!N0.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,i=C.default.rootData}else{let u=D0.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!o)return i}let a=i,s=o.split("/");for(let u of s)u&&(i=(0,P._)`${i}${(0,P.getProperty)((0,Ct.unescapeJsonPointer)(u))}`,a=(0,P._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}nr.getData=jv});var Ma=S(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var Yd=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Qd.default=Yd});var qo=S(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});var ep=Uo(),tp=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,ep.resolveUrl)(e,r,n),this.missingSchema=(0,ep.normalizeId)((0,ep.getFullPath)(e,this.missingRef))}};rp.default=tp});var qa=S(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.resolveSchema=nt.getCompilingSchema=nt.resolveRef=nt.compileSchema=nt.SchemaEnv=void 0;var dt=K(),R0=Ma(),br=Ut(),pt=Uo(),Nv=re(),Z0=Lo(),sn=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,pt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};nt.SchemaEnv=sn;function op(t){let e=Dv.call(this,t);if(e)return e;let r=(0,pt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:i}=this.opts,a=new dt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:i}),s;t.$async&&(s=a.scopeValue("Error",{ref:R0.default,code:(0,dt._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:br.default.data,parentData:br.default.parentData,parentDataProperty:br.default.parentDataProperty,dataNames:[br.default.data],dataPathArr:[dt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,dt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:s,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:dt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,dt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,Z0.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(br.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${br.default.self}`,`${br.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:g,items:v}=u;f.evaluated={props:g instanceof dt.Name?void 0:g,items:v instanceof dt.Name?void 0:v,dynamicProps:g instanceof dt.Name,dynamicItems:v instanceof dt.Name},f.source&&(f.source.evaluated=(0,dt.stringify)(f.evaluated))}return t.validate=f,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}nt.compileSchema=op;function A0(t,e,r){var n;r=(0,pt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let i=M0.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;a&&(i=new sn({schema:a,schemaId:s,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=U0.call(this,i)}nt.resolveRef=A0;function U0(t){return(0,pt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:op.call(this,t)}function Dv(t){for(let e of this._compilations)if(C0(e,t))return e}nt.getCompilingSchema=Dv;function C0(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function M0(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||La.call(this,t,e)}function La(t,e){let r=this.opts.uriResolver.parse(e),n=(0,pt._getFullPath)(this.opts.uriResolver,r),o=(0,pt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return np.call(this,r,t);let i=(0,pt.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let s=La.call(this,t,a);return typeof s?.schema!="object"?void 0:np.call(this,r,s)}if(typeof a?.schema=="object"){if(a.validate||op.call(this,a),i===(0,pt.normalizeId)(e)){let{schema:s}=a,{schemaId:c}=this.opts,u=s[c];return u&&(o=(0,pt.resolveUrl)(this.opts.uriResolver,o,u)),new sn({schema:s,schemaId:c,root:t,baseId:o})}return np.call(this,r,a)}}nt.resolveSchema=La;var L0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function np(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let s of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Nv.unescapeFragment)(s)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!L0.has(s)&&u&&(e=(0,pt.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,Nv.schemaHasRulesButRef)(r,this.RULES)){let s=(0,pt.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=La.call(this,n,s)}let{schemaId:a}=this.opts;if(i=i||new sn({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var Rv=S((mA,q0)=>{q0.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var ap=S((hA,Cv)=>{"use strict";var F0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Av=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function ip(t){let e="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var V0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Zv(t){return t.length=0,!0}function J0(t,e,r){if(t.length){let n=ip(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function K0(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,a=!1,s=J0;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!s(o,n,r))break;s=Zv}else{o.push(u);continue}}return o.length&&(s===Zv?r.zone=o.join(""):a?n.push(o.join("")):n.push(ip(o))),r.address=n.join(""),r}function Uv(t){if(W0(t,":")<2)return{host:t,isIPV6:!1};let e=K0(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function W0(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:X0}=ap(),Y0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Q0=["http","https","ws","wss","urn","urn:uuid"];function ez(t){return Q0.indexOf(t)!==-1}function sp(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Mv(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Lv(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function tz(t){return t.secure=sp(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function rz(t){if((t.port===(sp(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function nz(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Y0);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,i=cp(o);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function oz(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,i=cp(o);i&&(t=i.serialize(t,e));let a=t,s=t.nss;return a.path=`${n||e.nid}:${s}`,e.skipEscape=!0,a}function iz(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!X0(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function az(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var qv={scheme:"http",domainHost:!0,parse:Mv,serialize:Lv},sz={scheme:"https",domainHost:qv.domainHost,parse:Mv,serialize:Lv},Fa={scheme:"ws",domainHost:!0,parse:tz,serialize:rz},cz={scheme:"wss",domainHost:Fa.domainHost,parse:Fa.parse,serialize:Fa.serialize},uz={scheme:"urn",parse:nz,serialize:oz,skipNormalize:!0},lz={scheme:"urn:uuid",parse:iz,serialize:az,skipNormalize:!0},Va={http:qv,https:sz,ws:Fa,wss:cz,urn:uz,"urn:uuid":lz};Object.setPrototypeOf(Va,null);function cp(t){return t&&(Va[t]||Va[t.toLowerCase()])||void 0}Fv.exports={wsIsSecure:sp,SCHEMES:Va,isValidSchemeName:ez,getSchemeHandler:cp}});var Wv=S((vA,Ka)=>{"use strict";var{normalizeIPv6:dz,removeDotSegments:Fo,recomposeAuthority:pz,normalizeComponentEncoding:Ja,isIPv4:fz,nonSimpleDomain:mz}=ap(),{SCHEMES:hz,getSchemeHandler:Jv}=Vv();function gz(t,e){return typeof t=="string"?t=$t(Mt(t,e),e):typeof t=="object"&&(t=Mt($t(t,e),e)),t}function vz(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Kv(Mt(t,n),Mt(e,n),n,!0);return n.skipEscape=!0,$t(o,n)}function Kv(t,e,r,n){let o={};return n||(t=Mt($t(t,r),r),e=Mt($t(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Fo(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Fo(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=Fo(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=Fo(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function _z(t,e,r){return typeof t=="string"?(t=unescape(t),t=$t(Ja(Mt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=$t(Ja(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=$t(Ja(Mt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=$t(Ja(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function $t(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],i=Jv(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let a=pz(r);if(a!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(a),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(s=Fo(s)),a===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),o.push(s)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var yz=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Mt(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(yz);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(fz(n.host)===!1){let c=dz(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=Jv(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&o===!1&&mz(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(s){n.error=n.error||"Host's domain name can not be converted to ASCII: "+s}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var up={SCHEMES:hz,normalize:gz,resolve:vz,resolveComponent:Kv,equal:_z,serialize:$t,parse:Mt};Ka.exports=up;Ka.exports.default=up;Ka.exports.fastUri=up});var Hv=S(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});var Gv=Wv();Gv.code='require("ajv/dist/runtime/uri").default';lp.default=Gv});var n_=S(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.CodeGen=Se.Name=Se.nil=Se.stringify=Se.str=Se._=Se.KeywordCxt=void 0;var $z=Lo();Object.defineProperty(Se,"KeywordCxt",{enumerable:!0,get:function(){return $z.KeywordCxt}});var cn=K();Object.defineProperty(Se,"_",{enumerable:!0,get:function(){return cn._}});Object.defineProperty(Se,"str",{enumerable:!0,get:function(){return cn.str}});Object.defineProperty(Se,"stringify",{enumerable:!0,get:function(){return cn.stringify}});Object.defineProperty(Se,"nil",{enumerable:!0,get:function(){return cn.nil}});Object.defineProperty(Se,"Name",{enumerable:!0,get:function(){return cn.Name}});Object.defineProperty(Se,"CodeGen",{enumerable:!0,get:function(){return cn.CodeGen}});var bz=Ma(),e_=qo(),xz=Cd(),Vo=qa(),kz=K(),Jo=Uo(),Wa=Ao(),pp=re(),Bv=Rv(),Sz=Hv(),t_=(t,e)=>new RegExp(t,e);t_.code="new RegExp";var wz=["removeAdditional","useDefaults","coerceTypes"],zz=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Iz={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Ez={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Xv=200;function Tz(t){var e,r,n,o,i,a,s,c,u,l,d,m,f,g,v,$,k,O,I,U,j,it,at,ys,$s;let gn=t.strict,bs=(e=t.code)===null||e===void 0?void 0:e.optimize,mf=bs===!0||bs===void 0?1:bs||0,hf=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:t_,Uy=(o=t.uriResolver)!==null&&o!==void 0?o:Sz.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:gn)!==null&&a!==void 0?a:!0,strictNumbers:(c=(s=t.strictNumbers)!==null&&s!==void 0?s:gn)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:gn)!==null&&l!==void 0?l:"log",strictTuples:(m=(d=t.strictTuples)!==null&&d!==void 0?d:gn)!==null&&m!==void 0?m:"log",strictRequired:(g=(f=t.strictRequired)!==null&&f!==void 0?f:gn)!==null&&g!==void 0?g:!1,code:t.code?{...t.code,optimize:mf,regExp:hf}:{optimize:mf,regExp:hf},loopRequired:(v=t.loopRequired)!==null&&v!==void 0?v:Xv,loopEnum:($=t.loopEnum)!==null&&$!==void 0?$:Xv,meta:(k=t.meta)!==null&&k!==void 0?k:!0,messages:(O=t.messages)!==null&&O!==void 0?O:!0,inlineRefs:(I=t.inlineRefs)!==null&&I!==void 0?I:!0,schemaId:(U=t.schemaId)!==null&&U!==void 0?U:"$id",addUsedSchema:(j=t.addUsedSchema)!==null&&j!==void 0?j:!0,validateSchema:(it=t.validateSchema)!==null&&it!==void 0?it:!0,validateFormats:(at=t.validateFormats)!==null&&at!==void 0?at:!0,unicodeRegExp:(ys=t.unicodeRegExp)!==null&&ys!==void 0?ys:!0,int32range:($s=t.int32range)!==null&&$s!==void 0?$s:!0,uriResolver:Uy}}var Ko=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Tz(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new kz.ValueScope({scope:{},prefixes:zz,es5:r,lines:n}),this.logger=Rz(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,xz.getRules)(),Yv.call(this,Iz,e,"NOT SUPPORTED"),Yv.call(this,Ez,e,"DEPRECATED","warn"),this._metaOpts=Nz.call(this),e.formats&&Oz.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&jz.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Pz.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=Bv;n==="id"&&(o={...Bv},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await i.call(this,l.$schema);let m=this._addSchema(l,d);return m.validate||a.call(this,m)}async function i(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof e_.default))throw d;return s.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function s({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,o);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,Jo.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,e);if(!o&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return o}getSchema(e){let r;for(;typeof(r=Qv.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Vo.SchemaEnv({schema:{},schemaId:n});if(r=Vo.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Qv.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,Jo.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Az.call(this,n,r),!r)return(0,pp.eachItem)(n,i=>dp.call(this,i)),this;Cz.call(this,r);let o={...r,type:(0,Wa.getJSONTypes)(r.type),schemaType:(0,Wa.getJSONTypes)(r.schemaType)};return(0,pp.eachItem)(n,o.type.length===0?i=>dp.call(this,i,o):i=>o.type.forEach(a=>dp.call(this,i,o,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(i=>i.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,i)=>o+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let i=o.split("/").slice(1),a=e;for(let s of i)a=a[s];for(let s in n){let c=n[s];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[s];u&&l&&(a[s]=r_(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:s}=this.opts;if(typeof e=="object")a=e[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,Jo.normalizeId)(a||n);let u=Jo.getSchemaRefs.call(this,e,n);return c=new Vo.SchemaEnv({schema:e,schemaId:s,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Vo.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Vo.compileSchema.call(this,e)}finally{this.opts=r}}};Ko.ValidationError=bz.default;Ko.MissingRefError=e_.default;Se.default=Ko;function Yv(t,e,r,n="error"){for(let o in t){let i=o;i in e&&this.logger[n](`${r}: option ${o}. ${t[i]}`)}}function Qv(t){return t=(0,Jo.normalizeId)(t),this.schemas[t]||this.refs[t]}function Pz(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function Oz(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function jz(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function Nz(){let t={...this.opts};for(let e of wz)delete t[e];return t}var Dz={log(){},warn(){},error(){}};function Rz(t){if(t===!1)return Dz;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var Zz=/^[a-z_$][a-z0-9_$:-]*$/i;function Az(t,e){let{RULES:r}=this;if((0,pp.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Zz.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function dp(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=o?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let s={keyword:t,definition:{...e,type:(0,Wa.getJSONTypes)(e.type),schemaType:(0,Wa.getJSONTypes)(e.schemaType)}};e.before?Uz.call(this,a,s,e.before):a.rules.push(s),i.all[t]=s,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function Uz(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function Cz(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=r_(e)),t.validateSchema=this.compile(e,!0))}var Mz={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function r_(t){return{anyOf:[t,Mz]}}});var o_=S(fp=>{"use strict";Object.defineProperty(fp,"__esModule",{value:!0});var Lz={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};fp.default=Lz});var c_=S(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.callRef=xr.getValidate=void 0;var qz=qo(),i_=rt(),Fe=K(),un=Ut(),a_=qa(),Ga=re(),Fz={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:i,validateName:a,opts:s,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=a_.resolveRef.call(c,u,o,r);if(l===void 0)throw new qz.default(n.opts.uriResolver,o,r);if(l instanceof a_.SchemaEnv)return m(l);return f(l);function d(){if(i===u)return Ha(t,a,i,i.$async);let g=e.scopeValue("root",{ref:u});return Ha(t,(0,Fe._)`${g}.validate`,u,u.$async)}function m(g){let v=s_(t,g);Ha(t,v,g,g.$async)}function f(g){let v=e.scopeValue("schema",s.code.source===!0?{ref:g,code:(0,Fe.stringify)(g)}:{ref:g}),$=e.name("valid"),k=t.subschema({schema:g,dataTypes:[],schemaPath:Fe.nil,topSchemaRef:v,errSchemaPath:r},$);t.mergeEvaluated(k),t.ok($)}}};function s_(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Fe._)`${r.scopeValue("wrapper",{ref:e})}.validate`}xr.getValidate=s_;function Ha(t,e,r,n){let{gen:o,it:i}=t,{allErrors:a,schemaEnv:s,opts:c}=i,u=c.passContext?un.default.this:Fe.nil;n?l():d();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let g=o.let("valid");o.try(()=>{o.code((0,Fe._)`await ${(0,i_.callValidateCode)(t,e,u)}`),f(e),a||o.assign(g,!0)},v=>{o.if((0,Fe._)`!(${v} instanceof ${i.ValidationError})`,()=>o.throw(v)),m(v),a||o.assign(g,!1)}),t.ok(g)}function d(){t.result((0,i_.callValidateCode)(t,e,u),()=>f(e),()=>m(e))}function m(g){let v=(0,Fe._)`${g}.errors`;o.assign(un.default.vErrors,(0,Fe._)`${un.default.vErrors} === null ? ${v} : ${un.default.vErrors}.concat(${v})`),o.assign(un.default.errors,(0,Fe._)`${un.default.vErrors}.length`)}function f(g){var v;if(!i.opts.unevaluated)return;let $=(v=r?.validate)===null||v===void 0?void 0:v.evaluated;if(i.props!==!0)if($&&!$.dynamicProps)$.props!==void 0&&(i.props=Ga.mergeEvaluated.props(o,$.props,i.props));else{let k=o.var("props",(0,Fe._)`${g}.evaluated.props`);i.props=Ga.mergeEvaluated.props(o,k,i.props,Fe.Name)}if(i.items!==!0)if($&&!$.dynamicItems)$.items!==void 0&&(i.items=Ga.mergeEvaluated.items(o,$.items,i.items));else{let k=o.var("items",(0,Fe._)`${g}.evaluated.items`);i.items=Ga.mergeEvaluated.items(o,k,i.items,Fe.Name)}}}xr.callRef=Ha;xr.default=Fz});var u_=S(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});var Vz=o_(),Jz=c_(),Kz=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Vz.default,Jz.default];mp.default=Kz});var l_=S(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});var Ba=K(),or=Ba.operators,Xa={maximum:{okStr:"<=",ok:or.LTE,fail:or.GT},minimum:{okStr:">=",ok:or.GTE,fail:or.LT},exclusiveMaximum:{okStr:"<",ok:or.LT,fail:or.GTE},exclusiveMinimum:{okStr:">",ok:or.GT,fail:or.LTE}},Wz={message:({keyword:t,schemaCode:e})=>(0,Ba.str)`must be ${Xa[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Ba._)`{comparison: ${Xa[t].okStr}, limit: ${e}}`},Gz={keyword:Object.keys(Xa),type:"number",schemaType:"number",$data:!0,error:Wz,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Ba._)`${r} ${Xa[e].fail} ${n} || isNaN(${r})`)}};hp.default=Gz});var d_=S(gp=>{"use strict";Object.defineProperty(gp,"__esModule",{value:!0});var Wo=K(),Hz={message:({schemaCode:t})=>(0,Wo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Wo._)`{multipleOf: ${t}}`},Bz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Hz,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,i=o.opts.multipleOfPrecision,a=e.let("res"),s=i?(0,Wo._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,Wo._)`${a} !== parseInt(${a})`;t.fail$data((0,Wo._)`(${n} === 0 || (${a} = ${r}/${n}, ${s}))`)}};gp.default=Bz});var f_=S(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});function p_(t){let e=t.length,r=0,n=0,o;for(;n=55296&&o<=56319&&n{"use strict";Object.defineProperty(_p,"__esModule",{value:!0});var kr=K(),Xz=re(),Yz=f_(),Qz={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,kr.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,kr._)`{limit: ${t}}`},eI={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Qz,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,i=e==="maxLength"?kr.operators.GT:kr.operators.LT,a=o.opts.unicode===!1?(0,kr._)`${r}.length`:(0,kr._)`${(0,Xz.useFunc)(t.gen,Yz.default)}(${r})`;t.fail$data((0,kr._)`${a} ${i} ${n}`)}};_p.default=eI});var h_=S(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});var tI=rt(),Ya=K(),rI={message:({schemaCode:t})=>(0,Ya.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Ya._)`{pattern: ${t}}`},nI={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:rI,code(t){let{data:e,$data:r,schema:n,schemaCode:o,it:i}=t,a=i.opts.unicodeRegExp?"u":"",s=r?(0,Ya._)`(new RegExp(${o}, ${a}))`:(0,tI.usePattern)(t,n);t.fail$data((0,Ya._)`!${s}.test(${e})`)}};yp.default=nI});var g_=S($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});var Go=K(),oI={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Go.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Go._)`{limit: ${t}}`},iI={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:oI,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Go.operators.GT:Go.operators.LT;t.fail$data((0,Go._)`Object.keys(${r}).length ${o} ${n}`)}};$p.default=iI});var v_=S(bp=>{"use strict";Object.defineProperty(bp,"__esModule",{value:!0});var Ho=rt(),Bo=K(),aI=re(),sI={message:({params:{missingProperty:t}})=>(0,Bo.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Bo._)`{missingProperty: ${t}}`},cI={keyword:"required",type:"object",schemaType:"array",$data:!0,error:sI,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:i,it:a}=t,{opts:s}=a;if(!i&&r.length===0)return;let c=r.length>=s.loopRequired;if(a.allErrors?u():l(),s.strictRequired){let f=t.parentSchema.properties,{definedProperties:g}=t.it;for(let v of r)if(f?.[v]===void 0&&!g.has(v)){let $=a.schemaEnv.baseId+a.errSchemaPath,k=`required property "${v}" is not defined at "${$}" (strictRequired)`;(0,aI.checkStrictMode)(a,k,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(Bo.nil,d);else for(let f of r)(0,Ho.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||i){let g=e.let("valid",!0);t.block$data(g,()=>m(f,g)),t.ok(g)}else e.if((0,Ho.checkMissingProp)(t,r,f)),(0,Ho.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,Ho.noPropertyInData)(e,o,f,s.ownProperties),()=>t.error())})}function m(f,g){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(g,(0,Ho.propertyInData)(e,o,f,s.ownProperties)),e.if((0,Bo.not)(g),()=>{t.error(),e.break()})},Bo.nil)}}};bp.default=cI});var __=S(xp=>{"use strict";Object.defineProperty(xp,"__esModule",{value:!0});var Xo=K(),uI={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,Xo.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,Xo._)`{limit: ${t}}`},lI={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:uI,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?Xo.operators.GT:Xo.operators.LT;t.fail$data((0,Xo._)`${r}.length ${o} ${n}`)}};xp.default=lI});var Qa=S(kp=>{"use strict";Object.defineProperty(kp,"__esModule",{value:!0});var y_=Wd();y_.code='require("ajv/dist/runtime/equal").default';kp.default=y_});var $_=S(wp=>{"use strict";Object.defineProperty(wp,"__esModule",{value:!0});var Sp=Ao(),we=K(),dI=re(),pI=Qa(),fI={message:({params:{i:t,j:e}})=>(0,we.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,we._)`{i: ${t}, j: ${e}}`},mI={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:fI,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:i,schemaCode:a,it:s}=t;if(!n&&!o)return;let c=e.let("valid"),u=i.items?(0,Sp.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,we._)`${a} === false`),t.ok(c);function l(){let g=e.let("i",(0,we._)`${r}.length`),v=e.let("j");t.setParams({i:g,j:v}),e.assign(c,!0),e.if((0,we._)`${g} > 1`,()=>(d()?m:f)(g,v))}function d(){return u.length>0&&!u.some(g=>g==="object"||g==="array")}function m(g,v){let $=e.name("item"),k=(0,Sp.checkDataTypes)(u,$,s.opts.strictNumbers,Sp.DataType.Wrong),O=e.const("indices",(0,we._)`{}`);e.for((0,we._)`;${g}--;`,()=>{e.let($,(0,we._)`${r}[${g}]`),e.if(k,(0,we._)`continue`),u.length>1&&e.if((0,we._)`typeof ${$} == "string"`,(0,we._)`${$} += "_"`),e.if((0,we._)`typeof ${O}[${$}] == "number"`,()=>{e.assign(v,(0,we._)`${O}[${$}]`),t.error(),e.assign(c,!1).break()}).code((0,we._)`${O}[${$}] = ${g}`)})}function f(g,v){let $=(0,dI.useFunc)(e,pI.default),k=e.name("outer");e.label(k).for((0,we._)`;${g}--;`,()=>e.for((0,we._)`${v} = ${g}; ${v}--;`,()=>e.if((0,we._)`${$}(${r}[${g}], ${r}[${v}])`,()=>{t.error(),e.assign(c,!1).break(k)})))}}};wp.default=mI});var b_=S(Ip=>{"use strict";Object.defineProperty(Ip,"__esModule",{value:!0});var zp=K(),hI=re(),gI=Qa(),vI={message:"must be equal to constant",params:({schemaCode:t})=>(0,zp._)`{allowedValue: ${t}}`},_I={keyword:"const",$data:!0,error:vI,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,zp._)`!${(0,hI.useFunc)(e,gI.default)}(${r}, ${o})`):t.fail((0,zp._)`${i} !== ${r}`)}};Ip.default=_I});var x_=S(Ep=>{"use strict";Object.defineProperty(Ep,"__esModule",{value:!0});var Yo=K(),yI=re(),$I=Qa(),bI={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Yo._)`{allowedValues: ${t}}`},xI={keyword:"enum",schemaType:"array",$data:!0,error:bI,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:i,it:a}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let s=o.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,yI.useFunc)(e,$I.default)),l;if(s||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=e.const("vSchema",i);l=(0,Yo.or)(...o.map((g,v)=>m(f,v)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,f=>e.if((0,Yo._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function m(f,g){let v=o[g];return typeof v=="object"&&v!==null?(0,Yo._)`${u()}(${r}, ${f}[${g}])`:(0,Yo._)`${r} === ${v}`}}};Ep.default=xI});var k_=S(Tp=>{"use strict";Object.defineProperty(Tp,"__esModule",{value:!0});var kI=l_(),SI=d_(),wI=m_(),zI=h_(),II=g_(),EI=v_(),TI=__(),PI=$_(),OI=b_(),jI=x_(),NI=[kI.default,SI.default,wI.default,zI.default,II.default,EI.default,TI.default,PI.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},OI.default,jI.default];Tp.default=NI});var Op=S(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.validateAdditionalItems=void 0;var Sr=K(),Pp=re(),DI={message:({params:{len:t}})=>(0,Sr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Sr._)`{limit: ${t}}`},RI={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:DI,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Pp.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}S_(t,n)}};function S_(t,e){let{gen:r,schema:n,data:o,keyword:i,it:a}=t;a.items=!0;let s=r.const("len",(0,Sr._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Sr._)`${s} <= ${e.length}`);else if(typeof n=="object"&&!(0,Pp.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,Sr._)`${s} <= ${e.length}`);r.if((0,Sr.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,s,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:Pp.Type.Num},u),a.allErrors||r.if((0,Sr.not)(u),()=>r.break())})}}Qo.validateAdditionalItems=S_;Qo.default=RI});var jp=S(ei=>{"use strict";Object.defineProperty(ei,"__esModule",{value:!0});ei.validateTuple=void 0;var w_=K(),es=re(),ZI=rt(),AI={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return z_(t,"additionalItems",e);r.items=!0,!(0,es.alwaysValidSchema)(r,e)&&t.ok((0,ZI.validateArray)(t))}};function z_(t,e,r=t.schema){let{gen:n,parentSchema:o,data:i,keyword:a,it:s}=t;l(o),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=es.mergeEvaluated.items(n,r.length,s.items));let c=n.name("valid"),u=n.const("len",(0,w_._)`${i}.length`);r.forEach((d,m)=>{(0,es.alwaysValidSchema)(s,d)||(n.if((0,w_._)`${u} > ${m}`,()=>t.subschema({keyword:a,schemaProp:m,dataProp:m},c)),t.ok(c))});function l(d){let{opts:m,errSchemaPath:f}=s,g=r.length,v=g===d.minItems&&(g===d.maxItems||d[e]===!1);if(m.strictTuples&&!v){let $=`"${a}" is ${g}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,es.checkStrictMode)(s,$,m.strictTuples)}}}ei.validateTuple=z_;ei.default=AI});var I_=S(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});var UI=jp(),CI={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,UI.validateTuple)(t,"items")};Np.default=CI});var T_=S(Dp=>{"use strict";Object.defineProperty(Dp,"__esModule",{value:!0});var E_=K(),MI=re(),LI=rt(),qI=Op(),FI={message:({params:{len:t}})=>(0,E_.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,E_._)`{limit: ${t}}`},VI={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:FI,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,MI.alwaysValidSchema)(n,e)&&(o?(0,qI.validateAdditionalItems)(t,o):t.ok((0,LI.validateArray)(t)))}};Dp.default=VI});var P_=S(Rp=>{"use strict";Object.defineProperty(Rp,"__esModule",{value:!0});var ot=K(),ts=re(),JI={message:({params:{min:t,max:e}})=>e===void 0?(0,ot.str)`must contain at least ${t} valid item(s)`:(0,ot.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ot._)`{minContains: ${t}}`:(0,ot._)`{minContains: ${t}, maxContains: ${e}}`},KI={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:JI,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:i}=t,a,s,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,s=u):a=1;let l=e.const("len",(0,ot._)`${o}.length`);if(t.setParams({min:a,max:s}),s===void 0&&a===0){(0,ts.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&a>s){(0,ts.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,ts.alwaysValidSchema)(i,r)){let v=(0,ot._)`${l} >= ${a}`;s!==void 0&&(v=(0,ot._)`${v} && ${l} <= ${s}`),t.pass(v);return}i.items=!0;let d=e.name("valid");s===void 0&&a===1?f(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),s!==void 0&&e.if((0,ot._)`${o}.length > 0`,m)):(e.let(d,!1),m()),t.result(d,()=>t.reset());function m(){let v=e.name("_valid"),$=e.let("count",0);f(v,()=>e.if(v,()=>g($)))}function f(v,$){e.forRange("i",0,l,k=>{t.subschema({keyword:"contains",dataProp:k,dataPropType:ts.Type.Num,compositeRule:!0},v),$()})}function g(v){e.code((0,ot._)`${v}++`),s===void 0?e.if((0,ot._)`${v} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,ot._)`${v} > ${s}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,ot._)`${v} >= ${a}`,()=>e.assign(d,!0)))}}};Rp.default=KI});var N_=S(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.validateSchemaDeps=bt.validatePropertyDeps=bt.error=void 0;var Zp=K(),WI=re(),ti=rt();bt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Zp.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Zp._)`{property: ${t}, missingProperty: ${n}, depsCount: ${e}, - deps: ${r}}`};var GI={keyword:"dependencies",type:"object",schemaType:"object",error:bt.error,code(t){let[e,r]=HI(t);w_(t,e),z_(t,r)}};function HI({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function w_(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let s=e[a];if(s.length===0)continue;let c=(0,ti.propertyInData)(r,n,a,o.opts.ownProperties);t.setParams({property:a,depsCount:s.length,deps:s.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of s)(0,ti.checkReportMissingProp)(t,u)}):(r.if((0,Rp._)`${c} && (${(0,ti.checkMissingProp)(t,s,i)})`),(0,ti.reportMissingProp)(t,i),r.else())}}bt.validatePropertyDeps=w_;function z_(t,e=t.schema){let{gen:r,data:n,keyword:o,it:i}=t,a=r.name("valid");for(let s in e)(0,WI.alwaysValidSchema)(i,e[s])||(r.if((0,ti.propertyInData)(r,n,s,i.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:s},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}bt.validateSchemaDeps=z_;bt.default=GI});var T_=S(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});var E_=K(),BI=re(),XI={message:"property name must be valid",params:({params:t})=>(0,E_._)`{propertyName: ${t.propertyName}}`},YI={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:XI,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,BI.alwaysValidSchema)(o,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,E_.not)(i),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(i)}};Zp.default=YI});var Up=S(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});var rs=rt(),ft=K(),QI=Ut(),ns=re(),eE={message:"must NOT have additional properties",params:({params:t})=>(0,ft._)`{additionalProperty: ${t.additionalProperty}}`},tE={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:eE,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,ns.alwaysValidSchema)(a,r))return;let u=(0,rs.allSchemaProperties)(n.properties),l=(0,rs.allSchemaProperties)(n.patternProperties);d(),t.ok((0,ft._)`${i} === ${QI.default.errors}`);function d(){e.forIn("key",o,$=>{!u.length&&!l.length?g($):e.if(m($),()=>g($))})}function m($){let x;if(u.length>8){let O=(0,ns.schemaRefOrVal)(a,n.properties,"properties");x=(0,rs.isOwnProperty)(e,O,$)}else u.length?x=(0,ft.or)(...u.map(O=>(0,ft._)`${$} === ${O}`)):x=ft.nil;return l.length&&(x=(0,ft.or)(x,...l.map(O=>(0,ft._)`${(0,rs.usePattern)(t,O)}.test(${$})`))),(0,ft.not)(x)}function f($){e.code((0,ft._)`delete ${o}[${$}]`)}function g($){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f($);return}if(r===!1){t.setParams({additionalProperty:$}),t.error(),s||e.break();return}if(typeof r=="object"&&!(0,ns.alwaysValidSchema)(a,r)){let x=e.name("valid");c.removeAdditional==="failing"?(v($,x,!1),e.if((0,ft.not)(x),()=>{t.reset(),f($)})):(v($,x),s||e.if((0,ft.not)(x),()=>e.break()))}}function v($,x,O){let I={keyword:"additionalProperties",dataProp:$,dataPropType:ns.Type.Str};O===!1&&Object.assign(I,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(I,x)}}};Ap.default=tE});var j_=S(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});var rE=Lo(),P_=rt(),Cp=re(),O_=Up(),nE={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&O_.default.code(new rE.KeywordCxt(i,O_.default,"additionalProperties"));let a=(0,P_.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=Cp.mergeEvaluated.props(e,(0,Cp.toHash)(a),i.props));let s=a.filter(d=>!(0,Cp.alwaysValidSchema)(i,r[d]));if(s.length===0)return;let c=e.name("valid");for(let d of s)u(d)?l(d):(e.if((0,P_.propertyInData)(e,o,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Mp.default=nE});var Z_=S(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});var N_=rt(),os=K(),D_=re(),R_=re(),oE={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:i}=t,{opts:a}=i,s=(0,N_.allSchemaProperties)(r),c=s.filter(v=>(0,D_.alwaysValidSchema)(i,r[v]));if(s.length===0||c.length===s.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&o.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof os.Name)&&(i.props=(0,R_.evaluatedPropsToName)(e,i.props));let{props:d}=i;m();function m(){for(let v of s)u&&f(v),i.allErrors?g(v):(e.var(l,!0),g(v),e.if(l))}function f(v){for(let $ in u)new RegExp(v).test($)&&(0,D_.checkStrictMode)(i,`property ${$} matches pattern ${v} (use allowMatchingProperties)`)}function g(v){e.forIn("key",n,$=>{e.if((0,os._)`${(0,N_.usePattern)(t,v)}.test(${$})`,()=>{let x=c.includes(v);x||t.subschema({keyword:"patternProperties",schemaProp:v,dataProp:$,dataPropType:R_.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,os._)`${d}[${$}]`,!0):!x&&!i.allErrors&&e.if((0,os.not)(l),()=>e.break())})})}}};Lp.default=oE});var A_=S(qp=>{"use strict";Object.defineProperty(qp,"__esModule",{value:!0});var iE=re(),aE={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,iE.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};qp.default=aE});var U_=S(Fp=>{"use strict";Object.defineProperty(Fp,"__esModule",{value:!0});var sE=rt(),cE={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:sE.validateUnion,error:{message:"must match a schema in anyOf"}};Fp.default=cE});var C_=S(Vp=>{"use strict";Object.defineProperty(Vp,"__esModule",{value:!0});var is=K(),uE=re(),lE={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,is._)`{passingSchemas: ${t.passing}}`},dE={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:lE,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),s=e.let("passing",null),c=e.name("_valid");t.setParams({passing:s}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let m;(0,uE.alwaysValidSchema)(o,l)?e.var(c,!0):m=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,is._)`${c} && ${a}`).assign(a,!1).assign(s,(0,is._)`[${s}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(s,d),m&&t.mergeEvaluated(m,is.Name)})})}}};Vp.default=dE});var M_=S(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});var pE=re(),fE={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((i,a)=>{if((0,pE.alwaysValidSchema)(n,i))return;let s=t.subschema({keyword:"allOf",schemaProp:a},o);t.ok(o),t.mergeEvaluated(s)})}};Jp.default=fE});var F_=S(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});var as=K(),q_=re(),mE={message:({params:t})=>(0,as.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,as._)`{failingKeyword: ${t.ifClause}}`},hE={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:mE,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,q_.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=L_(n,"then"),i=L_(n,"else");if(!o&&!i)return;let a=e.let("valid",!0),s=e.name("_valid");if(c(),t.reset(),o&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(s,u("then",l),u("else",l))}else o?e.if(s,u("then")):e.if((0,as.not)(s),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);t.mergeEvaluated(l)}function u(l,d){return()=>{let m=t.subschema({keyword:l},s);e.assign(a,s),t.mergeValidEvaluated(m,a),d?e.assign(d,(0,as._)`${l}`):t.setParams({ifClause:l})}}}};function L_(t,e){let r=t.schema[e];return r!==void 0&&!(0,q_.alwaysValidSchema)(t,r)}Kp.default=hE});var V_=S(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});var gE=re(),vE={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,gE.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Wp.default=vE});var J_=S(Gp=>{"use strict";Object.defineProperty(Gp,"__esModule",{value:!0});var _E=Pp(),yE=b_(),$E=Op(),bE=k_(),xE=S_(),kE=I_(),SE=T_(),wE=Up(),zE=j_(),IE=Z_(),EE=A_(),TE=U_(),PE=C_(),OE=M_(),jE=F_(),NE=V_();function DE(t=!1){let e=[EE.default,TE.default,PE.default,OE.default,jE.default,NE.default,SE.default,wE.default,kE.default,zE.default,IE.default];return t?e.push(yE.default,bE.default):e.push(_E.default,$E.default),e.push(xE.default),e}Gp.default=DE});var K_=S(Hp=>{"use strict";Object.defineProperty(Hp,"__esModule",{value:!0});var ge=K(),RE={message:({schemaCode:t})=>(0,ge.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ge._)`{format: ${t}}`},ZE={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:RE,code(t,e){let{gen:r,data:n,$data:o,schema:i,schemaCode:a,it:s}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=s;if(!c.validateFormats)return;o?m():f();function m(){let g=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),v=r.const("fDef",(0,ge._)`${g}[${a}]`),$=r.let("fType"),x=r.let("format");r.if((0,ge._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>r.assign($,(0,ge._)`${v}.type || "string"`).assign(x,(0,ge._)`${v}.validate`),()=>r.assign($,(0,ge._)`"string"`).assign(x,v)),t.fail$data((0,ge.or)(O(),I()));function O(){return c.strictSchema===!1?ge.nil:(0,ge._)`${a} && !${x}`}function I(){let U=l.$async?(0,ge._)`(${v}.async ? await ${x}(${n}) : ${x}(${n}))`:(0,ge._)`${x}(${n})`,j=(0,ge._)`(typeof ${x} == "function" ? ${U} : ${x}.test(${n}))`;return(0,ge._)`${x} && ${x} !== true && ${$} === ${e} && !${j}`}}function f(){let g=d.formats[i];if(!g){O();return}if(g===!0)return;let[v,$,x]=I(g);v===e&&t.pass(U());function O(){if(c.strictSchema===!1){d.logger.warn(j());return}throw new Error(j());function j(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function I(j){let it=j instanceof RegExp?(0,ge.regexpCode)(j):c.code.formats?(0,ge._)`${c.code.formats}${(0,ge.getProperty)(i)}`:void 0,at=r.scopeValue("formats",{key:i,ref:j,code:it});return typeof j=="object"&&!(j instanceof RegExp)?[j.type||"string",j.validate,(0,ge._)`${at}.validate`]:["string",j,at]}function U(){if(typeof g=="object"&&!(g instanceof RegExp)&&g.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ge._)`await ${x}(${n})`}return typeof $=="function"?(0,ge._)`${x}(${n})`:(0,ge._)`${x}.test(${n})`}}}};Hp.default=ZE});var W_=S(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});var AE=K_(),UE=[AE.default];Bp.default=UE});var G_=S(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.contentVocabulary=ln.metadataVocabulary=void 0;ln.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ln.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var B_=S(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});var CE=n_(),ME=v_(),LE=J_(),qE=W_(),H_=G_(),FE=[CE.default,ME.default,(0,LE.default)(),qE.default,H_.metadataVocabulary,H_.contentVocabulary];Xp.default=FE});var Y_=S(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.DiscrError=void 0;var X_;(function(t){t.Tag="tag",t.Mapping="mapping"})(X_||(ss.DiscrError=X_={}))});var ey=S(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});var dn=K(),Yp=Y_(),Q_=qa(),VE=qo(),JE=re(),KE={message:({params:{discrError:t,tagName:e}})=>t===Yp.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,dn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},WE={keyword:"discriminator",type:"object",schemaType:"object",error:KE,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:i}=t,{oneOf:a}=o;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,dn._)`${r}${(0,dn.getProperty)(s)}`);e.if((0,dn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:Yp.DiscrError.Tag,tag:u,tagName:s})),t.ok(c);function l(){let f=m();e.if(!1);for(let g in f)e.elseIf((0,dn._)`${u} === ${g}`),e.assign(c,d(f[g]));e.else(),t.error(!1,{discrError:Yp.DiscrError.Mapping,tag:u,tagName:s}),e.endIf()}function d(f){let g=e.name("valid"),v=t.subschema({keyword:"oneOf",schemaProp:f},g);return t.mergeEvaluated(v,dn.Name),g}function m(){var f;let g={},v=x(o),$=!0;for(let U=0;U{GE.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var tf=S((he,ef)=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.MissingRefError=he.ValidationError=he.CodeGen=he.Name=he.nil=he.stringify=he.str=he._=he.KeywordCxt=he.Ajv=void 0;var HE=Xv(),BE=B_(),XE=ey(),ry=ty(),YE=["/properties"],cs="http://json-schema.org/draft-07/schema",pn=class extends HE.default{_addVocabularies(){super._addVocabularies(),BE.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(XE.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(ry,YE):ry;this.addMetaSchema(e,cs,!1),this.refs["http://json-schema.org/schema"]=cs}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(cs)?cs:void 0)}};he.Ajv=pn;ef.exports=he=pn;ef.exports.Ajv=pn;Object.defineProperty(he,"__esModule",{value:!0});he.default=pn;var QE=Lo();Object.defineProperty(he,"KeywordCxt",{enumerable:!0,get:function(){return QE.KeywordCxt}});var fn=K();Object.defineProperty(he,"_",{enumerable:!0,get:function(){return fn._}});Object.defineProperty(he,"str",{enumerable:!0,get:function(){return fn.str}});Object.defineProperty(he,"stringify",{enumerable:!0,get:function(){return fn.stringify}});Object.defineProperty(he,"nil",{enumerable:!0,get:function(){return fn.nil}});Object.defineProperty(he,"Name",{enumerable:!0,get:function(){return fn.Name}});Object.defineProperty(he,"CodeGen",{enumerable:!0,get:function(){return fn.CodeGen}});var eT=Ma();Object.defineProperty(he,"ValidationError",{enumerable:!0,get:function(){return eT.default}});var tT=qo();Object.defineProperty(he,"MissingRefError",{enumerable:!0,get:function(){return tT.default}})});var ly=S(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.formatNames=kt.fastFormats=kt.fullFormats=void 0;function xt(t,e){return{validate:t,compare:e}}kt.fullFormats={date:xt(ay,af),time:xt(nf(!0),sf),"date-time":xt(ny(!0),cy),"iso-time":xt(nf(),sy),"iso-date-time":xt(ny(),uy),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:sT,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:mT,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:cT,int32:{type:"number",validate:dT},int64:{type:"number",validate:pT},float:{type:"number",validate:iy},double:{type:"number",validate:iy},password:!0,binary:!0};kt.fastFormats={...kt.fullFormats,date:xt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,af),time:xt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,sf),"date-time":xt(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,cy),"iso-time":xt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,sy),"iso-date-time":xt(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,uy),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};kt.formatNames=Object.keys(kt.fullFormats);function rT(t){return t%4===0&&(t%100!==0||t%400===0)}var nT=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,oT=[0,31,28,31,30,31,30,31,31,30,31,30,31];function ay(t){let e=nT.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&rT(r)?29:oT[n])}function af(t,e){if(t&&e)return t>e?1:t23||l>59||t&&!s)return!1;if(o<=23&&i<=59&&a<60)return!0;let d=i-l*c,m=o-u*c-(d<0?1:0);return(m===23||m===-1)&&(d===59||d===-1)&&a<61}}function sf(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function sy(t,e){if(!(t&&e))return;let r=rf.exec(t),n=rf.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t=uT}function pT(t){return Number.isInteger(t)}function iy(){return!0}var fT=/[^\\]\\Z/;function mT(t){if(fT.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var dy=S(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.formatLimitDefinition=void 0;var hT=tf(),mt=K(),ir=mt.operators,us={formatMaximum:{okStr:"<=",ok:ir.LTE,fail:ir.GT},formatMinimum:{okStr:">=",ok:ir.GTE,fail:ir.LT},formatExclusiveMaximum:{okStr:"<",ok:ir.LT,fail:ir.GTE},formatExclusiveMinimum:{okStr:">",ok:ir.GT,fail:ir.LTE}},gT={message:({keyword:t,schemaCode:e})=>(0,mt.str)`should be ${us[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,mt._)`{comparison: ${us[t].okStr}, limit: ${e}}`};mn.formatLimitDefinition={keyword:Object.keys(us),type:"string",schemaType:"string",$data:!0,error:gT,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:i}=t,{opts:a,self:s}=i;if(!a.validateFormats)return;let c=new hT.KeywordCxt(i,s.RULES.all.format.definition,"format");c.$data?u():l();function u(){let m=e.scopeValue("formats",{ref:s.formats,code:a.code.formats}),f=e.const("fmt",(0,mt._)`${m}[${c.schemaCode}]`);t.fail$data((0,mt.or)((0,mt._)`typeof ${f} != "object"`,(0,mt._)`${f} instanceof RegExp`,(0,mt._)`typeof ${f}.compare != "function"`,d(f)))}function l(){let m=c.schema,f=s.formats[m];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${m}" does not define "compare" function`);let g=e.scopeValue("formats",{key:m,ref:f,code:a.code.formats?(0,mt._)`${a.code.formats}${(0,mt.getProperty)(m)}`:void 0});t.fail$data(d(g))}function d(m){return(0,mt._)`${m}.compare(${r}, ${n}) ${us[o].fail} 0`}},dependencies:["format"]};var vT=t=>(t.addKeyword(mn.formatLimitDefinition),t);mn.default=vT});var hy=S((ri,my)=>{"use strict";Object.defineProperty(ri,"__esModule",{value:!0});var hn=ly(),_T=dy(),cf=K(),py=new cf.Name("fullFormats"),yT=new cf.Name("fastFormats"),uf=(t,e={keywords:!0})=>{if(Array.isArray(e))return fy(t,e,hn.fullFormats,py),t;let[r,n]=e.mode==="fast"?[hn.fastFormats,yT]:[hn.fullFormats,py],o=e.formats||hn.formatNames;return fy(t,o,r,n),e.keywords&&(0,_T.default)(t),t};uf.get=(t,e="full")=>{let n=(e==="fast"?hn.fastFormats:hn.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function fy(t,e,r,n){var o,i;(o=(i=t.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,cf._)`require("ajv-formats/dist/formats").${n}`);for(let a of e)t.addFormat(a,r[a])}my.exports=ri=uf;Object.defineProperty(ri,"__esModule",{value:!0});ri.default=uf});var wt=require("fs"),_n=require("path"),gf=require("os"),ks=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(ks||{}),hf=(0,_n.join)((0,gf.homedir)(),".claude-mem"),Ss=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let e=(0,_n.join)(hf,"logs");(0,wt.existsSync)(e)||(0,wt.mkdirSync)(e,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=(0,_n.join)(e,`claude-mem-${r}.log`)}catch(e){console.error("[LOGGER] Failed to initialize log file:",e),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let e=(0,_n.join)(hf,"settings.json");if((0,wt.existsSync)(e)){let r=(0,wt.readFileSync)(e,"utf-8"),o=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=ks[o]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(e,r){return`obs-${e}-${r}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} + deps: ${r}}`};var GI={keyword:"dependencies",type:"object",schemaType:"object",error:bt.error,code(t){let[e,r]=HI(t);O_(t,e),j_(t,r)}};function HI({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function O_(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let s=e[a];if(s.length===0)continue;let c=(0,ti.propertyInData)(r,n,a,o.opts.ownProperties);t.setParams({property:a,depsCount:s.length,deps:s.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of s)(0,ti.checkReportMissingProp)(t,u)}):(r.if((0,Zp._)`${c} && (${(0,ti.checkMissingProp)(t,s,i)})`),(0,ti.reportMissingProp)(t,i),r.else())}}bt.validatePropertyDeps=O_;function j_(t,e=t.schema){let{gen:r,data:n,keyword:o,it:i}=t,a=r.name("valid");for(let s in e)(0,WI.alwaysValidSchema)(i,e[s])||(r.if((0,ti.propertyInData)(r,n,s,i.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:s},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}bt.validateSchemaDeps=j_;bt.default=GI});var R_=S(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});var D_=K(),BI=re(),XI={message:"property name must be valid",params:({params:t})=>(0,D_._)`{propertyName: ${t.propertyName}}`},YI={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:XI,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,BI.alwaysValidSchema)(o,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,D_.not)(i),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(i)}};Ap.default=YI});var Cp=S(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});var rs=rt(),ft=K(),QI=Ut(),ns=re(),eE={message:"must NOT have additional properties",params:({params:t})=>(0,ft._)`{additionalProperty: ${t.additionalProperty}}`},tE={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:eE,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,ns.alwaysValidSchema)(a,r))return;let u=(0,rs.allSchemaProperties)(n.properties),l=(0,rs.allSchemaProperties)(n.patternProperties);d(),t.ok((0,ft._)`${i} === ${QI.default.errors}`);function d(){e.forIn("key",o,$=>{!u.length&&!l.length?g($):e.if(m($),()=>g($))})}function m($){let k;if(u.length>8){let O=(0,ns.schemaRefOrVal)(a,n.properties,"properties");k=(0,rs.isOwnProperty)(e,O,$)}else u.length?k=(0,ft.or)(...u.map(O=>(0,ft._)`${$} === ${O}`)):k=ft.nil;return l.length&&(k=(0,ft.or)(k,...l.map(O=>(0,ft._)`${(0,rs.usePattern)(t,O)}.test(${$})`))),(0,ft.not)(k)}function f($){e.code((0,ft._)`delete ${o}[${$}]`)}function g($){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f($);return}if(r===!1){t.setParams({additionalProperty:$}),t.error(),s||e.break();return}if(typeof r=="object"&&!(0,ns.alwaysValidSchema)(a,r)){let k=e.name("valid");c.removeAdditional==="failing"?(v($,k,!1),e.if((0,ft.not)(k),()=>{t.reset(),f($)})):(v($,k),s||e.if((0,ft.not)(k),()=>e.break()))}}function v($,k,O){let I={keyword:"additionalProperties",dataProp:$,dataPropType:ns.Type.Str};O===!1&&Object.assign(I,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(I,k)}}};Up.default=tE});var U_=S(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});var rE=Lo(),Z_=rt(),Mp=re(),A_=Cp(),nE={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&A_.default.code(new rE.KeywordCxt(i,A_.default,"additionalProperties"));let a=(0,Z_.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=Mp.mergeEvaluated.props(e,(0,Mp.toHash)(a),i.props));let s=a.filter(d=>!(0,Mp.alwaysValidSchema)(i,r[d]));if(s.length===0)return;let c=e.name("valid");for(let d of s)u(d)?l(d):(e.if((0,Z_.propertyInData)(e,o,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Lp.default=nE});var q_=S(qp=>{"use strict";Object.defineProperty(qp,"__esModule",{value:!0});var C_=rt(),os=K(),M_=re(),L_=re(),oE={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:i}=t,{opts:a}=i,s=(0,C_.allSchemaProperties)(r),c=s.filter(v=>(0,M_.alwaysValidSchema)(i,r[v]));if(s.length===0||c.length===s.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&o.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof os.Name)&&(i.props=(0,L_.evaluatedPropsToName)(e,i.props));let{props:d}=i;m();function m(){for(let v of s)u&&f(v),i.allErrors?g(v):(e.var(l,!0),g(v),e.if(l))}function f(v){for(let $ in u)new RegExp(v).test($)&&(0,M_.checkStrictMode)(i,`property ${$} matches pattern ${v} (use allowMatchingProperties)`)}function g(v){e.forIn("key",n,$=>{e.if((0,os._)`${(0,C_.usePattern)(t,v)}.test(${$})`,()=>{let k=c.includes(v);k||t.subschema({keyword:"patternProperties",schemaProp:v,dataProp:$,dataPropType:L_.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,os._)`${d}[${$}]`,!0):!k&&!i.allErrors&&e.if((0,os.not)(l),()=>e.break())})})}}};qp.default=oE});var F_=S(Fp=>{"use strict";Object.defineProperty(Fp,"__esModule",{value:!0});var iE=re(),aE={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,iE.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};Fp.default=aE});var V_=S(Vp=>{"use strict";Object.defineProperty(Vp,"__esModule",{value:!0});var sE=rt(),cE={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:sE.validateUnion,error:{message:"must match a schema in anyOf"}};Vp.default=cE});var J_=S(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});var is=K(),uE=re(),lE={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,is._)`{passingSchemas: ${t.passing}}`},dE={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:lE,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),s=e.let("passing",null),c=e.name("_valid");t.setParams({passing:s}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let m;(0,uE.alwaysValidSchema)(o,l)?e.var(c,!0):m=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,is._)`${c} && ${a}`).assign(a,!1).assign(s,(0,is._)`[${s}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(s,d),m&&t.mergeEvaluated(m,is.Name)})})}}};Jp.default=dE});var K_=S(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});var pE=re(),fE={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((i,a)=>{if((0,pE.alwaysValidSchema)(n,i))return;let s=t.subschema({keyword:"allOf",schemaProp:a},o);t.ok(o),t.mergeEvaluated(s)})}};Kp.default=fE});var H_=S(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});var as=K(),G_=re(),mE={message:({params:t})=>(0,as.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,as._)`{failingKeyword: ${t.ifClause}}`},hE={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:mE,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,G_.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=W_(n,"then"),i=W_(n,"else");if(!o&&!i)return;let a=e.let("valid",!0),s=e.name("_valid");if(c(),t.reset(),o&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(s,u("then",l),u("else",l))}else o?e.if(s,u("then")):e.if((0,as.not)(s),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);t.mergeEvaluated(l)}function u(l,d){return()=>{let m=t.subschema({keyword:l},s);e.assign(a,s),t.mergeValidEvaluated(m,a),d?e.assign(d,(0,as._)`${l}`):t.setParams({ifClause:l})}}}};function W_(t,e){let r=t.schema[e];return r!==void 0&&!(0,G_.alwaysValidSchema)(t,r)}Wp.default=hE});var B_=S(Gp=>{"use strict";Object.defineProperty(Gp,"__esModule",{value:!0});var gE=re(),vE={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,gE.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Gp.default=vE});var X_=S(Hp=>{"use strict";Object.defineProperty(Hp,"__esModule",{value:!0});var _E=Op(),yE=I_(),$E=jp(),bE=T_(),xE=P_(),kE=N_(),SE=R_(),wE=Cp(),zE=U_(),IE=q_(),EE=F_(),TE=V_(),PE=J_(),OE=K_(),jE=H_(),NE=B_();function DE(t=!1){let e=[EE.default,TE.default,PE.default,OE.default,jE.default,NE.default,SE.default,wE.default,kE.default,zE.default,IE.default];return t?e.push(yE.default,bE.default):e.push(_E.default,$E.default),e.push(xE.default),e}Hp.default=DE});var Y_=S(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});var ge=K(),RE={message:({schemaCode:t})=>(0,ge.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ge._)`{format: ${t}}`},ZE={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:RE,code(t,e){let{gen:r,data:n,$data:o,schema:i,schemaCode:a,it:s}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=s;if(!c.validateFormats)return;o?m():f();function m(){let g=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),v=r.const("fDef",(0,ge._)`${g}[${a}]`),$=r.let("fType"),k=r.let("format");r.if((0,ge._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>r.assign($,(0,ge._)`${v}.type || "string"`).assign(k,(0,ge._)`${v}.validate`),()=>r.assign($,(0,ge._)`"string"`).assign(k,v)),t.fail$data((0,ge.or)(O(),I()));function O(){return c.strictSchema===!1?ge.nil:(0,ge._)`${a} && !${k}`}function I(){let U=l.$async?(0,ge._)`(${v}.async ? await ${k}(${n}) : ${k}(${n}))`:(0,ge._)`${k}(${n})`,j=(0,ge._)`(typeof ${k} == "function" ? ${U} : ${k}.test(${n}))`;return(0,ge._)`${k} && ${k} !== true && ${$} === ${e} && !${j}`}}function f(){let g=d.formats[i];if(!g){O();return}if(g===!0)return;let[v,$,k]=I(g);v===e&&t.pass(U());function O(){if(c.strictSchema===!1){d.logger.warn(j());return}throw new Error(j());function j(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function I(j){let it=j instanceof RegExp?(0,ge.regexpCode)(j):c.code.formats?(0,ge._)`${c.code.formats}${(0,ge.getProperty)(i)}`:void 0,at=r.scopeValue("formats",{key:i,ref:j,code:it});return typeof j=="object"&&!(j instanceof RegExp)?[j.type||"string",j.validate,(0,ge._)`${at}.validate`]:["string",j,at]}function U(){if(typeof g=="object"&&!(g instanceof RegExp)&&g.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ge._)`await ${k}(${n})`}return typeof $=="function"?(0,ge._)`${k}(${n})`:(0,ge._)`${k}.test(${n})`}}}};Bp.default=ZE});var Q_=S(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});var AE=Y_(),UE=[AE.default];Xp.default=UE});var ey=S(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.contentVocabulary=ln.metadataVocabulary=void 0;ln.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ln.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var ry=S(Yp=>{"use strict";Object.defineProperty(Yp,"__esModule",{value:!0});var CE=u_(),ME=k_(),LE=X_(),qE=Q_(),ty=ey(),FE=[CE.default,ME.default,(0,LE.default)(),qE.default,ty.metadataVocabulary,ty.contentVocabulary];Yp.default=FE});var oy=S(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.DiscrError=void 0;var ny;(function(t){t.Tag="tag",t.Mapping="mapping"})(ny||(ss.DiscrError=ny={}))});var ay=S(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});var dn=K(),Qp=oy(),iy=qa(),VE=qo(),JE=re(),KE={message:({params:{discrError:t,tagName:e}})=>t===Qp.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,dn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},WE={keyword:"discriminator",type:"object",schemaType:"object",error:KE,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:i}=t,{oneOf:a}=o;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,dn._)`${r}${(0,dn.getProperty)(s)}`);e.if((0,dn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:Qp.DiscrError.Tag,tag:u,tagName:s})),t.ok(c);function l(){let f=m();e.if(!1);for(let g in f)e.elseIf((0,dn._)`${u} === ${g}`),e.assign(c,d(f[g]));e.else(),t.error(!1,{discrError:Qp.DiscrError.Mapping,tag:u,tagName:s}),e.endIf()}function d(f){let g=e.name("valid"),v=t.subschema({keyword:"oneOf",schemaProp:f},g);return t.mergeEvaluated(v,dn.Name),g}function m(){var f;let g={},v=k(o),$=!0;for(let U=0;U{GE.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var rf=S((he,tf)=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.MissingRefError=he.ValidationError=he.CodeGen=he.Name=he.nil=he.stringify=he.str=he._=he.KeywordCxt=he.Ajv=void 0;var HE=n_(),BE=ry(),XE=ay(),cy=sy(),YE=["/properties"],cs="http://json-schema.org/draft-07/schema",pn=class extends HE.default{_addVocabularies(){super._addVocabularies(),BE.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(XE.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(cy,YE):cy;this.addMetaSchema(e,cs,!1),this.refs["http://json-schema.org/schema"]=cs}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(cs)?cs:void 0)}};he.Ajv=pn;tf.exports=he=pn;tf.exports.Ajv=pn;Object.defineProperty(he,"__esModule",{value:!0});he.default=pn;var QE=Lo();Object.defineProperty(he,"KeywordCxt",{enumerable:!0,get:function(){return QE.KeywordCxt}});var fn=K();Object.defineProperty(he,"_",{enumerable:!0,get:function(){return fn._}});Object.defineProperty(he,"str",{enumerable:!0,get:function(){return fn.str}});Object.defineProperty(he,"stringify",{enumerable:!0,get:function(){return fn.stringify}});Object.defineProperty(he,"nil",{enumerable:!0,get:function(){return fn.nil}});Object.defineProperty(he,"Name",{enumerable:!0,get:function(){return fn.Name}});Object.defineProperty(he,"CodeGen",{enumerable:!0,get:function(){return fn.CodeGen}});var eT=Ma();Object.defineProperty(he,"ValidationError",{enumerable:!0,get:function(){return eT.default}});var tT=qo();Object.defineProperty(he,"MissingRefError",{enumerable:!0,get:function(){return tT.default}})});var gy=S(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.formatNames=kt.fastFormats=kt.fullFormats=void 0;function xt(t,e){return{validate:t,compare:e}}kt.fullFormats={date:xt(py,sf),time:xt(of(!0),cf),"date-time":xt(uy(!0),my),"iso-time":xt(of(),fy),"iso-date-time":xt(uy(),hy),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:sT,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:mT,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:cT,int32:{type:"number",validate:dT},int64:{type:"number",validate:pT},float:{type:"number",validate:dy},double:{type:"number",validate:dy},password:!0,binary:!0};kt.fastFormats={...kt.fullFormats,date:xt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,sf),time:xt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,cf),"date-time":xt(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,my),"iso-time":xt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,fy),"iso-date-time":xt(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,hy),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};kt.formatNames=Object.keys(kt.fullFormats);function rT(t){return t%4===0&&(t%100!==0||t%400===0)}var nT=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,oT=[0,31,28,31,30,31,30,31,31,30,31,30,31];function py(t){let e=nT.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&rT(r)?29:oT[n])}function sf(t,e){if(t&&e)return t>e?1:t23||l>59||t&&!s)return!1;if(o<=23&&i<=59&&a<60)return!0;let d=i-l*c,m=o-u*c-(d<0?1:0);return(m===23||m===-1)&&(d===59||d===-1)&&a<61}}function cf(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function fy(t,e){if(!(t&&e))return;let r=nf.exec(t),n=nf.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t=uT}function pT(t){return Number.isInteger(t)}function dy(){return!0}var fT=/[^\\]\\Z/;function mT(t){if(fT.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var vy=S(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.formatLimitDefinition=void 0;var hT=rf(),mt=K(),ir=mt.operators,us={formatMaximum:{okStr:"<=",ok:ir.LTE,fail:ir.GT},formatMinimum:{okStr:">=",ok:ir.GTE,fail:ir.LT},formatExclusiveMaximum:{okStr:"<",ok:ir.LT,fail:ir.GTE},formatExclusiveMinimum:{okStr:">",ok:ir.GT,fail:ir.LTE}},gT={message:({keyword:t,schemaCode:e})=>(0,mt.str)`should be ${us[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,mt._)`{comparison: ${us[t].okStr}, limit: ${e}}`};mn.formatLimitDefinition={keyword:Object.keys(us),type:"string",schemaType:"string",$data:!0,error:gT,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:i}=t,{opts:a,self:s}=i;if(!a.validateFormats)return;let c=new hT.KeywordCxt(i,s.RULES.all.format.definition,"format");c.$data?u():l();function u(){let m=e.scopeValue("formats",{ref:s.formats,code:a.code.formats}),f=e.const("fmt",(0,mt._)`${m}[${c.schemaCode}]`);t.fail$data((0,mt.or)((0,mt._)`typeof ${f} != "object"`,(0,mt._)`${f} instanceof RegExp`,(0,mt._)`typeof ${f}.compare != "function"`,d(f)))}function l(){let m=c.schema,f=s.formats[m];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${m}" does not define "compare" function`);let g=e.scopeValue("formats",{key:m,ref:f,code:a.code.formats?(0,mt._)`${a.code.formats}${(0,mt.getProperty)(m)}`:void 0});t.fail$data(d(g))}function d(m){return(0,mt._)`${m}.compare(${r}, ${n}) ${us[o].fail} 0`}},dependencies:["format"]};var vT=t=>(t.addKeyword(mn.formatLimitDefinition),t);mn.default=vT});var by=S((ri,$y)=>{"use strict";Object.defineProperty(ri,"__esModule",{value:!0});var hn=gy(),_T=vy(),uf=K(),_y=new uf.Name("fullFormats"),yT=new uf.Name("fastFormats"),lf=(t,e={keywords:!0})=>{if(Array.isArray(e))return yy(t,e,hn.fullFormats,_y),t;let[r,n]=e.mode==="fast"?[hn.fastFormats,yT]:[hn.fullFormats,_y],o=e.formats||hn.formatNames;return yy(t,o,r,n),e.keywords&&(0,_T.default)(t),t};lf.get=(t,e="full")=>{let n=(e==="fast"?hn.fastFormats:hn.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function yy(t,e,r,n){var o,i;(o=(i=t.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,uf._)`require("ajv-formats/dist/formats").${n}`);for(let a of e)t.addFormat(a,r[a])}$y.exports=ri=lf;Object.defineProperty(ri,"__esModule",{value:!0});ri.default=lf});var wt=require("fs"),_n=require("path"),vf=require("os"),ks=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(ks||{}),gf=(0,_n.join)((0,vf.homedir)(),".claude-mem"),Ss=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let e=(0,_n.join)(gf,"logs");(0,wt.existsSync)(e)||(0,wt.mkdirSync)(e,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=(0,_n.join)(e,`claude-mem-${r}.log`)}catch(e){console.error("[LOGGER] Failed to initialize log file:",e),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let e=(0,_n.join)(gf,"settings.json");if((0,wt.existsSync)(e)){let r=(0,wt.readFileSync)(e,"utf-8"),o=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=ks[o]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(e,r){return`obs-${e}-${r}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} ${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let r=Object.keys(e);return r.length===0?"{}":r.length<=3?JSON.stringify(e):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,r){if(!r)return e;let n=r;if(typeof r=="string")try{n=JSON.parse(r)}catch{n=r}if(e==="Bash"&&n.command)return`${e}(${n.command})`;if(n.file_path)return`${e}(${n.file_path})`;if(n.notebook_path)return`${e}(${n.notebook_path})`;if(e==="Glob"&&n.pattern)return`${e}(${n.pattern})`;if(e==="Grep"&&n.pattern)return`${e}(${n.pattern})`;if(n.url)return`${e}(${n.url})`;if(n.query)return`${e}(${n.query})`;if(e==="Task"){if(n.subagent_type)return`${e}(${n.subagent_type})`;if(n.description)return`${e}(${n.description})`}return e==="Skill"&&n.skill?`${e}(${n.skill})`:e==="LSP"&&n.operation?`${e}(${n.operation})`:e}formatTimestamp(e){let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),a=String(e.getMinutes()).padStart(2,"0"),s=String(e.getSeconds()).padStart(2,"0"),c=String(e.getMilliseconds()).padStart(3,"0");return`${r}-${n}-${o} ${i}:${a}:${s}.${c}`}log(e,r,n,o,i){if(e{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let i={};for(let a of o)i[a]=a;return i},t.getValidEnumValues=o=>{let i=t.objectKeys(o).filter(s=>typeof o[o[s]]!="number"),a={};for(let s of i)a[s]=o[s];return t.objectValues(a)},t.objectValues=o=>t.objectKeys(o).map(function(i){return o[i]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let a in o)Object.prototype.hasOwnProperty.call(o,a)&&i.push(a);return i},t.find=(o,i)=>{for(let a of o)if(i(a))return a},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,i=" | "){return o.map(a=>typeof a=="string"?`'${a}'`:a).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(X||(X={}));var vf;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(vf||(vf={}));var w=X.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),zt=t=>{switch(typeof t){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(t)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(t)?w.array:t===null?w.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?w.promise:typeof Map<"u"&&t instanceof Map?w.map:typeof Set<"u"&&t instanceof Set?w.set:typeof Date<"u"&&t instanceof Date?w.date:w.object;default:return w.unknown}};var _=X.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var Ve=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(i){return i.message},n={_errors:[]},o=i=>{for(let a of i.issues)if(a.code==="invalid_union")a.unionErrors.map(o);else if(a.code==="invalid_return_type")o(a.returnTypeError);else if(a.code==="invalid_arguments")o(a.argumentsError);else if(a.path.length===0)n._errors.push(r(a));else{let s=n,c=0;for(;cr.message){let r=Object.create(null),n=[];for(let o of this.issues)if(o.path.length>0){let i=o.path[0];r[i]=r[i]||[],r[i].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ve.create=t=>new Ve(t);var Cy=(t,e)=>{let r;switch(t.code){case _.invalid_type:t.received===w.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case _.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,X.jsonStringifyReplacer)}`;break;case _.unrecognized_keys:r=`Unrecognized key(s) in object: ${X.joinValues(t.keys,", ")}`;break;case _.invalid_union:r="Invalid input";break;case _.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${X.joinValues(t.options)}`;break;case _.invalid_enum_value:r=`Invalid enum value. Expected ${X.joinValues(t.options)}, received '${t.received}'`;break;case _.invalid_arguments:r="Invalid function arguments";break;case _.invalid_return_type:r="Invalid function return type";break;case _.invalid_date:r="Invalid date";break;case _.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:X.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case _.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case _.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case _.custom:r="Invalid input";break;case _.invalid_intersection_types:r="Intersection results could not be merged";break;case _.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case _.not_finite:r="Number must be finite";break;default:r=e.defaultError,X.assertNever(t)}return{message:r}},Lt=Cy;var My=Lt;function yn(){return My}var ii=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,i=[...r,...o.path||[]],a={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let s="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)s=u(a,{data:e,defaultError:s}).message;return{...o,path:i,message:s}};function b(t,e){let r=yn(),n=ii({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Lt?void 0:Lt].filter(o=>!!o)});t.common.issues.push(n)}var ze=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return Z;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let i=await o.key,a=await o.value;n.push({key:i,value:a})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:i,value:a}=o;if(i.status==="aborted"||a.status==="aborted")return Z;i.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof a.value<"u"||o.alwaysSet)&&(n[i.value]=a.value)}return{status:e.value,value:n}}},Z=Object.freeze({status:"aborted"}),zr=t=>({status:"dirty",value:t}),je=t=>({status:"valid",value:t}),ws=t=>t.status==="aborted",zs=t=>t.status==="dirty",ar=t=>t.status==="valid",$n=t=>typeof Promise<"u"&&t instanceof Promise;var E;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(E||(E={}));var Be=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},_f=(t,e)=>{if(ar(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Ve(t.common.issues);return this._error=r,this._error}}};function L(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(a,s)=>{let{message:c}=t;return a.code==="invalid_enum_value"?{message:c??s.defaultError}:typeof s.data>"u"?{message:c??n??s.defaultError}:a.code!=="invalid_type"?{message:s.defaultError}:{message:c??r??s.defaultError}},description:o}}var W=class{get description(){return this._def.description}_getType(e){return zt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:zt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ze,ctx:{common:e.parent.common,data:e.data,parsedType:zt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if($n(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:zt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return _f(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:zt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return ar(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>ar(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:zt(e)},o=this._parse({data:e,path:n.path,parent:n}),i=await($n(o)?o:Promise.resolve(o));return _f(n,i)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,i)=>{let a=e(o),s=()=>i.addIssue({code:_.custom,...n(o)});return typeof Promise<"u"&&a instanceof Promise?a.then(c=>c?!0:(s(),!1)):a?!0:(s(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new ct({schema:this,typeName:N.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return st.create(this,this._def)}nullable(){return Tt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ft.create(this)}promise(){return sr.create(this,this._def)}or(e){return Or.create([this,e],this._def)}and(e){return jr.create(this,e,this._def)}transform(e){return new ct({...L(this._def),schema:this,typeName:N.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Ar({...L(this._def),innerType:this,defaultValue:r,typeName:N.ZodDefault})}brand(){return new ai({typeName:N.ZodBranded,type:this,...L(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Ur({...L(this._def),innerType:this,catchValue:r,typeName:N.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return si.create(this,e)}readonly(){return Cr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Ly=/^c[^\s-]{8,}$/i,qy=/^[0-9a-z]+$/,Fy=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Vy=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Jy=/^[a-z0-9_-]{21}$/i,Ky=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Wy=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Gy=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Hy="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Is,By=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Xy=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Yy=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Qy=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,e$=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,t$=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,yf="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",r$=new RegExp(`^${yf}$`);function $f(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function n$(t){return new RegExp(`^${$f(t)}$`)}function o$(t){let e=`${yf}T${$f(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function i$(t,e){return!!((e==="v4"||!e)&&By.test(t)||(e==="v6"||!e)&&Yy.test(t))}function a$(t,e){if(!Ky.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function s$(t,e){return!!((e==="v4"||!e)&&Xy.test(t)||(e==="v6"||!e)&&Qy.test(t))}var Er=class t extends W{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==w.string){let i=this._getOrReturnCtx(e);return b(i,{code:_.invalid_type,expected:w.string,received:i.parsedType}),Z}let n=new ze,o;for(let i of this._def.checks)if(i.kind==="min")e.data.lengthi.value&&(o=this._getOrReturnCtx(e,o),b(o,{code:_.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let a=e.data.length>i.value,s=e.data.lengthe.test(o),{validation:r,code:_.invalid_string,...E.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...E.errToObj(e)})}url(e){return this._addCheck({kind:"url",...E.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...E.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...E.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...E.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...E.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...E.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...E.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...E.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...E.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...E.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...E.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...E.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...E.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...E.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...E.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...E.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...E.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...E.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...E.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...E.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...E.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...E.errToObj(r)})}nonempty(e){return this.min(1,E.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Er({checks:[],typeName:N.ZodString,coerce:t?.coerce??!1,...L(t)});function c$(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(t.toFixed(o).replace(".","")),a=Number.parseInt(e.toFixed(o).replace(".",""));return i%a/10**o}var bn=class t extends W{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==w.number){let i=this._getOrReturnCtx(e);return b(i,{code:_.invalid_type,expected:w.number,received:i.parsedType}),Z}let n,o=new ze;for(let i of this._def.checks)i.kind==="int"?X.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),b(n,{code:_.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),b(n,{code:_.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?c$(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),b(n,{code:_.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),b(n,{code:_.not_finite,message:i.message}),o.dirty()):X.assertNever(i);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,E.toString(r))}gt(e,r){return this.setLimit("min",e,!1,E.toString(r))}lte(e,r){return this.setLimit("max",e,!0,E.toString(r))}lt(e,r){return this.setLimit("max",e,!1,E.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:E.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:E.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:E.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:E.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&X.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew bn({checks:[],typeName:N.ZodNumber,coerce:t?.coerce||!1,...L(t)});var xn=class t extends W{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==w.bigint)return this._getInvalidInput(e);let n,o=new ze;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),b(n,{code:_.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),b(n,{code:_.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):X.assertNever(i);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return b(r,{code:_.invalid_type,expected:w.bigint,received:r.parsedType}),Z}gte(e,r){return this.setLimit("min",e,!0,E.toString(r))}gt(e,r){return this.setLimit("min",e,!1,E.toString(r))}lte(e,r){return this.setLimit("max",e,!0,E.toString(r))}lt(e,r){return this.setLimit("max",e,!1,E.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:E.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:E.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:E.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew xn({checks:[],typeName:N.ZodBigInt,coerce:t?.coerce??!1,...L(t)});var kn=class extends W{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==w.boolean){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.boolean,received:n.parsedType}),Z}return je(e.data)}};kn.create=t=>new kn({typeName:N.ZodBoolean,coerce:t?.coerce||!1,...L(t)});var Sn=class t extends W{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==w.date){let i=this._getOrReturnCtx(e);return b(i,{code:_.invalid_type,expected:w.date,received:i.parsedType}),Z}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return b(i,{code:_.invalid_date}),Z}let n=new ze,o;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()i.value&&(o=this._getOrReturnCtx(e,o),b(o,{code:_.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):X.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:E.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:E.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Sn({checks:[],coerce:t?.coerce||!1,typeName:N.ZodDate,...L(t)});var wn=class extends W{_parse(e){if(this._getType(e)!==w.symbol){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.symbol,received:n.parsedType}),Z}return je(e.data)}};wn.create=t=>new wn({typeName:N.ZodSymbol,...L(t)});var Tr=class extends W{_parse(e){if(this._getType(e)!==w.undefined){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.undefined,received:n.parsedType}),Z}return je(e.data)}};Tr.create=t=>new Tr({typeName:N.ZodUndefined,...L(t)});var Pr=class extends W{_parse(e){if(this._getType(e)!==w.null){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.null,received:n.parsedType}),Z}return je(e.data)}};Pr.create=t=>new Pr({typeName:N.ZodNull,...L(t)});var zn=class extends W{constructor(){super(...arguments),this._any=!0}_parse(e){return je(e.data)}};zn.create=t=>new zn({typeName:N.ZodAny,...L(t)});var qt=class extends W{constructor(){super(...arguments),this._unknown=!0}_parse(e){return je(e.data)}};qt.create=t=>new qt({typeName:N.ZodUnknown,...L(t)});var ht=class extends W{_parse(e){let r=this._getOrReturnCtx(e);return b(r,{code:_.invalid_type,expected:w.never,received:r.parsedType}),Z}};ht.create=t=>new ht({typeName:N.ZodNever,...L(t)});var In=class extends W{_parse(e){if(this._getType(e)!==w.undefined){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.void,received:n.parsedType}),Z}return je(e.data)}};In.create=t=>new In({typeName:N.ZodVoid,...L(t)});var Ft=class t extends W{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==w.array)return b(r,{code:_.invalid_type,expected:w.array,received:r.parsedType}),Z;if(o.exactLength!==null){let a=r.data.length>o.exactLength.value,s=r.data.lengtho.maxLength.value&&(b(r,{code:_.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((a,s)=>o.type._parseAsync(new Be(r,a,r.path,s)))).then(a=>ze.mergeArray(n,a));let i=[...r.data].map((a,s)=>o.type._parseSync(new Be(r,a,r.path,s)));return ze.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:E.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:E.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:E.toString(r)}})}nonempty(e){return this.min(1,e)}};Ft.create=(t,e)=>new Ft({type:t,minLength:null,maxLength:null,exactLength:null,typeName:N.ZodArray,...L(e)});function Ir(t){if(t instanceof Je){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=st.create(Ir(n))}return new Je({...t._def,shape:()=>e})}else return t instanceof Ft?new Ft({...t._def,type:Ir(t.element)}):t instanceof st?st.create(Ir(t.unwrap())):t instanceof Tt?Tt.create(Ir(t.unwrap())):t instanceof Et?Et.create(t.items.map(e=>Ir(e))):t}var Je=class t extends W{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=X.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==w.object){let u=this._getOrReturnCtx(e);return b(u,{code:_.invalid_type,expected:w.object,received:u.parsedType}),Z}let{status:n,ctx:o}=this._processInputParams(e),{shape:i,keys:a}=this._getCached(),s=[];if(!(this._def.catchall instanceof ht&&this._def.unknownKeys==="strip"))for(let u in o.data)a.includes(u)||s.push(u);let c=[];for(let u of a){let l=i[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Be(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof ht){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of s)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")s.length>0&&(b(o,{code:_.unrecognized_keys,keys:s}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of s){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Be(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,m=await l.value;u.push({key:d,value:m,alwaysSet:l.alwaysSet})}return u}).then(u=>ze.mergeObjectSync(n,u)):ze.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return E.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:E.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:N.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of X.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of X.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Ir(this)}partial(e){let r={};for(let n of X.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of X.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof st;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return bf(X.objectKeys(this.shape))}};Je.create=(t,e)=>new Je({shape:()=>t,unknownKeys:"strip",catchall:ht.create(),typeName:N.ZodObject,...L(e)});Je.strictCreate=(t,e)=>new Je({shape:()=>t,unknownKeys:"strict",catchall:ht.create(),typeName:N.ZodObject,...L(e)});Je.lazycreate=(t,e)=>new Je({shape:t,unknownKeys:"strip",catchall:ht.create(),typeName:N.ZodObject,...L(e)});var Or=class extends W{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(i){for(let s of i)if(s.result.status==="valid")return s.result;for(let s of i)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(s=>new Ve(s.ctx.common.issues));return b(r,{code:_.invalid_union,unionErrors:a}),Z}if(r.common.async)return Promise.all(n.map(async i=>{let a={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:a}),ctx:a}})).then(o);{let i,a=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!i&&(i={result:l,ctx:u}),u.common.issues.length&&a.push(u.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let s=a.map(c=>new Ve(c));return b(r,{code:_.invalid_union,unionErrors:s}),Z}}get options(){return this._def.options}};Or.create=(t,e)=>new Or({options:t,typeName:N.ZodUnion,...L(e)});var It=t=>t instanceof Nr?It(t.schema):t instanceof ct?It(t.innerType()):t instanceof Dr?[t.value]:t instanceof Rr?t.options:t instanceof Zr?X.objectValues(t.enum):t instanceof Ar?It(t._def.innerType):t instanceof Tr?[void 0]:t instanceof Pr?[null]:t instanceof st?[void 0,...It(t.unwrap())]:t instanceof Tt?[null,...It(t.unwrap())]:t instanceof ai||t instanceof Cr?It(t.unwrap()):t instanceof Ur?It(t._def.innerType):[],Es=class t extends W{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==w.object)return b(r,{code:_.invalid_type,expected:w.object,received:r.parsedType}),Z;let n=this.discriminator,o=r.data[n],i=this.optionsMap.get(o);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):(b(r,{code:_.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Z)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let i of r){let a=It(i.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of a){if(o.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);o.set(s,i)}}return new t({typeName:N.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...L(n)})}};function Ts(t,e){let r=zt(t),n=zt(e);if(t===e)return{valid:!0,data:t};if(r===w.object&&n===w.object){let o=X.objectKeys(e),i=X.objectKeys(t).filter(s=>o.indexOf(s)!==-1),a={...t,...e};for(let s of i){let c=Ts(t[s],e[s]);if(!c.valid)return{valid:!1};a[s]=c.data}return{valid:!0,data:a}}else if(r===w.array&&n===w.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let i=0;i{if(ws(i)||ws(a))return Z;let s=Ts(i.value,a.value);return s.valid?((zs(i)||zs(a))&&r.dirty(),{status:r.value,value:s.data}):(b(n,{code:_.invalid_intersection_types}),Z)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,a])=>o(i,a)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};jr.create=(t,e,r)=>new jr({left:t,right:e,typeName:N.ZodIntersection,...L(r)});var Et=class t extends W{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==w.array)return b(n,{code:_.invalid_type,expected:w.array,received:n.parsedType}),Z;if(n.data.lengththis._def.items.length&&(b(n,{code:_.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((a,s)=>{let c=this._def.items[s]||this._def.rest;return c?c._parse(new Be(n,a,n.path,s)):null}).filter(a=>!!a);return n.common.async?Promise.all(i).then(a=>ze.mergeArray(r,a)):ze.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Et.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Et({items:t,typeName:N.ZodTuple,rest:null,...L(e)})};var Ps=class t extends W{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==w.object)return b(n,{code:_.invalid_type,expected:w.object,received:n.parsedType}),Z;let o=[],i=this._def.keyType,a=this._def.valueType;for(let s in n.data)o.push({key:i._parse(new Be(n,s,n.path,s)),value:a._parse(new Be(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?ze.mergeObjectAsync(r,o):ze.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof W?new t({keyType:e,valueType:r,typeName:N.ZodRecord,...L(n)}):new t({keyType:Er.create(),valueType:e,typeName:N.ZodRecord,...L(r)})}},En=class extends W{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==w.map)return b(n,{code:_.invalid_type,expected:w.map,received:n.parsedType}),Z;let o=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([s,c],u)=>({key:o._parse(new Be(n,s,n.path,[u,"key"])),value:i._parse(new Be(n,c,n.path,[u,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let c of a){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return Z;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let c of a){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return Z;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}}}};En.create=(t,e,r)=>new En({valueType:e,keyType:t,typeName:N.ZodMap,...L(r)});var Tn=class t extends W{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==w.set)return b(n,{code:_.invalid_type,expected:w.set,received:n.parsedType}),Z;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&(b(n,{code:_.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let i=this._def.valueType;function a(c){let u=new Set;for(let l of c){if(l.status==="aborted")return Z;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let s=[...n.data.values()].map((c,u)=>i._parse(new Be(n,c,n.path,u)));return n.common.async?Promise.all(s).then(c=>a(c)):a(s)}min(e,r){return new t({...this._def,minSize:{value:e,message:E.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:E.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Tn.create=(t,e)=>new Tn({valueType:t,minSize:null,maxSize:null,typeName:N.ZodSet,...L(e)});var Os=class t extends W{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==w.function)return b(r,{code:_.invalid_type,expected:w.function,received:r.parsedType}),Z;function n(s,c){return ii({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,yn(),Lt].filter(u=>!!u),issueData:{code:_.invalid_arguments,argumentsError:c}})}function o(s,c){return ii({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,yn(),Lt].filter(u=>!!u),issueData:{code:_.invalid_return_type,returnTypeError:c}})}let i={errorMap:r.common.contextualErrorMap},a=r.data;if(this._def.returns instanceof sr){let s=this;return je(async function(...c){let u=new Ve([]),l=await s._def.args.parseAsync(c,i).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(a,this,l);return await s._def.returns._def.type.parseAsync(d,i).catch(f=>{throw u.addIssue(o(d,f)),u})})}else{let s=this;return je(function(...c){let u=s._def.args.safeParse(c,i);if(!u.success)throw new Ve([n(c,u.error)]);let l=Reflect.apply(a,this,u.data),d=s._def.returns.safeParse(l,i);if(!d.success)throw new Ve([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Et.create(e).rest(qt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Et.create([]).rest(qt.create()),returns:r||qt.create(),typeName:N.ZodFunction,...L(n)})}},Nr=class extends W{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Nr.create=(t,e)=>new Nr({getter:t,typeName:N.ZodLazy,...L(e)});var Dr=class extends W{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return b(r,{received:r.data,code:_.invalid_literal,expected:this._def.value}),Z}return{status:"valid",value:e.data}}get value(){return this._def.value}};Dr.create=(t,e)=>new Dr({value:t,typeName:N.ZodLiteral,...L(e)});function bf(t,e){return new Rr({values:t,typeName:N.ZodEnum,...L(e)})}var Rr=class t extends W{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return b(r,{expected:X.joinValues(n),received:r.parsedType,code:_.invalid_type}),Z}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return b(r,{received:r.data,code:_.invalid_enum_value,options:n}),Z}return je(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Rr.create=bf;var Zr=class extends W{_parse(e){let r=X.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==w.string&&n.parsedType!==w.number){let o=X.objectValues(r);return b(n,{expected:X.joinValues(o),received:n.parsedType,code:_.invalid_type}),Z}if(this._cache||(this._cache=new Set(X.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=X.objectValues(r);return b(n,{received:n.data,code:_.invalid_enum_value,options:o}),Z}return je(e.data)}get enum(){return this._def.values}};Zr.create=(t,e)=>new Zr({values:t,typeName:N.ZodNativeEnum,...L(e)});var sr=class extends W{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==w.promise&&r.common.async===!1)return b(r,{code:_.invalid_type,expected:w.promise,received:r.parsedType}),Z;let n=r.parsedType===w.promise?r.data:Promise.resolve(r.data);return je(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};sr.create=(t,e)=>new sr({type:t,typeName:N.ZodPromise,...L(e)});var ct=class extends W{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===N.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,i={addIssue:a=>{b(n,a),a.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let a=o.transform(n.data,i);if(n.common.async)return Promise.resolve(a).then(async s=>{if(r.value==="aborted")return Z;let c=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return c.status==="aborted"?Z:c.status==="dirty"?zr(c.value):r.value==="dirty"?zr(c.value):c});{if(r.value==="aborted")return Z;let s=this._def.schema._parseSync({data:a,path:n.path,parent:n});return s.status==="aborted"?Z:s.status==="dirty"?zr(s.value):r.value==="dirty"?zr(s.value):s}}if(o.type==="refinement"){let a=s=>{let c=o.refinement(s,i);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Z:(s.status==="dirty"&&r.dirty(),a(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?Z:(s.status==="dirty"&&r.dirty(),a(s.value).then(()=>({status:r.value,value:s.value}))))}if(o.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!ar(a))return Z;let s=o.transform(a.value,i);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>ar(a)?Promise.resolve(o.transform(a.value,i)).then(s=>({status:r.value,value:s})):Z);X.assertNever(o)}};ct.create=(t,e,r)=>new ct({schema:t,typeName:N.ZodEffects,effect:e,...L(r)});ct.createWithPreprocess=(t,e,r)=>new ct({schema:e,effect:{type:"preprocess",transform:t},typeName:N.ZodEffects,...L(r)});var st=class extends W{_parse(e){return this._getType(e)===w.undefined?je(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};st.create=(t,e)=>new st({innerType:t,typeName:N.ZodOptional,...L(e)});var Tt=class extends W{_parse(e){return this._getType(e)===w.null?je(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Tt.create=(t,e)=>new Tt({innerType:t,typeName:N.ZodNullable,...L(e)});var Ar=class extends W{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===w.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Ar.create=(t,e)=>new Ar({innerType:t,typeName:N.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...L(e)});var Ur=class extends W{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return $n(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ve(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ve(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ur.create=(t,e)=>new Ur({innerType:t,typeName:N.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...L(e)});var Pn=class extends W{_parse(e){if(this._getType(e)!==w.nan){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.nan,received:n.parsedType}),Z}return{status:"valid",value:e.data}}};Pn.create=t=>new Pn({typeName:N.ZodNaN,...L(t)});var ai=class extends W{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},si=class t extends W{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Z:i.status==="dirty"?(r.dirty(),zr(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?Z:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:N.ZodPipeline})}},Cr=class extends W{_parse(e){let r=this._def.innerType._parse(e),n=o=>(ar(o)&&(o.value=Object.freeze(o.value)),o);return $n(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Cr.create=(t,e)=>new Cr({innerType:t,typeName:N.ZodReadonly,...L(e)});var KT={object:Je.lazycreate},N;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(N||(N={}));var WT=Er.create,GT=bn.create,HT=Pn.create,BT=xn.create,XT=kn.create,YT=Sn.create,QT=wn.create,eP=Tr.create,tP=Pr.create,rP=zn.create,nP=qt.create,oP=ht.create,iP=In.create,aP=Ft.create,u$=Je.create,sP=Je.strictCreate,cP=Or.create,uP=Es.create,lP=jr.create,dP=Et.create,pP=Ps.create,fP=En.create,mP=Tn.create,hP=Os.create,gP=Nr.create,vP=Dr.create,_P=Rr.create,yP=Zr.create,$P=sr.create,bP=ct.create,xP=st.create,kP=Tt.create,SP=ct.createWithPreprocess,wP=si.create;var xf=Object.freeze({status:"aborted"});function p(t,e,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let u=a.prototype,l=Object.keys(u);for(let d=0;dr?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(a,"name",{value:t}),a}var gt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},cr=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},ci={};function _e(t){return t&&Object.assign(ci,t),ci}var y={};vn(y,{BIGINT_FORMAT_RANGES:()=>Ms,Class:()=>Ns,NUMBER_FORMAT_RANGES:()=>Cs,aborted:()=>Wt,allowsEval:()=>Zs,assert:()=>g$,assertEqual:()=>p$,assertIs:()=>m$,assertNever:()=>h$,assertNotEqual:()=>f$,assignProp:()=>Jt,base64ToUint8Array:()=>wf,base64urlToUint8Array:()=>N$,cached:()=>Lr,captureStackTrace:()=>li,cleanEnum:()=>j$,cleanRegex:()=>Nn,clone:()=>Ne,cloneDef:()=>_$,createTransparentProxy:()=>S$,defineLazy:()=>V,esc:()=>ui,escapeRegex:()=>Xe,extend:()=>I$,finalizeIssue:()=>Ce,floatSafeRemainder:()=>Ds,getElementAtPath:()=>y$,getEnumValues:()=>jn,getLengthableOrigin:()=>Zn,getParsedType:()=>k$,getSizableOrigin:()=>Rn,hexToUint8Array:()=>R$,isObject:()=>ur,isPlainObject:()=>Kt,issue:()=>qr,joinValues:()=>D,jsonStringifyReplacer:()=>Mr,merge:()=>T$,mergeDefs:()=>Pt,normalizeParams:()=>k,nullish:()=>Vt,numKeys:()=>x$,objectClone:()=>v$,omit:()=>z$,optionalKeys:()=>Us,parsedType:()=>A,partial:()=>P$,pick:()=>w$,prefixIssues:()=>Ke,primitiveTypes:()=>As,promiseAllObject:()=>$$,propertyKeyTypes:()=>Dn,randomString:()=>b$,required:()=>O$,safeExtend:()=>E$,shallowClone:()=>Sf,slugify:()=>Rs,stringifyPrimitive:()=>R,uint8ArrayToBase64:()=>zf,uint8ArrayToBase64url:()=>D$,uint8ArrayToHex:()=>Z$,unwrapMessage:()=>On});function p$(t){return t}function f$(t){return t}function m$(t){}function h$(t){throw new Error("Unexpected value in exhaustive check")}function g$(t){}function jn(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function D(t,e="|"){return t.map(r=>R(r)).join(e)}function Mr(t,e){return typeof e=="bigint"?e.toString():e}function Lr(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Vt(t){return t==null}function Nn(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Ds(t,e){let r=(t.toString().split(".")[1]||"").length,n=e.toString(),o=(n.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(n)){let c=n.match(/\d?e-(\d?)/);c?.[1]&&(o=Number.parseInt(c[1]))}let i=r>o?r:o,a=Number.parseInt(t.toFixed(i).replace(".","")),s=Number.parseInt(e.toFixed(i).replace(".",""));return a%s/10**i}var kf=Symbol("evaluating");function V(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==kf)return n===void 0&&(n=kf,n=r()),n},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function v$(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function Jt(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Pt(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function _$(t){return Pt(t._zod.def)}function y$(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function $$(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i{};function ur(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Zs=Lr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Kt(t){if(ur(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(ur(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Sf(t){return Kt(t)?{...t}:Array.isArray(t)?[...t]:t}function x$(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var k$=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Dn=new Set(["string","number","symbol"]),As=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Xe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ne(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function k(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function S$(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,i){return e??(e=t()),Reflect.set(e,n,o,i)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function R(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Us(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Cs={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Ms={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function w$(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i=Pt(t._zod.def,{get shape(){let a={};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(a[s]=r.shape[s])}return Jt(this,"shape",a),a},checks:[]});return Ne(t,i)}function z$(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=Pt(t._zod.def,{get shape(){let a={...t._zod.def.shape};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete a[s]}return Jt(this,"shape",a),a},checks:[]});return Ne(t,i)}function I$(t,e){if(!Kt(e))throw new Error("Invalid input to extend: expected a plain object");let r=t._zod.def.checks;if(r&&r.length>0){let i=t._zod.def.shape;for(let a in e)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=Pt(t._zod.def,{get shape(){let i={...t._zod.def.shape,...e};return Jt(this,"shape",i),i}});return Ne(t,o)}function E$(t,e){if(!Kt(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=Pt(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e};return Jt(this,"shape",n),n}});return Ne(t,r)}function T$(t,e){let r=Pt(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e._zod.def.shape};return Jt(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:[]});return Ne(t,r)}function P$(t,e,r){let o=e._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=Pt(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(r)for(let u in r){if(!(u in s))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(c[u]=t?new t({type:"optional",innerType:s[u]}):s[u])}else for(let u in s)c[u]=t?new t({type:"optional",innerType:s[u]}):s[u];return Jt(this,"shape",c),c},checks:[]});return Ne(e,a)}function O$(t,e,r){let n=Pt(e._zod.def,{get shape(){let o=e._zod.def.shape,i={...o};if(r)for(let a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new t({type:"nonoptional",innerType:o[a]}))}else for(let a in o)i[a]=new t({type:"nonoptional",innerType:o[a]});return Jt(this,"shape",i),i}});return Ne(e,n)}function Wt(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function On(t){return typeof t=="string"?t:t?.message}function Ce(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=On(t.inst?._zod.def?.error?.(t))??On(e?.error?.(t))??On(r.customError?.(t))??On(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Rn(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Zn(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function A(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function qr(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function j$(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function wf(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;ne.toString(16).padStart(2,"0")).join("")}var Ns=class{constructor(...e){}};var If=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,Mr,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},di=p("$ZodError",If),An=p("$ZodError",If,{Parent:Error});function pi(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function fi(t,e=r=>r.message){let r={_errors:[]},n=o=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>n({issues:a}));else if(i.code==="invalid_key")n({issues:i.issues});else if(i.code==="invalid_element")n({issues:i.issues});else if(i.path.length===0)r._errors.push(e(i));else{let a=r,s=0;for(;s(e,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new gt;if(a.issues.length){let s=new(o?.Err??t)(a.issues.map(c=>Ce(c,i,_e())));throw li(s,o?.callee),s}return a.value},Cn=Un(An),Mn=t=>async(e,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(o?.Err??t)(a.issues.map(c=>Ce(c,i,_e())));throw li(s,o?.callee),s}return a.value},Ln=Mn(An),qn=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=e._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new gt;return i.issues.length?{success:!1,error:new(t??di)(i.issues.map(a=>Ce(a,o,_e())))}:{success:!0,data:i.value}},Fr=qn(An),Fn=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new t(i.issues.map(a=>Ce(a,o,_e())))}:{success:!0,data:i.value}},Vn=Fn(An),Ef=t=>(e,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Un(t)(e,r,o)};var Tf=t=>(e,r,n)=>Un(t)(e,r,n);var Pf=t=>async(e,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Mn(t)(e,r,o)};var Of=t=>async(e,r,n)=>Mn(t)(e,r,n);var jf=t=>(e,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return qn(t)(e,r,o)};var Nf=t=>(e,r,n)=>qn(t)(e,r,n);var Df=t=>async(e,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Fn(t)(e,r,o)};var Rf=t=>async(e,r,n)=>Fn(t)(e,r,n);var Ye={};vn(Ye,{base64:()=>rc,base64url:()=>mi,bigint:()=>cc,boolean:()=>lc,browserEmail:()=>J$,cidrv4:()=>ec,cidrv6:()=>tc,cuid:()=>Ls,cuid2:()=>qs,date:()=>oc,datetime:()=>ac,domain:()=>G$,duration:()=>Ws,e164:()=>nc,email:()=>Hs,emoji:()=>Bs,extendedDuration:()=>U$,guid:()=>Gs,hex:()=>H$,hostname:()=>W$,html5Email:()=>q$,idnEmail:()=>V$,integer:()=>uc,ipv4:()=>Xs,ipv6:()=>Ys,ksuid:()=>Js,lowercase:()=>fc,mac:()=>Qs,md5_base64:()=>X$,md5_base64url:()=>Y$,md5_hex:()=>B$,nanoid:()=>Ks,null:()=>dc,number:()=>hi,rfc5322Email:()=>F$,sha1_base64:()=>eb,sha1_base64url:()=>tb,sha1_hex:()=>Q$,sha256_base64:()=>nb,sha256_base64url:()=>ob,sha256_hex:()=>rb,sha384_base64:()=>ab,sha384_base64url:()=>sb,sha384_hex:()=>ib,sha512_base64:()=>ub,sha512_base64url:()=>lb,sha512_hex:()=>cb,string:()=>sc,time:()=>ic,ulid:()=>Fs,undefined:()=>pc,unicodeEmail:()=>Zf,uppercase:()=>mc,uuid:()=>lr,uuid4:()=>C$,uuid6:()=>M$,uuid7:()=>L$,xid:()=>Vs});var Ls=/^[cC][^\s-]{8,}$/,qs=/^[0-9a-z]+$/,Fs=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Vs=/^[0-9a-vA-V]{20}$/,Js=/^[A-Za-z0-9]{27}$/,Ks=/^[a-zA-Z0-9_-]{21}$/,Ws=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,U$=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Gs=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,lr=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,C$=lr(4),M$=lr(6),L$=lr(7),Hs=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,q$=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,F$=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,Zf=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,V$=Zf,J$=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,K$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Bs(){return new RegExp(K$,"u")}var Xs=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ys=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Qs=t=>{let e=Xe(t??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},ec=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,tc=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,rc=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,mi=/^[A-Za-z0-9_-]*$/,W$=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,G$=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,nc=/^\+[1-9]\d{6,14}$/,Af="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",oc=new RegExp(`^${Af}$`);function Uf(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function ic(t){return new RegExp(`^${Uf(t)}$`)}function ac(t){let e=Uf({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${Af}T(?:${n})$`)}var sc=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},cc=/^-?\d+n?$/,uc=/^-?\d+$/,hi=/^-?\d+(?:\.\d+)?$/,lc=/^(?:true|false)$/i,dc=/^null$/i;var pc=/^undefined$/i;var fc=/^[^A-Z]*$/,mc=/^[^a-z]*$/,H$=/^[0-9a-fA-F]*$/;function Jn(t,e){return new RegExp(`^[A-Za-z0-9+/]{${t}}${e}$`)}function Kn(t){return new RegExp(`^[A-Za-z0-9_-]{${t}}$`)}var B$=/^[0-9a-fA-F]{32}$/,X$=Jn(22,"=="),Y$=Kn(22),Q$=/^[0-9a-fA-F]{40}$/,eb=Jn(27,"="),tb=Kn(27),rb=/^[0-9a-fA-F]{64}$/,nb=Jn(43,"="),ob=Kn(43),ib=/^[0-9a-fA-F]{96}$/,ab=Jn(64,""),sb=Kn(64),cb=/^[0-9a-fA-F]{128}$/,ub=Jn(86,"=="),lb=Kn(86);var se=p("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Mf={number:"number",bigint:"bigint",object:"date"},hc=p("$ZodCheckLessThan",(t,e)=>{se.init(t,e);let r=Mf[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,i=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{se.init(t,e);let r=Mf[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,i=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>i&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Lf=p("$ZodCheckMultipleOf",(t,e)=>{se.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Ds(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),qf=p("$ZodCheckNumberFormat",(t,e)=>{se.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,i]=Cs[e.format];t._zod.onattach.push(a=>{let s=a._zod.bag;s.format=e.format,s.minimum=o,s.maximum=i,r&&(s.pattern=uc)}),t._zod.check=a=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}si&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:t,continue:!e.abort})}}),Ff=p("$ZodCheckBigIntFormat",(t,e)=>{se.init(t,e);let[r,n]=Ms[e.format];t._zod.onattach.push(o=>{let i=o._zod.bag;i.format=e.format,i.minimum=r,i.maximum=n}),t._zod.check=o=>{let i=o.value;in&&o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:n,inclusive:!0,inst:t,continue:!e.abort})}}),Vf=p("$ZodCheckMaxSize",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.size!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;o.size<=e.maximum||n.issues.push({origin:Rn(o),code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Jf=p("$ZodCheckMinSize",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.size!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;o.size>=e.minimum||n.issues.push({origin:Rn(o),code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Kf=p("$ZodCheckSizeEquals",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.size!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.size,o.maximum=e.size,o.size=e.size}),t._zod.check=n=>{let o=n.value,i=o.size;if(i===e.size)return;let a=i>e.size;n.issues.push({origin:Rn(o),...a?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Wf=p("$ZodCheckMaxLength",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;if(o.length<=e.maximum)return;let a=Zn(o);n.issues.push({origin:a,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Gf=p("$ZodCheckMinLength",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let a=Zn(o);n.issues.push({origin:a,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Hf=p("$ZodCheckLengthEquals",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,i=o.length;if(i===e.length)return;let a=Zn(o),s=i>e.length;n.issues.push({origin:a,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Wn=p("$ZodCheckStringFormat",(t,e)=>{var r,n;se.init(t,e),t._zod.onattach.push(o=>{let i=o._zod.bag;i.format=e.format,e.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Bf=p("$ZodCheckRegex",(t,e)=>{Wn.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Xf=p("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=fc),Wn.init(t,e)}),Yf=p("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=mc),Wn.init(t,e)}),Qf=p("$ZodCheckIncludes",(t,e)=>{se.init(t,e);let r=Xe(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),em=p("$ZodCheckStartsWith",(t,e)=>{se.init(t,e);let r=new RegExp(`^${Xe(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),tm=p("$ZodCheckEndsWith",(t,e)=>{se.init(t,e);let r=new RegExp(`.*${Xe(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});function Cf(t,e,r){t.issues.length&&e.issues.push(...Ke(r,t.issues))}var rm=p("$ZodCheckProperty",(t,e)=>{se.init(t,e),t._zod.check=r=>{let n=e.schema._zod.run({value:r.value[e.property],issues:[]},{});if(n instanceof Promise)return n.then(o=>Cf(o,r,e.property));Cf(n,r,e.property)}}),nm=p("$ZodCheckMimeType",(t,e)=>{se.init(t,e);let r=new Set(e.mime);t._zod.onattach.push(n=>{n._zod.bag.mime=e.mime}),t._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:e.mime,input:n.value.type,inst:t,continue:!e.abort})}}),om=p("$ZodCheckOverwrite",(t,e)=>{se.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var gi=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=u?`${u[1].split("/").pop()}:${u[2]}`:"unknown",d={...n,location:l};return this.warn(e,`[HAPPY-PATH] ${r}`,d,o),i}},ye=new Ss;var X;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let i={};for(let a of o)i[a]=a;return i},t.getValidEnumValues=o=>{let i=t.objectKeys(o).filter(s=>typeof o[o[s]]!="number"),a={};for(let s of i)a[s]=o[s];return t.objectValues(a)},t.objectValues=o=>t.objectKeys(o).map(function(i){return o[i]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let a in o)Object.prototype.hasOwnProperty.call(o,a)&&i.push(a);return i},t.find=(o,i)=>{for(let a of o)if(i(a))return a},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,i=" | "){return o.map(a=>typeof a=="string"?`'${a}'`:a).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(X||(X={}));var _f;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(_f||(_f={}));var w=X.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),zt=t=>{switch(typeof t){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(t)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(t)?w.array:t===null?w.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?w.promise:typeof Map<"u"&&t instanceof Map?w.map:typeof Set<"u"&&t instanceof Set?w.set:typeof Date<"u"&&t instanceof Date?w.date:w.object;default:return w.unknown}};var _=X.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var Ve=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(i){return i.message},n={_errors:[]},o=i=>{for(let a of i.issues)if(a.code==="invalid_union")a.unionErrors.map(o);else if(a.code==="invalid_return_type")o(a.returnTypeError);else if(a.code==="invalid_arguments")o(a.argumentsError);else if(a.path.length===0)n._errors.push(r(a));else{let s=n,c=0;for(;cr.message){let r=Object.create(null),n=[];for(let o of this.issues)if(o.path.length>0){let i=o.path[0];r[i]=r[i]||[],r[i].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ve.create=t=>new Ve(t);var Jy=(t,e)=>{let r;switch(t.code){case _.invalid_type:t.received===w.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case _.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,X.jsonStringifyReplacer)}`;break;case _.unrecognized_keys:r=`Unrecognized key(s) in object: ${X.joinValues(t.keys,", ")}`;break;case _.invalid_union:r="Invalid input";break;case _.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${X.joinValues(t.options)}`;break;case _.invalid_enum_value:r=`Invalid enum value. Expected ${X.joinValues(t.options)}, received '${t.received}'`;break;case _.invalid_arguments:r="Invalid function arguments";break;case _.invalid_return_type:r="Invalid function return type";break;case _.invalid_date:r="Invalid date";break;case _.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:X.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case _.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case _.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case _.custom:r="Invalid input";break;case _.invalid_intersection_types:r="Intersection results could not be merged";break;case _.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case _.not_finite:r="Number must be finite";break;default:r=e.defaultError,X.assertNever(t)}return{message:r}},Lt=Jy;var Ky=Lt;function yn(){return Ky}var ii=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,i=[...r,...o.path||[]],a={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let s="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)s=u(a,{data:e,defaultError:s}).message;return{...o,path:i,message:s}};function b(t,e){let r=yn(),n=ii({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Lt?void 0:Lt].filter(o=>!!o)});t.common.issues.push(n)}var ze=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return Z;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let i=await o.key,a=await o.value;n.push({key:i,value:a})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:i,value:a}=o;if(i.status==="aborted"||a.status==="aborted")return Z;i.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof a.value<"u"||o.alwaysSet)&&(n[i.value]=a.value)}return{status:e.value,value:n}}},Z=Object.freeze({status:"aborted"}),zr=t=>({status:"dirty",value:t}),je=t=>({status:"valid",value:t}),ws=t=>t.status==="aborted",zs=t=>t.status==="dirty",ar=t=>t.status==="valid",$n=t=>typeof Promise<"u"&&t instanceof Promise;var E;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(E||(E={}));var Be=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},yf=(t,e)=>{if(ar(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Ve(t.common.issues);return this._error=r,this._error}}};function L(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(a,s)=>{let{message:c}=t;return a.code==="invalid_enum_value"?{message:c??s.defaultError}:typeof s.data>"u"?{message:c??n??s.defaultError}:a.code!=="invalid_type"?{message:s.defaultError}:{message:c??r??s.defaultError}},description:o}}var W=class{get description(){return this._def.description}_getType(e){return zt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:zt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ze,ctx:{common:e.parent.common,data:e.data,parsedType:zt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if($n(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:zt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return yf(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:zt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return ar(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>ar(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:zt(e)},o=this._parse({data:e,path:n.path,parent:n}),i=await($n(o)?o:Promise.resolve(o));return yf(n,i)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,i)=>{let a=e(o),s=()=>i.addIssue({code:_.custom,...n(o)});return typeof Promise<"u"&&a instanceof Promise?a.then(c=>c?!0:(s(),!1)):a?!0:(s(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new ct({schema:this,typeName:N.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return st.create(this,this._def)}nullable(){return Tt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ft.create(this)}promise(){return sr.create(this,this._def)}or(e){return Or.create([this,e],this._def)}and(e){return jr.create(this,e,this._def)}transform(e){return new ct({...L(this._def),schema:this,typeName:N.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Ar({...L(this._def),innerType:this,defaultValue:r,typeName:N.ZodDefault})}brand(){return new ai({typeName:N.ZodBranded,type:this,...L(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Ur({...L(this._def),innerType:this,catchValue:r,typeName:N.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return si.create(this,e)}readonly(){return Cr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Wy=/^c[^\s-]{8,}$/i,Gy=/^[0-9a-z]+$/,Hy=/^[0-9A-HJKMNP-TV-Z]{26}$/i,By=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Xy=/^[a-z0-9_-]{21}$/i,Yy=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Qy=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,e$=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,t$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Is,r$=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,n$=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,o$=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,i$=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,a$=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,s$=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,$f="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",c$=new RegExp(`^${$f}$`);function bf(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function u$(t){return new RegExp(`^${bf(t)}$`)}function l$(t){let e=`${$f}T${bf(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function d$(t,e){return!!((e==="v4"||!e)&&r$.test(t)||(e==="v6"||!e)&&o$.test(t))}function p$(t,e){if(!Yy.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function f$(t,e){return!!((e==="v4"||!e)&&n$.test(t)||(e==="v6"||!e)&&i$.test(t))}var Er=class t extends W{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==w.string){let i=this._getOrReturnCtx(e);return b(i,{code:_.invalid_type,expected:w.string,received:i.parsedType}),Z}let n=new ze,o;for(let i of this._def.checks)if(i.kind==="min")e.data.lengthi.value&&(o=this._getOrReturnCtx(e,o),b(o,{code:_.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let a=e.data.length>i.value,s=e.data.lengthe.test(o),{validation:r,code:_.invalid_string,...E.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...E.errToObj(e)})}url(e){return this._addCheck({kind:"url",...E.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...E.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...E.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...E.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...E.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...E.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...E.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...E.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...E.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...E.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...E.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...E.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...E.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...E.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...E.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...E.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...E.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...E.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...E.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...E.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...E.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...E.errToObj(r)})}nonempty(e){return this.min(1,E.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Er({checks:[],typeName:N.ZodString,coerce:t?.coerce??!1,...L(t)});function m$(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(t.toFixed(o).replace(".","")),a=Number.parseInt(e.toFixed(o).replace(".",""));return i%a/10**o}var bn=class t extends W{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==w.number){let i=this._getOrReturnCtx(e);return b(i,{code:_.invalid_type,expected:w.number,received:i.parsedType}),Z}let n,o=new ze;for(let i of this._def.checks)i.kind==="int"?X.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),b(n,{code:_.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),b(n,{code:_.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?m$(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),b(n,{code:_.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),b(n,{code:_.not_finite,message:i.message}),o.dirty()):X.assertNever(i);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,E.toString(r))}gt(e,r){return this.setLimit("min",e,!1,E.toString(r))}lte(e,r){return this.setLimit("max",e,!0,E.toString(r))}lt(e,r){return this.setLimit("max",e,!1,E.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:E.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:E.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:E.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:E.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&X.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew bn({checks:[],typeName:N.ZodNumber,coerce:t?.coerce||!1,...L(t)});var xn=class t extends W{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==w.bigint)return this._getInvalidInput(e);let n,o=new ze;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),b(n,{code:_.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),b(n,{code:_.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):X.assertNever(i);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return b(r,{code:_.invalid_type,expected:w.bigint,received:r.parsedType}),Z}gte(e,r){return this.setLimit("min",e,!0,E.toString(r))}gt(e,r){return this.setLimit("min",e,!1,E.toString(r))}lte(e,r){return this.setLimit("max",e,!0,E.toString(r))}lt(e,r){return this.setLimit("max",e,!1,E.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:E.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:E.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:E.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew xn({checks:[],typeName:N.ZodBigInt,coerce:t?.coerce??!1,...L(t)});var kn=class extends W{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==w.boolean){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.boolean,received:n.parsedType}),Z}return je(e.data)}};kn.create=t=>new kn({typeName:N.ZodBoolean,coerce:t?.coerce||!1,...L(t)});var Sn=class t extends W{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==w.date){let i=this._getOrReturnCtx(e);return b(i,{code:_.invalid_type,expected:w.date,received:i.parsedType}),Z}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return b(i,{code:_.invalid_date}),Z}let n=new ze,o;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()i.value&&(o=this._getOrReturnCtx(e,o),b(o,{code:_.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):X.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:E.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:E.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Sn({checks:[],coerce:t?.coerce||!1,typeName:N.ZodDate,...L(t)});var wn=class extends W{_parse(e){if(this._getType(e)!==w.symbol){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.symbol,received:n.parsedType}),Z}return je(e.data)}};wn.create=t=>new wn({typeName:N.ZodSymbol,...L(t)});var Tr=class extends W{_parse(e){if(this._getType(e)!==w.undefined){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.undefined,received:n.parsedType}),Z}return je(e.data)}};Tr.create=t=>new Tr({typeName:N.ZodUndefined,...L(t)});var Pr=class extends W{_parse(e){if(this._getType(e)!==w.null){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.null,received:n.parsedType}),Z}return je(e.data)}};Pr.create=t=>new Pr({typeName:N.ZodNull,...L(t)});var zn=class extends W{constructor(){super(...arguments),this._any=!0}_parse(e){return je(e.data)}};zn.create=t=>new zn({typeName:N.ZodAny,...L(t)});var qt=class extends W{constructor(){super(...arguments),this._unknown=!0}_parse(e){return je(e.data)}};qt.create=t=>new qt({typeName:N.ZodUnknown,...L(t)});var ht=class extends W{_parse(e){let r=this._getOrReturnCtx(e);return b(r,{code:_.invalid_type,expected:w.never,received:r.parsedType}),Z}};ht.create=t=>new ht({typeName:N.ZodNever,...L(t)});var In=class extends W{_parse(e){if(this._getType(e)!==w.undefined){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.void,received:n.parsedType}),Z}return je(e.data)}};In.create=t=>new In({typeName:N.ZodVoid,...L(t)});var Ft=class t extends W{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==w.array)return b(r,{code:_.invalid_type,expected:w.array,received:r.parsedType}),Z;if(o.exactLength!==null){let a=r.data.length>o.exactLength.value,s=r.data.lengtho.maxLength.value&&(b(r,{code:_.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((a,s)=>o.type._parseAsync(new Be(r,a,r.path,s)))).then(a=>ze.mergeArray(n,a));let i=[...r.data].map((a,s)=>o.type._parseSync(new Be(r,a,r.path,s)));return ze.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:E.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:E.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:E.toString(r)}})}nonempty(e){return this.min(1,e)}};Ft.create=(t,e)=>new Ft({type:t,minLength:null,maxLength:null,exactLength:null,typeName:N.ZodArray,...L(e)});function Ir(t){if(t instanceof Je){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=st.create(Ir(n))}return new Je({...t._def,shape:()=>e})}else return t instanceof Ft?new Ft({...t._def,type:Ir(t.element)}):t instanceof st?st.create(Ir(t.unwrap())):t instanceof Tt?Tt.create(Ir(t.unwrap())):t instanceof Et?Et.create(t.items.map(e=>Ir(e))):t}var Je=class t extends W{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=X.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==w.object){let u=this._getOrReturnCtx(e);return b(u,{code:_.invalid_type,expected:w.object,received:u.parsedType}),Z}let{status:n,ctx:o}=this._processInputParams(e),{shape:i,keys:a}=this._getCached(),s=[];if(!(this._def.catchall instanceof ht&&this._def.unknownKeys==="strip"))for(let u in o.data)a.includes(u)||s.push(u);let c=[];for(let u of a){let l=i[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Be(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof ht){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of s)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")s.length>0&&(b(o,{code:_.unrecognized_keys,keys:s}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of s){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Be(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,m=await l.value;u.push({key:d,value:m,alwaysSet:l.alwaysSet})}return u}).then(u=>ze.mergeObjectSync(n,u)):ze.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return E.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:E.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:N.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of X.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of X.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Ir(this)}partial(e){let r={};for(let n of X.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of X.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof st;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return xf(X.objectKeys(this.shape))}};Je.create=(t,e)=>new Je({shape:()=>t,unknownKeys:"strip",catchall:ht.create(),typeName:N.ZodObject,...L(e)});Je.strictCreate=(t,e)=>new Je({shape:()=>t,unknownKeys:"strict",catchall:ht.create(),typeName:N.ZodObject,...L(e)});Je.lazycreate=(t,e)=>new Je({shape:t,unknownKeys:"strip",catchall:ht.create(),typeName:N.ZodObject,...L(e)});var Or=class extends W{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(i){for(let s of i)if(s.result.status==="valid")return s.result;for(let s of i)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(s=>new Ve(s.ctx.common.issues));return b(r,{code:_.invalid_union,unionErrors:a}),Z}if(r.common.async)return Promise.all(n.map(async i=>{let a={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:a}),ctx:a}})).then(o);{let i,a=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!i&&(i={result:l,ctx:u}),u.common.issues.length&&a.push(u.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let s=a.map(c=>new Ve(c));return b(r,{code:_.invalid_union,unionErrors:s}),Z}}get options(){return this._def.options}};Or.create=(t,e)=>new Or({options:t,typeName:N.ZodUnion,...L(e)});var It=t=>t instanceof Nr?It(t.schema):t instanceof ct?It(t.innerType()):t instanceof Dr?[t.value]:t instanceof Rr?t.options:t instanceof Zr?X.objectValues(t.enum):t instanceof Ar?It(t._def.innerType):t instanceof Tr?[void 0]:t instanceof Pr?[null]:t instanceof st?[void 0,...It(t.unwrap())]:t instanceof Tt?[null,...It(t.unwrap())]:t instanceof ai||t instanceof Cr?It(t.unwrap()):t instanceof Ur?It(t._def.innerType):[],Es=class t extends W{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==w.object)return b(r,{code:_.invalid_type,expected:w.object,received:r.parsedType}),Z;let n=this.discriminator,o=r.data[n],i=this.optionsMap.get(o);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):(b(r,{code:_.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Z)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let i of r){let a=It(i.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of a){if(o.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);o.set(s,i)}}return new t({typeName:N.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...L(n)})}};function Ts(t,e){let r=zt(t),n=zt(e);if(t===e)return{valid:!0,data:t};if(r===w.object&&n===w.object){let o=X.objectKeys(e),i=X.objectKeys(t).filter(s=>o.indexOf(s)!==-1),a={...t,...e};for(let s of i){let c=Ts(t[s],e[s]);if(!c.valid)return{valid:!1};a[s]=c.data}return{valid:!0,data:a}}else if(r===w.array&&n===w.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let i=0;i{if(ws(i)||ws(a))return Z;let s=Ts(i.value,a.value);return s.valid?((zs(i)||zs(a))&&r.dirty(),{status:r.value,value:s.data}):(b(n,{code:_.invalid_intersection_types}),Z)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,a])=>o(i,a)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};jr.create=(t,e,r)=>new jr({left:t,right:e,typeName:N.ZodIntersection,...L(r)});var Et=class t extends W{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==w.array)return b(n,{code:_.invalid_type,expected:w.array,received:n.parsedType}),Z;if(n.data.lengththis._def.items.length&&(b(n,{code:_.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((a,s)=>{let c=this._def.items[s]||this._def.rest;return c?c._parse(new Be(n,a,n.path,s)):null}).filter(a=>!!a);return n.common.async?Promise.all(i).then(a=>ze.mergeArray(r,a)):ze.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Et.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Et({items:t,typeName:N.ZodTuple,rest:null,...L(e)})};var Ps=class t extends W{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==w.object)return b(n,{code:_.invalid_type,expected:w.object,received:n.parsedType}),Z;let o=[],i=this._def.keyType,a=this._def.valueType;for(let s in n.data)o.push({key:i._parse(new Be(n,s,n.path,s)),value:a._parse(new Be(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?ze.mergeObjectAsync(r,o):ze.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof W?new t({keyType:e,valueType:r,typeName:N.ZodRecord,...L(n)}):new t({keyType:Er.create(),valueType:e,typeName:N.ZodRecord,...L(r)})}},En=class extends W{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==w.map)return b(n,{code:_.invalid_type,expected:w.map,received:n.parsedType}),Z;let o=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([s,c],u)=>({key:o._parse(new Be(n,s,n.path,[u,"key"])),value:i._parse(new Be(n,c,n.path,[u,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let c of a){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return Z;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let c of a){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return Z;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}}}};En.create=(t,e,r)=>new En({valueType:e,keyType:t,typeName:N.ZodMap,...L(r)});var Tn=class t extends W{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==w.set)return b(n,{code:_.invalid_type,expected:w.set,received:n.parsedType}),Z;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&(b(n,{code:_.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let i=this._def.valueType;function a(c){let u=new Set;for(let l of c){if(l.status==="aborted")return Z;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let s=[...n.data.values()].map((c,u)=>i._parse(new Be(n,c,n.path,u)));return n.common.async?Promise.all(s).then(c=>a(c)):a(s)}min(e,r){return new t({...this._def,minSize:{value:e,message:E.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:E.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Tn.create=(t,e)=>new Tn({valueType:t,minSize:null,maxSize:null,typeName:N.ZodSet,...L(e)});var Os=class t extends W{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==w.function)return b(r,{code:_.invalid_type,expected:w.function,received:r.parsedType}),Z;function n(s,c){return ii({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,yn(),Lt].filter(u=>!!u),issueData:{code:_.invalid_arguments,argumentsError:c}})}function o(s,c){return ii({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,yn(),Lt].filter(u=>!!u),issueData:{code:_.invalid_return_type,returnTypeError:c}})}let i={errorMap:r.common.contextualErrorMap},a=r.data;if(this._def.returns instanceof sr){let s=this;return je(async function(...c){let u=new Ve([]),l=await s._def.args.parseAsync(c,i).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(a,this,l);return await s._def.returns._def.type.parseAsync(d,i).catch(f=>{throw u.addIssue(o(d,f)),u})})}else{let s=this;return je(function(...c){let u=s._def.args.safeParse(c,i);if(!u.success)throw new Ve([n(c,u.error)]);let l=Reflect.apply(a,this,u.data),d=s._def.returns.safeParse(l,i);if(!d.success)throw new Ve([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Et.create(e).rest(qt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Et.create([]).rest(qt.create()),returns:r||qt.create(),typeName:N.ZodFunction,...L(n)})}},Nr=class extends W{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Nr.create=(t,e)=>new Nr({getter:t,typeName:N.ZodLazy,...L(e)});var Dr=class extends W{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return b(r,{received:r.data,code:_.invalid_literal,expected:this._def.value}),Z}return{status:"valid",value:e.data}}get value(){return this._def.value}};Dr.create=(t,e)=>new Dr({value:t,typeName:N.ZodLiteral,...L(e)});function xf(t,e){return new Rr({values:t,typeName:N.ZodEnum,...L(e)})}var Rr=class t extends W{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return b(r,{expected:X.joinValues(n),received:r.parsedType,code:_.invalid_type}),Z}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return b(r,{received:r.data,code:_.invalid_enum_value,options:n}),Z}return je(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Rr.create=xf;var Zr=class extends W{_parse(e){let r=X.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==w.string&&n.parsedType!==w.number){let o=X.objectValues(r);return b(n,{expected:X.joinValues(o),received:n.parsedType,code:_.invalid_type}),Z}if(this._cache||(this._cache=new Set(X.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=X.objectValues(r);return b(n,{received:n.data,code:_.invalid_enum_value,options:o}),Z}return je(e.data)}get enum(){return this._def.values}};Zr.create=(t,e)=>new Zr({values:t,typeName:N.ZodNativeEnum,...L(e)});var sr=class extends W{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==w.promise&&r.common.async===!1)return b(r,{code:_.invalid_type,expected:w.promise,received:r.parsedType}),Z;let n=r.parsedType===w.promise?r.data:Promise.resolve(r.data);return je(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};sr.create=(t,e)=>new sr({type:t,typeName:N.ZodPromise,...L(e)});var ct=class extends W{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===N.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,i={addIssue:a=>{b(n,a),a.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let a=o.transform(n.data,i);if(n.common.async)return Promise.resolve(a).then(async s=>{if(r.value==="aborted")return Z;let c=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return c.status==="aborted"?Z:c.status==="dirty"?zr(c.value):r.value==="dirty"?zr(c.value):c});{if(r.value==="aborted")return Z;let s=this._def.schema._parseSync({data:a,path:n.path,parent:n});return s.status==="aborted"?Z:s.status==="dirty"?zr(s.value):r.value==="dirty"?zr(s.value):s}}if(o.type==="refinement"){let a=s=>{let c=o.refinement(s,i);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Z:(s.status==="dirty"&&r.dirty(),a(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?Z:(s.status==="dirty"&&r.dirty(),a(s.value).then(()=>({status:r.value,value:s.value}))))}if(o.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!ar(a))return Z;let s=o.transform(a.value,i);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>ar(a)?Promise.resolve(o.transform(a.value,i)).then(s=>({status:r.value,value:s})):Z);X.assertNever(o)}};ct.create=(t,e,r)=>new ct({schema:t,typeName:N.ZodEffects,effect:e,...L(r)});ct.createWithPreprocess=(t,e,r)=>new ct({schema:e,effect:{type:"preprocess",transform:t},typeName:N.ZodEffects,...L(r)});var st=class extends W{_parse(e){return this._getType(e)===w.undefined?je(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};st.create=(t,e)=>new st({innerType:t,typeName:N.ZodOptional,...L(e)});var Tt=class extends W{_parse(e){return this._getType(e)===w.null?je(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Tt.create=(t,e)=>new Tt({innerType:t,typeName:N.ZodNullable,...L(e)});var Ar=class extends W{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===w.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Ar.create=(t,e)=>new Ar({innerType:t,typeName:N.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...L(e)});var Ur=class extends W{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return $n(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ve(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ve(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ur.create=(t,e)=>new Ur({innerType:t,typeName:N.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...L(e)});var Pn=class extends W{_parse(e){if(this._getType(e)!==w.nan){let n=this._getOrReturnCtx(e);return b(n,{code:_.invalid_type,expected:w.nan,received:n.parsedType}),Z}return{status:"valid",value:e.data}}};Pn.create=t=>new Pn({typeName:N.ZodNaN,...L(t)});var ai=class extends W{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},si=class t extends W{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Z:i.status==="dirty"?(r.dirty(),zr(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?Z:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:N.ZodPipeline})}},Cr=class extends W{_parse(e){let r=this._def.innerType._parse(e),n=o=>(ar(o)&&(o.value=Object.freeze(o.value)),o);return $n(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Cr.create=(t,e)=>new Cr({innerType:t,typeName:N.ZodReadonly,...L(e)});var KT={object:Je.lazycreate},N;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(N||(N={}));var WT=Er.create,GT=bn.create,HT=Pn.create,BT=xn.create,XT=kn.create,YT=Sn.create,QT=wn.create,eP=Tr.create,tP=Pr.create,rP=zn.create,nP=qt.create,oP=ht.create,iP=In.create,aP=Ft.create,h$=Je.create,sP=Je.strictCreate,cP=Or.create,uP=Es.create,lP=jr.create,dP=Et.create,pP=Ps.create,fP=En.create,mP=Tn.create,hP=Os.create,gP=Nr.create,vP=Dr.create,_P=Rr.create,yP=Zr.create,$P=sr.create,bP=ct.create,xP=st.create,kP=Tt.create,SP=ct.createWithPreprocess,wP=si.create;var kf=Object.freeze({status:"aborted"});function p(t,e,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let u=a.prototype,l=Object.keys(u);for(let d=0;dr?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(a,"name",{value:t}),a}var gt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},cr=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},ci={};function _e(t){return t&&Object.assign(ci,t),ci}var y={};vn(y,{BIGINT_FORMAT_RANGES:()=>Ls,Class:()=>Ns,NUMBER_FORMAT_RANGES:()=>Ms,aborted:()=>Wt,allowsEval:()=>Zs,assert:()=>x$,assertEqual:()=>_$,assertIs:()=>$$,assertNever:()=>b$,assertNotEqual:()=>y$,assignProp:()=>Jt,base64ToUint8Array:()=>Of,base64urlToUint8Array:()=>N$,cached:()=>Lr,captureStackTrace:()=>li,cleanEnum:()=>j$,cleanRegex:()=>Nn,clone:()=>Ne,cloneDef:()=>S$,createTransparentProxy:()=>P$,defineLazy:()=>q,esc:()=>ui,escapeRegex:()=>Xe,extend:()=>If,finalizeIssue:()=>Ce,floatSafeRemainder:()=>Ds,getElementAtPath:()=>w$,getEnumValues:()=>jn,getLengthableOrigin:()=>Zn,getParsedType:()=>T$,getSizableOrigin:()=>Rn,hexToUint8Array:()=>R$,isObject:()=>ur,isPlainObject:()=>Kt,issue:()=>qr,joinValues:()=>D,jsonStringifyReplacer:()=>Mr,merge:()=>O$,mergeDefs:()=>Pt,normalizeParams:()=>x,nullish:()=>Vt,numKeys:()=>E$,objectClone:()=>k$,omit:()=>zf,optionalKeys:()=>Cs,parsedType:()=>A,partial:()=>Tf,pick:()=>wf,prefixIssues:()=>Ke,primitiveTypes:()=>Us,promiseAllObject:()=>z$,propertyKeyTypes:()=>Dn,randomString:()=>I$,required:()=>Pf,safeExtend:()=>Ef,shallowClone:()=>As,slugify:()=>Rs,stringifyPrimitive:()=>R,uint8ArrayToBase64:()=>jf,uint8ArrayToBase64url:()=>D$,uint8ArrayToHex:()=>Z$,unwrapMessage:()=>On});function _$(t){return t}function y$(t){return t}function $$(t){}function b$(t){throw new Error("Unexpected value in exhaustive check")}function x$(t){}function jn(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function D(t,e="|"){return t.map(r=>R(r)).join(e)}function Mr(t,e){return typeof e=="bigint"?e.toString():e}function Lr(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Vt(t){return t==null}function Nn(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Ds(t,e){let r=(t.toString().split(".")[1]||"").length,n=e.toString(),o=(n.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(n)){let c=n.match(/\d?e-(\d?)/);c?.[1]&&(o=Number.parseInt(c[1]))}let i=r>o?r:o,a=Number.parseInt(t.toFixed(i).replace(".","")),s=Number.parseInt(e.toFixed(i).replace(".",""));return a%s/10**i}var Sf=Symbol("evaluating");function q(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==Sf)return n===void 0&&(n=Sf,n=r()),n},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function k$(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function Jt(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Pt(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function S$(t){return Pt(t._zod.def)}function w$(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function z$(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i{};function ur(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Zs=Lr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Kt(t){if(ur(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(ur(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function As(t){return Kt(t)?{...t}:Array.isArray(t)?[...t]:t}function E$(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var T$=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Dn=new Set(["string","number","symbol"]),Us=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Xe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ne(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function x(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function P$(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,i){return e??(e=t()),Reflect.set(e,n,o,i)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function R(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Cs(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Ms={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Ls={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function wf(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i=Pt(t._zod.def,{get shape(){let a={};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(a[s]=r.shape[s])}return Jt(this,"shape",a),a},checks:[]});return Ne(t,i)}function zf(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=Pt(t._zod.def,{get shape(){let a={...t._zod.def.shape};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete a[s]}return Jt(this,"shape",a),a},checks:[]});return Ne(t,i)}function If(t,e){if(!Kt(e))throw new Error("Invalid input to extend: expected a plain object");let r=t._zod.def.checks;if(r&&r.length>0){let i=t._zod.def.shape;for(let a in e)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=Pt(t._zod.def,{get shape(){let i={...t._zod.def.shape,...e};return Jt(this,"shape",i),i}});return Ne(t,o)}function Ef(t,e){if(!Kt(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=Pt(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e};return Jt(this,"shape",n),n}});return Ne(t,r)}function O$(t,e){let r=Pt(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e._zod.def.shape};return Jt(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:[]});return Ne(t,r)}function Tf(t,e,r){let o=e._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=Pt(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(r)for(let u in r){if(!(u in s))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(c[u]=t?new t({type:"optional",innerType:s[u]}):s[u])}else for(let u in s)c[u]=t?new t({type:"optional",innerType:s[u]}):s[u];return Jt(this,"shape",c),c},checks:[]});return Ne(e,a)}function Pf(t,e,r){let n=Pt(e._zod.def,{get shape(){let o=e._zod.def.shape,i={...o};if(r)for(let a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new t({type:"nonoptional",innerType:o[a]}))}else for(let a in o)i[a]=new t({type:"nonoptional",innerType:o[a]});return Jt(this,"shape",i),i}});return Ne(e,n)}function Wt(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function On(t){return typeof t=="string"?t:t?.message}function Ce(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=On(t.inst?._zod.def?.error?.(t))??On(e?.error?.(t))??On(r.customError?.(t))??On(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Rn(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Zn(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function A(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function qr(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function j$(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function Of(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;ne.toString(16).padStart(2,"0")).join("")}var Ns=class{constructor(...e){}};var Nf=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,Mr,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},di=p("$ZodError",Nf),An=p("$ZodError",Nf,{Parent:Error});function pi(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function fi(t,e=r=>r.message){let r={_errors:[]},n=o=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>n({issues:a}));else if(i.code==="invalid_key")n({issues:i.issues});else if(i.code==="invalid_element")n({issues:i.issues});else if(i.path.length===0)r._errors.push(e(i));else{let a=r,s=0;for(;s(e,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new gt;if(a.issues.length){let s=new(o?.Err??t)(a.issues.map(c=>Ce(c,i,_e())));throw li(s,o?.callee),s}return a.value},Cn=Un(An),Mn=t=>async(e,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(o?.Err??t)(a.issues.map(c=>Ce(c,i,_e())));throw li(s,o?.callee),s}return a.value},Ln=Mn(An),qn=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=e._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new gt;return i.issues.length?{success:!1,error:new(t??di)(i.issues.map(a=>Ce(a,o,_e())))}:{success:!0,data:i.value}},Fr=qn(An),Fn=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new t(i.issues.map(a=>Ce(a,o,_e())))}:{success:!0,data:i.value}},Vn=Fn(An),Df=t=>(e,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Un(t)(e,r,o)};var Rf=t=>(e,r,n)=>Un(t)(e,r,n);var Zf=t=>async(e,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Mn(t)(e,r,o)};var Af=t=>async(e,r,n)=>Mn(t)(e,r,n);var Uf=t=>(e,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return qn(t)(e,r,o)};var Cf=t=>(e,r,n)=>qn(t)(e,r,n);var Mf=t=>async(e,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Fn(t)(e,r,o)};var Lf=t=>async(e,r,n)=>Fn(t)(e,r,n);var Ye={};vn(Ye,{base64:()=>nc,base64url:()=>mi,bigint:()=>uc,boolean:()=>dc,browserEmail:()=>J$,cidrv4:()=>tc,cidrv6:()=>rc,cuid:()=>qs,cuid2:()=>Fs,date:()=>ic,datetime:()=>sc,domain:()=>G$,duration:()=>Gs,e164:()=>oc,email:()=>Bs,emoji:()=>Xs,extendedDuration:()=>U$,guid:()=>Hs,hex:()=>H$,hostname:()=>W$,html5Email:()=>q$,idnEmail:()=>V$,integer:()=>lc,ipv4:()=>Ys,ipv6:()=>Qs,ksuid:()=>Ks,lowercase:()=>mc,mac:()=>ec,md5_base64:()=>X$,md5_base64url:()=>Y$,md5_hex:()=>B$,nanoid:()=>Ws,null:()=>pc,number:()=>hi,rfc5322Email:()=>F$,sha1_base64:()=>eb,sha1_base64url:()=>tb,sha1_hex:()=>Q$,sha256_base64:()=>nb,sha256_base64url:()=>ob,sha256_hex:()=>rb,sha384_base64:()=>ab,sha384_base64url:()=>sb,sha384_hex:()=>ib,sha512_base64:()=>ub,sha512_base64url:()=>lb,sha512_hex:()=>cb,string:()=>cc,time:()=>ac,ulid:()=>Vs,undefined:()=>fc,unicodeEmail:()=>qf,uppercase:()=>hc,uuid:()=>lr,uuid4:()=>C$,uuid6:()=>M$,uuid7:()=>L$,xid:()=>Js});var qs=/^[cC][^\s-]{8,}$/,Fs=/^[0-9a-z]+$/,Vs=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Js=/^[0-9a-vA-V]{20}$/,Ks=/^[A-Za-z0-9]{27}$/,Ws=/^[a-zA-Z0-9_-]{21}$/,Gs=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,U$=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Hs=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,lr=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,C$=lr(4),M$=lr(6),L$=lr(7),Bs=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,q$=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,F$=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,qf=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,V$=qf,J$=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,K$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Xs(){return new RegExp(K$,"u")}var Ys=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Qs=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ec=t=>{let e=Xe(t??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},tc=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,rc=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,nc=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,mi=/^[A-Za-z0-9_-]*$/,W$=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,G$=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,oc=/^\+[1-9]\d{6,14}$/,Ff="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",ic=new RegExp(`^${Ff}$`);function Vf(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function ac(t){return new RegExp(`^${Vf(t)}$`)}function sc(t){let e=Vf({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${Ff}T(?:${n})$`)}var cc=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},uc=/^-?\d+n?$/,lc=/^-?\d+$/,hi=/^-?\d+(?:\.\d+)?$/,dc=/^(?:true|false)$/i,pc=/^null$/i;var fc=/^undefined$/i;var mc=/^[^A-Z]*$/,hc=/^[^a-z]*$/,H$=/^[0-9a-fA-F]*$/;function Jn(t,e){return new RegExp(`^[A-Za-z0-9+/]{${t}}${e}$`)}function Kn(t){return new RegExp(`^[A-Za-z0-9_-]{${t}}$`)}var B$=/^[0-9a-fA-F]{32}$/,X$=Jn(22,"=="),Y$=Kn(22),Q$=/^[0-9a-fA-F]{40}$/,eb=Jn(27,"="),tb=Kn(27),rb=/^[0-9a-fA-F]{64}$/,nb=Jn(43,"="),ob=Kn(43),ib=/^[0-9a-fA-F]{96}$/,ab=Jn(64,""),sb=Kn(64),cb=/^[0-9a-fA-F]{128}$/,ub=Jn(86,"=="),lb=Kn(86);var se=p("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Kf={number:"number",bigint:"bigint",object:"date"},gc=p("$ZodCheckLessThan",(t,e)=>{se.init(t,e);let r=Kf[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,i=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{se.init(t,e);let r=Kf[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,i=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>i&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Wf=p("$ZodCheckMultipleOf",(t,e)=>{se.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Ds(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),Gf=p("$ZodCheckNumberFormat",(t,e)=>{se.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,i]=Ms[e.format];t._zod.onattach.push(a=>{let s=a._zod.bag;s.format=e.format,s.minimum=o,s.maximum=i,r&&(s.pattern=lc)}),t._zod.check=a=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}si&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:t,continue:!e.abort})}}),Hf=p("$ZodCheckBigIntFormat",(t,e)=>{se.init(t,e);let[r,n]=Ls[e.format];t._zod.onattach.push(o=>{let i=o._zod.bag;i.format=e.format,i.minimum=r,i.maximum=n}),t._zod.check=o=>{let i=o.value;in&&o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:n,inclusive:!0,inst:t,continue:!e.abort})}}),Bf=p("$ZodCheckMaxSize",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.size!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;o.size<=e.maximum||n.issues.push({origin:Rn(o),code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Xf=p("$ZodCheckMinSize",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.size!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;o.size>=e.minimum||n.issues.push({origin:Rn(o),code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Yf=p("$ZodCheckSizeEquals",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.size!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.size,o.maximum=e.size,o.size=e.size}),t._zod.check=n=>{let o=n.value,i=o.size;if(i===e.size)return;let a=i>e.size;n.issues.push({origin:Rn(o),...a?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Qf=p("$ZodCheckMaxLength",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;if(o.length<=e.maximum)return;let a=Zn(o);n.issues.push({origin:a,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),em=p("$ZodCheckMinLength",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let a=Zn(o);n.issues.push({origin:a,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),tm=p("$ZodCheckLengthEquals",(t,e)=>{var r;se.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vt(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,i=o.length;if(i===e.length)return;let a=Zn(o),s=i>e.length;n.issues.push({origin:a,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Wn=p("$ZodCheckStringFormat",(t,e)=>{var r,n;se.init(t,e),t._zod.onattach.push(o=>{let i=o._zod.bag;i.format=e.format,e.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),rm=p("$ZodCheckRegex",(t,e)=>{Wn.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),nm=p("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=mc),Wn.init(t,e)}),om=p("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=hc),Wn.init(t,e)}),im=p("$ZodCheckIncludes",(t,e)=>{se.init(t,e);let r=Xe(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),am=p("$ZodCheckStartsWith",(t,e)=>{se.init(t,e);let r=new RegExp(`^${Xe(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),sm=p("$ZodCheckEndsWith",(t,e)=>{se.init(t,e);let r=new RegExp(`.*${Xe(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});function Jf(t,e,r){t.issues.length&&e.issues.push(...Ke(r,t.issues))}var cm=p("$ZodCheckProperty",(t,e)=>{se.init(t,e),t._zod.check=r=>{let n=e.schema._zod.run({value:r.value[e.property],issues:[]},{});if(n instanceof Promise)return n.then(o=>Jf(o,r,e.property));Jf(n,r,e.property)}}),um=p("$ZodCheckMimeType",(t,e)=>{se.init(t,e);let r=new Set(e.mime);t._zod.onattach.push(n=>{n._zod.bag.mime=e.mime}),t._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:e.mime,input:n.value.type,inst:t,continue:!e.abort})}}),lm=p("$ZodCheckOverwrite",(t,e)=>{se.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var gi=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` `).filter(a=>a),o=Math.min(...n.map(a=>a.length-a.trimStart().length)),i=n.map(a=>a.slice(o)).map(a=>" ".repeat(this.indent*2)+a);for(let a of i)this.content.push(a)}compile(){let e=Function,r=this?.args,o=[...(this?.content??[""]).map(i=>` ${i}`)];return new e(...r,o.join(` -`))}};var am={major:4,minor:3,patch:4};var M=p("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=am;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let i of o._zod.onattach)i(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(a,s,c)=>{let u=Wt(a),l;for(let d of s){if(d._zod.def.when){if(!d._zod.def.when(a))continue}else if(u)continue;let m=a.issues.length,f=d._zod.check(a);if(f instanceof Promise&&c?.async===!1)throw new gt;if(l||f instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await f,a.issues.length!==m&&(u||(u=Wt(a,m)))});else{if(a.issues.length===m)continue;u||(u=Wt(a,m))}}return l?l.then(()=>a):a},i=(a,s,c)=>{if(Wt(a))return a.aborted=!0,a;let u=o(s,n,c);if(u instanceof Promise){if(c.async===!1)throw new gt;return u.then(l=>t._zod.parse(l,c))}return t._zod.parse(u,c)};t._zod.run=(a,s)=>{if(s.skipChecks)return t._zod.parse(a,s);if(s.direction==="backward"){let u=t._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return u instanceof Promise?u.then(l=>i(l,a,s)):i(u,a,s)}let c=t._zod.parse(a,s);if(c instanceof Promise){if(s.async===!1)throw new gt;return c.then(u=>o(u,n,s))}return o(c,n,s)}}V(t,"~standard",()=>({validate:o=>{try{let i=Fr(t,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Vn(t,o).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),dr=p("$ZodString",(t,e)=>{M.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??sc(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),oe=p("$ZodStringFormat",(t,e)=>{Wn.init(t,e),dr.init(t,e)}),_c=p("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Gs),oe.init(t,e)}),yc=p("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=lr(n))}else e.pattern??(e.pattern=lr());oe.init(t,e)}),$c=p("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Hs),oe.init(t,e)}),bc=p("$ZodURL",(t,e)=>{oe.init(t,e),t._zod.check=r=>{try{let n=r.value.trim(),o=new URL(n);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=o.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),xc=p("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Bs()),oe.init(t,e)}),kc=p("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Ks),oe.init(t,e)}),Sc=p("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Ls),oe.init(t,e)}),wc=p("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=qs),oe.init(t,e)}),zc=p("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Fs),oe.init(t,e)}),Ic=p("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Vs),oe.init(t,e)}),Ec=p("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Js),oe.init(t,e)}),Tc=p("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=ac(e)),oe.init(t,e)}),Pc=p("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=oc),oe.init(t,e)}),Oc=p("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=ic(e)),oe.init(t,e)}),jc=p("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Ws),oe.init(t,e)}),Nc=p("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Xs),oe.init(t,e),t._zod.bag.format="ipv4"}),Dc=p("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Ys),oe.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Rc=p("$ZodMAC",(t,e)=>{e.pattern??(e.pattern=Qs(e.delimiter)),oe.init(t,e),t._zod.bag.format="mac"}),Zc=p("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=ec),oe.init(t,e)}),Ac=p("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=tc),oe.init(t,e),t._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[o,i]=n;if(!i)throw new Error;let a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${o}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function _m(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var Uc=p("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=rc),oe.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{_m(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function db(t){if(!mi.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return _m(r)}var Cc=p("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=mi),oe.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{db(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Mc=p("$ZodE164",(t,e)=>{e.pattern??(e.pattern=nc),oe.init(t,e)});function pb(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var Lc=p("$ZodJWT",(t,e)=>{oe.init(t,e),t._zod.check=r=>{pb(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),qc=p("$ZodCustomStringFormat",(t,e)=>{oe.init(t,e),t._zod.check=r=>{e.fn(r.value)||r.issues.push({code:"invalid_format",format:e.format,input:r.value,inst:t,continue:!e.abort})}}),xi=p("$ZodNumber",(t,e)=>{M.init(t,e),t._zod.pattern=t._zod.bag.pattern??hi,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...i?{received:i}:{}}),r}}),Fc=p("$ZodNumberFormat",(t,e)=>{qf.init(t,e),xi.init(t,e)}),Gn=p("$ZodBoolean",(t,e)=>{M.init(t,e),t._zod.pattern=lc,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),r}}),ki=p("$ZodBigInt",(t,e)=>{M.init(t,e),t._zod.pattern=cc,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:t}),r}}),Vc=p("$ZodBigIntFormat",(t,e)=>{Ff.init(t,e),ki.init(t,e)}),Jc=p("$ZodSymbol",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;return typeof o=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:t}),r}}),Kc=p("$ZodUndefined",(t,e)=>{M.init(t,e),t._zod.pattern=pc,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:t}),r}}),Wc=p("$ZodNull",(t,e)=>{M.init(t,e),t._zod.pattern=dc,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}}),Gc=p("$ZodAny",(t,e)=>{M.init(t,e),t._zod.parse=r=>r}),Hc=p("$ZodUnknown",(t,e)=>{M.init(t,e),t._zod.parse=r=>r}),Bc=p("$ZodNever",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)}),Xc=p("$ZodVoid",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"void",code:"invalid_type",input:o,inst:t}),r}}),Yc=p("$ZodDate",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let o=r.value,i=o instanceof Date;return i&&!Number.isNaN(o.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:t}),r}});function sm(t,e,r){t.issues.length&&e.issues.push(...Ke(r,t.issues)),e.value[r]=t.value}var Qc=p("$ZodArray",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let i=[];for(let a=0;asm(u,r,a))):sm(c,r,a)}return i.length?Promise.all(i).then(()=>r):r}});function bi(t,e,r,n,o){if(t.issues.length){if(o&&!(r in n))return;e.issues.push(...Ke(r,t.issues))}t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function ym(t){let e=Object.keys(t.shape);for(let n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=Us(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function $m(t,e,r,n,o,i){let a=[],s=o.keySet,c=o.catchall._zod,u=c.def.type,l=c.optout==="optional";for(let d in e){if(s.has(d))continue;if(u==="never"){a.push(d);continue}let m=c.run({value:e[d],issues:[]},n);m instanceof Promise?t.push(m.then(f=>bi(f,r,d,e,l))):bi(m,r,d,e,l)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:e,inst:i}),t.length?Promise.all(t).then(()=>r):r}var bm=p("$ZodObject",(t,e)=>{if(M.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let s=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...s};return Object.defineProperty(e,"shape",{value:c}),c}})}let n=Lr(()=>ym(e));V(t._zod,"propValues",()=>{let s=e.shape,c={};for(let u in s){let l=s[u]._zod;if(l.values){c[u]??(c[u]=new Set);for(let d of l.values)c[u].add(d)}}return c});let o=ur,i=e.catchall,a;t._zod.parse=(s,c)=>{a??(a=n.value);let u=s.value;if(!o(u))return s.issues.push({expected:"object",code:"invalid_type",input:u,inst:t}),s;s.value={};let l=[],d=a.shape;for(let m of a.keys){let f=d[m],g=f._zod.optout==="optional",v=f._zod.run({value:u[m],issues:[]},c);v instanceof Promise?l.push(v.then($=>bi($,s,m,u,g))):bi(v,s,m,u,g)}return i?$m(l,u,s,c,n.value,t):l.length?Promise.all(l).then(()=>s):s}}),xm=p("$ZodObjectJIT",(t,e)=>{bm.init(t,e);let r=t._zod.parse,n=Lr(()=>ym(e)),o=m=>{let f=new gi(["shape","payload","ctx"]),g=n.value,v=I=>{let U=ui(I);return`shape[${U}]._zod.run({ value: input[${U}], issues: [] }, ctx)`};f.write("const input = payload.value;");let $=Object.create(null),x=0;for(let I of g.keys)$[I]=`key_${x++}`;f.write("const newResult = {};");for(let I of g.keys){let U=$[I],j=ui(I),at=m[I]?._zod?.optout==="optional";f.write(`const ${U} = ${v(I)};`),at?f.write(` +`))}};var pm={major:4,minor:3,patch:5};var M=p("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=pm;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let i of o._zod.onattach)i(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(a,s,c)=>{let u=Wt(a),l;for(let d of s){if(d._zod.def.when){if(!d._zod.def.when(a))continue}else if(u)continue;let m=a.issues.length,f=d._zod.check(a);if(f instanceof Promise&&c?.async===!1)throw new gt;if(l||f instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await f,a.issues.length!==m&&(u||(u=Wt(a,m)))});else{if(a.issues.length===m)continue;u||(u=Wt(a,m))}}return l?l.then(()=>a):a},i=(a,s,c)=>{if(Wt(a))return a.aborted=!0,a;let u=o(s,n,c);if(u instanceof Promise){if(c.async===!1)throw new gt;return u.then(l=>t._zod.parse(l,c))}return t._zod.parse(u,c)};t._zod.run=(a,s)=>{if(s.skipChecks)return t._zod.parse(a,s);if(s.direction==="backward"){let u=t._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return u instanceof Promise?u.then(l=>i(l,a,s)):i(u,a,s)}let c=t._zod.parse(a,s);if(c instanceof Promise){if(s.async===!1)throw new gt;return c.then(u=>o(u,n,s))}return o(c,n,s)}}q(t,"~standard",()=>({validate:o=>{try{let i=Fr(t,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Vn(t,o).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),dr=p("$ZodString",(t,e)=>{M.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??cc(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),oe=p("$ZodStringFormat",(t,e)=>{Wn.init(t,e),dr.init(t,e)}),yc=p("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Hs),oe.init(t,e)}),$c=p("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=lr(n))}else e.pattern??(e.pattern=lr());oe.init(t,e)}),bc=p("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Bs),oe.init(t,e)}),xc=p("$ZodURL",(t,e)=>{oe.init(t,e),t._zod.check=r=>{try{let n=r.value.trim(),o=new URL(n);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=o.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),kc=p("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Xs()),oe.init(t,e)}),Sc=p("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Ws),oe.init(t,e)}),wc=p("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=qs),oe.init(t,e)}),zc=p("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=Fs),oe.init(t,e)}),Ic=p("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Vs),oe.init(t,e)}),Ec=p("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Js),oe.init(t,e)}),Tc=p("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Ks),oe.init(t,e)}),Pc=p("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=sc(e)),oe.init(t,e)}),Oc=p("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=ic),oe.init(t,e)}),jc=p("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=ac(e)),oe.init(t,e)}),Nc=p("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Gs),oe.init(t,e)}),Dc=p("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Ys),oe.init(t,e),t._zod.bag.format="ipv4"}),Rc=p("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Qs),oe.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Zc=p("$ZodMAC",(t,e)=>{e.pattern??(e.pattern=ec(e.delimiter)),oe.init(t,e),t._zod.bag.format="mac"}),Ac=p("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=tc),oe.init(t,e)}),Uc=p("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=rc),oe.init(t,e),t._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[o,i]=n;if(!i)throw new Error;let a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${o}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function Sm(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var Cc=p("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=nc),oe.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{Sm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function db(t){if(!mi.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Sm(r)}var Mc=p("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=mi),oe.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{db(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Lc=p("$ZodE164",(t,e)=>{e.pattern??(e.pattern=oc),oe.init(t,e)});function pb(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var qc=p("$ZodJWT",(t,e)=>{oe.init(t,e),t._zod.check=r=>{pb(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),Fc=p("$ZodCustomStringFormat",(t,e)=>{oe.init(t,e),t._zod.check=r=>{e.fn(r.value)||r.issues.push({code:"invalid_format",format:e.format,input:r.value,inst:t,continue:!e.abort})}}),xi=p("$ZodNumber",(t,e)=>{M.init(t,e),t._zod.pattern=t._zod.bag.pattern??hi,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...i?{received:i}:{}}),r}}),Vc=p("$ZodNumberFormat",(t,e)=>{Gf.init(t,e),xi.init(t,e)}),Gn=p("$ZodBoolean",(t,e)=>{M.init(t,e),t._zod.pattern=dc,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),r}}),ki=p("$ZodBigInt",(t,e)=>{M.init(t,e),t._zod.pattern=uc,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:t}),r}}),Jc=p("$ZodBigIntFormat",(t,e)=>{Hf.init(t,e),ki.init(t,e)}),Kc=p("$ZodSymbol",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;return typeof o=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:t}),r}}),Wc=p("$ZodUndefined",(t,e)=>{M.init(t,e),t._zod.pattern=fc,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:t}),r}}),Gc=p("$ZodNull",(t,e)=>{M.init(t,e),t._zod.pattern=pc,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}}),Hc=p("$ZodAny",(t,e)=>{M.init(t,e),t._zod.parse=r=>r}),Bc=p("$ZodUnknown",(t,e)=>{M.init(t,e),t._zod.parse=r=>r}),Xc=p("$ZodNever",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)}),Yc=p("$ZodVoid",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"void",code:"invalid_type",input:o,inst:t}),r}}),Qc=p("$ZodDate",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let o=r.value,i=o instanceof Date;return i&&!Number.isNaN(o.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:t}),r}});function fm(t,e,r){t.issues.length&&e.issues.push(...Ke(r,t.issues)),e.value[r]=t.value}var eu=p("$ZodArray",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let i=[];for(let a=0;afm(u,r,a))):fm(c,r,a)}return i.length?Promise.all(i).then(()=>r):r}});function bi(t,e,r,n,o){if(t.issues.length){if(o&&!(r in n))return;e.issues.push(...Ke(r,t.issues))}t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function wm(t){let e=Object.keys(t.shape);for(let n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=Cs(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function zm(t,e,r,n,o,i){let a=[],s=o.keySet,c=o.catchall._zod,u=c.def.type,l=c.optout==="optional";for(let d in e){if(s.has(d))continue;if(u==="never"){a.push(d);continue}let m=c.run({value:e[d],issues:[]},n);m instanceof Promise?t.push(m.then(f=>bi(f,r,d,e,l))):bi(m,r,d,e,l)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:e,inst:i}),t.length?Promise.all(t).then(()=>r):r}var Im=p("$ZodObject",(t,e)=>{if(M.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let s=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...s};return Object.defineProperty(e,"shape",{value:c}),c}})}let n=Lr(()=>wm(e));q(t._zod,"propValues",()=>{let s=e.shape,c={};for(let u in s){let l=s[u]._zod;if(l.values){c[u]??(c[u]=new Set);for(let d of l.values)c[u].add(d)}}return c});let o=ur,i=e.catchall,a;t._zod.parse=(s,c)=>{a??(a=n.value);let u=s.value;if(!o(u))return s.issues.push({expected:"object",code:"invalid_type",input:u,inst:t}),s;s.value={};let l=[],d=a.shape;for(let m of a.keys){let f=d[m],g=f._zod.optout==="optional",v=f._zod.run({value:u[m],issues:[]},c);v instanceof Promise?l.push(v.then($=>bi($,s,m,u,g))):bi(v,s,m,u,g)}return i?zm(l,u,s,c,n.value,t):l.length?Promise.all(l).then(()=>s):s}}),Em=p("$ZodObjectJIT",(t,e)=>{Im.init(t,e);let r=t._zod.parse,n=Lr(()=>wm(e)),o=m=>{let f=new gi(["shape","payload","ctx"]),g=n.value,v=I=>{let U=ui(I);return`shape[${U}]._zod.run({ value: input[${U}], issues: [] }, ctx)`};f.write("const input = payload.value;");let $=Object.create(null),k=0;for(let I of g.keys)$[I]=`key_${k++}`;f.write("const newResult = {};");for(let I of g.keys){let U=$[I],j=ui(I),at=m[I]?._zod?.optout==="optional";f.write(`const ${U} = ${v(I)};`),at?f.write(` if (${U}.issues.length) { if (${j} in input) { payload.issues = payload.issues.concat(${U}.issues.map(iss => ({ @@ -50,11 +50,11 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` newResult[${j}] = ${U}.value; } - `)}f.write("payload.value = newResult;"),f.write("return payload;");let O=f.compile();return(I,U)=>O(m,I,U)},i,a=ur,s=!ci.jitless,u=s&&Zs.value,l=e.catchall,d;t._zod.parse=(m,f)=>{d??(d=n.value);let g=m.value;return a(g)?s&&u&&f?.async===!1&&f.jitless!==!0?(i||(i=o(e.shape)),m=i(m,f),l?$m([],g,m,f,d,t):m):r(m,f):(m.issues.push({expected:"object",code:"invalid_type",input:g,inst:t}),m)}});function cm(t,e,r,n){for(let i of t)if(i.issues.length===0)return e.value=i.value,e;let o=t.filter(i=>!Wt(i));return o.length===1?(e.value=o[0].value,o[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(i=>i.issues.map(a=>Ce(a,n,_e())))}),e)}var Hn=p("$ZodUnion",(t,e)=>{M.init(t,e),V(t._zod,"optin",()=>e.options.some(o=>o._zod.optin==="optional")?"optional":void 0),V(t._zod,"optout",()=>e.options.some(o=>o._zod.optout==="optional")?"optional":void 0),V(t._zod,"values",()=>{if(e.options.every(o=>o._zod.values))return new Set(e.options.flatMap(o=>Array.from(o._zod.values)))}),V(t._zod,"pattern",()=>{if(e.options.every(o=>o._zod.pattern)){let o=e.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>Nn(i.source)).join("|")})$`)}});let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(o,i)=>{if(r)return n(o,i);let a=!1,s=[];for(let c of e.options){let u=c._zod.run({value:o.value,issues:[]},i);if(u instanceof Promise)s.push(u),a=!0;else{if(u.issues.length===0)return u;s.push(u)}}return a?Promise.all(s).then(c=>cm(c,o,t,i)):cm(s,o,t,i)}});function um(t,e,r,n){let o=t.filter(i=>i.issues.length===0);return o.length===1?(e.value=o[0].value,e):(o.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(i=>i.issues.map(a=>Ce(a,n,_e())))}):e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:[],inclusive:!1}),e)}var eu=p("$ZodXor",(t,e)=>{Hn.init(t,e),e.inclusive=!1;let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(o,i)=>{if(r)return n(o,i);let a=!1,s=[];for(let c of e.options){let u=c._zod.run({value:o.value,issues:[]},i);u instanceof Promise?(s.push(u),a=!0):s.push(u)}return a?Promise.all(s).then(c=>um(c,o,t,i)):um(s,o,t,i)}}),tu=p("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,Hn.init(t,e);let r=t._zod.parse;V(t._zod,"propValues",()=>{let o={};for(let i of e.options){let a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let[s,c]of Object.entries(a)){o[s]||(o[s]=new Set);for(let u of c)o[s].add(u)}}return o});let n=Lr(()=>{let o=e.options,i=new Map;for(let a of o){let s=a._zod.propValues?.[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let c of s){if(i.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,a)}}return i});t._zod.parse=(o,i)=>{let a=o.value;if(!ur(a))return o.issues.push({code:"invalid_type",expected:"object",input:a,inst:t}),o;let s=n.value.get(a?.[e.discriminator]);return s?s._zod.run(o,i):e.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:a,path:[e.discriminator],inst:t}),o)}}),ru=p("$ZodIntersection",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,i=e.left._zod.run({value:o,issues:[]},n),a=e.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([c,u])=>lm(r,c,u)):lm(r,i,a)}});function vc(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Kt(t)&&Kt(e)){let r=Object.keys(e),n=Object.keys(t).filter(i=>r.indexOf(i)!==-1),o={...t,...e};for(let i of n){let a=vc(t[i],e[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;ns.l&&s.r).map(([s])=>s);if(i.length&&o&&t.issues.push({...o,keys:i}),Wt(t))return t;let a=vc(e.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return t.value=a.data,t}var Si=p("$ZodTuple",(t,e)=>{M.init(t,e);let r=e.items;t._zod.parse=(n,o)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({input:i,inst:t,expected:"tuple",code:"invalid_type"}),n;n.value=[];let a=[],s=[...r].reverse().findIndex(l=>l._zod.optin!=="optional"),c=s===-1?0:r.length-s;if(!e.rest){let l=i.length>r.length,d=i.length=i.length&&u>=c)continue;let d=l._zod.run({value:i[u],issues:[]},o);d instanceof Promise?a.push(d.then(m=>vi(m,n,u))):vi(d,n,u)}if(e.rest){let l=i.slice(r.length);for(let d of l){u++;let m=e.rest._zod.run({value:d,issues:[]},o);m instanceof Promise?a.push(m.then(f=>vi(f,n,u))):vi(m,n,u)}}return a.length?Promise.all(a).then(()=>n):n}});function vi(t,e,r){t.issues.length&&e.issues.push(...Ke(r,t.issues)),e.value[r]=t.value}var nu=p("$ZodRecord",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Kt(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let i=[],a=e.keyType._zod.values;if(a){r.value={};let s=new Set;for(let u of a)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){s.add(typeof u=="number"?u.toString():u);let l=e.valueType._zod.run({value:o[u],issues:[]},n);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&r.issues.push(...Ke(u,d.issues)),r.value[u]=d.value})):(l.issues.length&&r.issues.push(...Ke(u,l.issues)),r.value[u]=l.value)}let c;for(let u in o)s.has(u)||(c=c??[],c.push(u));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:c})}else{r.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let c=e.keyType._zod.run({value:s,issues:[]},n);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&hi.test(s)&&c.issues.length&&c.issues.some(d=>d.code==="invalid_type"&&d.expected==="number")){let d=e.keyType._zod.run({value:Number(s),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(c=d)}if(c.issues.length){e.mode==="loose"?r.value[s]=o[s]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(d=>Ce(d,n,_e())),input:s,path:[s],inst:t});continue}let l=e.valueType._zod.run({value:o[s],issues:[]},n);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&r.issues.push(...Ke(s,d.issues)),r.value[c.value]=d.value})):(l.issues.length&&r.issues.push(...Ke(s,l.issues)),r.value[c.value]=l.value)}}return i.length?Promise.all(i).then(()=>r):r}}),ou=p("$ZodMap",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:o,inst:t}),r;let i=[];r.value=new Map;for(let[a,s]of o){let c=e.keyType._zod.run({value:a,issues:[]},n),u=e.valueType._zod.run({value:s,issues:[]},n);c instanceof Promise||u instanceof Promise?i.push(Promise.all([c,u]).then(([l,d])=>{dm(l,d,r,a,o,t,n)})):dm(c,u,r,a,o,t,n)}return i.length?Promise.all(i).then(()=>r):r}});function dm(t,e,r,n,o,i,a){t.issues.length&&(Dn.has(typeof n)?r.issues.push(...Ke(n,t.issues)):r.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:t.issues.map(s=>Ce(s,a,_e()))})),e.issues.length&&(Dn.has(typeof n)?r.issues.push(...Ke(n,e.issues)):r.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:n,issues:e.issues.map(s=>Ce(s,a,_e()))})),r.value.set(t.value,e.value)}var iu=p("$ZodSet",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Set))return r.issues.push({input:o,inst:t,expected:"set",code:"invalid_type"}),r;let i=[];r.value=new Set;for(let a of o){let s=e.valueType._zod.run({value:a,issues:[]},n);s instanceof Promise?i.push(s.then(c=>pm(c,r))):pm(s,r)}return i.length?Promise.all(i).then(()=>r):r}});function pm(t,e){t.issues.length&&e.issues.push(...t.issues),e.value.add(t.value)}var au=p("$ZodEnum",(t,e)=>{M.init(t,e);let r=jn(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(o=>Dn.has(typeof o)).map(o=>typeof o=="string"?Xe(o):o.toString()).join("|")})$`),t._zod.parse=(o,i)=>{let a=o.value;return n.has(a)||o.issues.push({code:"invalid_value",values:r,input:a,inst:t}),o}}),su=p("$ZodLiteral",(t,e)=>{if(M.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?Xe(n):n?Xe(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,o)=>{let i=n.value;return r.has(i)||n.issues.push({code:"invalid_value",values:e.values,input:i,inst:t}),n}}),cu=p("$ZodFile",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;return o instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:o,inst:t}),r}}),uu=p("$ZodTransform",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new cr(t.constructor.name);let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(a=>(r.value=a,r));if(o instanceof Promise)throw new gt;return r.value=o,r}});function fm(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}var wi=p("$ZodOptional",(t,e)=>{M.init(t,e),t._zod.optin="optional",t._zod.optout="optional",V(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),V(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Nn(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>fm(i,r.value)):fm(o,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,n)}}),lu=p("$ZodExactOptional",(t,e)=>{wi.init(t,e),V(t._zod,"values",()=>e.innerType._zod.values),V(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,n)=>e.innerType._zod.run(r,n)}),du=p("$ZodNullable",(t,e)=>{M.init(t,e),V(t._zod,"optin",()=>e.innerType._zod.optin),V(t._zod,"optout",()=>e.innerType._zod.optout),V(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Nn(r.source)}|null)$`):void 0}),V(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),pu=p("$ZodDefault",(t,e)=>{M.init(t,e),t._zod.optin="optional",V(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>mm(i,e)):mm(o,e)}});function mm(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var fu=p("$ZodPrefault",(t,e)=>{M.init(t,e),t._zod.optin="optional",V(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),mu=p("$ZodNonOptional",(t,e)=>{M.init(t,e),V(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>hm(i,t)):hm(o,t)}});function hm(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var hu=p("$ZodSuccess",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new cr("ZodSuccess");let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.issues.length===0,r)):(r.value=o.issues.length===0,r)}}),gu=p("$ZodCatch",(t,e)=>{M.init(t,e),V(t._zod,"optin",()=>e.innerType._zod.optin),V(t._zod,"optout",()=>e.innerType._zod.optout),V(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>Ce(a,n,_e()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(i=>Ce(i,n,_e()))},input:r.value}),r.issues=[]),r)}}),vu=p("$ZodNaN",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:t,expected:"nan",code:"invalid_type"}),r)}),_u=p("$ZodPipe",(t,e)=>{M.init(t,e),V(t._zod,"values",()=>e.in._zod.values),V(t._zod,"optin",()=>e.in._zod.optin),V(t._zod,"optout",()=>e.out._zod.optout),V(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let i=e.out._zod.run(r,n);return i instanceof Promise?i.then(a=>_i(a,e.in,n)):_i(i,e.in,n)}let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(i=>_i(i,e.out,n)):_i(o,e.out,n)}});function _i(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}var Bn=p("$ZodCodec",(t,e)=>{M.init(t,e),V(t._zod,"values",()=>e.in._zod.values),V(t._zod,"optin",()=>e.in._zod.optin),V(t._zod,"optout",()=>e.out._zod.optout),V(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if((n.direction||"forward")==="forward"){let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(a=>yi(a,e,n)):yi(i,e,n)}else{let i=e.out._zod.run(r,n);return i instanceof Promise?i.then(a=>yi(a,e,n)):yi(i,e,n)}}});function yi(t,e,r){if(t.issues.length)return t.aborted=!0,t;if((r.direction||"forward")==="forward"){let o=e.transform(t.value,t);return o instanceof Promise?o.then(i=>$i(t,i,e.out,r)):$i(t,o,e.out,r)}else{let o=e.reverseTransform(t.value,t);return o instanceof Promise?o.then(i=>$i(t,i,e.in,r)):$i(t,o,e.in,r)}}function $i(t,e,r,n){return t.issues.length?(t.aborted=!0,t):r._zod.run({value:e,issues:t.issues},n)}var yu=p("$ZodReadonly",(t,e)=>{M.init(t,e),V(t._zod,"propValues",()=>e.innerType._zod.propValues),V(t._zod,"values",()=>e.innerType._zod.values),V(t._zod,"optin",()=>e.innerType?._zod?.optin),V(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(gm):gm(o)}});function gm(t){return t.value=Object.freeze(t.value),t}var $u=p("$ZodTemplateLiteral",(t,e)=>{M.init(t,e);let r=[];for(let n of e.parts)if(typeof n=="object"&&n!==null){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);let o=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!o)throw new Error(`Invalid template literal part: ${n._zod.traits}`);let i=o.startsWith("^")?1:0,a=o.endsWith("$")?o.length-1:o.length;r.push(o.slice(i,a))}else if(n===null||As.has(typeof n))r.push(Xe(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);t._zod.pattern=new RegExp(`^${r.join("")}$`),t._zod.parse=(n,o)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:t,expected:"string",code:"invalid_type"}),n):(t._zod.pattern.lastIndex=0,t._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:t,code:"invalid_format",format:e.format??"template_literal",pattern:t._zod.pattern.source}),n)}),bu=p("$ZodFunction",(t,e)=>(M.init(t,e),t._def=e,t._zod.def=e,t.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...n){let o=t._def.input?Cn(t._def.input,n):n,i=Reflect.apply(r,this,o);return t._def.output?Cn(t._def.output,i):i}},t.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...n){let o=t._def.input?await Ln(t._def.input,n):n,i=await Reflect.apply(r,this,o);return t._def.output?await Ln(t._def.output,i):i}},t._zod.parse=(r,n)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:t}),r):(t._def.output&&t._def.output._zod.def.type==="promise"?r.value=t.implementAsync(r.value):r.value=t.implement(r.value),r),t.input=(...r)=>{let n=t.constructor;return Array.isArray(r[0])?new n({type:"function",input:new Si({type:"tuple",items:r[0],rest:r[1]}),output:t._def.output}):new n({type:"function",input:r[0],output:t._def.output})},t.output=r=>{let n=t.constructor;return new n({type:"function",input:t._def.input,output:r})},t)),xu=p("$ZodPromise",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>Promise.resolve(r.value).then(o=>e.innerType._zod.run({value:o,issues:[]},n))}),ku=p("$ZodLazy",(t,e)=>{M.init(t,e),V(t._zod,"innerType",()=>e.getter()),V(t._zod,"pattern",()=>t._zod.innerType?._zod?.pattern),V(t._zod,"propValues",()=>t._zod.innerType?._zod?.propValues),V(t._zod,"optin",()=>t._zod.innerType?._zod?.optin??void 0),V(t._zod,"optout",()=>t._zod.innerType?._zod?.optout??void 0),t._zod.parse=(r,n)=>t._zod.innerType._zod.run(r,n)}),Su=p("$ZodCustom",(t,e)=>{se.init(t,e),M.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(i=>vm(i,r,n,t));vm(o,r,n,t)}});function vm(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(qr(o))}}var mb=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function e(o){return t[o]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};return o=>{switch(o.code){case"invalid_type":{let i=n[o.expected]??o.expected,a=A(o.input),s=n[a]??a;return`Invalid input: expected ${i}, received ${s}`}case"invalid_value":return o.values.length===1?`Invalid input: expected ${R(o.values[0])}`:`Invalid option: expected one of ${D(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Too big: expected ${o.origin??"value"} to have ${i}${o.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${o.origin??"value"} to be ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Too small: expected ${o.origin} to have ${i}${o.minimum.toString()} ${a.unit}`:`Too small: expected ${o.origin} to be ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${D(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};function wu(){return{localeError:mb()}}var km;var Iu=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let o={...n,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Eu(){return new Iu}(km=globalThis).__zod_globalRegistry??(km.__zod_globalRegistry=Eu());var De=globalThis.__zod_globalRegistry;function Tu(t,e){return new t({type:"string",...k(e)})}function zi(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...k(e)})}function Xn(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...k(e)})}function Ii(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...k(e)})}function Ei(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...k(e)})}function Ti(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...k(e)})}function Pi(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...k(e)})}function Yn(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...k(e)})}function Oi(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...k(e)})}function ji(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...k(e)})}function Ni(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...k(e)})}function Di(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...k(e)})}function Ri(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...k(e)})}function Zi(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...k(e)})}function Ai(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...k(e)})}function Ui(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...k(e)})}function Ci(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...k(e)})}function Pu(t,e){return new t({type:"string",format:"mac",check:"string_format",abort:!1,...k(e)})}function Mi(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...k(e)})}function Li(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...k(e)})}function qi(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...k(e)})}function Fi(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...k(e)})}function Vi(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...k(e)})}function Ji(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...k(e)})}function Ou(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...k(e)})}function ju(t,e){return new t({type:"string",format:"date",check:"string_format",...k(e)})}function Nu(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...k(e)})}function Du(t,e){return new t({type:"string",format:"duration",check:"string_format",...k(e)})}function Ru(t,e){return new t({type:"number",checks:[],...k(e)})}function Zu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...k(e)})}function Au(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float32",...k(e)})}function Uu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float64",...k(e)})}function Cu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"int32",...k(e)})}function Mu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"uint32",...k(e)})}function Lu(t,e){return new t({type:"boolean",...k(e)})}function qu(t,e){return new t({type:"bigint",...k(e)})}function Fu(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...k(e)})}function Vu(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...k(e)})}function Ju(t,e){return new t({type:"symbol",...k(e)})}function Ku(t,e){return new t({type:"undefined",...k(e)})}function Wu(t,e){return new t({type:"null",...k(e)})}function Gu(t){return new t({type:"any"})}function Hu(t){return new t({type:"unknown"})}function Bu(t,e){return new t({type:"never",...k(e)})}function Xu(t,e){return new t({type:"void",...k(e)})}function Yu(t,e){return new t({type:"date",...k(e)})}function Qu(t,e){return new t({type:"nan",...k(e)})}function Ot(t,e){return new hc({check:"less_than",...k(e),value:t,inclusive:!1})}function We(t,e){return new hc({check:"less_than",...k(e),value:t,inclusive:!0})}function jt(t,e){return new gc({check:"greater_than",...k(e),value:t,inclusive:!1})}function Re(t,e){return new gc({check:"greater_than",...k(e),value:t,inclusive:!0})}function el(t){return jt(0,t)}function tl(t){return Ot(0,t)}function rl(t){return We(0,t)}function nl(t){return Re(0,t)}function pr(t,e){return new Lf({check:"multiple_of",...k(e),value:t})}function fr(t,e){return new Vf({check:"max_size",...k(e),maximum:t})}function Nt(t,e){return new Jf({check:"min_size",...k(e),minimum:t})}function Vr(t,e){return new Kf({check:"size_equals",...k(e),size:t})}function Jr(t,e){return new Wf({check:"max_length",...k(e),maximum:t})}function Gt(t,e){return new Gf({check:"min_length",...k(e),minimum:t})}function Kr(t,e){return new Hf({check:"length_equals",...k(e),length:t})}function Qn(t,e){return new Bf({check:"string_format",format:"regex",...k(e),pattern:t})}function eo(t){return new Xf({check:"string_format",format:"lowercase",...k(t)})}function to(t){return new Yf({check:"string_format",format:"uppercase",...k(t)})}function ro(t,e){return new Qf({check:"string_format",format:"includes",...k(e),includes:t})}function no(t,e){return new em({check:"string_format",format:"starts_with",...k(e),prefix:t})}function oo(t,e){return new tm({check:"string_format",format:"ends_with",...k(e),suffix:t})}function ol(t,e,r){return new rm({check:"property",property:t,schema:e,...k(r)})}function io(t,e){return new nm({check:"mime_type",mime:t,...k(e)})}function vt(t){return new om({check:"overwrite",tx:t})}function ao(t){return vt(e=>e.normalize(t))}function so(){return vt(t=>t.trim())}function co(){return vt(t=>t.toLowerCase())}function uo(){return vt(t=>t.toUpperCase())}function Ki(){return vt(t=>Rs(t))}function Sm(t,e,r){return new t({type:"array",element:e,...k(r)})}function il(t,e){return new t({type:"file",...k(e)})}function al(t,e,r){let n=k(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function sl(t,e,r){return new t({type:"custom",check:"custom",fn:e,...k(r)})}function cl(t){let e=_b(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(qr(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(qr(o))}},t(r.value,r)));return e}function _b(t,e){let r=new se({check:"custom",...k(e)});return r._zod.check=t,r}function ul(t){let e=new se({check:"describe"});return e._zod.onattach=[r=>{let n=De.get(r)??{};De.add(r,{...n,description:t})}],e._zod.check=()=>{},e}function ll(t){let e=new se({check:"meta"});return e._zod.onattach=[r=>{let n=De.get(r)??{};De.add(r,{...n,...t})}],e._zod.check=()=>{},e}function dl(t,e){let r=k(e),n=r.truthy??["true","1","yes","on","y","enabled"],o=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(f=>typeof f=="string"?f.toLowerCase():f),o=o.map(f=>typeof f=="string"?f.toLowerCase():f));let i=new Set(n),a=new Set(o),s=t.Codec??Bn,c=t.Boolean??Gn,u=t.String??dr,l=new u({type:"string",error:r.error}),d=new c({type:"boolean",error:r.error}),m=new s({type:"pipe",in:l,out:d,transform:((f,g)=>{let v=f;return r.case!=="sensitive"&&(v=v.toLowerCase()),i.has(v)?!0:a.has(v)?!1:(g.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...a],input:g.value,inst:m,continue:!1}),{})}),reverseTransform:((f,g)=>f===!0?n[0]||"true":o[0]||"false"),error:r.error});return m}function Wr(t,e,r,n={}){let o=k(n),i={...k(n),check:"string_format",type:"string",format:e,fn:typeof r=="function"?r:s=>r.test(s),...o};return r instanceof RegExp&&(i.pattern=r),new t(i)}function Wi(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??De,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function de(t,e,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,i=e.seen.get(t);if(i)return i.count++,r.schemaPath.includes(t)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,a);let s=t._zod.toJSONSchema?.();if(s)a.schema=s;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,a.schema,l);else{let m=a.schema,f=e.processors[o.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);f(t,e,m,l)}let d=t._zod.parent;d&&(a.ref||(a.ref=d),de(d,e,l),e.seen.get(d).isParent=!0)}let c=e.metadataRegistry.get(t);return c&&Object.assign(a.schema,c),e.io==="input"&&Ze(t)&&(delete a.schema.examples,delete a.schema.default),e.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,e.seen.get(t).schema}function Gi(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let a of t.seen.entries()){let s=t.metadataRegistry.get(a[0])?.id;if(s){let c=n.get(s);if(c&&c!==a[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(s,a[0])}}let o=a=>{let s=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){let d=t.external.registry.get(a[0])?.id,m=t.external.uri??(g=>g);if(d)return{ref:m(d)};let f=a[1].defId??a[1].schema.id??`schema${t.counter++}`;return a[1].defId=f,{defId:f,ref:`${m("__shared")}#/${s}/${f}`}}if(a[1]===r)return{ref:"#"};let u=`#/${s}/`,l=a[1].schema.id??`__schema${t.counter++}`;return{defId:l,ref:u+l}},i=a=>{if(a[1].schema.$ref)return;let s=a[1],{ref:c,defId:u}=o(a);s.def={...s.schema},u&&(s.defId=u);let l=s.schema;for(let d in l)delete l[d];l.$ref=c};if(t.cycles==="throw")for(let a of t.seen.entries()){let s=a[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/ + `)}f.write("payload.value = newResult;"),f.write("return payload;");let O=f.compile();return(I,U)=>O(m,I,U)},i,a=ur,s=!ci.jitless,u=s&&Zs.value,l=e.catchall,d;t._zod.parse=(m,f)=>{d??(d=n.value);let g=m.value;return a(g)?s&&u&&f?.async===!1&&f.jitless!==!0?(i||(i=o(e.shape)),m=i(m,f),l?zm([],g,m,f,d,t):m):r(m,f):(m.issues.push({expected:"object",code:"invalid_type",input:g,inst:t}),m)}});function mm(t,e,r,n){for(let i of t)if(i.issues.length===0)return e.value=i.value,e;let o=t.filter(i=>!Wt(i));return o.length===1?(e.value=o[0].value,o[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(i=>i.issues.map(a=>Ce(a,n,_e())))}),e)}var Hn=p("$ZodUnion",(t,e)=>{M.init(t,e),q(t._zod,"optin",()=>e.options.some(o=>o._zod.optin==="optional")?"optional":void 0),q(t._zod,"optout",()=>e.options.some(o=>o._zod.optout==="optional")?"optional":void 0),q(t._zod,"values",()=>{if(e.options.every(o=>o._zod.values))return new Set(e.options.flatMap(o=>Array.from(o._zod.values)))}),q(t._zod,"pattern",()=>{if(e.options.every(o=>o._zod.pattern)){let o=e.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>Nn(i.source)).join("|")})$`)}});let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(o,i)=>{if(r)return n(o,i);let a=!1,s=[];for(let c of e.options){let u=c._zod.run({value:o.value,issues:[]},i);if(u instanceof Promise)s.push(u),a=!0;else{if(u.issues.length===0)return u;s.push(u)}}return a?Promise.all(s).then(c=>mm(c,o,t,i)):mm(s,o,t,i)}});function hm(t,e,r,n){let o=t.filter(i=>i.issues.length===0);return o.length===1?(e.value=o[0].value,e):(o.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(i=>i.issues.map(a=>Ce(a,n,_e())))}):e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:[],inclusive:!1}),e)}var tu=p("$ZodXor",(t,e)=>{Hn.init(t,e),e.inclusive=!1;let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(o,i)=>{if(r)return n(o,i);let a=!1,s=[];for(let c of e.options){let u=c._zod.run({value:o.value,issues:[]},i);u instanceof Promise?(s.push(u),a=!0):s.push(u)}return a?Promise.all(s).then(c=>hm(c,o,t,i)):hm(s,o,t,i)}}),ru=p("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,Hn.init(t,e);let r=t._zod.parse;q(t._zod,"propValues",()=>{let o={};for(let i of e.options){let a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let[s,c]of Object.entries(a)){o[s]||(o[s]=new Set);for(let u of c)o[s].add(u)}}return o});let n=Lr(()=>{let o=e.options,i=new Map;for(let a of o){let s=a._zod.propValues?.[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let c of s){if(i.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,a)}}return i});t._zod.parse=(o,i)=>{let a=o.value;if(!ur(a))return o.issues.push({code:"invalid_type",expected:"object",input:a,inst:t}),o;let s=n.value.get(a?.[e.discriminator]);return s?s._zod.run(o,i):e.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:a,path:[e.discriminator],inst:t}),o)}}),nu=p("$ZodIntersection",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,i=e.left._zod.run({value:o,issues:[]},n),a=e.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([c,u])=>gm(r,c,u)):gm(r,i,a)}});function _c(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Kt(t)&&Kt(e)){let r=Object.keys(e),n=Object.keys(t).filter(i=>r.indexOf(i)!==-1),o={...t,...e};for(let i of n){let a=_c(t[i],e[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;ns.l&&s.r).map(([s])=>s);if(i.length&&o&&t.issues.push({...o,keys:i}),Wt(t))return t;let a=_c(e.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return t.value=a.data,t}var Si=p("$ZodTuple",(t,e)=>{M.init(t,e);let r=e.items;t._zod.parse=(n,o)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({input:i,inst:t,expected:"tuple",code:"invalid_type"}),n;n.value=[];let a=[],s=[...r].reverse().findIndex(l=>l._zod.optin!=="optional"),c=s===-1?0:r.length-s;if(!e.rest){let l=i.length>r.length,d=i.length=i.length&&u>=c)continue;let d=l._zod.run({value:i[u],issues:[]},o);d instanceof Promise?a.push(d.then(m=>vi(m,n,u))):vi(d,n,u)}if(e.rest){let l=i.slice(r.length);for(let d of l){u++;let m=e.rest._zod.run({value:d,issues:[]},o);m instanceof Promise?a.push(m.then(f=>vi(f,n,u))):vi(m,n,u)}}return a.length?Promise.all(a).then(()=>n):n}});function vi(t,e,r){t.issues.length&&e.issues.push(...Ke(r,t.issues)),e.value[r]=t.value}var ou=p("$ZodRecord",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Kt(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let i=[],a=e.keyType._zod.values;if(a){r.value={};let s=new Set;for(let u of a)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){s.add(typeof u=="number"?u.toString():u);let l=e.valueType._zod.run({value:o[u],issues:[]},n);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&r.issues.push(...Ke(u,d.issues)),r.value[u]=d.value})):(l.issues.length&&r.issues.push(...Ke(u,l.issues)),r.value[u]=l.value)}let c;for(let u in o)s.has(u)||(c=c??[],c.push(u));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:c})}else{r.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let c=e.keyType._zod.run({value:s,issues:[]},n);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&hi.test(s)&&c.issues.length&&c.issues.some(d=>d.code==="invalid_type"&&d.expected==="number")){let d=e.keyType._zod.run({value:Number(s),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(c=d)}if(c.issues.length){e.mode==="loose"?r.value[s]=o[s]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(d=>Ce(d,n,_e())),input:s,path:[s],inst:t});continue}let l=e.valueType._zod.run({value:o[s],issues:[]},n);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&r.issues.push(...Ke(s,d.issues)),r.value[c.value]=d.value})):(l.issues.length&&r.issues.push(...Ke(s,l.issues)),r.value[c.value]=l.value)}}return i.length?Promise.all(i).then(()=>r):r}}),iu=p("$ZodMap",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:o,inst:t}),r;let i=[];r.value=new Map;for(let[a,s]of o){let c=e.keyType._zod.run({value:a,issues:[]},n),u=e.valueType._zod.run({value:s,issues:[]},n);c instanceof Promise||u instanceof Promise?i.push(Promise.all([c,u]).then(([l,d])=>{vm(l,d,r,a,o,t,n)})):vm(c,u,r,a,o,t,n)}return i.length?Promise.all(i).then(()=>r):r}});function vm(t,e,r,n,o,i,a){t.issues.length&&(Dn.has(typeof n)?r.issues.push(...Ke(n,t.issues)):r.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:t.issues.map(s=>Ce(s,a,_e()))})),e.issues.length&&(Dn.has(typeof n)?r.issues.push(...Ke(n,e.issues)):r.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:n,issues:e.issues.map(s=>Ce(s,a,_e()))})),r.value.set(t.value,e.value)}var au=p("$ZodSet",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Set))return r.issues.push({input:o,inst:t,expected:"set",code:"invalid_type"}),r;let i=[];r.value=new Set;for(let a of o){let s=e.valueType._zod.run({value:a,issues:[]},n);s instanceof Promise?i.push(s.then(c=>_m(c,r))):_m(s,r)}return i.length?Promise.all(i).then(()=>r):r}});function _m(t,e){t.issues.length&&e.issues.push(...t.issues),e.value.add(t.value)}var su=p("$ZodEnum",(t,e)=>{M.init(t,e);let r=jn(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(o=>Dn.has(typeof o)).map(o=>typeof o=="string"?Xe(o):o.toString()).join("|")})$`),t._zod.parse=(o,i)=>{let a=o.value;return n.has(a)||o.issues.push({code:"invalid_value",values:r,input:a,inst:t}),o}}),cu=p("$ZodLiteral",(t,e)=>{if(M.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?Xe(n):n?Xe(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,o)=>{let i=n.value;return r.has(i)||n.issues.push({code:"invalid_value",values:e.values,input:i,inst:t}),n}}),uu=p("$ZodFile",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;return o instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:o,inst:t}),r}}),lu=p("$ZodTransform",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new cr(t.constructor.name);let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(a=>(r.value=a,r));if(o instanceof Promise)throw new gt;return r.value=o,r}});function ym(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}var wi=p("$ZodOptional",(t,e)=>{M.init(t,e),t._zod.optin="optional",t._zod.optout="optional",q(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),q(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Nn(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>ym(i,r.value)):ym(o,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,n)}}),du=p("$ZodExactOptional",(t,e)=>{wi.init(t,e),q(t._zod,"values",()=>e.innerType._zod.values),q(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,n)=>e.innerType._zod.run(r,n)}),pu=p("$ZodNullable",(t,e)=>{M.init(t,e),q(t._zod,"optin",()=>e.innerType._zod.optin),q(t._zod,"optout",()=>e.innerType._zod.optout),q(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Nn(r.source)}|null)$`):void 0}),q(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),fu=p("$ZodDefault",(t,e)=>{M.init(t,e),t._zod.optin="optional",q(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>$m(i,e)):$m(o,e)}});function $m(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var mu=p("$ZodPrefault",(t,e)=>{M.init(t,e),t._zod.optin="optional",q(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),hu=p("$ZodNonOptional",(t,e)=>{M.init(t,e),q(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>bm(i,t)):bm(o,t)}});function bm(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var gu=p("$ZodSuccess",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new cr("ZodSuccess");let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.issues.length===0,r)):(r.value=o.issues.length===0,r)}}),vu=p("$ZodCatch",(t,e)=>{M.init(t,e),q(t._zod,"optin",()=>e.innerType._zod.optin),q(t._zod,"optout",()=>e.innerType._zod.optout),q(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>Ce(a,n,_e()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(i=>Ce(i,n,_e()))},input:r.value}),r.issues=[]),r)}}),_u=p("$ZodNaN",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:t,expected:"nan",code:"invalid_type"}),r)}),yu=p("$ZodPipe",(t,e)=>{M.init(t,e),q(t._zod,"values",()=>e.in._zod.values),q(t._zod,"optin",()=>e.in._zod.optin),q(t._zod,"optout",()=>e.out._zod.optout),q(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let i=e.out._zod.run(r,n);return i instanceof Promise?i.then(a=>_i(a,e.in,n)):_i(i,e.in,n)}let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(i=>_i(i,e.out,n)):_i(o,e.out,n)}});function _i(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}var Bn=p("$ZodCodec",(t,e)=>{M.init(t,e),q(t._zod,"values",()=>e.in._zod.values),q(t._zod,"optin",()=>e.in._zod.optin),q(t._zod,"optout",()=>e.out._zod.optout),q(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if((n.direction||"forward")==="forward"){let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(a=>yi(a,e,n)):yi(i,e,n)}else{let i=e.out._zod.run(r,n);return i instanceof Promise?i.then(a=>yi(a,e,n)):yi(i,e,n)}}});function yi(t,e,r){if(t.issues.length)return t.aborted=!0,t;if((r.direction||"forward")==="forward"){let o=e.transform(t.value,t);return o instanceof Promise?o.then(i=>$i(t,i,e.out,r)):$i(t,o,e.out,r)}else{let o=e.reverseTransform(t.value,t);return o instanceof Promise?o.then(i=>$i(t,i,e.in,r)):$i(t,o,e.in,r)}}function $i(t,e,r,n){return t.issues.length?(t.aborted=!0,t):r._zod.run({value:e,issues:t.issues},n)}var $u=p("$ZodReadonly",(t,e)=>{M.init(t,e),q(t._zod,"propValues",()=>e.innerType._zod.propValues),q(t._zod,"values",()=>e.innerType._zod.values),q(t._zod,"optin",()=>e.innerType?._zod?.optin),q(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(xm):xm(o)}});function xm(t){return t.value=Object.freeze(t.value),t}var bu=p("$ZodTemplateLiteral",(t,e)=>{M.init(t,e);let r=[];for(let n of e.parts)if(typeof n=="object"&&n!==null){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);let o=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!o)throw new Error(`Invalid template literal part: ${n._zod.traits}`);let i=o.startsWith("^")?1:0,a=o.endsWith("$")?o.length-1:o.length;r.push(o.slice(i,a))}else if(n===null||Us.has(typeof n))r.push(Xe(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);t._zod.pattern=new RegExp(`^${r.join("")}$`),t._zod.parse=(n,o)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:t,expected:"string",code:"invalid_type"}),n):(t._zod.pattern.lastIndex=0,t._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:t,code:"invalid_format",format:e.format??"template_literal",pattern:t._zod.pattern.source}),n)}),xu=p("$ZodFunction",(t,e)=>(M.init(t,e),t._def=e,t._zod.def=e,t.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...n){let o=t._def.input?Cn(t._def.input,n):n,i=Reflect.apply(r,this,o);return t._def.output?Cn(t._def.output,i):i}},t.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...n){let o=t._def.input?await Ln(t._def.input,n):n,i=await Reflect.apply(r,this,o);return t._def.output?await Ln(t._def.output,i):i}},t._zod.parse=(r,n)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:t}),r):(t._def.output&&t._def.output._zod.def.type==="promise"?r.value=t.implementAsync(r.value):r.value=t.implement(r.value),r),t.input=(...r)=>{let n=t.constructor;return Array.isArray(r[0])?new n({type:"function",input:new Si({type:"tuple",items:r[0],rest:r[1]}),output:t._def.output}):new n({type:"function",input:r[0],output:t._def.output})},t.output=r=>{let n=t.constructor;return new n({type:"function",input:t._def.input,output:r})},t)),ku=p("$ZodPromise",(t,e)=>{M.init(t,e),t._zod.parse=(r,n)=>Promise.resolve(r.value).then(o=>e.innerType._zod.run({value:o,issues:[]},n))}),Su=p("$ZodLazy",(t,e)=>{M.init(t,e),q(t._zod,"innerType",()=>e.getter()),q(t._zod,"pattern",()=>t._zod.innerType?._zod?.pattern),q(t._zod,"propValues",()=>t._zod.innerType?._zod?.propValues),q(t._zod,"optin",()=>t._zod.innerType?._zod?.optin??void 0),q(t._zod,"optout",()=>t._zod.innerType?._zod?.optout??void 0),t._zod.parse=(r,n)=>t._zod.innerType._zod.run(r,n)}),wu=p("$ZodCustom",(t,e)=>{se.init(t,e),M.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(i=>km(i,r,n,t));km(o,r,n,t)}});function km(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(qr(o))}}var mb=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function e(o){return t[o]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};return o=>{switch(o.code){case"invalid_type":{let i=n[o.expected]??o.expected,a=A(o.input),s=n[a]??a;return`Invalid input: expected ${i}, received ${s}`}case"invalid_value":return o.values.length===1?`Invalid input: expected ${R(o.values[0])}`:`Invalid option: expected one of ${D(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Too big: expected ${o.origin??"value"} to have ${i}${o.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${o.origin??"value"} to be ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Too small: expected ${o.origin} to have ${i}${o.minimum.toString()} ${a.unit}`:`Too small: expected ${o.origin} to be ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${D(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};function zu(){return{localeError:mb()}}var Tm;var Eu=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let o={...n,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Tu(){return new Eu}(Tm=globalThis).__zod_globalRegistry??(Tm.__zod_globalRegistry=Tu());var De=globalThis.__zod_globalRegistry;function Pu(t,e){return new t({type:"string",...x(e)})}function zi(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...x(e)})}function Xn(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...x(e)})}function Ii(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...x(e)})}function Ei(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...x(e)})}function Ti(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...x(e)})}function Pi(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...x(e)})}function Yn(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...x(e)})}function Oi(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...x(e)})}function ji(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...x(e)})}function Ni(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...x(e)})}function Di(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...x(e)})}function Ri(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...x(e)})}function Zi(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...x(e)})}function Ai(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...x(e)})}function Ui(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...x(e)})}function Ci(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...x(e)})}function Ou(t,e){return new t({type:"string",format:"mac",check:"string_format",abort:!1,...x(e)})}function Mi(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...x(e)})}function Li(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...x(e)})}function qi(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...x(e)})}function Fi(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...x(e)})}function Vi(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...x(e)})}function Ji(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...x(e)})}function ju(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...x(e)})}function Nu(t,e){return new t({type:"string",format:"date",check:"string_format",...x(e)})}function Du(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...x(e)})}function Ru(t,e){return new t({type:"string",format:"duration",check:"string_format",...x(e)})}function Zu(t,e){return new t({type:"number",checks:[],...x(e)})}function Au(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...x(e)})}function Uu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float32",...x(e)})}function Cu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float64",...x(e)})}function Mu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"int32",...x(e)})}function Lu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"uint32",...x(e)})}function qu(t,e){return new t({type:"boolean",...x(e)})}function Fu(t,e){return new t({type:"bigint",...x(e)})}function Vu(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...x(e)})}function Ju(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...x(e)})}function Ku(t,e){return new t({type:"symbol",...x(e)})}function Wu(t,e){return new t({type:"undefined",...x(e)})}function Gu(t,e){return new t({type:"null",...x(e)})}function Hu(t){return new t({type:"any"})}function Bu(t){return new t({type:"unknown"})}function Xu(t,e){return new t({type:"never",...x(e)})}function Yu(t,e){return new t({type:"void",...x(e)})}function Qu(t,e){return new t({type:"date",...x(e)})}function el(t,e){return new t({type:"nan",...x(e)})}function Ot(t,e){return new gc({check:"less_than",...x(e),value:t,inclusive:!1})}function We(t,e){return new gc({check:"less_than",...x(e),value:t,inclusive:!0})}function jt(t,e){return new vc({check:"greater_than",...x(e),value:t,inclusive:!1})}function Re(t,e){return new vc({check:"greater_than",...x(e),value:t,inclusive:!0})}function tl(t){return jt(0,t)}function rl(t){return Ot(0,t)}function nl(t){return We(0,t)}function ol(t){return Re(0,t)}function pr(t,e){return new Wf({check:"multiple_of",...x(e),value:t})}function fr(t,e){return new Bf({check:"max_size",...x(e),maximum:t})}function Nt(t,e){return new Xf({check:"min_size",...x(e),minimum:t})}function Vr(t,e){return new Yf({check:"size_equals",...x(e),size:t})}function Jr(t,e){return new Qf({check:"max_length",...x(e),maximum:t})}function Gt(t,e){return new em({check:"min_length",...x(e),minimum:t})}function Kr(t,e){return new tm({check:"length_equals",...x(e),length:t})}function Qn(t,e){return new rm({check:"string_format",format:"regex",...x(e),pattern:t})}function eo(t){return new nm({check:"string_format",format:"lowercase",...x(t)})}function to(t){return new om({check:"string_format",format:"uppercase",...x(t)})}function ro(t,e){return new im({check:"string_format",format:"includes",...x(e),includes:t})}function no(t,e){return new am({check:"string_format",format:"starts_with",...x(e),prefix:t})}function oo(t,e){return new sm({check:"string_format",format:"ends_with",...x(e),suffix:t})}function il(t,e,r){return new cm({check:"property",property:t,schema:e,...x(r)})}function io(t,e){return new um({check:"mime_type",mime:t,...x(e)})}function vt(t){return new lm({check:"overwrite",tx:t})}function ao(t){return vt(e=>e.normalize(t))}function so(){return vt(t=>t.trim())}function co(){return vt(t=>t.toLowerCase())}function uo(){return vt(t=>t.toUpperCase())}function Ki(){return vt(t=>Rs(t))}function Pm(t,e,r){return new t({type:"array",element:e,...x(r)})}function al(t,e){return new t({type:"file",...x(e)})}function sl(t,e,r){let n=x(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function cl(t,e,r){return new t({type:"custom",check:"custom",fn:e,...x(r)})}function ul(t){let e=_b(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(qr(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(qr(o))}},t(r.value,r)));return e}function _b(t,e){let r=new se({check:"custom",...x(e)});return r._zod.check=t,r}function ll(t){let e=new se({check:"describe"});return e._zod.onattach=[r=>{let n=De.get(r)??{};De.add(r,{...n,description:t})}],e._zod.check=()=>{},e}function dl(t){let e=new se({check:"meta"});return e._zod.onattach=[r=>{let n=De.get(r)??{};De.add(r,{...n,...t})}],e._zod.check=()=>{},e}function pl(t,e){let r=x(e),n=r.truthy??["true","1","yes","on","y","enabled"],o=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(f=>typeof f=="string"?f.toLowerCase():f),o=o.map(f=>typeof f=="string"?f.toLowerCase():f));let i=new Set(n),a=new Set(o),s=t.Codec??Bn,c=t.Boolean??Gn,u=t.String??dr,l=new u({type:"string",error:r.error}),d=new c({type:"boolean",error:r.error}),m=new s({type:"pipe",in:l,out:d,transform:((f,g)=>{let v=f;return r.case!=="sensitive"&&(v=v.toLowerCase()),i.has(v)?!0:a.has(v)?!1:(g.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...a],input:g.value,inst:m,continue:!1}),{})}),reverseTransform:((f,g)=>f===!0?n[0]||"true":o[0]||"false"),error:r.error});return m}function Wr(t,e,r,n={}){let o=x(n),i={...x(n),check:"string_format",type:"string",format:e,fn:typeof r=="function"?r:s=>r.test(s),...o};return r instanceof RegExp&&(i.pattern=r),new t(i)}function Wi(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??De,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function de(t,e,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,i=e.seen.get(t);if(i)return i.count++,r.schemaPath.includes(t)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,a);let s=t._zod.toJSONSchema?.();if(s)a.schema=s;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,a.schema,l);else{let m=a.schema,f=e.processors[o.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);f(t,e,m,l)}let d=t._zod.parent;d&&(a.ref||(a.ref=d),de(d,e,l),e.seen.get(d).isParent=!0)}let c=e.metadataRegistry.get(t);return c&&Object.assign(a.schema,c),e.io==="input"&&Ze(t)&&(delete a.schema.examples,delete a.schema.default),e.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,e.seen.get(t).schema}function Gi(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let a of t.seen.entries()){let s=t.metadataRegistry.get(a[0])?.id;if(s){let c=n.get(s);if(c&&c!==a[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(s,a[0])}}let o=a=>{let s=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){let d=t.external.registry.get(a[0])?.id,m=t.external.uri??(g=>g);if(d)return{ref:m(d)};let f=a[1].defId??a[1].schema.id??`schema${t.counter++}`;return a[1].defId=f,{defId:f,ref:`${m("__shared")}#/${s}/${f}`}}if(a[1]===r)return{ref:"#"};let u=`#/${s}/`,l=a[1].schema.id??`__schema${t.counter++}`;return{defId:l,ref:u+l}},i=a=>{if(a[1].schema.$ref)return;let s=a[1],{ref:c,defId:u}=o(a);s.def={...s.schema},u&&(s.defId=u);let l=s.schema;for(let d in l)delete l[d];l.$ref=c};if(t.cycles==="throw")for(let a of t.seen.entries()){let s=a[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let a of t.seen.entries()){let s=a[1];if(e===a[0]){i(a);continue}if(t.external){let u=t.external.registry.get(a[0])?.id;if(e!==a[0]&&u){i(a);continue}}if(t.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&t.reused==="ref"){i(a);continue}}}function Hi(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=a=>{let s=t.seen.get(a);if(s.ref===null)return;let c=s.def??s.schema,u={...c},l=s.ref;if(s.ref=null,l){n(l);let m=t.seen.get(l),f=m.schema;if(f.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(f)):Object.assign(c,f),Object.assign(c,u),a._zod.parent===l)for(let v in c)v==="$ref"||v==="allOf"||v in u||delete c[v];if(f.$ref)for(let v in c)v==="$ref"||v==="allOf"||v in m.def&&JSON.stringify(c[v])===JSON.stringify(m.def[v])&&delete c[v]}let d=a._zod.parent;if(d&&d!==l){n(d);let m=t.seen.get(d);if(m?.schema.$ref&&(c.$ref=m.schema.$ref,m.def))for(let f in c)f==="$ref"||f==="allOf"||f in m.def&&JSON.stringify(c[f])===JSON.stringify(m.def[f])&&delete c[f]}t.override({zodSchema:a,jsonSchema:c,path:s.path??[]})};for(let a of[...t.seen.entries()].reverse())n(a[0]);let o={};if(t.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){let a=t.external.registry.get(e)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=t.external.uri(a)}Object.assign(o,r.def??r.schema);let i=t.external?.defs??{};for(let a of t.seen.entries()){let s=a[1];s.def&&s.defId&&(i[s.defId]=s.def)}t.external||Object.keys(i).length>0&&(t.target==="draft-2020-12"?o.$defs=i:o.definitions=i);try{let a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...e["~standard"],jsonSchema:{input:lo(e,"input",t.processors),output:lo(e,"output",t.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Ze(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return Ze(n.element,r);if(n.type==="set")return Ze(n.valueType,r);if(n.type==="lazy")return Ze(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return Ze(n.innerType,r);if(n.type==="intersection")return Ze(n.left,r)||Ze(n.right,r);if(n.type==="record"||n.type==="map")return Ze(n.keyType,r)||Ze(n.valueType,r);if(n.type==="pipe")return Ze(n.in,r)||Ze(n.out,r);if(n.type==="object"){for(let o in n.shape)if(Ze(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(Ze(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(Ze(o,r))return!0;return!!(n.rest&&Ze(n.rest,r))}return!1}var wm=(t,e={})=>r=>{let n=Wi({...r,processors:e});return de(t,n),Gi(n,t),Hi(n,t)},lo=(t,e,r={})=>n=>{let{libraryOptions:o,target:i}=n??{},a=Wi({...o??{},target:i,io:e,processors:r});return de(t,a),Gi(a,t),Hi(a,t)};var yb={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},zm=(t,e,r,n)=>{let o=r;o.type="string";let{minimum:i,maximum:a,format:s,patterns:c,contentEncoding:u}=t._zod.bag;if(typeof i=="number"&&(o.minLength=i),typeof a=="number"&&(o.maxLength=a),s&&(o.format=yb[s]??s,o.format===""&&delete o.format,s==="time"&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?o.pattern=l[0].source:l.length>1&&(o.allOf=[...l.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Im=(t,e,r,n)=>{let o=r,{minimum:i,maximum:a,format:s,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=t._zod.bag;typeof s=="string"&&s.includes("int")?o.type="integer":o.type="number",typeof l=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l),typeof i=="number"&&(o.minimum=i,typeof l=="number"&&e.target!=="draft-04"&&(l>=i?delete o.minimum:delete o.exclusiveMinimum)),typeof u=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u),typeof a=="number"&&(o.maximum=a,typeof u=="number"&&e.target!=="draft-04"&&(u<=a?delete o.maximum:delete o.exclusiveMaximum)),typeof c=="number"&&(o.multipleOf=c)},Em=(t,e,r,n)=>{r.type="boolean"},Tm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Pm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Om=(t,e,r,n)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},jm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Nm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Dm=(t,e,r,n)=>{r.not={}},Rm=(t,e,r,n)=>{},Zm=(t,e,r,n)=>{},Am=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Um=(t,e,r,n)=>{let o=t._zod.def,i=jn(o.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},Cm=(t,e,r,n)=>{let o=t._zod.def,i=[];for(let a of o.values)if(a===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){let a=i[0];r.type=a===null?"null":typeof a,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[a]:r.const=a}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i},Mm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Lm=(t,e,r,n)=>{let o=r,i=t._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},qm=(t,e,r,n)=>{let o=r,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:s,mime:c}=t._zod.bag;a!==void 0&&(i.minLength=a),s!==void 0&&(i.maxLength=s),c?c.length===1?(i.contentMediaType=c[0],Object.assign(o,i)):(Object.assign(o,i),o.anyOf=c.map(u=>({contentMediaType:u}))):Object.assign(o,i)},Fm=(t,e,r,n)=>{r.type="boolean"},Vm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Jm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Km=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Wm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Gm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Hm=(t,e,r,n)=>{let o=r,i=t._zod.def,{minimum:a,maximum:s}=t._zod.bag;typeof a=="number"&&(o.minItems=a),typeof s=="number"&&(o.maxItems=s),o.type="array",o.items=de(i.element,e,{...n,path:[...n.path,"items"]})},Bm=(t,e,r,n)=>{let o=r,i=t._zod.def;o.type="object",o.properties={};let a=i.shape;for(let u in a)o.properties[u]=de(a[u],e,{...n,path:[...n.path,"properties",u]});let s=new Set(Object.keys(a)),c=new Set([...s].filter(u=>{let l=i.shape[u]._zod;return e.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(o.required=Array.from(c)),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=de(i.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(o.additionalProperties=!1)},pl=(t,e,r,n)=>{let o=t._zod.def,i=o.inclusive===!1,a=o.options.map((s,c)=>de(s,e,{...n,path:[...n.path,i?"oneOf":"anyOf",c]}));i?r.oneOf=a:r.anyOf=a},Xm=(t,e,r,n)=>{let o=t._zod.def,i=de(o.left,e,{...n,path:[...n.path,"allOf",0]}),a=de(o.right,e,{...n,path:[...n.path,"allOf",1]}),s=u=>"allOf"in u&&Object.keys(u).length===1,c=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]];r.allOf=c},Ym=(t,e,r,n)=>{let o=r,i=t._zod.def;o.type="array";let a=e.target==="draft-2020-12"?"prefixItems":"items",s=e.target==="draft-2020-12"||e.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((m,f)=>de(m,e,{...n,path:[...n.path,a,f]})),u=i.rest?de(i.rest,e,{...n,path:[...n.path,s,...e.target==="openapi-3.0"?[i.items.length]:[]]}):null;e.target==="draft-2020-12"?(o.prefixItems=c,u&&(o.items=u)):e.target==="openapi-3.0"?(o.items={anyOf:c},u&&o.items.anyOf.push(u),o.minItems=c.length,u||(o.maxItems=c.length)):(o.items=c,u&&(o.additionalItems=u));let{minimum:l,maximum:d}=t._zod.bag;typeof l=="number"&&(o.minItems=l),typeof d=="number"&&(o.maxItems=d)},Qm=(t,e,r,n)=>{let o=r,i=t._zod.def;o.type="object";let a=i.keyType,c=a._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){let l=de(i.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let d of c)o.patternProperties[d.source]=l}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(o.propertyNames=de(i.keyType,e,{...n,path:[...n.path,"propertyNames"]})),o.additionalProperties=de(i.valueType,e,{...n,path:[...n.path,"additionalProperties"]});let u=a._zod.values;if(u){let l=[...u].filter(d=>typeof d=="string"||typeof d=="number");l.length>0&&(o.required=l)}},eh=(t,e,r,n)=>{let o=t._zod.def,i=de(o.innerType,e,n),a=e.seen.get(t);e.target==="openapi-3.0"?(a.ref=o.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},th=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType},rh=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType,r.default=JSON.parse(JSON.stringify(o.defaultValue))},nh=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},oh=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType;let a;try{a=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},ih=(t,e,r,n)=>{let o=t._zod.def,i=e.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;de(i,e,n);let a=e.seen.get(t);a.ref=i},ah=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType,r.readOnly=!0},sh=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType},fl=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType},ch=(t,e,r,n)=>{let o=t._zod.innerType;de(o,e,n);let i=e.seen.get(t);i.ref=o};function Gr(t){return!!t._zod}function Ht(t,e){return Gr(t)?Fr(t,e):t.safeParse(e)}function Bi(t){if(!t)return;let e;if(Gr(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function ph(t){if(Gr(t)){let i=t._zod?.def;if(i){if(i.value!==void 0)return i.value;if(Array.isArray(i.values)&&i.values.length>0)return i.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var po={};vn(po,{ZodAny:()=>Ph,ZodArray:()=>Dh,ZodBase64:()=>Al,ZodBase64URL:()=>Ul,ZodBigInt:()=>ia,ZodBigIntFormat:()=>Ll,ZodBoolean:()=>oa,ZodCIDRv4:()=>Rl,ZodCIDRv6:()=>Zl,ZodCUID:()=>El,ZodCUID2:()=>Tl,ZodCatch:()=>eg,ZodCodec:()=>Gl,ZodCustom:()=>la,ZodCustomStringFormat:()=>mo,ZodDate:()=>Fl,ZodDefault:()=>Gh,ZodDiscriminatedUnion:()=>Zh,ZodE164:()=>Cl,ZodEmail:()=>wl,ZodEmoji:()=>zl,ZodEnum:()=>fo,ZodExactOptional:()=>Jh,ZodFile:()=>Fh,ZodFunction:()=>ug,ZodGUID:()=>Yi,ZodIPv4:()=>Nl,ZodIPv6:()=>Dl,ZodIntersection:()=>Ah,ZodJWT:()=>Ml,ZodKSUID:()=>jl,ZodLazy:()=>ag,ZodLiteral:()=>qh,ZodMAC:()=>zh,ZodMap:()=>Mh,ZodNaN:()=>rg,ZodNanoID:()=>Il,ZodNever:()=>jh,ZodNonOptional:()=>Kl,ZodNull:()=>Th,ZodNullable:()=>Wh,ZodNumber:()=>na,ZodNumberFormat:()=>Hr,ZodObject:()=>aa,ZodOptional:()=>Jl,ZodPipe:()=>Wl,ZodPrefault:()=>Bh,ZodPromise:()=>cg,ZodReadonly:()=>ng,ZodRecord:()=>ua,ZodSet:()=>Lh,ZodString:()=>ta,ZodStringFormat:()=>ce,ZodSuccess:()=>Qh,ZodSymbol:()=>Ih,ZodTemplateLiteral:()=>ig,ZodTransform:()=>Vh,ZodTuple:()=>Uh,ZodType:()=>q,ZodULID:()=>Pl,ZodURL:()=>ra,ZodUUID:()=>Dt,ZodUndefined:()=>Eh,ZodUnion:()=>sa,ZodUnknown:()=>Oh,ZodVoid:()=>Nh,ZodXID:()=>Ol,ZodXor:()=>Rh,_ZodString:()=>Sl,_default:()=>Hh,_function:()=>Ax,any:()=>yx,array:()=>H,base64:()=>rx,base64url:()=>nx,bigint:()=>mx,boolean:()=>ve,catch:()=>tg,check:()=>Ux,cidrv4:()=>ex,cidrv6:()=>tx,codec:()=>Dx,cuid:()=>Kb,cuid2:()=>Wb,custom:()=>Hl,date:()=>bx,describe:()=>Cx,discriminatedUnion:()=>ca,e164:()=>ox,email:()=>Zb,emoji:()=>Vb,enum:()=>Ee,exactOptional:()=>Kh,file:()=>Px,float32:()=>lx,float64:()=>dx,function:()=>Ax,guid:()=>Ab,hash:()=>ux,hex:()=>cx,hostname:()=>sx,httpUrl:()=>Fb,instanceof:()=>Lx,int:()=>kl,int32:()=>px,int64:()=>hx,intersection:()=>go,ipv4:()=>Xb,ipv6:()=>Qb,json:()=>Fx,jwt:()=>ix,keyof:()=>xx,ksuid:()=>Bb,lazy:()=>sg,literal:()=>T,looseObject:()=>Ie,looseRecord:()=>zx,mac:()=>Yb,map:()=>Ix,meta:()=>Mx,nan:()=>Nx,nanoid:()=>Jb,nativeEnum:()=>Tx,never:()=>ql,nonoptional:()=>Yh,null:()=>ho,nullable:()=>Qi,nullish:()=>Ox,number:()=>ne,object:()=>z,optional:()=>fe,partialRecord:()=>wx,pipe:()=>ea,prefault:()=>Xh,preprocess:()=>da,promise:()=>Zx,readonly:()=>og,record:()=>pe,refine:()=>lg,set:()=>Ex,strictObject:()=>kx,string:()=>h,stringFormat:()=>ax,stringbool:()=>qx,success:()=>jx,superRefine:()=>dg,symbol:()=>vx,templateLiteral:()=>Rx,transform:()=>Vl,tuple:()=>Ch,uint32:()=>fx,uint64:()=>gx,ulid:()=>Gb,undefined:()=>_x,union:()=>ie,unknown:()=>ue,url:()=>qb,uuid:()=>Ub,uuidv4:()=>Cb,uuidv6:()=>Mb,uuidv7:()=>Lb,void:()=>$x,xid:()=>Hb,xor:()=>Sx});var Xi={};vn(Xi,{endsWith:()=>oo,gt:()=>jt,gte:()=>Re,includes:()=>ro,length:()=>Kr,lowercase:()=>eo,lt:()=>Ot,lte:()=>We,maxLength:()=>Jr,maxSize:()=>fr,mime:()=>io,minLength:()=>Gt,minSize:()=>Nt,multipleOf:()=>pr,negative:()=>tl,nonnegative:()=>nl,nonpositive:()=>rl,normalize:()=>ao,overwrite:()=>vt,positive:()=>el,property:()=>ol,regex:()=>Qn,size:()=>Vr,slugify:()=>Ki,startsWith:()=>no,toLowerCase:()=>co,toUpperCase:()=>uo,trim:()=>so,uppercase:()=>to});var mr={};vn(mr,{ZodISODate:()=>vl,ZodISODateTime:()=>hl,ZodISODuration:()=>bl,ZodISOTime:()=>yl,date:()=>_l,datetime:()=>gl,duration:()=>xl,time:()=>$l});var hl=p("ZodISODateTime",(t,e)=>{Tc.init(t,e),ce.init(t,e)});function gl(t){return Ou(hl,t)}var vl=p("ZodISODate",(t,e)=>{Pc.init(t,e),ce.init(t,e)});function _l(t){return ju(vl,t)}var yl=p("ZodISOTime",(t,e)=>{Oc.init(t,e),ce.init(t,e)});function $l(t){return Nu(yl,t)}var bl=p("ZodISODuration",(t,e)=>{jc.init(t,e),ce.init(t,e)});function xl(t){return Du(bl,t)}var fh=(t,e)=>{di.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>fi(t,r)},flatten:{value:r=>pi(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,Mr,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,Mr,2)}},isEmpty:{get(){return t.issues.length===0}}})},PD=p("ZodError",fh),Ge=p("ZodError",fh,{Parent:Error});var mh=Un(Ge),hh=Mn(Ge),gh=qn(Ge),vh=Fn(Ge),_h=Ef(Ge),yh=Tf(Ge),$h=Pf(Ge),bh=Of(Ge),xh=jf(Ge),kh=Nf(Ge),Sh=Df(Ge),wh=Rf(Ge);var q=p("ZodType",(t,e)=>(M.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:lo(t,"input"),output:lo(t,"output")}}),t.toJSONSchema=wm(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(y.mergeDefs(e,{checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),t.with=t.check,t.clone=(r,n)=>Ne(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>mh(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>gh(t,r,n),t.parseAsync=async(r,n)=>hh(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>vh(t,r,n),t.spa=t.safeParseAsync,t.encode=(r,n)=>_h(t,r,n),t.decode=(r,n)=>yh(t,r,n),t.encodeAsync=async(r,n)=>$h(t,r,n),t.decodeAsync=async(r,n)=>bh(t,r,n),t.safeEncode=(r,n)=>xh(t,r,n),t.safeDecode=(r,n)=>kh(t,r,n),t.safeEncodeAsync=async(r,n)=>Sh(t,r,n),t.safeDecodeAsync=async(r,n)=>wh(t,r,n),t.refine=(r,n)=>t.check(lg(r,n)),t.superRefine=r=>t.check(dg(r)),t.overwrite=r=>t.check(vt(r)),t.optional=()=>fe(t),t.exactOptional=()=>Kh(t),t.nullable=()=>Qi(t),t.nullish=()=>fe(Qi(t)),t.nonoptional=r=>Yh(t,r),t.array=()=>H(t),t.or=r=>ie([t,r]),t.and=r=>go(t,r),t.transform=r=>ea(t,Vl(r)),t.default=r=>Hh(t,r),t.prefault=r=>Xh(t,r),t.catch=r=>tg(t,r),t.pipe=r=>ea(t,r),t.readonly=()=>og(t),t.describe=r=>{let n=t.clone();return De.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return De.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return De.get(t);let n=t.clone();return De.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=r=>r(t),t)),Sl=p("_ZodString",(t,e)=>{dr.init(t,e),q.init(t,e),t._zod.processJSONSchema=(n,o,i)=>zm(t,n,o,i);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Qn(...n)),t.includes=(...n)=>t.check(ro(...n)),t.startsWith=(...n)=>t.check(no(...n)),t.endsWith=(...n)=>t.check(oo(...n)),t.min=(...n)=>t.check(Gt(...n)),t.max=(...n)=>t.check(Jr(...n)),t.length=(...n)=>t.check(Kr(...n)),t.nonempty=(...n)=>t.check(Gt(1,...n)),t.lowercase=n=>t.check(eo(n)),t.uppercase=n=>t.check(to(n)),t.trim=()=>t.check(so()),t.normalize=(...n)=>t.check(ao(...n)),t.toLowerCase=()=>t.check(co()),t.toUpperCase=()=>t.check(uo()),t.slugify=()=>t.check(Ki())}),ta=p("ZodString",(t,e)=>{dr.init(t,e),Sl.init(t,e),t.email=r=>t.check(zi(wl,r)),t.url=r=>t.check(Yn(ra,r)),t.jwt=r=>t.check(Ji(Ml,r)),t.emoji=r=>t.check(Oi(zl,r)),t.guid=r=>t.check(Xn(Yi,r)),t.uuid=r=>t.check(Ii(Dt,r)),t.uuidv4=r=>t.check(Ei(Dt,r)),t.uuidv6=r=>t.check(Ti(Dt,r)),t.uuidv7=r=>t.check(Pi(Dt,r)),t.nanoid=r=>t.check(ji(Il,r)),t.guid=r=>t.check(Xn(Yi,r)),t.cuid=r=>t.check(Ni(El,r)),t.cuid2=r=>t.check(Di(Tl,r)),t.ulid=r=>t.check(Ri(Pl,r)),t.base64=r=>t.check(qi(Al,r)),t.base64url=r=>t.check(Fi(Ul,r)),t.xid=r=>t.check(Zi(Ol,r)),t.ksuid=r=>t.check(Ai(jl,r)),t.ipv4=r=>t.check(Ui(Nl,r)),t.ipv6=r=>t.check(Ci(Dl,r)),t.cidrv4=r=>t.check(Mi(Rl,r)),t.cidrv6=r=>t.check(Li(Zl,r)),t.e164=r=>t.check(Vi(Cl,r)),t.datetime=r=>t.check(gl(r)),t.date=r=>t.check(_l(r)),t.time=r=>t.check($l(r)),t.duration=r=>t.check(xl(r))});function h(t){return Tu(ta,t)}var ce=p("ZodStringFormat",(t,e)=>{oe.init(t,e),Sl.init(t,e)}),wl=p("ZodEmail",(t,e)=>{$c.init(t,e),ce.init(t,e)});function Zb(t){return zi(wl,t)}var Yi=p("ZodGUID",(t,e)=>{_c.init(t,e),ce.init(t,e)});function Ab(t){return Xn(Yi,t)}var Dt=p("ZodUUID",(t,e)=>{yc.init(t,e),ce.init(t,e)});function Ub(t){return Ii(Dt,t)}function Cb(t){return Ei(Dt,t)}function Mb(t){return Ti(Dt,t)}function Lb(t){return Pi(Dt,t)}var ra=p("ZodURL",(t,e)=>{bc.init(t,e),ce.init(t,e)});function qb(t){return Yn(ra,t)}function Fb(t){return Yn(ra,{protocol:/^https?$/,hostname:Ye.domain,...y.normalizeParams(t)})}var zl=p("ZodEmoji",(t,e)=>{xc.init(t,e),ce.init(t,e)});function Vb(t){return Oi(zl,t)}var Il=p("ZodNanoID",(t,e)=>{kc.init(t,e),ce.init(t,e)});function Jb(t){return ji(Il,t)}var El=p("ZodCUID",(t,e)=>{Sc.init(t,e),ce.init(t,e)});function Kb(t){return Ni(El,t)}var Tl=p("ZodCUID2",(t,e)=>{wc.init(t,e),ce.init(t,e)});function Wb(t){return Di(Tl,t)}var Pl=p("ZodULID",(t,e)=>{zc.init(t,e),ce.init(t,e)});function Gb(t){return Ri(Pl,t)}var Ol=p("ZodXID",(t,e)=>{Ic.init(t,e),ce.init(t,e)});function Hb(t){return Zi(Ol,t)}var jl=p("ZodKSUID",(t,e)=>{Ec.init(t,e),ce.init(t,e)});function Bb(t){return Ai(jl,t)}var Nl=p("ZodIPv4",(t,e)=>{Nc.init(t,e),ce.init(t,e)});function Xb(t){return Ui(Nl,t)}var zh=p("ZodMAC",(t,e)=>{Rc.init(t,e),ce.init(t,e)});function Yb(t){return Pu(zh,t)}var Dl=p("ZodIPv6",(t,e)=>{Dc.init(t,e),ce.init(t,e)});function Qb(t){return Ci(Dl,t)}var Rl=p("ZodCIDRv4",(t,e)=>{Zc.init(t,e),ce.init(t,e)});function ex(t){return Mi(Rl,t)}var Zl=p("ZodCIDRv6",(t,e)=>{Ac.init(t,e),ce.init(t,e)});function tx(t){return Li(Zl,t)}var Al=p("ZodBase64",(t,e)=>{Uc.init(t,e),ce.init(t,e)});function rx(t){return qi(Al,t)}var Ul=p("ZodBase64URL",(t,e)=>{Cc.init(t,e),ce.init(t,e)});function nx(t){return Fi(Ul,t)}var Cl=p("ZodE164",(t,e)=>{Mc.init(t,e),ce.init(t,e)});function ox(t){return Vi(Cl,t)}var Ml=p("ZodJWT",(t,e)=>{Lc.init(t,e),ce.init(t,e)});function ix(t){return Ji(Ml,t)}var mo=p("ZodCustomStringFormat",(t,e)=>{qc.init(t,e),ce.init(t,e)});function ax(t,e,r={}){return Wr(mo,t,e,r)}function sx(t){return Wr(mo,"hostname",Ye.hostname,t)}function cx(t){return Wr(mo,"hex",Ye.hex,t)}function ux(t,e){let r=e?.enc??"hex",n=`${t}_${r}`,o=Ye[n];if(!o)throw new Error(`Unrecognized hash format: ${n}`);return Wr(mo,n,o,e)}var na=p("ZodNumber",(t,e)=>{xi.init(t,e),q.init(t,e),t._zod.processJSONSchema=(n,o,i)=>Im(t,n,o,i),t.gt=(n,o)=>t.check(jt(n,o)),t.gte=(n,o)=>t.check(Re(n,o)),t.min=(n,o)=>t.check(Re(n,o)),t.lt=(n,o)=>t.check(Ot(n,o)),t.lte=(n,o)=>t.check(We(n,o)),t.max=(n,o)=>t.check(We(n,o)),t.int=n=>t.check(kl(n)),t.safe=n=>t.check(kl(n)),t.positive=n=>t.check(jt(0,n)),t.nonnegative=n=>t.check(Re(0,n)),t.negative=n=>t.check(Ot(0,n)),t.nonpositive=n=>t.check(We(0,n)),t.multipleOf=(n,o)=>t.check(pr(n,o)),t.step=(n,o)=>t.check(pr(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function ne(t){return Ru(na,t)}var Hr=p("ZodNumberFormat",(t,e)=>{Fc.init(t,e),na.init(t,e)});function kl(t){return Zu(Hr,t)}function lx(t){return Au(Hr,t)}function dx(t){return Uu(Hr,t)}function px(t){return Cu(Hr,t)}function fx(t){return Mu(Hr,t)}var oa=p("ZodBoolean",(t,e)=>{Gn.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Em(t,r,n,o)});function ve(t){return Lu(oa,t)}var ia=p("ZodBigInt",(t,e)=>{ki.init(t,e),q.init(t,e),t._zod.processJSONSchema=(n,o,i)=>Tm(t,n,o,i),t.gte=(n,o)=>t.check(Re(n,o)),t.min=(n,o)=>t.check(Re(n,o)),t.gt=(n,o)=>t.check(jt(n,o)),t.gte=(n,o)=>t.check(Re(n,o)),t.min=(n,o)=>t.check(Re(n,o)),t.lt=(n,o)=>t.check(Ot(n,o)),t.lte=(n,o)=>t.check(We(n,o)),t.max=(n,o)=>t.check(We(n,o)),t.positive=n=>t.check(jt(BigInt(0),n)),t.negative=n=>t.check(Ot(BigInt(0),n)),t.nonpositive=n=>t.check(We(BigInt(0),n)),t.nonnegative=n=>t.check(Re(BigInt(0),n)),t.multipleOf=(n,o)=>t.check(pr(n,o));let r=t._zod.bag;t.minValue=r.minimum??null,t.maxValue=r.maximum??null,t.format=r.format??null});function mx(t){return qu(ia,t)}var Ll=p("ZodBigIntFormat",(t,e)=>{Vc.init(t,e),ia.init(t,e)});function hx(t){return Fu(Ll,t)}function gx(t){return Vu(Ll,t)}var Ih=p("ZodSymbol",(t,e)=>{Jc.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Pm(t,r,n,o)});function vx(t){return Ju(Ih,t)}var Eh=p("ZodUndefined",(t,e)=>{Kc.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>jm(t,r,n,o)});function _x(t){return Ku(Eh,t)}var Th=p("ZodNull",(t,e)=>{Wc.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Om(t,r,n,o)});function ho(t){return Wu(Th,t)}var Ph=p("ZodAny",(t,e)=>{Gc.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Rm(t,r,n,o)});function yx(){return Gu(Ph)}var Oh=p("ZodUnknown",(t,e)=>{Hc.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Zm(t,r,n,o)});function ue(){return Hu(Oh)}var jh=p("ZodNever",(t,e)=>{Bc.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Dm(t,r,n,o)});function ql(t){return Bu(jh,t)}var Nh=p("ZodVoid",(t,e)=>{Xc.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Nm(t,r,n,o)});function $x(t){return Xu(Nh,t)}var Fl=p("ZodDate",(t,e)=>{Yc.init(t,e),q.init(t,e),t._zod.processJSONSchema=(n,o,i)=>Am(t,n,o,i),t.min=(n,o)=>t.check(Re(n,o)),t.max=(n,o)=>t.check(We(n,o));let r=t._zod.bag;t.minDate=r.minimum?new Date(r.minimum):null,t.maxDate=r.maximum?new Date(r.maximum):null});function bx(t){return Yu(Fl,t)}var Dh=p("ZodArray",(t,e)=>{Qc.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Hm(t,r,n,o),t.element=e.element,t.min=(r,n)=>t.check(Gt(r,n)),t.nonempty=r=>t.check(Gt(1,r)),t.max=(r,n)=>t.check(Jr(r,n)),t.length=(r,n)=>t.check(Kr(r,n)),t.unwrap=()=>t.element});function H(t,e){return Sm(Dh,t,e)}function xx(t){let e=t._zod.def.shape;return Ee(Object.keys(e))}var aa=p("ZodObject",(t,e)=>{xm.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Bm(t,r,n,o),y.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Ee(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ue()}),t.loose=()=>t.clone({...t._zod.def,catchall:ue()}),t.strict=()=>t.clone({...t._zod.def,catchall:ql()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>y.extend(t,r),t.safeExtend=r=>y.safeExtend(t,r),t.merge=r=>y.merge(t,r),t.pick=r=>y.pick(t,r),t.omit=r=>y.omit(t,r),t.partial=(...r)=>y.partial(Jl,t,r[0]),t.required=(...r)=>y.required(Kl,t,r[0])});function z(t,e){let r={type:"object",shape:t??{},...y.normalizeParams(e)};return new aa(r)}function kx(t,e){return new aa({type:"object",shape:t,catchall:ql(),...y.normalizeParams(e)})}function Ie(t,e){return new aa({type:"object",shape:t,catchall:ue(),...y.normalizeParams(e)})}var sa=p("ZodUnion",(t,e)=>{Hn.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>pl(t,r,n,o),t.options=e.options});function ie(t,e){return new sa({type:"union",options:t,...y.normalizeParams(e)})}var Rh=p("ZodXor",(t,e)=>{sa.init(t,e),eu.init(t,e),t._zod.processJSONSchema=(r,n,o)=>pl(t,r,n,o),t.options=e.options});function Sx(t,e){return new Rh({type:"union",options:t,inclusive:!1,...y.normalizeParams(e)})}var Zh=p("ZodDiscriminatedUnion",(t,e)=>{sa.init(t,e),tu.init(t,e)});function ca(t,e,r){return new Zh({type:"union",options:e,discriminator:t,...y.normalizeParams(r)})}var Ah=p("ZodIntersection",(t,e)=>{ru.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Xm(t,r,n,o)});function go(t,e){return new Ah({type:"intersection",left:t,right:e})}var Uh=p("ZodTuple",(t,e)=>{Si.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Ym(t,r,n,o),t.rest=r=>t.clone({...t._zod.def,rest:r})});function Ch(t,e,r){let n=e instanceof M,o=n?r:e,i=n?e:null;return new Uh({type:"tuple",items:t,rest:i,...y.normalizeParams(o)})}var ua=p("ZodRecord",(t,e)=>{nu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Qm(t,r,n,o),t.keyType=e.keyType,t.valueType=e.valueType});function pe(t,e,r){return new ua({type:"record",keyType:t,valueType:e,...y.normalizeParams(r)})}function wx(t,e,r){let n=Ne(t);return n._zod.values=void 0,new ua({type:"record",keyType:n,valueType:e,...y.normalizeParams(r)})}function zx(t,e,r){return new ua({type:"record",keyType:t,valueType:e,mode:"loose",...y.normalizeParams(r)})}var Mh=p("ZodMap",(t,e)=>{ou.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Wm(t,r,n,o),t.keyType=e.keyType,t.valueType=e.valueType,t.min=(...r)=>t.check(Nt(...r)),t.nonempty=r=>t.check(Nt(1,r)),t.max=(...r)=>t.check(fr(...r)),t.size=(...r)=>t.check(Vr(...r))});function Ix(t,e,r){return new Mh({type:"map",keyType:t,valueType:e,...y.normalizeParams(r)})}var Lh=p("ZodSet",(t,e)=>{iu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Gm(t,r,n,o),t.min=(...r)=>t.check(Nt(...r)),t.nonempty=r=>t.check(Nt(1,r)),t.max=(...r)=>t.check(fr(...r)),t.size=(...r)=>t.check(Vr(...r))});function Ex(t,e){return new Lh({type:"set",valueType:t,...y.normalizeParams(e)})}var fo=p("ZodEnum",(t,e)=>{au.init(t,e),q.init(t,e),t._zod.processJSONSchema=(n,o,i)=>Um(t,n,o,i),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let i={};for(let a of n)if(r.has(a))i[a]=e.entries[a];else throw new Error(`Key ${a} not found in enum`);return new fo({...e,checks:[],...y.normalizeParams(o),entries:i})},t.exclude=(n,o)=>{let i={...e.entries};for(let a of n)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new fo({...e,checks:[],...y.normalizeParams(o),entries:i})}});function Ee(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new fo({type:"enum",entries:r,...y.normalizeParams(e)})}function Tx(t,e){return new fo({type:"enum",entries:t,...y.normalizeParams(e)})}var qh=p("ZodLiteral",(t,e)=>{su.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Cm(t,r,n,o),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function T(t,e){return new qh({type:"literal",values:Array.isArray(t)?t:[t],...y.normalizeParams(e)})}var Fh=p("ZodFile",(t,e)=>{cu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>qm(t,r,n,o),t.min=(r,n)=>t.check(Nt(r,n)),t.max=(r,n)=>t.check(fr(r,n)),t.mime=(r,n)=>t.check(io(Array.isArray(r)?r:[r],n))});function Px(t){return il(Fh,t)}var Vh=p("ZodTransform",(t,e)=>{uu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Km(t,r,n,o),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new cr(t.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(y.issue(i,r.value,e));else{let a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=t),r.issues.push(y.issue(a))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function Vl(t){return new Vh({type:"transform",transform:t})}var Jl=p("ZodOptional",(t,e)=>{wi.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>fl(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function fe(t){return new Jl({type:"optional",innerType:t})}var Jh=p("ZodExactOptional",(t,e)=>{lu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>fl(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function Kh(t){return new Jh({type:"optional",innerType:t})}var Wh=p("ZodNullable",(t,e)=>{du.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>eh(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function Qi(t){return new Wh({type:"nullable",innerType:t})}function Ox(t){return fe(Qi(t))}var Gh=p("ZodDefault",(t,e)=>{pu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>rh(t,r,n,o),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function Hh(t,e){return new Gh({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():y.shallowClone(e)}})}var Bh=p("ZodPrefault",(t,e)=>{fu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>nh(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function Xh(t,e){return new Bh({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():y.shallowClone(e)}})}var Kl=p("ZodNonOptional",(t,e)=>{mu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>th(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function Yh(t,e){return new Kl({type:"nonoptional",innerType:t,...y.normalizeParams(e)})}var Qh=p("ZodSuccess",(t,e)=>{hu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Fm(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function jx(t){return new Qh({type:"success",innerType:t})}var eg=p("ZodCatch",(t,e)=>{gu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>oh(t,r,n,o),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function tg(t,e){return new eg({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var rg=p("ZodNaN",(t,e)=>{vu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Mm(t,r,n,o)});function Nx(t){return Qu(rg,t)}var Wl=p("ZodPipe",(t,e)=>{_u.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ih(t,r,n,o),t.in=e.in,t.out=e.out});function ea(t,e){return new Wl({type:"pipe",in:t,out:e})}var Gl=p("ZodCodec",(t,e)=>{Wl.init(t,e),Bn.init(t,e)});function Dx(t,e,r){return new Gl({type:"pipe",in:t,out:e,transform:r.decode,reverseTransform:r.encode})}var ng=p("ZodReadonly",(t,e)=>{yu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ah(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function og(t){return new ng({type:"readonly",innerType:t})}var ig=p("ZodTemplateLiteral",(t,e)=>{$u.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Lm(t,r,n,o)});function Rx(t,e){return new ig({type:"template_literal",parts:t,...y.normalizeParams(e)})}var ag=p("ZodLazy",(t,e)=>{ku.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ch(t,r,n,o),t.unwrap=()=>t._zod.def.getter()});function sg(t){return new ag({type:"lazy",getter:t})}var cg=p("ZodPromise",(t,e)=>{xu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>sh(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function Zx(t){return new cg({type:"promise",innerType:t})}var ug=p("ZodFunction",(t,e)=>{bu.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Jm(t,r,n,o)});function Ax(t){return new ug({type:"function",input:Array.isArray(t?.input)?Ch(t?.input):t?.input??H(ue()),output:t?.output??ue()})}var la=p("ZodCustom",(t,e)=>{Su.init(t,e),q.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Vm(t,r,n,o)});function Ux(t){let e=new se({check:"custom"});return e._zod.check=t,e}function Hl(t,e){return al(la,t??(()=>!0),e)}function lg(t,e={}){return sl(la,t,e)}function dg(t){return cl(t)}var Cx=ul,Mx=ll;function Lx(t,e={}){let r=new la({type:"custom",check:"custom",fn:n=>n instanceof t,abort:!0,...y.normalizeParams(e)});return r._zod.bag.Class=t,r._zod.check=n=>{n.value instanceof t||n.issues.push({code:"invalid_type",expected:t.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var qx=(...t)=>dl({Codec:Gl,Boolean:oa,String:ta},...t);function Fx(t){let e=sg(()=>ie([h(t),ne(),ve(),ho(),H(e),pe(h(),e)]));return e}function da(t,e){return ea(Vl(t),e)}var pg;pg||(pg={});var UD={...po,...Xi,iso:mr};_e(wu());var Xl="2025-11-25";var fg=[Xl,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Bt="io.modelcontextprotocol/related-task",fa="2.0",$e=Hl(t=>t!==null&&(typeof t=="object"||typeof t=="function")),mg=ie([h(),ne().int()]),hg=h(),n4=Ie({ttl:ie([ne(),ho()]).optional(),pollInterval:ne().optional()}),Wx=z({ttl:ne().optional()}),Gx=z({taskId:h()}),Yl=Ie({progressToken:mg.optional(),[Bt]:Gx.optional()}),He=z({_meta:Yl.optional()}),vo=He.extend({task:Wx.optional()}),gg=t=>vo.safeParse(t).success,be=z({method:h(),params:He.loose().optional()}),Qe=z({_meta:Yl.optional()}),et=z({method:h(),params:Qe.loose().optional()}),xe=Ie({_meta:Yl.optional()}),ma=ie([h(),ne().int()]),vg=z({jsonrpc:T(fa),id:ma,...be.shape}).strict(),Ql=t=>vg.safeParse(t).success,_g=z({jsonrpc:T(fa),...et.shape}).strict(),yg=t=>_g.safeParse(t).success,ed=z({jsonrpc:T(fa),id:ma,result:xe}).strict(),_o=t=>ed.safeParse(t).success;var Y;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Y||(Y={}));var td=z({jsonrpc:T(fa),id:ma.optional(),error:z({code:ne().int(),message:h(),data:ue().optional()})}).strict();var $g=t=>td.safeParse(t).success;var bg=ie([vg,_g,ed,td]),o4=ie([ed,td]),ha=xe.strict(),Hx=Qe.extend({requestId:ma.optional(),reason:h().optional()}),ga=et.extend({method:T("notifications/cancelled"),params:Hx}),Bx=z({src:h(),mimeType:h().optional(),sizes:H(h()).optional(),theme:Ee(["light","dark"]).optional()}),yo=z({icons:H(Bx).optional()}),Br=z({name:h(),title:h().optional()}),xg=Br.extend({...Br.shape,...yo.shape,version:h(),websiteUrl:h().optional(),description:h().optional()}),Xx=go(z({applyDefaults:ve().optional()}),pe(h(),ue())),Yx=da(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,go(z({form:Xx.optional(),url:$e.optional()}),pe(h(),ue()).optional())),Qx=Ie({list:$e.optional(),cancel:$e.optional(),requests:Ie({sampling:Ie({createMessage:$e.optional()}).optional(),elicitation:Ie({create:$e.optional()}).optional()}).optional()}),ek=Ie({list:$e.optional(),cancel:$e.optional(),requests:Ie({tools:Ie({call:$e.optional()}).optional()}).optional()}),tk=z({experimental:pe(h(),$e).optional(),sampling:z({context:$e.optional(),tools:$e.optional()}).optional(),elicitation:Yx.optional(),roots:z({listChanged:ve().optional()}).optional(),tasks:Qx.optional()}),rk=He.extend({protocolVersion:h(),capabilities:tk,clientInfo:xg}),rd=be.extend({method:T("initialize"),params:rk});var nk=z({experimental:pe(h(),$e).optional(),logging:$e.optional(),completions:$e.optional(),prompts:z({listChanged:ve().optional()}).optional(),resources:z({subscribe:ve().optional(),listChanged:ve().optional()}).optional(),tools:z({listChanged:ve().optional()}).optional(),tasks:ek.optional()}),ok=xe.extend({protocolVersion:h(),capabilities:nk,serverInfo:xg,instructions:h().optional()}),nd=et.extend({method:T("notifications/initialized"),params:Qe.optional()});var va=be.extend({method:T("ping"),params:He.optional()}),ik=z({progress:ne(),total:fe(ne()),message:fe(h())}),ak=z({...Qe.shape,...ik.shape,progressToken:mg}),_a=et.extend({method:T("notifications/progress"),params:ak}),sk=He.extend({cursor:hg.optional()}),$o=be.extend({params:sk.optional()}),bo=xe.extend({nextCursor:hg.optional()}),ck=Ee(["working","input_required","completed","failed","cancelled"]),xo=z({taskId:h(),status:ck,ttl:ie([ne(),ho()]),createdAt:h(),lastUpdatedAt:h(),pollInterval:fe(ne()),statusMessage:fe(h())}),Xr=xe.extend({task:xo}),uk=Qe.merge(xo),ko=et.extend({method:T("notifications/tasks/status"),params:uk}),ya=be.extend({method:T("tasks/get"),params:He.extend({taskId:h()})}),$a=xe.merge(xo),ba=be.extend({method:T("tasks/result"),params:He.extend({taskId:h()})}),i4=xe.loose(),xa=$o.extend({method:T("tasks/list")}),ka=bo.extend({tasks:H(xo)}),Sa=be.extend({method:T("tasks/cancel"),params:He.extend({taskId:h()})}),kg=xe.merge(xo),Sg=z({uri:h(),mimeType:fe(h()),_meta:pe(h(),ue()).optional()}),wg=Sg.extend({text:h()}),od=h().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),zg=Sg.extend({blob:od}),So=Ee(["user","assistant"]),Yr=z({audience:H(So).optional(),priority:ne().min(0).max(1).optional(),lastModified:mr.datetime({offset:!0}).optional()}),Ig=z({...Br.shape,...yo.shape,uri:h(),description:fe(h()),mimeType:fe(h()),annotations:Yr.optional(),_meta:fe(Ie({}))}),lk=z({...Br.shape,...yo.shape,uriTemplate:h(),description:fe(h()),mimeType:fe(h()),annotations:Yr.optional(),_meta:fe(Ie({}))}),dk=$o.extend({method:T("resources/list")}),pk=bo.extend({resources:H(Ig)}),fk=$o.extend({method:T("resources/templates/list")}),mk=bo.extend({resourceTemplates:H(lk)}),id=He.extend({uri:h()}),hk=id,gk=be.extend({method:T("resources/read"),params:hk}),vk=xe.extend({contents:H(ie([wg,zg]))}),_k=et.extend({method:T("notifications/resources/list_changed"),params:Qe.optional()}),yk=id,$k=be.extend({method:T("resources/subscribe"),params:yk}),bk=id,xk=be.extend({method:T("resources/unsubscribe"),params:bk}),kk=Qe.extend({uri:h()}),Sk=et.extend({method:T("notifications/resources/updated"),params:kk}),wk=z({name:h(),description:fe(h()),required:fe(ve())}),zk=z({...Br.shape,...yo.shape,description:fe(h()),arguments:fe(H(wk)),_meta:fe(Ie({}))}),Ik=$o.extend({method:T("prompts/list")}),Ek=bo.extend({prompts:H(zk)}),Tk=He.extend({name:h(),arguments:pe(h(),h()).optional()}),Pk=be.extend({method:T("prompts/get"),params:Tk}),ad=z({type:T("text"),text:h(),annotations:Yr.optional(),_meta:pe(h(),ue()).optional()}),sd=z({type:T("image"),data:od,mimeType:h(),annotations:Yr.optional(),_meta:pe(h(),ue()).optional()}),cd=z({type:T("audio"),data:od,mimeType:h(),annotations:Yr.optional(),_meta:pe(h(),ue()).optional()}),Ok=z({type:T("tool_use"),name:h(),id:h(),input:pe(h(),ue()),_meta:pe(h(),ue()).optional()}),jk=z({type:T("resource"),resource:ie([wg,zg]),annotations:Yr.optional(),_meta:pe(h(),ue()).optional()}),Nk=Ig.extend({type:T("resource_link")}),ud=ie([ad,sd,cd,Nk,jk]),Dk=z({role:So,content:ud}),Rk=xe.extend({description:h().optional(),messages:H(Dk)}),Zk=et.extend({method:T("notifications/prompts/list_changed"),params:Qe.optional()}),Ak=z({title:h().optional(),readOnlyHint:ve().optional(),destructiveHint:ve().optional(),idempotentHint:ve().optional(),openWorldHint:ve().optional()}),Uk=z({taskSupport:Ee(["required","optional","forbidden"]).optional()}),Eg=z({...Br.shape,...yo.shape,description:h().optional(),inputSchema:z({type:T("object"),properties:pe(h(),$e).optional(),required:H(h()).optional()}).catchall(ue()),outputSchema:z({type:T("object"),properties:pe(h(),$e).optional(),required:H(h()).optional()}).catchall(ue()).optional(),annotations:Ak.optional(),execution:Uk.optional(),_meta:pe(h(),ue()).optional()}),ld=$o.extend({method:T("tools/list")}),Ck=bo.extend({tools:H(Eg)}),wa=xe.extend({content:H(ud).default([]),structuredContent:pe(h(),ue()).optional(),isError:ve().optional()}),a4=wa.or(xe.extend({toolResult:ue()})),Mk=vo.extend({name:h(),arguments:pe(h(),ue()).optional()}),wo=be.extend({method:T("tools/call"),params:Mk}),Lk=et.extend({method:T("notifications/tools/list_changed"),params:Qe.optional()}),s4=z({autoRefresh:ve().default(!0),debounceMs:ne().int().nonnegative().default(300)}),zo=Ee(["debug","info","notice","warning","error","critical","alert","emergency"]),qk=He.extend({level:zo}),dd=be.extend({method:T("logging/setLevel"),params:qk}),Fk=Qe.extend({level:zo,logger:h().optional(),data:ue()}),Vk=et.extend({method:T("notifications/message"),params:Fk}),Jk=z({name:h().optional()}),Kk=z({hints:H(Jk).optional(),costPriority:ne().min(0).max(1).optional(),speedPriority:ne().min(0).max(1).optional(),intelligencePriority:ne().min(0).max(1).optional()}),Wk=z({mode:Ee(["auto","required","none"]).optional()}),Gk=z({type:T("tool_result"),toolUseId:h().describe("The unique identifier for the corresponding tool call."),content:H(ud).default([]),structuredContent:z({}).loose().optional(),isError:ve().optional(),_meta:pe(h(),ue()).optional()}),Hk=ca("type",[ad,sd,cd]),pa=ca("type",[ad,sd,cd,Ok,Gk]),Bk=z({role:So,content:ie([pa,H(pa)]),_meta:pe(h(),ue()).optional()}),Xk=vo.extend({messages:H(Bk),modelPreferences:Kk.optional(),systemPrompt:h().optional(),includeContext:Ee(["none","thisServer","allServers"]).optional(),temperature:ne().optional(),maxTokens:ne().int(),stopSequences:H(h()).optional(),metadata:$e.optional(),tools:H(Eg).optional(),toolChoice:Wk.optional()}),Yk=be.extend({method:T("sampling/createMessage"),params:Xk}),pd=xe.extend({model:h(),stopReason:fe(Ee(["endTurn","stopSequence","maxTokens"]).or(h())),role:So,content:Hk}),fd=xe.extend({model:h(),stopReason:fe(Ee(["endTurn","stopSequence","maxTokens","toolUse"]).or(h())),role:So,content:ie([pa,H(pa)])}),Qk=z({type:T("boolean"),title:h().optional(),description:h().optional(),default:ve().optional()}),eS=z({type:T("string"),title:h().optional(),description:h().optional(),minLength:ne().optional(),maxLength:ne().optional(),format:Ee(["email","uri","date","date-time"]).optional(),default:h().optional()}),tS=z({type:Ee(["number","integer"]),title:h().optional(),description:h().optional(),minimum:ne().optional(),maximum:ne().optional(),default:ne().optional()}),rS=z({type:T("string"),title:h().optional(),description:h().optional(),enum:H(h()),default:h().optional()}),nS=z({type:T("string"),title:h().optional(),description:h().optional(),oneOf:H(z({const:h(),title:h()})),default:h().optional()}),oS=z({type:T("string"),title:h().optional(),description:h().optional(),enum:H(h()),enumNames:H(h()).optional(),default:h().optional()}),iS=ie([rS,nS]),aS=z({type:T("array"),title:h().optional(),description:h().optional(),minItems:ne().optional(),maxItems:ne().optional(),items:z({type:T("string"),enum:H(h())}),default:H(h()).optional()}),sS=z({type:T("array"),title:h().optional(),description:h().optional(),minItems:ne().optional(),maxItems:ne().optional(),items:z({anyOf:H(z({const:h(),title:h()}))}),default:H(h()).optional()}),cS=ie([aS,sS]),uS=ie([oS,iS,cS]),lS=ie([uS,Qk,eS,tS]),dS=vo.extend({mode:T("form").optional(),message:h(),requestedSchema:z({type:T("object"),properties:pe(h(),lS),required:H(h()).optional()})}),pS=vo.extend({mode:T("url"),message:h(),elicitationId:h(),url:h().url()}),fS=ie([dS,pS]),mS=be.extend({method:T("elicitation/create"),params:fS}),hS=Qe.extend({elicitationId:h()}),gS=et.extend({method:T("notifications/elicitation/complete"),params:hS}),za=xe.extend({action:Ee(["accept","decline","cancel"]),content:da(t=>t===null?void 0:t,pe(h(),ie([h(),ne(),ve(),H(h())])).optional())}),vS=z({type:T("ref/resource"),uri:h()});var _S=z({type:T("ref/prompt"),name:h()}),yS=He.extend({ref:ie([_S,vS]),argument:z({name:h(),value:h()}),context:z({arguments:pe(h(),h()).optional()}).optional()}),$S=be.extend({method:T("completion/complete"),params:yS});var bS=xe.extend({completion:Ie({values:H(h()).max(100),total:fe(ne().int()),hasMore:fe(ve())})}),xS=z({uri:h().startsWith("file://"),name:h().optional(),_meta:pe(h(),ue()).optional()}),kS=be.extend({method:T("roots/list"),params:He.optional()}),md=xe.extend({roots:H(xS)}),SS=et.extend({method:T("notifications/roots/list_changed"),params:Qe.optional()}),c4=ie([va,rd,$S,dd,Pk,Ik,dk,fk,gk,$k,xk,wo,ld,ya,ba,xa,Sa]),u4=ie([ga,_a,nd,SS,ko]),l4=ie([ha,pd,fd,za,md,$a,ka,Xr]),d4=ie([va,Yk,mS,kS,ya,ba,xa,Sa]),p4=ie([ga,_a,Vk,Sk,_k,Lk,Zk,ko,gS]),f4=ie([ha,ok,bS,Rk,Ek,pk,mk,vk,wa,Ck,$a,ka,Xr]),J=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===Y.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Bl(o.elicitations,r)}return new t(e,r,n)}},Bl=class extends J{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(Y.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Xt(t){return t==="completed"||t==="failed"||t==="cancelled"}var W4=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function hd(t){let r=Bi(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=ph(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function gd(t,e){let r=Ht(t,e);if(!r.success)throw r.error;return r.data}var PS=6e4,Ia=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ga,r=>{this._oncancel(r)}),this.setNotificationHandler(_a,r=>{this._onprogress(r)}),this.setRequestHandler(va,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(ya,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new J(Y.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(ba,async(r,n)=>{let o=async()=>{let i=r.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(i,n.sessionId);){if(s.type==="response"||s.type==="error"){let c=s.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),s.type==="response")l(c);else{let d=c,m=new J(d.error.code,d.error.message,d.error.data);l(m)}else{let d=s.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(s.message,{relatedRequestId:n.requestId})}}let a=await this._taskStore.getTask(i,n.sessionId);if(!a)throw new J(Y.InvalidParams,`Task not found: ${i}`);if(!Xt(a.status))return await this._waitForTaskUpdate(i,n.signal),await o();if(Xt(a.status)){let s=await this._taskStore.getTaskResult(i,n.sessionId);return this._clearTaskQueue(i),{...s,_meta:{...s._meta,[Bt]:{taskId:i}}}}return await o()};return await o()}),this.setRequestHandler(xa,async(r,n)=>{try{let{tasks:o,nextCursor:i}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:i,_meta:{}}}catch(o){throw new J(Y.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Sa,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new J(Y.InvalidParams,`Task not found: ${r.params.taskId}`);if(Xt(o.status))throw new J(Y.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new J(Y.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof J?o:new J(Y.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),J.fromError(Y.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=i=>{n?.(i),this._onerror(i)};let o=this._transport?.onmessage;this._transport.onmessage=(i,a)=>{o?.(i,a),_o(i)||$g(i)?this._onresponse(i):Ql(i)?this._onrequest(i,a):yg(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let r=J.fromError(Y.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,i=e.params?._meta?.[Bt]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:Y.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(e.id,a);let s=gg(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:a.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{let d={relatedRequestId:e.id};i&&(d.relatedTask={taskId:i}),await this.notification(l,d)},sendRequest:async(l,d,m)=>{let f={...m,relatedRequestId:e.id};i&&!f.relatedTask&&(f.relatedTask={taskId:i});let g=f.relatedTask?.taskId??i;return g&&c&&await c.updateTaskStatus(g,"input_required"),await this.request(l,d,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:i,taskStore:c,taskRequestedTtl:s?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(a.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(a.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:Y.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),i=this._progressHandlers.get(o);if(!i){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let a=this._responseHandlers.get(o),s=this._timeoutInfo.get(o);if(s&&a&&s.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),a(c);return}i(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),_o(e))n(e);else{let a=new J(e.error.code,e.error.message,e.error.data);n(a)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let i=!1;if(_o(e)&&e.result&&typeof e.result=="object"){let a=e.result;if(a.task&&typeof a.task=="object"){let s=a.task;typeof s.taskId=="string"&&(i=!0,this._taskProgressTokens.set(s.taskId,r))}}if(i||this._progressHandlers.delete(r),_o(e))o(e);else{let a=J.fromError(e.error.code,e.error.message,e.error.data);o(a)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(a){yield{type:"error",error:a instanceof J?a:new J(Y.InternalError,String(a))}}return}let i;try{let a=await this.request(e,Xr,n);if(a.task)i=a.task.taskId,yield{type:"taskCreated",task:a.task};else throw new J(Y.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:i},n);if(yield{type:"taskStatus",task:s},Xt(s.status)){s.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)}:s.status==="failed"?yield{type:"error",error:new J(Y.InternalError,`Task ${i} failed`)}:s.status==="cancelled"&&(yield{type:"error",error:new J(Y.InternalError,`Task ${i} was cancelled`)});return}if(s.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)};return}let c=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(a){yield{type:"error",error:a instanceof J?a:new J(Y.InternalError,String(a))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:i,onresumptiontoken:a,task:s,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=O=>{l(O)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),s&&this.assertTaskCapability(e.method)}catch(O){d(O);return}n?.signal?.throwIfAborted();let m=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:m};n?.onprogress&&(this._progressHandlers.set(m,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:m}}),s&&(f.params={...f.params,task:s}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[Bt]:c}});let g=O=>{this._responseHandlers.delete(m),this._progressHandlers.delete(m),this._cleanupTimeout(m),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:m,reason:String(O)}},{relatedRequestId:o,resumptionToken:i,onresumptiontoken:a}).catch(U=>this._onerror(new Error(`Failed to send cancellation: ${U}`)));let I=O instanceof J?O:new J(Y.RequestTimeout,String(O));l(I)};this._responseHandlers.set(m,O=>{if(!n?.signal?.aborted){if(O instanceof Error)return l(O);try{let I=Ht(r,O.result);I.success?u(I.data):l(I.error)}catch(I){l(I)}}}),n?.signal?.addEventListener("abort",()=>{g(n?.signal?.reason)});let v=n?.timeout??PS,$=()=>g(J.fromError(Y.RequestTimeout,"Request timed out",{timeout:v}));this._setupTimeout(m,v,n?.maxTotalTimeout,$,n?.resetTimeoutOnProgress??!1);let x=c?.taskId;if(x){let O=I=>{let U=this._responseHandlers.get(m);U?U(I):this._onerror(new Error(`Response handler missing for side-channeled request ${m}`))};this._requestResolvers.set(m,O),this._enqueueTaskMessage(x,{type:"request",message:f,timestamp:Date.now()}).catch(I=>{this._cleanupTimeout(m),l(I)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:a}).catch(O=>{this._cleanupTimeout(m),l(O)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},$a,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},ka,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},kg,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let s={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[Bt]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let s={...e,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[Bt]:r.relatedTask}}}),this._transport?.send(s,r).catch(c=>this._onerror(c))});return}let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Bt]:r.relatedTask}}}),await this._transport.send(a,r)}setRequestHandler(e,r){let n=hd(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let a=gd(e,o);return Promise.resolve(r(a,i))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=hd(e);this._notificationHandlers.set(n,o=>{let i=gd(e,o);return Promise.resolve(r(i))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&Ql(o.message)){let i=o.message.id,a=this._requestResolvers.get(i);a?(a(new J(Y.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,i)=>{if(r.aborted){i(new J(Y.InvalidRequest,"Request cancelled"));return}let a=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(a),i(new J(Y.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let i=await n.getTask(o,r);if(!i)throw new J(Y.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(o,i,a)=>{await n.storeTaskResult(o,i,a,r);let s=await n.getTask(o,r);if(s){let c=ko.parse({method:"notifications/tasks/status",params:s});await this.notification(c),Xt(s.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,i,a)=>{let s=await n.getTask(o,r);if(!s)throw new J(Y.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Xt(s.status))throw new J(Y.InvalidParams,`Cannot update task "${o}" from terminal status "${s.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,i,a,r);let c=await n.getTask(o,r);if(c){let u=ko.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Xt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Tg(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Pg(t,e){let r={...t};for(let n in e){let o=n,i=e[o];if(i===void 0)continue;let a=r[o];Tg(a)&&Tg(i)?r[o]={...a,...i}:r[o]=i}return r}var gy=oi(tf(),1),vy=oi(hy(),1);function $T(){let t=new gy.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,vy.default)(t),t}var ls=class{constructor(e){this._ajv=e??$T()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var ds=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function _y(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function yy(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var ps=class extends Ia{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(zo.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let i=this._loggingLevels.get(o);return i?this.LOG_LEVEL_SEVERITY.get(n)this._oninitialize(n)),this.setNotificationHandler(nd,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(dd,async(n,o)=>{let i=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:a}=n.params,s=zo.safeParse(a);return s.success&&this._loggingLevels.set(i,s.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new ds(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Pg(this._capabilities,e)}setRequestHandler(e,r){let o=Bi(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let i;if(Gr(o)){let s=o;i=s._zod?.def?.value??s.value}else{let s=o;i=s._def?.value??s.value}if(typeof i!="string")throw new Error("Schema method literal must be a string");if(i==="tools/call"){let s=async(c,u)=>{let l=Ht(wo,c);if(!l.success){let g=l.error instanceof Error?l.error.message:String(l.error);throw new J(Y.InvalidParams,`Invalid tools/call request: ${g}`)}let{params:d}=l.data,m=await Promise.resolve(r(c,u));if(d.task){let g=Ht(Xr,m);if(!g.success){let v=g.error instanceof Error?g.error.message:String(g.error);throw new J(Y.InvalidParams,`Invalid task creation result: ${v}`)}return g.data}let f=Ht(wa,m);if(!f.success){let g=f.error instanceof Error?f.error.message:String(f.error);throw new J(Y.InvalidParams,`Invalid tools/call result: ${g}`)}return f.data};return super.setRequestHandler(e,s)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){yy(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&_y(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:fg.includes(r)?r:Xl,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},ha)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],i=o.some(u=>u.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,s=a?Array.isArray(a.content)?a.content:[a.content]:[],c=s.some(u=>u.type==="tool_use");if(i){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(s.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},fd,r):this.request({method:"sampling/createMessage",params:e},pd,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},za,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},i=await this.request({method:"elicitation/create",params:o},za,r);if(i.action==="accept"&&i.content&&o.requestedSchema)try{let s=this._jsonSchemaValidator.getValidator(o.requestedSchema)(i.content);if(!s.valid)throw new J(Y.InvalidParams,`Elicitation response content does not match requested schema: ${s.errorMessage}`)}catch(a){throw a instanceof J?a:new J(Y.InternalError,`Error validating elicitation response: ${a instanceof Error?a.message:String(a)}`)}return i}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},md,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var lf=oi(require("node:process"),1);var fs=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` -`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),bT(r)}clear(){this._buffer=void 0}};function bT(t){return bg.parse(JSON.parse(t))}function $y(t){return JSON.stringify(t)+` -`}var ms=class{constructor(e=lf.default.stdin,r=lf.default.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new fs,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=$y(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};var _s=oi(require("path"),1),wy=require("os");var df={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function by(t){return process.platform==="win32"?Math.round(t*df.WINDOWS_MULTIPLIER):t}var St=require("fs"),hs=require("path"),Sy=require("os");var xy="bugfix,feature,refactor,discovery,decision,change",ky="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var wr=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:(0,hs.join)((0,Sy.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:xy,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:ky,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,St.existsSync)(e)){let a=this.getAllDefaults();try{let s=(0,hs.dirname)(e);(0,St.existsSync)(s)||(0,St.mkdirSync)(s,{recursive:!0}),(0,St.writeFileSync)(e,JSON.stringify(a,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",e)}catch(s){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",e,s)}return a}let r=(0,St.readFileSync)(e,"utf-8"),n=JSON.parse(r),o=n;if(n.env&&typeof n.env=="object"){o=n.env;try{(0,St.writeFileSync)(e,JSON.stringify(o,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",e)}catch(a){console.warn("[SETTINGS] Failed to auto-migrate settings file:",e,a)}}let i={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))o[a]!==void 0&&(i[a]=o[a]);return i}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",e,r),this.getAllDefaults()}}};var NU=_s.default.join((0,wy.homedir)(),".claude","plugins","marketplaces","thedotmack"),DU=by(df.HEALTH_CHECK),gs=null,vs=null;function zy(){if(gs!==null)return gs;let t=_s.default.join(wr.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),e=wr.loadFromFile(t);return gs=parseInt(e.CLAUDE_MEM_WORKER_PORT,10),gs}function Iy(){if(vs!==null)return vs;let t=_s.default.join(wr.get("CLAUDE_MEM_DATA_DIR"),"settings.json");return vs=wr.loadFromFile(t).CLAUDE_MEM_WORKER_HOST,vs}console.log=(...t)=>{ye.error("CONSOLE","Intercepted console output (MCP protocol protection)",void 0,{args:t})};var xT=zy(),kT=Iy(),ni=`http://${kT}:${xT}`,Ey={search:"/api/search",timeline:"/api/timeline"};async function Ty(t,e){ye.debug("SYSTEM","\u2192 Worker API",void 0,{endpoint:t,params:e});try{let r=new URLSearchParams;for(let[a,s]of Object.entries(e))s!=null&&r.append(a,String(s));let n=`${ni}${t}?${r}`,o=await fetch(n);if(!o.ok){let a=await o.text();throw new Error(`Worker API error (${o.status}): ${a}`)}let i=await o.json();return ye.debug("SYSTEM","\u2190 Worker API success",void 0,{endpoint:t}),i}catch(r){return ye.error("SYSTEM","\u2190 Worker API error",{endpoint:t},r),{content:[{type:"text",text:`Error calling Worker API: ${r instanceof Error?r.message:String(r)}`}],isError:!0}}}async function ST(t,e){ye.debug("HTTP","Worker API request (POST)",void 0,{endpoint:t});try{let r=`${ni}${t}`,n=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok){let i=await n.text();throw new Error(`Worker API error (${n.status}): ${i}`)}let o=await n.json();return ye.debug("HTTP","Worker API success (POST)",void 0,{endpoint:t}),{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}catch(r){return ye.error("HTTP","Worker API error (POST)",{endpoint:t},r),{content:[{type:"text",text:`Error calling Worker API: ${r instanceof Error?r.message:String(r)}`}],isError:!0}}}async function wT(){try{return(await fetch(`${ni}/api/health`)).ok}catch(t){return ye.debug("SYSTEM","Worker health check failed",{},t),!1}}var Py=[{name:"__IMPORTANT",description:`3-LAYER WORKFLOW (ALWAYS FOLLOW): +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let a of t.seen.entries()){let s=a[1];if(e===a[0]){i(a);continue}if(t.external){let u=t.external.registry.get(a[0])?.id;if(e!==a[0]&&u){i(a);continue}}if(t.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&t.reused==="ref"){i(a);continue}}}function Hi(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=a=>{let s=t.seen.get(a);if(s.ref===null)return;let c=s.def??s.schema,u={...c},l=s.ref;if(s.ref=null,l){n(l);let m=t.seen.get(l),f=m.schema;if(f.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(f)):Object.assign(c,f),Object.assign(c,u),a._zod.parent===l)for(let v in c)v==="$ref"||v==="allOf"||v in u||delete c[v];if(f.$ref)for(let v in c)v==="$ref"||v==="allOf"||v in m.def&&JSON.stringify(c[v])===JSON.stringify(m.def[v])&&delete c[v]}let d=a._zod.parent;if(d&&d!==l){n(d);let m=t.seen.get(d);if(m?.schema.$ref&&(c.$ref=m.schema.$ref,m.def))for(let f in c)f==="$ref"||f==="allOf"||f in m.def&&JSON.stringify(c[f])===JSON.stringify(m.def[f])&&delete c[f]}t.override({zodSchema:a,jsonSchema:c,path:s.path??[]})};for(let a of[...t.seen.entries()].reverse())n(a[0]);let o={};if(t.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){let a=t.external.registry.get(e)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=t.external.uri(a)}Object.assign(o,r.def??r.schema);let i=t.external?.defs??{};for(let a of t.seen.entries()){let s=a[1];s.def&&s.defId&&(i[s.defId]=s.def)}t.external||Object.keys(i).length>0&&(t.target==="draft-2020-12"?o.$defs=i:o.definitions=i);try{let a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...e["~standard"],jsonSchema:{input:lo(e,"input",t.processors),output:lo(e,"output",t.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Ze(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return Ze(n.element,r);if(n.type==="set")return Ze(n.valueType,r);if(n.type==="lazy")return Ze(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return Ze(n.innerType,r);if(n.type==="intersection")return Ze(n.left,r)||Ze(n.right,r);if(n.type==="record"||n.type==="map")return Ze(n.keyType,r)||Ze(n.valueType,r);if(n.type==="pipe")return Ze(n.in,r)||Ze(n.out,r);if(n.type==="object"){for(let o in n.shape)if(Ze(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(Ze(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(Ze(o,r))return!0;return!!(n.rest&&Ze(n.rest,r))}return!1}var Om=(t,e={})=>r=>{let n=Wi({...r,processors:e});return de(t,n),Gi(n,t),Hi(n,t)},lo=(t,e,r={})=>n=>{let{libraryOptions:o,target:i}=n??{},a=Wi({...o??{},target:i,io:e,processors:r});return de(t,a),Gi(a,t),Hi(a,t)};var yb={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},jm=(t,e,r,n)=>{let o=r;o.type="string";let{minimum:i,maximum:a,format:s,patterns:c,contentEncoding:u}=t._zod.bag;if(typeof i=="number"&&(o.minLength=i),typeof a=="number"&&(o.maxLength=a),s&&(o.format=yb[s]??s,o.format===""&&delete o.format,s==="time"&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?o.pattern=l[0].source:l.length>1&&(o.allOf=[...l.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Nm=(t,e,r,n)=>{let o=r,{minimum:i,maximum:a,format:s,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=t._zod.bag;typeof s=="string"&&s.includes("int")?o.type="integer":o.type="number",typeof l=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l),typeof i=="number"&&(o.minimum=i,typeof l=="number"&&e.target!=="draft-04"&&(l>=i?delete o.minimum:delete o.exclusiveMinimum)),typeof u=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u),typeof a=="number"&&(o.maximum=a,typeof u=="number"&&e.target!=="draft-04"&&(u<=a?delete o.maximum:delete o.exclusiveMaximum)),typeof c=="number"&&(o.multipleOf=c)},Dm=(t,e,r,n)=>{r.type="boolean"},Rm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Zm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Am=(t,e,r,n)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Um=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Cm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Mm=(t,e,r,n)=>{r.not={}},Lm=(t,e,r,n)=>{},qm=(t,e,r,n)=>{},Fm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Vm=(t,e,r,n)=>{let o=t._zod.def,i=jn(o.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},Jm=(t,e,r,n)=>{let o=t._zod.def,i=[];for(let a of o.values)if(a===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){let a=i[0];r.type=a===null?"null":typeof a,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[a]:r.const=a}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i},Km=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Wm=(t,e,r,n)=>{let o=r,i=t._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},Gm=(t,e,r,n)=>{let o=r,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:s,mime:c}=t._zod.bag;a!==void 0&&(i.minLength=a),s!==void 0&&(i.maxLength=s),c?c.length===1?(i.contentMediaType=c[0],Object.assign(o,i)):(Object.assign(o,i),o.anyOf=c.map(u=>({contentMediaType:u}))):Object.assign(o,i)},Hm=(t,e,r,n)=>{r.type="boolean"},Bm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Xm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Ym=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Qm=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},eh=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},th=(t,e,r,n)=>{let o=r,i=t._zod.def,{minimum:a,maximum:s}=t._zod.bag;typeof a=="number"&&(o.minItems=a),typeof s=="number"&&(o.maxItems=s),o.type="array",o.items=de(i.element,e,{...n,path:[...n.path,"items"]})},rh=(t,e,r,n)=>{let o=r,i=t._zod.def;o.type="object",o.properties={};let a=i.shape;for(let u in a)o.properties[u]=de(a[u],e,{...n,path:[...n.path,"properties",u]});let s=new Set(Object.keys(a)),c=new Set([...s].filter(u=>{let l=i.shape[u]._zod;return e.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(o.required=Array.from(c)),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=de(i.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(o.additionalProperties=!1)},fl=(t,e,r,n)=>{let o=t._zod.def,i=o.inclusive===!1,a=o.options.map((s,c)=>de(s,e,{...n,path:[...n.path,i?"oneOf":"anyOf",c]}));i?r.oneOf=a:r.anyOf=a},nh=(t,e,r,n)=>{let o=t._zod.def,i=de(o.left,e,{...n,path:[...n.path,"allOf",0]}),a=de(o.right,e,{...n,path:[...n.path,"allOf",1]}),s=u=>"allOf"in u&&Object.keys(u).length===1,c=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]];r.allOf=c},oh=(t,e,r,n)=>{let o=r,i=t._zod.def;o.type="array";let a=e.target==="draft-2020-12"?"prefixItems":"items",s=e.target==="draft-2020-12"||e.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((m,f)=>de(m,e,{...n,path:[...n.path,a,f]})),u=i.rest?de(i.rest,e,{...n,path:[...n.path,s,...e.target==="openapi-3.0"?[i.items.length]:[]]}):null;e.target==="draft-2020-12"?(o.prefixItems=c,u&&(o.items=u)):e.target==="openapi-3.0"?(o.items={anyOf:c},u&&o.items.anyOf.push(u),o.minItems=c.length,u||(o.maxItems=c.length)):(o.items=c,u&&(o.additionalItems=u));let{minimum:l,maximum:d}=t._zod.bag;typeof l=="number"&&(o.minItems=l),typeof d=="number"&&(o.maxItems=d)},ih=(t,e,r,n)=>{let o=r,i=t._zod.def;o.type="object";let a=i.keyType,c=a._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){let l=de(i.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let d of c)o.patternProperties[d.source]=l}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(o.propertyNames=de(i.keyType,e,{...n,path:[...n.path,"propertyNames"]})),o.additionalProperties=de(i.valueType,e,{...n,path:[...n.path,"additionalProperties"]});let u=a._zod.values;if(u){let l=[...u].filter(d=>typeof d=="string"||typeof d=="number");l.length>0&&(o.required=l)}},ah=(t,e,r,n)=>{let o=t._zod.def,i=de(o.innerType,e,n),a=e.seen.get(t);e.target==="openapi-3.0"?(a.ref=o.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},sh=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType},ch=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType,r.default=JSON.parse(JSON.stringify(o.defaultValue))},uh=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},lh=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType;let a;try{a=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},dh=(t,e,r,n)=>{let o=t._zod.def,i=e.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;de(i,e,n);let a=e.seen.get(t);a.ref=i},ph=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType,r.readOnly=!0},fh=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType},ml=(t,e,r,n)=>{let o=t._zod.def;de(o.innerType,e,n);let i=e.seen.get(t);i.ref=o.innerType},mh=(t,e,r,n)=>{let o=t._zod.innerType;de(o,e,n);let i=e.seen.get(t);i.ref=o};function Gr(t){return!!t._zod}function Ht(t,e){return Gr(t)?Fr(t,e):t.safeParse(e)}function Bi(t){if(!t)return;let e;if(Gr(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function _h(t){if(Gr(t)){let i=t._zod?.def;if(i){if(i.value!==void 0)return i.value;if(Array.isArray(i.values)&&i.values.length>0)return i.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var po={};vn(po,{ZodAny:()=>Zh,ZodArray:()=>Mh,ZodBase64:()=>Ul,ZodBase64URL:()=>Cl,ZodBigInt:()=>ia,ZodBigIntFormat:()=>ql,ZodBoolean:()=>oa,ZodCIDRv4:()=>Zl,ZodCIDRv6:()=>Al,ZodCUID:()=>Tl,ZodCUID2:()=>Pl,ZodCatch:()=>ag,ZodCodec:()=>Hl,ZodCustom:()=>la,ZodCustomStringFormat:()=>mo,ZodDate:()=>Vl,ZodDefault:()=>eg,ZodDiscriminatedUnion:()=>qh,ZodE164:()=>Ml,ZodEmail:()=>zl,ZodEmoji:()=>Il,ZodEnum:()=>fo,ZodExactOptional:()=>Xh,ZodFile:()=>Hh,ZodFunction:()=>hg,ZodGUID:()=>Yi,ZodIPv4:()=>Dl,ZodIPv6:()=>Rl,ZodIntersection:()=>Fh,ZodJWT:()=>Ll,ZodKSUID:()=>Nl,ZodLazy:()=>pg,ZodLiteral:()=>Gh,ZodMAC:()=>jh,ZodMap:()=>Kh,ZodNaN:()=>cg,ZodNanoID:()=>El,ZodNever:()=>Uh,ZodNonOptional:()=>Wl,ZodNull:()=>Rh,ZodNullable:()=>Qh,ZodNumber:()=>na,ZodNumberFormat:()=>Hr,ZodObject:()=>aa,ZodOptional:()=>Kl,ZodPipe:()=>Gl,ZodPrefault:()=>rg,ZodPromise:()=>mg,ZodReadonly:()=>ug,ZodRecord:()=>ua,ZodSet:()=>Wh,ZodString:()=>ta,ZodStringFormat:()=>ce,ZodSuccess:()=>ig,ZodSymbol:()=>Nh,ZodTemplateLiteral:()=>dg,ZodTransform:()=>Bh,ZodTuple:()=>Vh,ZodType:()=>F,ZodULID:()=>Ol,ZodURL:()=>ra,ZodUUID:()=>Dt,ZodUndefined:()=>Dh,ZodUnion:()=>sa,ZodUnknown:()=>Ah,ZodVoid:()=>Ch,ZodXID:()=>jl,ZodXor:()=>Lh,_ZodString:()=>wl,_default:()=>tg,_function:()=>Ax,any:()=>yx,array:()=>H,base64:()=>rx,base64url:()=>nx,bigint:()=>mx,boolean:()=>ve,catch:()=>sg,check:()=>Ux,cidrv4:()=>ex,cidrv6:()=>tx,codec:()=>Dx,cuid:()=>Kb,cuid2:()=>Wb,custom:()=>Bl,date:()=>bx,describe:()=>Cx,discriminatedUnion:()=>ca,e164:()=>ox,email:()=>Zb,emoji:()=>Vb,enum:()=>Ee,exactOptional:()=>Yh,file:()=>Px,float32:()=>lx,float64:()=>dx,function:()=>Ax,guid:()=>Ab,hash:()=>ux,hex:()=>cx,hostname:()=>sx,httpUrl:()=>Fb,instanceof:()=>Lx,int:()=>Sl,int32:()=>px,int64:()=>hx,intersection:()=>go,ipv4:()=>Xb,ipv6:()=>Qb,json:()=>Fx,jwt:()=>ix,keyof:()=>xx,ksuid:()=>Bb,lazy:()=>fg,literal:()=>T,looseObject:()=>Ie,looseRecord:()=>zx,mac:()=>Yb,map:()=>Ix,meta:()=>Mx,nan:()=>Nx,nanoid:()=>Jb,nativeEnum:()=>Tx,never:()=>Fl,nonoptional:()=>og,null:()=>ho,nullable:()=>Qi,nullish:()=>Ox,number:()=>ne,object:()=>z,optional:()=>fe,partialRecord:()=>wx,pipe:()=>ea,prefault:()=>ng,preprocess:()=>da,promise:()=>Zx,readonly:()=>lg,record:()=>pe,refine:()=>gg,set:()=>Ex,strictObject:()=>kx,string:()=>h,stringFormat:()=>ax,stringbool:()=>qx,success:()=>jx,superRefine:()=>vg,symbol:()=>vx,templateLiteral:()=>Rx,transform:()=>Jl,tuple:()=>Jh,uint32:()=>fx,uint64:()=>gx,ulid:()=>Gb,undefined:()=>_x,union:()=>ie,unknown:()=>ue,url:()=>qb,uuid:()=>Ub,uuidv4:()=>Cb,uuidv6:()=>Mb,uuidv7:()=>Lb,void:()=>$x,xid:()=>Hb,xor:()=>Sx});var Xi={};vn(Xi,{endsWith:()=>oo,gt:()=>jt,gte:()=>Re,includes:()=>ro,length:()=>Kr,lowercase:()=>eo,lt:()=>Ot,lte:()=>We,maxLength:()=>Jr,maxSize:()=>fr,mime:()=>io,minLength:()=>Gt,minSize:()=>Nt,multipleOf:()=>pr,negative:()=>rl,nonnegative:()=>ol,nonpositive:()=>nl,normalize:()=>ao,overwrite:()=>vt,positive:()=>tl,property:()=>il,regex:()=>Qn,size:()=>Vr,slugify:()=>Ki,startsWith:()=>no,toLowerCase:()=>co,toUpperCase:()=>uo,trim:()=>so,uppercase:()=>to});var mr={};vn(mr,{ZodISODate:()=>_l,ZodISODateTime:()=>gl,ZodISODuration:()=>xl,ZodISOTime:()=>$l,date:()=>yl,datetime:()=>vl,duration:()=>kl,time:()=>bl});var gl=p("ZodISODateTime",(t,e)=>{Pc.init(t,e),ce.init(t,e)});function vl(t){return ju(gl,t)}var _l=p("ZodISODate",(t,e)=>{Oc.init(t,e),ce.init(t,e)});function yl(t){return Nu(_l,t)}var $l=p("ZodISOTime",(t,e)=>{jc.init(t,e),ce.init(t,e)});function bl(t){return Du($l,t)}var xl=p("ZodISODuration",(t,e)=>{Nc.init(t,e),ce.init(t,e)});function kl(t){return Ru(xl,t)}var yh=(t,e)=>{di.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>fi(t,r)},flatten:{value:r=>pi(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,Mr,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,Mr,2)}},isEmpty:{get(){return t.issues.length===0}}})},TD=p("ZodError",yh),Ge=p("ZodError",yh,{Parent:Error});var $h=Un(Ge),bh=Mn(Ge),xh=qn(Ge),kh=Fn(Ge),Sh=Df(Ge),wh=Rf(Ge),zh=Zf(Ge),Ih=Af(Ge),Eh=Uf(Ge),Th=Cf(Ge),Ph=Mf(Ge),Oh=Lf(Ge);var F=p("ZodType",(t,e)=>(M.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:lo(t,"input"),output:lo(t,"output")}}),t.toJSONSchema=Om(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(y.mergeDefs(e,{checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),t.with=t.check,t.clone=(r,n)=>Ne(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>$h(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>xh(t,r,n),t.parseAsync=async(r,n)=>bh(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>kh(t,r,n),t.spa=t.safeParseAsync,t.encode=(r,n)=>Sh(t,r,n),t.decode=(r,n)=>wh(t,r,n),t.encodeAsync=async(r,n)=>zh(t,r,n),t.decodeAsync=async(r,n)=>Ih(t,r,n),t.safeEncode=(r,n)=>Eh(t,r,n),t.safeDecode=(r,n)=>Th(t,r,n),t.safeEncodeAsync=async(r,n)=>Ph(t,r,n),t.safeDecodeAsync=async(r,n)=>Oh(t,r,n),t.refine=(r,n)=>t.check(gg(r,n)),t.superRefine=r=>t.check(vg(r)),t.overwrite=r=>t.check(vt(r)),t.optional=()=>fe(t),t.exactOptional=()=>Yh(t),t.nullable=()=>Qi(t),t.nullish=()=>fe(Qi(t)),t.nonoptional=r=>og(t,r),t.array=()=>H(t),t.or=r=>ie([t,r]),t.and=r=>go(t,r),t.transform=r=>ea(t,Jl(r)),t.default=r=>tg(t,r),t.prefault=r=>ng(t,r),t.catch=r=>sg(t,r),t.pipe=r=>ea(t,r),t.readonly=()=>lg(t),t.describe=r=>{let n=t.clone();return De.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return De.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return De.get(t);let n=t.clone();return De.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=r=>r(t),t)),wl=p("_ZodString",(t,e)=>{dr.init(t,e),F.init(t,e),t._zod.processJSONSchema=(n,o,i)=>jm(t,n,o,i);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Qn(...n)),t.includes=(...n)=>t.check(ro(...n)),t.startsWith=(...n)=>t.check(no(...n)),t.endsWith=(...n)=>t.check(oo(...n)),t.min=(...n)=>t.check(Gt(...n)),t.max=(...n)=>t.check(Jr(...n)),t.length=(...n)=>t.check(Kr(...n)),t.nonempty=(...n)=>t.check(Gt(1,...n)),t.lowercase=n=>t.check(eo(n)),t.uppercase=n=>t.check(to(n)),t.trim=()=>t.check(so()),t.normalize=(...n)=>t.check(ao(...n)),t.toLowerCase=()=>t.check(co()),t.toUpperCase=()=>t.check(uo()),t.slugify=()=>t.check(Ki())}),ta=p("ZodString",(t,e)=>{dr.init(t,e),wl.init(t,e),t.email=r=>t.check(zi(zl,r)),t.url=r=>t.check(Yn(ra,r)),t.jwt=r=>t.check(Ji(Ll,r)),t.emoji=r=>t.check(Oi(Il,r)),t.guid=r=>t.check(Xn(Yi,r)),t.uuid=r=>t.check(Ii(Dt,r)),t.uuidv4=r=>t.check(Ei(Dt,r)),t.uuidv6=r=>t.check(Ti(Dt,r)),t.uuidv7=r=>t.check(Pi(Dt,r)),t.nanoid=r=>t.check(ji(El,r)),t.guid=r=>t.check(Xn(Yi,r)),t.cuid=r=>t.check(Ni(Tl,r)),t.cuid2=r=>t.check(Di(Pl,r)),t.ulid=r=>t.check(Ri(Ol,r)),t.base64=r=>t.check(qi(Ul,r)),t.base64url=r=>t.check(Fi(Cl,r)),t.xid=r=>t.check(Zi(jl,r)),t.ksuid=r=>t.check(Ai(Nl,r)),t.ipv4=r=>t.check(Ui(Dl,r)),t.ipv6=r=>t.check(Ci(Rl,r)),t.cidrv4=r=>t.check(Mi(Zl,r)),t.cidrv6=r=>t.check(Li(Al,r)),t.e164=r=>t.check(Vi(Ml,r)),t.datetime=r=>t.check(vl(r)),t.date=r=>t.check(yl(r)),t.time=r=>t.check(bl(r)),t.duration=r=>t.check(kl(r))});function h(t){return Pu(ta,t)}var ce=p("ZodStringFormat",(t,e)=>{oe.init(t,e),wl.init(t,e)}),zl=p("ZodEmail",(t,e)=>{bc.init(t,e),ce.init(t,e)});function Zb(t){return zi(zl,t)}var Yi=p("ZodGUID",(t,e)=>{yc.init(t,e),ce.init(t,e)});function Ab(t){return Xn(Yi,t)}var Dt=p("ZodUUID",(t,e)=>{$c.init(t,e),ce.init(t,e)});function Ub(t){return Ii(Dt,t)}function Cb(t){return Ei(Dt,t)}function Mb(t){return Ti(Dt,t)}function Lb(t){return Pi(Dt,t)}var ra=p("ZodURL",(t,e)=>{xc.init(t,e),ce.init(t,e)});function qb(t){return Yn(ra,t)}function Fb(t){return Yn(ra,{protocol:/^https?$/,hostname:Ye.domain,...y.normalizeParams(t)})}var Il=p("ZodEmoji",(t,e)=>{kc.init(t,e),ce.init(t,e)});function Vb(t){return Oi(Il,t)}var El=p("ZodNanoID",(t,e)=>{Sc.init(t,e),ce.init(t,e)});function Jb(t){return ji(El,t)}var Tl=p("ZodCUID",(t,e)=>{wc.init(t,e),ce.init(t,e)});function Kb(t){return Ni(Tl,t)}var Pl=p("ZodCUID2",(t,e)=>{zc.init(t,e),ce.init(t,e)});function Wb(t){return Di(Pl,t)}var Ol=p("ZodULID",(t,e)=>{Ic.init(t,e),ce.init(t,e)});function Gb(t){return Ri(Ol,t)}var jl=p("ZodXID",(t,e)=>{Ec.init(t,e),ce.init(t,e)});function Hb(t){return Zi(jl,t)}var Nl=p("ZodKSUID",(t,e)=>{Tc.init(t,e),ce.init(t,e)});function Bb(t){return Ai(Nl,t)}var Dl=p("ZodIPv4",(t,e)=>{Dc.init(t,e),ce.init(t,e)});function Xb(t){return Ui(Dl,t)}var jh=p("ZodMAC",(t,e)=>{Zc.init(t,e),ce.init(t,e)});function Yb(t){return Ou(jh,t)}var Rl=p("ZodIPv6",(t,e)=>{Rc.init(t,e),ce.init(t,e)});function Qb(t){return Ci(Rl,t)}var Zl=p("ZodCIDRv4",(t,e)=>{Ac.init(t,e),ce.init(t,e)});function ex(t){return Mi(Zl,t)}var Al=p("ZodCIDRv6",(t,e)=>{Uc.init(t,e),ce.init(t,e)});function tx(t){return Li(Al,t)}var Ul=p("ZodBase64",(t,e)=>{Cc.init(t,e),ce.init(t,e)});function rx(t){return qi(Ul,t)}var Cl=p("ZodBase64URL",(t,e)=>{Mc.init(t,e),ce.init(t,e)});function nx(t){return Fi(Cl,t)}var Ml=p("ZodE164",(t,e)=>{Lc.init(t,e),ce.init(t,e)});function ox(t){return Vi(Ml,t)}var Ll=p("ZodJWT",(t,e)=>{qc.init(t,e),ce.init(t,e)});function ix(t){return Ji(Ll,t)}var mo=p("ZodCustomStringFormat",(t,e)=>{Fc.init(t,e),ce.init(t,e)});function ax(t,e,r={}){return Wr(mo,t,e,r)}function sx(t){return Wr(mo,"hostname",Ye.hostname,t)}function cx(t){return Wr(mo,"hex",Ye.hex,t)}function ux(t,e){let r=e?.enc??"hex",n=`${t}_${r}`,o=Ye[n];if(!o)throw new Error(`Unrecognized hash format: ${n}`);return Wr(mo,n,o,e)}var na=p("ZodNumber",(t,e)=>{xi.init(t,e),F.init(t,e),t._zod.processJSONSchema=(n,o,i)=>Nm(t,n,o,i),t.gt=(n,o)=>t.check(jt(n,o)),t.gte=(n,o)=>t.check(Re(n,o)),t.min=(n,o)=>t.check(Re(n,o)),t.lt=(n,o)=>t.check(Ot(n,o)),t.lte=(n,o)=>t.check(We(n,o)),t.max=(n,o)=>t.check(We(n,o)),t.int=n=>t.check(Sl(n)),t.safe=n=>t.check(Sl(n)),t.positive=n=>t.check(jt(0,n)),t.nonnegative=n=>t.check(Re(0,n)),t.negative=n=>t.check(Ot(0,n)),t.nonpositive=n=>t.check(We(0,n)),t.multipleOf=(n,o)=>t.check(pr(n,o)),t.step=(n,o)=>t.check(pr(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function ne(t){return Zu(na,t)}var Hr=p("ZodNumberFormat",(t,e)=>{Vc.init(t,e),na.init(t,e)});function Sl(t){return Au(Hr,t)}function lx(t){return Uu(Hr,t)}function dx(t){return Cu(Hr,t)}function px(t){return Mu(Hr,t)}function fx(t){return Lu(Hr,t)}var oa=p("ZodBoolean",(t,e)=>{Gn.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Dm(t,r,n,o)});function ve(t){return qu(oa,t)}var ia=p("ZodBigInt",(t,e)=>{ki.init(t,e),F.init(t,e),t._zod.processJSONSchema=(n,o,i)=>Rm(t,n,o,i),t.gte=(n,o)=>t.check(Re(n,o)),t.min=(n,o)=>t.check(Re(n,o)),t.gt=(n,o)=>t.check(jt(n,o)),t.gte=(n,o)=>t.check(Re(n,o)),t.min=(n,o)=>t.check(Re(n,o)),t.lt=(n,o)=>t.check(Ot(n,o)),t.lte=(n,o)=>t.check(We(n,o)),t.max=(n,o)=>t.check(We(n,o)),t.positive=n=>t.check(jt(BigInt(0),n)),t.negative=n=>t.check(Ot(BigInt(0),n)),t.nonpositive=n=>t.check(We(BigInt(0),n)),t.nonnegative=n=>t.check(Re(BigInt(0),n)),t.multipleOf=(n,o)=>t.check(pr(n,o));let r=t._zod.bag;t.minValue=r.minimum??null,t.maxValue=r.maximum??null,t.format=r.format??null});function mx(t){return Fu(ia,t)}var ql=p("ZodBigIntFormat",(t,e)=>{Jc.init(t,e),ia.init(t,e)});function hx(t){return Vu(ql,t)}function gx(t){return Ju(ql,t)}var Nh=p("ZodSymbol",(t,e)=>{Kc.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Zm(t,r,n,o)});function vx(t){return Ku(Nh,t)}var Dh=p("ZodUndefined",(t,e)=>{Wc.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Um(t,r,n,o)});function _x(t){return Wu(Dh,t)}var Rh=p("ZodNull",(t,e)=>{Gc.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Am(t,r,n,o)});function ho(t){return Gu(Rh,t)}var Zh=p("ZodAny",(t,e)=>{Hc.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Lm(t,r,n,o)});function yx(){return Hu(Zh)}var Ah=p("ZodUnknown",(t,e)=>{Bc.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>qm(t,r,n,o)});function ue(){return Bu(Ah)}var Uh=p("ZodNever",(t,e)=>{Xc.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Mm(t,r,n,o)});function Fl(t){return Xu(Uh,t)}var Ch=p("ZodVoid",(t,e)=>{Yc.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Cm(t,r,n,o)});function $x(t){return Yu(Ch,t)}var Vl=p("ZodDate",(t,e)=>{Qc.init(t,e),F.init(t,e),t._zod.processJSONSchema=(n,o,i)=>Fm(t,n,o,i),t.min=(n,o)=>t.check(Re(n,o)),t.max=(n,o)=>t.check(We(n,o));let r=t._zod.bag;t.minDate=r.minimum?new Date(r.minimum):null,t.maxDate=r.maximum?new Date(r.maximum):null});function bx(t){return Qu(Vl,t)}var Mh=p("ZodArray",(t,e)=>{eu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>th(t,r,n,o),t.element=e.element,t.min=(r,n)=>t.check(Gt(r,n)),t.nonempty=r=>t.check(Gt(1,r)),t.max=(r,n)=>t.check(Jr(r,n)),t.length=(r,n)=>t.check(Kr(r,n)),t.unwrap=()=>t.element});function H(t,e){return Pm(Mh,t,e)}function xx(t){let e=t._zod.def.shape;return Ee(Object.keys(e))}var aa=p("ZodObject",(t,e)=>{Em.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>rh(t,r,n,o),y.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Ee(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ue()}),t.loose=()=>t.clone({...t._zod.def,catchall:ue()}),t.strict=()=>t.clone({...t._zod.def,catchall:Fl()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>y.extend(t,r),t.safeExtend=r=>y.safeExtend(t,r),t.merge=r=>y.merge(t,r),t.pick=r=>y.pick(t,r),t.omit=r=>y.omit(t,r),t.partial=(...r)=>y.partial(Kl,t,r[0]),t.required=(...r)=>y.required(Wl,t,r[0])});function z(t,e){let r={type:"object",shape:t??{},...y.normalizeParams(e)};return new aa(r)}function kx(t,e){return new aa({type:"object",shape:t,catchall:Fl(),...y.normalizeParams(e)})}function Ie(t,e){return new aa({type:"object",shape:t,catchall:ue(),...y.normalizeParams(e)})}var sa=p("ZodUnion",(t,e)=>{Hn.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>fl(t,r,n,o),t.options=e.options});function ie(t,e){return new sa({type:"union",options:t,...y.normalizeParams(e)})}var Lh=p("ZodXor",(t,e)=>{sa.init(t,e),tu.init(t,e),t._zod.processJSONSchema=(r,n,o)=>fl(t,r,n,o),t.options=e.options});function Sx(t,e){return new Lh({type:"union",options:t,inclusive:!1,...y.normalizeParams(e)})}var qh=p("ZodDiscriminatedUnion",(t,e)=>{sa.init(t,e),ru.init(t,e)});function ca(t,e,r){return new qh({type:"union",options:e,discriminator:t,...y.normalizeParams(r)})}var Fh=p("ZodIntersection",(t,e)=>{nu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>nh(t,r,n,o)});function go(t,e){return new Fh({type:"intersection",left:t,right:e})}var Vh=p("ZodTuple",(t,e)=>{Si.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>oh(t,r,n,o),t.rest=r=>t.clone({...t._zod.def,rest:r})});function Jh(t,e,r){let n=e instanceof M,o=n?r:e,i=n?e:null;return new Vh({type:"tuple",items:t,rest:i,...y.normalizeParams(o)})}var ua=p("ZodRecord",(t,e)=>{ou.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ih(t,r,n,o),t.keyType=e.keyType,t.valueType=e.valueType});function pe(t,e,r){return new ua({type:"record",keyType:t,valueType:e,...y.normalizeParams(r)})}function wx(t,e,r){let n=Ne(t);return n._zod.values=void 0,new ua({type:"record",keyType:n,valueType:e,...y.normalizeParams(r)})}function zx(t,e,r){return new ua({type:"record",keyType:t,valueType:e,mode:"loose",...y.normalizeParams(r)})}var Kh=p("ZodMap",(t,e)=>{iu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Qm(t,r,n,o),t.keyType=e.keyType,t.valueType=e.valueType,t.min=(...r)=>t.check(Nt(...r)),t.nonempty=r=>t.check(Nt(1,r)),t.max=(...r)=>t.check(fr(...r)),t.size=(...r)=>t.check(Vr(...r))});function Ix(t,e,r){return new Kh({type:"map",keyType:t,valueType:e,...y.normalizeParams(r)})}var Wh=p("ZodSet",(t,e)=>{au.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>eh(t,r,n,o),t.min=(...r)=>t.check(Nt(...r)),t.nonempty=r=>t.check(Nt(1,r)),t.max=(...r)=>t.check(fr(...r)),t.size=(...r)=>t.check(Vr(...r))});function Ex(t,e){return new Wh({type:"set",valueType:t,...y.normalizeParams(e)})}var fo=p("ZodEnum",(t,e)=>{su.init(t,e),F.init(t,e),t._zod.processJSONSchema=(n,o,i)=>Vm(t,n,o,i),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let i={};for(let a of n)if(r.has(a))i[a]=e.entries[a];else throw new Error(`Key ${a} not found in enum`);return new fo({...e,checks:[],...y.normalizeParams(o),entries:i})},t.exclude=(n,o)=>{let i={...e.entries};for(let a of n)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new fo({...e,checks:[],...y.normalizeParams(o),entries:i})}});function Ee(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new fo({type:"enum",entries:r,...y.normalizeParams(e)})}function Tx(t,e){return new fo({type:"enum",entries:t,...y.normalizeParams(e)})}var Gh=p("ZodLiteral",(t,e)=>{cu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Jm(t,r,n,o),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function T(t,e){return new Gh({type:"literal",values:Array.isArray(t)?t:[t],...y.normalizeParams(e)})}var Hh=p("ZodFile",(t,e)=>{uu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Gm(t,r,n,o),t.min=(r,n)=>t.check(Nt(r,n)),t.max=(r,n)=>t.check(fr(r,n)),t.mime=(r,n)=>t.check(io(Array.isArray(r)?r:[r],n))});function Px(t){return al(Hh,t)}var Bh=p("ZodTransform",(t,e)=>{lu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Ym(t,r,n,o),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new cr(t.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(y.issue(i,r.value,e));else{let a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=t),r.issues.push(y.issue(a))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function Jl(t){return new Bh({type:"transform",transform:t})}var Kl=p("ZodOptional",(t,e)=>{wi.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ml(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function fe(t){return new Kl({type:"optional",innerType:t})}var Xh=p("ZodExactOptional",(t,e)=>{du.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ml(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function Yh(t){return new Xh({type:"optional",innerType:t})}var Qh=p("ZodNullable",(t,e)=>{pu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ah(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function Qi(t){return new Qh({type:"nullable",innerType:t})}function Ox(t){return fe(Qi(t))}var eg=p("ZodDefault",(t,e)=>{fu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ch(t,r,n,o),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function tg(t,e){return new eg({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():y.shallowClone(e)}})}var rg=p("ZodPrefault",(t,e)=>{mu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>uh(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function ng(t,e){return new rg({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():y.shallowClone(e)}})}var Wl=p("ZodNonOptional",(t,e)=>{hu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>sh(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function og(t,e){return new Wl({type:"nonoptional",innerType:t,...y.normalizeParams(e)})}var ig=p("ZodSuccess",(t,e)=>{gu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Hm(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function jx(t){return new ig({type:"success",innerType:t})}var ag=p("ZodCatch",(t,e)=>{vu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>lh(t,r,n,o),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function sg(t,e){return new ag({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var cg=p("ZodNaN",(t,e)=>{_u.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Km(t,r,n,o)});function Nx(t){return el(cg,t)}var Gl=p("ZodPipe",(t,e)=>{yu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>dh(t,r,n,o),t.in=e.in,t.out=e.out});function ea(t,e){return new Gl({type:"pipe",in:t,out:e})}var Hl=p("ZodCodec",(t,e)=>{Gl.init(t,e),Bn.init(t,e)});function Dx(t,e,r){return new Hl({type:"pipe",in:t,out:e,transform:r.decode,reverseTransform:r.encode})}var ug=p("ZodReadonly",(t,e)=>{$u.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ph(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function lg(t){return new ug({type:"readonly",innerType:t})}var dg=p("ZodTemplateLiteral",(t,e)=>{bu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Wm(t,r,n,o)});function Rx(t,e){return new dg({type:"template_literal",parts:t,...y.normalizeParams(e)})}var pg=p("ZodLazy",(t,e)=>{Su.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>mh(t,r,n,o),t.unwrap=()=>t._zod.def.getter()});function fg(t){return new pg({type:"lazy",getter:t})}var mg=p("ZodPromise",(t,e)=>{ku.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>fh(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function Zx(t){return new mg({type:"promise",innerType:t})}var hg=p("ZodFunction",(t,e)=>{xu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Xm(t,r,n,o)});function Ax(t){return new hg({type:"function",input:Array.isArray(t?.input)?Jh(t?.input):t?.input??H(ue()),output:t?.output??ue()})}var la=p("ZodCustom",(t,e)=>{wu.init(t,e),F.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Bm(t,r,n,o)});function Ux(t){let e=new se({check:"custom"});return e._zod.check=t,e}function Bl(t,e){return sl(la,t??(()=>!0),e)}function gg(t,e={}){return cl(la,t,e)}function vg(t){return ul(t)}var Cx=ll,Mx=dl;function Lx(t,e={}){let r=new la({type:"custom",check:"custom",fn:n=>n instanceof t,abort:!0,...y.normalizeParams(e)});return r._zod.bag.Class=t,r._zod.check=n=>{n.value instanceof t||n.issues.push({code:"invalid_type",expected:t.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var qx=(...t)=>pl({Codec:Hl,Boolean:oa,String:ta},...t);function Fx(t){let e=fg(()=>ie([h(t),ne(),ve(),ho(),H(e),pe(h(),e)]));return e}function da(t,e){return ea(Jl(t),e)}var _g;_g||(_g={});var AD={...po,...Xi,iso:mr};_e(zu());var Yl="2025-11-25";var yg=[Yl,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Bt="io.modelcontextprotocol/related-task",fa="2.0",$e=Bl(t=>t!==null&&(typeof t=="object"||typeof t=="function")),$g=ie([h(),ne().int()]),bg=h(),r4=Ie({ttl:ie([ne(),ho()]).optional(),pollInterval:ne().optional()}),Wx=z({ttl:ne().optional()}),Gx=z({taskId:h()}),Ql=Ie({progressToken:$g.optional(),[Bt]:Gx.optional()}),He=z({_meta:Ql.optional()}),vo=He.extend({task:Wx.optional()}),xg=t=>vo.safeParse(t).success,be=z({method:h(),params:He.loose().optional()}),Qe=z({_meta:Ql.optional()}),et=z({method:h(),params:Qe.loose().optional()}),xe=Ie({_meta:Ql.optional()}),ma=ie([h(),ne().int()]),kg=z({jsonrpc:T(fa),id:ma,...be.shape}).strict(),ed=t=>kg.safeParse(t).success,Sg=z({jsonrpc:T(fa),...et.shape}).strict(),wg=t=>Sg.safeParse(t).success,td=z({jsonrpc:T(fa),id:ma,result:xe}).strict(),_o=t=>td.safeParse(t).success;var Y;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Y||(Y={}));var rd=z({jsonrpc:T(fa),id:ma.optional(),error:z({code:ne().int(),message:h(),data:ue().optional()})}).strict();var zg=t=>rd.safeParse(t).success;var Ig=ie([kg,Sg,td,rd]),n4=ie([td,rd]),ha=xe.strict(),Hx=Qe.extend({requestId:ma.optional(),reason:h().optional()}),ga=et.extend({method:T("notifications/cancelled"),params:Hx}),Bx=z({src:h(),mimeType:h().optional(),sizes:H(h()).optional(),theme:Ee(["light","dark"]).optional()}),yo=z({icons:H(Bx).optional()}),Br=z({name:h(),title:h().optional()}),Eg=Br.extend({...Br.shape,...yo.shape,version:h(),websiteUrl:h().optional(),description:h().optional()}),Xx=go(z({applyDefaults:ve().optional()}),pe(h(),ue())),Yx=da(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,go(z({form:Xx.optional(),url:$e.optional()}),pe(h(),ue()).optional())),Qx=Ie({list:$e.optional(),cancel:$e.optional(),requests:Ie({sampling:Ie({createMessage:$e.optional()}).optional(),elicitation:Ie({create:$e.optional()}).optional()}).optional()}),ek=Ie({list:$e.optional(),cancel:$e.optional(),requests:Ie({tools:Ie({call:$e.optional()}).optional()}).optional()}),tk=z({experimental:pe(h(),$e).optional(),sampling:z({context:$e.optional(),tools:$e.optional()}).optional(),elicitation:Yx.optional(),roots:z({listChanged:ve().optional()}).optional(),tasks:Qx.optional()}),rk=He.extend({protocolVersion:h(),capabilities:tk,clientInfo:Eg}),nd=be.extend({method:T("initialize"),params:rk});var nk=z({experimental:pe(h(),$e).optional(),logging:$e.optional(),completions:$e.optional(),prompts:z({listChanged:ve().optional()}).optional(),resources:z({subscribe:ve().optional(),listChanged:ve().optional()}).optional(),tools:z({listChanged:ve().optional()}).optional(),tasks:ek.optional()}),ok=xe.extend({protocolVersion:h(),capabilities:nk,serverInfo:Eg,instructions:h().optional()}),od=et.extend({method:T("notifications/initialized"),params:Qe.optional()});var va=be.extend({method:T("ping"),params:He.optional()}),ik=z({progress:ne(),total:fe(ne()),message:fe(h())}),ak=z({...Qe.shape,...ik.shape,progressToken:$g}),_a=et.extend({method:T("notifications/progress"),params:ak}),sk=He.extend({cursor:bg.optional()}),$o=be.extend({params:sk.optional()}),bo=xe.extend({nextCursor:bg.optional()}),ck=Ee(["working","input_required","completed","failed","cancelled"]),xo=z({taskId:h(),status:ck,ttl:ie([ne(),ho()]),createdAt:h(),lastUpdatedAt:h(),pollInterval:fe(ne()),statusMessage:fe(h())}),Xr=xe.extend({task:xo}),uk=Qe.merge(xo),ko=et.extend({method:T("notifications/tasks/status"),params:uk}),ya=be.extend({method:T("tasks/get"),params:He.extend({taskId:h()})}),$a=xe.merge(xo),ba=be.extend({method:T("tasks/result"),params:He.extend({taskId:h()})}),o4=xe.loose(),xa=$o.extend({method:T("tasks/list")}),ka=bo.extend({tasks:H(xo)}),Sa=be.extend({method:T("tasks/cancel"),params:He.extend({taskId:h()})}),Tg=xe.merge(xo),Pg=z({uri:h(),mimeType:fe(h()),_meta:pe(h(),ue()).optional()}),Og=Pg.extend({text:h()}),id=h().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),jg=Pg.extend({blob:id}),So=Ee(["user","assistant"]),Yr=z({audience:H(So).optional(),priority:ne().min(0).max(1).optional(),lastModified:mr.datetime({offset:!0}).optional()}),Ng=z({...Br.shape,...yo.shape,uri:h(),description:fe(h()),mimeType:fe(h()),annotations:Yr.optional(),_meta:fe(Ie({}))}),lk=z({...Br.shape,...yo.shape,uriTemplate:h(),description:fe(h()),mimeType:fe(h()),annotations:Yr.optional(),_meta:fe(Ie({}))}),dk=$o.extend({method:T("resources/list")}),pk=bo.extend({resources:H(Ng)}),fk=$o.extend({method:T("resources/templates/list")}),mk=bo.extend({resourceTemplates:H(lk)}),ad=He.extend({uri:h()}),hk=ad,gk=be.extend({method:T("resources/read"),params:hk}),vk=xe.extend({contents:H(ie([Og,jg]))}),_k=et.extend({method:T("notifications/resources/list_changed"),params:Qe.optional()}),yk=ad,$k=be.extend({method:T("resources/subscribe"),params:yk}),bk=ad,xk=be.extend({method:T("resources/unsubscribe"),params:bk}),kk=Qe.extend({uri:h()}),Sk=et.extend({method:T("notifications/resources/updated"),params:kk}),wk=z({name:h(),description:fe(h()),required:fe(ve())}),zk=z({...Br.shape,...yo.shape,description:fe(h()),arguments:fe(H(wk)),_meta:fe(Ie({}))}),Ik=$o.extend({method:T("prompts/list")}),Ek=bo.extend({prompts:H(zk)}),Tk=He.extend({name:h(),arguments:pe(h(),h()).optional()}),Pk=be.extend({method:T("prompts/get"),params:Tk}),sd=z({type:T("text"),text:h(),annotations:Yr.optional(),_meta:pe(h(),ue()).optional()}),cd=z({type:T("image"),data:id,mimeType:h(),annotations:Yr.optional(),_meta:pe(h(),ue()).optional()}),ud=z({type:T("audio"),data:id,mimeType:h(),annotations:Yr.optional(),_meta:pe(h(),ue()).optional()}),Ok=z({type:T("tool_use"),name:h(),id:h(),input:pe(h(),ue()),_meta:pe(h(),ue()).optional()}),jk=z({type:T("resource"),resource:ie([Og,jg]),annotations:Yr.optional(),_meta:pe(h(),ue()).optional()}),Nk=Ng.extend({type:T("resource_link")}),ld=ie([sd,cd,ud,Nk,jk]),Dk=z({role:So,content:ld}),Rk=xe.extend({description:h().optional(),messages:H(Dk)}),Zk=et.extend({method:T("notifications/prompts/list_changed"),params:Qe.optional()}),Ak=z({title:h().optional(),readOnlyHint:ve().optional(),destructiveHint:ve().optional(),idempotentHint:ve().optional(),openWorldHint:ve().optional()}),Uk=z({taskSupport:Ee(["required","optional","forbidden"]).optional()}),Dg=z({...Br.shape,...yo.shape,description:h().optional(),inputSchema:z({type:T("object"),properties:pe(h(),$e).optional(),required:H(h()).optional()}).catchall(ue()),outputSchema:z({type:T("object"),properties:pe(h(),$e).optional(),required:H(h()).optional()}).catchall(ue()).optional(),annotations:Ak.optional(),execution:Uk.optional(),_meta:pe(h(),ue()).optional()}),dd=$o.extend({method:T("tools/list")}),Ck=bo.extend({tools:H(Dg)}),wa=xe.extend({content:H(ld).default([]),structuredContent:pe(h(),ue()).optional(),isError:ve().optional()}),i4=wa.or(xe.extend({toolResult:ue()})),Mk=vo.extend({name:h(),arguments:pe(h(),ue()).optional()}),wo=be.extend({method:T("tools/call"),params:Mk}),Lk=et.extend({method:T("notifications/tools/list_changed"),params:Qe.optional()}),a4=z({autoRefresh:ve().default(!0),debounceMs:ne().int().nonnegative().default(300)}),zo=Ee(["debug","info","notice","warning","error","critical","alert","emergency"]),qk=He.extend({level:zo}),pd=be.extend({method:T("logging/setLevel"),params:qk}),Fk=Qe.extend({level:zo,logger:h().optional(),data:ue()}),Vk=et.extend({method:T("notifications/message"),params:Fk}),Jk=z({name:h().optional()}),Kk=z({hints:H(Jk).optional(),costPriority:ne().min(0).max(1).optional(),speedPriority:ne().min(0).max(1).optional(),intelligencePriority:ne().min(0).max(1).optional()}),Wk=z({mode:Ee(["auto","required","none"]).optional()}),Gk=z({type:T("tool_result"),toolUseId:h().describe("The unique identifier for the corresponding tool call."),content:H(ld).default([]),structuredContent:z({}).loose().optional(),isError:ve().optional(),_meta:pe(h(),ue()).optional()}),Hk=ca("type",[sd,cd,ud]),pa=ca("type",[sd,cd,ud,Ok,Gk]),Bk=z({role:So,content:ie([pa,H(pa)]),_meta:pe(h(),ue()).optional()}),Xk=vo.extend({messages:H(Bk),modelPreferences:Kk.optional(),systemPrompt:h().optional(),includeContext:Ee(["none","thisServer","allServers"]).optional(),temperature:ne().optional(),maxTokens:ne().int(),stopSequences:H(h()).optional(),metadata:$e.optional(),tools:H(Dg).optional(),toolChoice:Wk.optional()}),Yk=be.extend({method:T("sampling/createMessage"),params:Xk}),fd=xe.extend({model:h(),stopReason:fe(Ee(["endTurn","stopSequence","maxTokens"]).or(h())),role:So,content:Hk}),md=xe.extend({model:h(),stopReason:fe(Ee(["endTurn","stopSequence","maxTokens","toolUse"]).or(h())),role:So,content:ie([pa,H(pa)])}),Qk=z({type:T("boolean"),title:h().optional(),description:h().optional(),default:ve().optional()}),eS=z({type:T("string"),title:h().optional(),description:h().optional(),minLength:ne().optional(),maxLength:ne().optional(),format:Ee(["email","uri","date","date-time"]).optional(),default:h().optional()}),tS=z({type:Ee(["number","integer"]),title:h().optional(),description:h().optional(),minimum:ne().optional(),maximum:ne().optional(),default:ne().optional()}),rS=z({type:T("string"),title:h().optional(),description:h().optional(),enum:H(h()),default:h().optional()}),nS=z({type:T("string"),title:h().optional(),description:h().optional(),oneOf:H(z({const:h(),title:h()})),default:h().optional()}),oS=z({type:T("string"),title:h().optional(),description:h().optional(),enum:H(h()),enumNames:H(h()).optional(),default:h().optional()}),iS=ie([rS,nS]),aS=z({type:T("array"),title:h().optional(),description:h().optional(),minItems:ne().optional(),maxItems:ne().optional(),items:z({type:T("string"),enum:H(h())}),default:H(h()).optional()}),sS=z({type:T("array"),title:h().optional(),description:h().optional(),minItems:ne().optional(),maxItems:ne().optional(),items:z({anyOf:H(z({const:h(),title:h()}))}),default:H(h()).optional()}),cS=ie([aS,sS]),uS=ie([oS,iS,cS]),lS=ie([uS,Qk,eS,tS]),dS=vo.extend({mode:T("form").optional(),message:h(),requestedSchema:z({type:T("object"),properties:pe(h(),lS),required:H(h()).optional()})}),pS=vo.extend({mode:T("url"),message:h(),elicitationId:h(),url:h().url()}),fS=ie([dS,pS]),mS=be.extend({method:T("elicitation/create"),params:fS}),hS=Qe.extend({elicitationId:h()}),gS=et.extend({method:T("notifications/elicitation/complete"),params:hS}),za=xe.extend({action:Ee(["accept","decline","cancel"]),content:da(t=>t===null?void 0:t,pe(h(),ie([h(),ne(),ve(),H(h())])).optional())}),vS=z({type:T("ref/resource"),uri:h()});var _S=z({type:T("ref/prompt"),name:h()}),yS=He.extend({ref:ie([_S,vS]),argument:z({name:h(),value:h()}),context:z({arguments:pe(h(),h()).optional()}).optional()}),$S=be.extend({method:T("completion/complete"),params:yS});var bS=xe.extend({completion:Ie({values:H(h()).max(100),total:fe(ne().int()),hasMore:fe(ve())})}),xS=z({uri:h().startsWith("file://"),name:h().optional(),_meta:pe(h(),ue()).optional()}),kS=be.extend({method:T("roots/list"),params:He.optional()}),hd=xe.extend({roots:H(xS)}),SS=et.extend({method:T("notifications/roots/list_changed"),params:Qe.optional()}),s4=ie([va,nd,$S,pd,Pk,Ik,dk,fk,gk,$k,xk,wo,dd,ya,ba,xa,Sa]),c4=ie([ga,_a,od,SS,ko]),u4=ie([ha,fd,md,za,hd,$a,ka,Xr]),l4=ie([va,Yk,mS,kS,ya,ba,xa,Sa]),d4=ie([ga,_a,Vk,Sk,_k,Lk,Zk,ko,gS]),p4=ie([ha,ok,bS,Rk,Ek,pk,mk,vk,wa,Ck,$a,ka,Xr]),J=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===Y.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Xl(o.elicitations,r)}return new t(e,r,n)}},Xl=class extends J{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(Y.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Xt(t){return t==="completed"||t==="failed"||t==="cancelled"}var K4=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function gd(t){let r=Bi(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=_h(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function vd(t,e){let r=Ht(t,e);if(!r.success)throw r.error;return r.data}var PS=6e4,Ia=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ga,r=>{this._oncancel(r)}),this.setNotificationHandler(_a,r=>{this._onprogress(r)}),this.setRequestHandler(va,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(ya,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new J(Y.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(ba,async(r,n)=>{let o=async()=>{let i=r.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(i,n.sessionId);){if(s.type==="response"||s.type==="error"){let c=s.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),s.type==="response")l(c);else{let d=c,m=new J(d.error.code,d.error.message,d.error.data);l(m)}else{let d=s.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(s.message,{relatedRequestId:n.requestId})}}let a=await this._taskStore.getTask(i,n.sessionId);if(!a)throw new J(Y.InvalidParams,`Task not found: ${i}`);if(!Xt(a.status))return await this._waitForTaskUpdate(i,n.signal),await o();if(Xt(a.status)){let s=await this._taskStore.getTaskResult(i,n.sessionId);return this._clearTaskQueue(i),{...s,_meta:{...s._meta,[Bt]:{taskId:i}}}}return await o()};return await o()}),this.setRequestHandler(xa,async(r,n)=>{try{let{tasks:o,nextCursor:i}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:i,_meta:{}}}catch(o){throw new J(Y.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Sa,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new J(Y.InvalidParams,`Task not found: ${r.params.taskId}`);if(Xt(o.status))throw new J(Y.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new J(Y.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof J?o:new J(Y.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),J.fromError(Y.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=i=>{n?.(i),this._onerror(i)};let o=this._transport?.onmessage;this._transport.onmessage=(i,a)=>{o?.(i,a),_o(i)||zg(i)?this._onresponse(i):ed(i)?this._onrequest(i,a):wg(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let r=J.fromError(Y.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,i=e.params?._meta?.[Bt]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:Y.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(e.id,a);let s=xg(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:a.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{let d={relatedRequestId:e.id};i&&(d.relatedTask={taskId:i}),await this.notification(l,d)},sendRequest:async(l,d,m)=>{let f={...m,relatedRequestId:e.id};i&&!f.relatedTask&&(f.relatedTask={taskId:i});let g=f.relatedTask?.taskId??i;return g&&c&&await c.updateTaskStatus(g,"input_required"),await this.request(l,d,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:i,taskStore:c,taskRequestedTtl:s?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(a.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(a.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:Y.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),i=this._progressHandlers.get(o);if(!i){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let a=this._responseHandlers.get(o),s=this._timeoutInfo.get(o);if(s&&a&&s.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),a(c);return}i(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),_o(e))n(e);else{let a=new J(e.error.code,e.error.message,e.error.data);n(a)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let i=!1;if(_o(e)&&e.result&&typeof e.result=="object"){let a=e.result;if(a.task&&typeof a.task=="object"){let s=a.task;typeof s.taskId=="string"&&(i=!0,this._taskProgressTokens.set(s.taskId,r))}}if(i||this._progressHandlers.delete(r),_o(e))o(e);else{let a=J.fromError(e.error.code,e.error.message,e.error.data);o(a)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(a){yield{type:"error",error:a instanceof J?a:new J(Y.InternalError,String(a))}}return}let i;try{let a=await this.request(e,Xr,n);if(a.task)i=a.task.taskId,yield{type:"taskCreated",task:a.task};else throw new J(Y.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:i},n);if(yield{type:"taskStatus",task:s},Xt(s.status)){s.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)}:s.status==="failed"?yield{type:"error",error:new J(Y.InternalError,`Task ${i} failed`)}:s.status==="cancelled"&&(yield{type:"error",error:new J(Y.InternalError,`Task ${i} was cancelled`)});return}if(s.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)};return}let c=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(a){yield{type:"error",error:a instanceof J?a:new J(Y.InternalError,String(a))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:i,onresumptiontoken:a,task:s,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=O=>{l(O)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),s&&this.assertTaskCapability(e.method)}catch(O){d(O);return}n?.signal?.throwIfAborted();let m=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:m};n?.onprogress&&(this._progressHandlers.set(m,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:m}}),s&&(f.params={...f.params,task:s}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[Bt]:c}});let g=O=>{this._responseHandlers.delete(m),this._progressHandlers.delete(m),this._cleanupTimeout(m),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:m,reason:String(O)}},{relatedRequestId:o,resumptionToken:i,onresumptiontoken:a}).catch(U=>this._onerror(new Error(`Failed to send cancellation: ${U}`)));let I=O instanceof J?O:new J(Y.RequestTimeout,String(O));l(I)};this._responseHandlers.set(m,O=>{if(!n?.signal?.aborted){if(O instanceof Error)return l(O);try{let I=Ht(r,O.result);I.success?u(I.data):l(I.error)}catch(I){l(I)}}}),n?.signal?.addEventListener("abort",()=>{g(n?.signal?.reason)});let v=n?.timeout??PS,$=()=>g(J.fromError(Y.RequestTimeout,"Request timed out",{timeout:v}));this._setupTimeout(m,v,n?.maxTotalTimeout,$,n?.resetTimeoutOnProgress??!1);let k=c?.taskId;if(k){let O=I=>{let U=this._responseHandlers.get(m);U?U(I):this._onerror(new Error(`Response handler missing for side-channeled request ${m}`))};this._requestResolvers.set(m,O),this._enqueueTaskMessage(k,{type:"request",message:f,timestamp:Date.now()}).catch(I=>{this._cleanupTimeout(m),l(I)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:a}).catch(O=>{this._cleanupTimeout(m),l(O)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},$a,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},ka,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Tg,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let s={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[Bt]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let s={...e,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[Bt]:r.relatedTask}}}),this._transport?.send(s,r).catch(c=>this._onerror(c))});return}let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Bt]:r.relatedTask}}}),await this._transport.send(a,r)}setRequestHandler(e,r){let n=gd(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let a=vd(e,o);return Promise.resolve(r(a,i))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=gd(e);this._notificationHandlers.set(n,o=>{let i=vd(e,o);return Promise.resolve(r(i))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&ed(o.message)){let i=o.message.id,a=this._requestResolvers.get(i);a?(a(new J(Y.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,i)=>{if(r.aborted){i(new J(Y.InvalidRequest,"Request cancelled"));return}let a=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(a),i(new J(Y.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let i=await n.getTask(o,r);if(!i)throw new J(Y.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(o,i,a)=>{await n.storeTaskResult(o,i,a,r);let s=await n.getTask(o,r);if(s){let c=ko.parse({method:"notifications/tasks/status",params:s});await this.notification(c),Xt(s.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,i,a)=>{let s=await n.getTask(o,r);if(!s)throw new J(Y.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Xt(s.status))throw new J(Y.InvalidParams,`Cannot update task "${o}" from terminal status "${s.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,i,a,r);let c=await n.getTask(o,r);if(c){let u=ko.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Xt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Rg(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Zg(t,e){let r={...t};for(let n in e){let o=n,i=e[o];if(i===void 0)continue;let a=r[o];Rg(a)&&Rg(i)?r[o]={...a,...i}:r[o]=i}return r}var xy=oi(rf(),1),ky=oi(by(),1);function $T(){let t=new xy.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,ky.default)(t),t}var ls=class{constructor(e){this._ajv=e??$T()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var ds=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function Sy(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function wy(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var ps=class extends Ia{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(zo.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let i=this._loggingLevels.get(o);return i?this.LOG_LEVEL_SEVERITY.get(n)this._oninitialize(n)),this.setNotificationHandler(od,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(pd,async(n,o)=>{let i=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:a}=n.params,s=zo.safeParse(a);return s.success&&this._loggingLevels.set(i,s.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new ds(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Zg(this._capabilities,e)}setRequestHandler(e,r){let o=Bi(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let i;if(Gr(o)){let s=o;i=s._zod?.def?.value??s.value}else{let s=o;i=s._def?.value??s.value}if(typeof i!="string")throw new Error("Schema method literal must be a string");if(i==="tools/call"){let s=async(c,u)=>{let l=Ht(wo,c);if(!l.success){let g=l.error instanceof Error?l.error.message:String(l.error);throw new J(Y.InvalidParams,`Invalid tools/call request: ${g}`)}let{params:d}=l.data,m=await Promise.resolve(r(c,u));if(d.task){let g=Ht(Xr,m);if(!g.success){let v=g.error instanceof Error?g.error.message:String(g.error);throw new J(Y.InvalidParams,`Invalid task creation result: ${v}`)}return g.data}let f=Ht(wa,m);if(!f.success){let g=f.error instanceof Error?f.error.message:String(f.error);throw new J(Y.InvalidParams,`Invalid tools/call result: ${g}`)}return f.data};return super.setRequestHandler(e,s)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){wy(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&Sy(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:yg.includes(r)?r:Yl,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},ha)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],i=o.some(u=>u.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,s=a?Array.isArray(a.content)?a.content:[a.content]:[],c=s.some(u=>u.type==="tool_use");if(i){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(s.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},md,r):this.request({method:"sampling/createMessage",params:e},fd,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},za,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},i=await this.request({method:"elicitation/create",params:o},za,r);if(i.action==="accept"&&i.content&&o.requestedSchema)try{let s=this._jsonSchemaValidator.getValidator(o.requestedSchema)(i.content);if(!s.valid)throw new J(Y.InvalidParams,`Elicitation response content does not match requested schema: ${s.errorMessage}`)}catch(a){throw a instanceof J?a:new J(Y.InternalError,`Error validating elicitation response: ${a instanceof Error?a.message:String(a)}`)}return i}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},hd,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var df=oi(require("node:process"),1);var fs=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` +`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),bT(r)}clear(){this._buffer=void 0}};function bT(t){return Ig.parse(JSON.parse(t))}function zy(t){return JSON.stringify(t)+` +`}var ms=class{constructor(e=df.default.stdin,r=df.default.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new fs,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=zy(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};var _s=oi(require("path"),1),Oy=require("os");var pf={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function Iy(t){return process.platform==="win32"?Math.round(t*pf.WINDOWS_MULTIPLIER):t}var St=require("fs"),hs=require("path"),Py=require("os");var Ey="bugfix,feature,refactor,discovery,decision,change",Ty="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var wr=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:(0,hs.join)((0,Py.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:Ey,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:Ty,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,St.existsSync)(e)){let a=this.getAllDefaults();try{let s=(0,hs.dirname)(e);(0,St.existsSync)(s)||(0,St.mkdirSync)(s,{recursive:!0}),(0,St.writeFileSync)(e,JSON.stringify(a,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",e)}catch(s){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",e,s)}return a}let r=(0,St.readFileSync)(e,"utf-8"),n=JSON.parse(r),o=n;if(n.env&&typeof n.env=="object"){o=n.env;try{(0,St.writeFileSync)(e,JSON.stringify(o,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",e)}catch(a){console.warn("[SETTINGS] Failed to auto-migrate settings file:",e,a)}}let i={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))o[a]!==void 0&&(i[a]=o[a]);return i}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",e,r),this.getAllDefaults()}}};var jU=_s.default.join((0,Oy.homedir)(),".claude","plugins","marketplaces","thedotmack"),NU=Iy(pf.HEALTH_CHECK),gs=null,vs=null;function jy(){if(gs!==null)return gs;let t=_s.default.join(wr.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),e=wr.loadFromFile(t);return gs=parseInt(e.CLAUDE_MEM_WORKER_PORT,10),gs}function Ny(){if(vs!==null)return vs;let t=_s.default.join(wr.get("CLAUDE_MEM_DATA_DIR"),"settings.json");return vs=wr.loadFromFile(t).CLAUDE_MEM_WORKER_HOST,vs}console.log=(...t)=>{ye.error("CONSOLE","Intercepted console output (MCP protocol protection)",void 0,{args:t})};var xT=jy(),kT=Ny(),ni=`http://${kT}:${xT}`,Dy={search:"/api/search",timeline:"/api/timeline"};async function Ry(t,e){ye.debug("SYSTEM","\u2192 Worker API",void 0,{endpoint:t,params:e});try{let r=new URLSearchParams;for(let[a,s]of Object.entries(e))s!=null&&r.append(a,String(s));let n=`${ni}${t}?${r}`,o=await fetch(n);if(!o.ok){let a=await o.text();throw new Error(`Worker API error (${o.status}): ${a}`)}let i=await o.json();return ye.debug("SYSTEM","\u2190 Worker API success",void 0,{endpoint:t}),i}catch(r){return ye.error("SYSTEM","\u2190 Worker API error",{endpoint:t},r),{content:[{type:"text",text:`Error calling Worker API: ${r instanceof Error?r.message:String(r)}`}],isError:!0}}}async function ST(t,e){ye.debug("HTTP","Worker API request (POST)",void 0,{endpoint:t});try{let r=`${ni}${t}`,n=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok){let i=await n.text();throw new Error(`Worker API error (${n.status}): ${i}`)}let o=await n.json();return ye.debug("HTTP","Worker API success (POST)",void 0,{endpoint:t}),{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}catch(r){return ye.error("HTTP","Worker API error (POST)",{endpoint:t},r),{content:[{type:"text",text:`Error calling Worker API: ${r instanceof Error?r.message:String(r)}`}],isError:!0}}}async function wT(){try{return(await fetch(`${ni}/api/health`)).ok}catch(t){return ye.debug("SYSTEM","Worker health check failed",{},t),!1}}var Zy=[{name:"__IMPORTANT",description:`3-LAYER WORKFLOW (ALWAYS FOLLOW): 1. search(query) \u2192 Get index with IDs (~50-100 tokens/result) 2. timeline(anchor=ID) \u2192 Get context around interesting results 3. get_observations([IDs]) \u2192 Fetch full details ONLY for filtered IDs @@ -74,4 +74,4 @@ NEVER fetch full details without filtering first. 10x token savings.`,inputSchem \`get_observations(ids=[...])\` # ALWAYS batch for 2+ items Returns: Complete details (~500-1000 tokens/result) -**Why:** 10x token savings. Never fetch full details without filtering first.`}]})},{name:"search",description:"Step 1: Search memory. Returns index with IDs. Params: query, limit, project, type, obs_type, dateStart, dateEnd, offset, orderBy",inputSchema:{type:"object",properties:{},additionalProperties:!0},handler:async t=>{let e=Ey.search;return await Ty(e,t)}},{name:"timeline",description:"Step 2: Get context around results. Params: anchor (observation ID) OR query (finds anchor automatically), depth_before, depth_after, project",inputSchema:{type:"object",properties:{},additionalProperties:!0},handler:async t=>{let e=Ey.timeline;return await Ty(e,t)}},{name:"get_observations",description:"Step 3: Fetch full details for filtered IDs. Params: ids (array of observation IDs, required), orderBy, limit, project",inputSchema:{type:"object",properties:{ids:{type:"array",items:{type:"number"},description:"Array of observation IDs to fetch (required)"}},required:["ids"],additionalProperties:!0},handler:async t=>await ST("/api/observations/batch",t)}],pf=new ps({name:"mcp-search-server",version:"1.0.0"},{capabilities:{tools:{}}});pf.setRequestHandler(ld,async()=>({tools:Py.map(t=>({name:t.name,description:t.description,inputSchema:t.inputSchema}))}));pf.setRequestHandler(wo,async t=>{let e=Py.find(r=>r.name===t.params.name);if(!e)throw new Error(`Unknown tool: ${t.params.name}`);try{return await e.handler(t.params.arguments||{})}catch(r){return ye.error("SYSTEM","Tool execution failed",{tool:t.params.name},r),{content:[{type:"text",text:`Tool execution failed: ${r instanceof Error?r.message:String(r)}`}],isError:!0}}});async function Oy(){ye.info("SYSTEM","MCP server shutting down"),process.exit(0)}process.on("SIGTERM",Oy);process.on("SIGINT",Oy);async function zT(){let t=new ms;await pf.connect(t),ye.info("SYSTEM","Claude-mem search server started"),setTimeout(async()=>{await wT()?ye.info("SYSTEM","Worker available",void 0,{workerUrl:ni}):(ye.warn("SYSTEM","Worker not available",void 0,{workerUrl:ni}),ye.warn("SYSTEM","Tools will fail until Worker is started"),ye.warn("SYSTEM","Start Worker with: npm run worker:restart"))},0)}zT().catch(t=>{ye.error("SYSTEM","Fatal error",void 0,t),process.exit(1)}); +**Why:** 10x token savings. Never fetch full details without filtering first.`}]})},{name:"search",description:"Step 1: Search memory. Returns index with IDs. Params: query, limit, project, type, obs_type, dateStart, dateEnd, offset, orderBy",inputSchema:{type:"object",properties:{},additionalProperties:!0},handler:async t=>{let e=Dy.search;return await Ry(e,t)}},{name:"timeline",description:"Step 2: Get context around results. Params: anchor (observation ID) OR query (finds anchor automatically), depth_before, depth_after, project",inputSchema:{type:"object",properties:{},additionalProperties:!0},handler:async t=>{let e=Dy.timeline;return await Ry(e,t)}},{name:"get_observations",description:"Step 3: Fetch full details for filtered IDs. Params: ids (array of observation IDs, required), orderBy, limit, project",inputSchema:{type:"object",properties:{ids:{type:"array",items:{type:"number"},description:"Array of observation IDs to fetch (required)"}},required:["ids"],additionalProperties:!0},handler:async t=>await ST("/api/observations/batch",t)}],ff=new ps({name:"mcp-search-server",version:"1.0.0"},{capabilities:{tools:{}}});ff.setRequestHandler(dd,async()=>({tools:Zy.map(t=>({name:t.name,description:t.description,inputSchema:t.inputSchema}))}));ff.setRequestHandler(wo,async t=>{let e=Zy.find(r=>r.name===t.params.name);if(!e)throw new Error(`Unknown tool: ${t.params.name}`);try{return await e.handler(t.params.arguments||{})}catch(r){return ye.error("SYSTEM","Tool execution failed",{tool:t.params.name},r),{content:[{type:"text",text:`Tool execution failed: ${r instanceof Error?r.message:String(r)}`}],isError:!0}}});async function Ay(){ye.info("SYSTEM","MCP server shutting down"),process.exit(0)}process.on("SIGTERM",Ay);process.on("SIGINT",Ay);async function zT(){let t=new ms;await ff.connect(t),ye.info("SYSTEM","Claude-mem search server started"),setTimeout(async()=>{await wT()?ye.info("SYSTEM","Worker available",void 0,{workerUrl:ni}):(ye.error("SYSTEM","Worker not available",void 0,{workerUrl:ni}),ye.error("SYSTEM","Tools will fail until Worker is started"),ye.error("SYSTEM","Start Worker with: npm run worker:restart"))},0)}zT().catch(t=>{ye.error("SYSTEM","Fatal error",void 0,t),process.exit(1)}); diff --git a/plugin/scripts/new-hook.js b/plugin/scripts/new-hook.js index b698ea23..ebb96ae6 100755 --- a/plugin/scripts/new-hook.js +++ b/plugin/scripts/new-hook.js @@ -1,13 +1,13 @@ #!/usr/bin/env bun -import{stdin as b}from"process";var T=JSON.stringify({continue:!0,suppressOutput:!0});import L from"path";import{homedir as Y}from"os";import{readFileSync as J}from"fs";import{appendFileSync as F,existsSync as h,mkdirSync as H,readFileSync as x}from"fs";import{join as f}from"path";import{homedir as j}from"os";var S=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(S||{}),R=f(j(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=f(R,"logs");h(t)||H(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=f(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=f(R,"settings.json");if(h(t)){let r=x(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=S[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +import{stdin as b}from"process";var T=JSON.stringify({continue:!0,suppressOutput:!0});import L from"path";import{homedir as Y}from"os";import{readFileSync as J}from"fs";import{appendFileSync as F,existsSync as R,mkdirSync as H,readFileSync as x}from"fs";import{join as f}from"path";import{homedir as j}from"os";var S=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(S||{}),h=f(j(),".claude-mem"),m=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=f(h,"logs");R(t)||H(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=f(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=f(h,"settings.json");if(R(t)){let r=x(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=S[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0"),c=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${i}:${E}:${s}.${c}`}log(t,r,e,n,i){if(t0&&(u=` {${Object.entries(D).map(([w,W])=>`${w}=${W}`).join(", ")}}`)}let C=`[${E}] [${s}] [${c}] ${l}${e}${u}${_}`;if(this.logFilePath)try{F(this.logFilePath,C+` +`+JSON.stringify(i,null,2):_=" "+this.formatData(i));let u="";if(n){let{sessionId:d,memorySessionId:nt,correlationId:ot,...D}=n;Object.keys(D).length>0&&(u=` {${Object.entries(D).map(([w,W])=>`${w}=${W}`).join(", ")}}`)}let A=`[${E}] [${s}] [${c}] ${l}${e}${u}${_}`;if(this.logFilePath)try{F(this.logFilePath,A+` `,"utf8")}catch(d){process.stderr.write(`[LOGGER] Failed to write to log file: ${d} -`)}else process.stderr.write(C+` +`)}else process.stderr.write(A+` `)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,i=""){let l=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),_=l?`${l[1].split("/").pop()}:${l[2]}`:"unknown",u={...e,location:_};return this.warn(t,`[HAPPY-PATH] ${r}`,u,n),i}},a=new M;var m={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function N(o){return process.platform==="win32"?Math.round(o*m.WINDOWS_MULTIPLIER):o}import{readFileSync as K,writeFileSync as k,existsSync as P,mkdirSync as G}from"fs";import{join as X,dirname as V}from"path";import{homedir as B}from"os";var I="bugfix,feature,refactor,discovery,decision,change",U="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:X(B(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:I,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:U,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!P(t)){let E=this.getAllDefaults();try{let s=V(t);P(s)||G(s,{recursive:!0}),k(t,JSON.stringify(E,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",t)}catch(s){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",t,s)}return E}let r=K(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{k(t,JSON.stringify(n,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",t)}catch(E){console.warn("[SETTINGS] Failed to auto-migrate settings file:",t,E)}}let i={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(i[E]=n[E]);return i}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",t,r),this.getAllDefaults()}}};function y(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,i=e||"Worker service connection failed.",E=t?` (port ${t})`:"",s=`${i}${E} +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),_=l?`${l[1].split("/").pop()}:${l[2]}`:"unknown",u={...e,location:_};return this.warn(t,`[HAPPY-PATH] ${r}`,u,n),i}},a=new m;var M={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function N(o){return process.platform==="win32"?Math.round(o*M.WINDOWS_MULTIPLIER):o}import{readFileSync as K,writeFileSync as k,existsSync as P,mkdirSync as G}from"fs";import{join as X,dirname as V}from"path";import{homedir as B}from"os";var I="bugfix,feature,refactor,discovery,decision,change",U="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:X(B(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:I,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:U,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!P(t)){let E=this.getAllDefaults();try{let s=V(t);P(s)||G(s,{recursive:!0}),k(t,JSON.stringify(E,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",t)}catch(s){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",t,s)}return E}let r=K(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{k(t,JSON.stringify(n,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",t)}catch(E){console.warn("[SETTINGS] Failed to auto-migrate settings file:",t,E)}}let i={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(i[E]=n[E]);return i}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",t,r),this.getAllDefaults()}}};function y(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,i=e||"Worker service connection failed.",E=t?` (port ${t})`:"",s=`${i}${E} `;return s+=`To restart the worker: `,s+=`1. Exit Claude Code completely @@ -16,4 +16,4 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?_=` If that doesn't work, try: /troubleshoot`),n&&(s=`Worker Error: ${n} -${s}`),s}var z=L.join(Y(),".claude","plugins","marketplaces","thedotmack"),ht=N(m.HEALTH_CHECK),O=null;function p(){if(O!==null)return O;let o=L.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(o);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function q(){let o=p();return(await fetch(`http://127.0.0.1:${o}/api/readiness`)).ok}function Q(){let o=L.join(z,"package.json");return JSON.parse(J(o,"utf-8")).version}async function Z(){let o=p(),t=await fetch(`http://127.0.0.1:${o}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function tt(){let o=Q(),t=await Z();o!==t&&a.debug("SYSTEM","Version check",{pluginVersion:o,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function $(){for(let r=0;r<75;r++){try{if(await q()){await tt();return}}catch(e){a.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error(y({port:p(),customPrefix:"Worker did not become ready within 15 seconds."}))}import et from"path";function v(o){if(!o||o.trim()==="")return a.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=et.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let i=`drive-${e[1].toUpperCase()}`;return a.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:i}),i}}return a.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}async function rt(o){if(await $(),!o)throw new Error("newHook requires input");let{session_id:t,cwd:r,prompt:e}=o,n=v(r),i=p();a.debug("HOOK","new-hook: Calling /api/sessions/init",{contentSessionId:t,project:n});let E=await fetch(`http://127.0.0.1:${i}/api/sessions/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contentSessionId:t,project:n,prompt:e})});if(!E.ok)throw new Error(`Session initialization failed: ${E.status}`);let s=await E.json(),c=s.sessionDbId,l=s.promptNumber;if(a.debug("HOOK","new-hook: Received from /api/sessions/init",{sessionDbId:c,promptNumber:l,skipped:s.skipped}),a.debug("HOOK",`[ALIGNMENT] Hook Entry | contentSessionId=${t} | prompt#=${l} | sessionDbId=${c}`),s.skipped&&s.reason==="private"){a.info("HOOK",`INIT_COMPLETE | sessionDbId=${c} | promptNumber=${l} | skipped=true | reason=private`,{sessionId:c}),console.log(T);return}let _=e.startsWith("/")?e.substring(1):e;a.debug("HOOK","new-hook: Calling /sessions/{sessionDbId}/init",{sessionDbId:c,promptNumber:l});let u=await fetch(`http://127.0.0.1:${i}/sessions/${c}/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userPrompt:_,promptNumber:l})});if(!u.ok)throw new Error(`SDK agent start failed: ${u.status}`);a.info("HOOK",`INIT_COMPLETE | sessionDbId=${c} | promptNumber=${l} | project=${n}`,{sessionId:c}),console.log(T)}var A="";b.on("data",o=>A+=o);b.on("end",async()=>{try{let o;try{o=A?JSON.parse(A):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await rt(o)}catch(o){a.error("HOOK","new-hook failed",{},o)}finally{process.exit(0)}}); +${s}`),s}var z=L.join(Y(),".claude","plugins","marketplaces","thedotmack"),Rt=N(M.HEALTH_CHECK),O=null;function p(){if(O!==null)return O;let o=L.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(o);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function q(){let o=p();return(await fetch(`http://127.0.0.1:${o}/api/readiness`)).ok}function Q(){let o=L.join(z,"package.json");return JSON.parse(J(o,"utf-8")).version}async function Z(){let o=p(),t=await fetch(`http://127.0.0.1:${o}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function tt(){let o=Q(),t=await Z();o!==t&&a.debug("SYSTEM","Version check",{pluginVersion:o,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function $(){for(let r=0;r<75;r++){try{if(await q()){await tt();return}}catch(e){a.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error(y({port:p(),customPrefix:"Worker did not become ready within 15 seconds."}))}import et from"path";function v(o){if(!o||o.trim()==="")return a.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=et.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let i=`drive-${e[1].toUpperCase()}`;return a.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:i}),i}}return a.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}async function rt(o){if(await $(),!o)throw new Error("newHook requires input");let{session_id:t,cwd:r,prompt:e}=o,n=v(r),i=p();a.debug("HOOK","new-hook: Calling /api/sessions/init",{contentSessionId:t,project:n});let E=await fetch(`http://127.0.0.1:${i}/api/sessions/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contentSessionId:t,project:n,prompt:e})});if(!E.ok)throw new Error(`Session initialization failed: ${E.status}`);let s=await E.json(),c=s.sessionDbId,l=s.promptNumber;if(a.debug("HOOK","new-hook: Received from /api/sessions/init",{sessionDbId:c,promptNumber:l,skipped:s.skipped}),a.debug("HOOK",`[ALIGNMENT] Hook Entry | contentSessionId=${t} | prompt#=${l} | sessionDbId=${c}`),s.skipped&&s.reason==="private"){a.info("HOOK",`INIT_COMPLETE | sessionDbId=${c} | promptNumber=${l} | skipped=true | reason=private`,{sessionId:c}),console.log(T);return}let _=e.startsWith("/")?e.substring(1):e;a.debug("HOOK","new-hook: Calling /sessions/{sessionDbId}/init",{sessionDbId:c,promptNumber:l});let u=await fetch(`http://127.0.0.1:${i}/sessions/${c}/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userPrompt:_,promptNumber:l})});if(!u.ok)throw new Error(`SDK agent start failed: ${u.status}`);a.info("HOOK",`INIT_COMPLETE | sessionDbId=${c} | promptNumber=${l} | project=${n}`,{sessionId:c}),console.log(T)}var C="";b.on("data",o=>C+=o);b.on("end",async()=>{try{let o;try{o=C?JSON.parse(C):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await rt(o)}catch(o){a.error("HOOK","new-hook failed",{},o)}finally{process.exit(0)}}); diff --git a/plugin/scripts/save-hook.js b/plugin/scripts/save-hook.js index 0acd9ece..b16b72f9 100755 --- a/plugin/scripts/save-hook.js +++ b/plugin/scripts/save-hook.js @@ -1,5 +1,5 @@ #!/usr/bin/env bun -import{stdin as v}from"process";var U=JSON.stringify({continue:!0,suppressOutput:!0});import{appendFileSync as H,existsSync as d,mkdirSync as W,readFileSync as b}from"fs";import{join as T}from"path";import{homedir as x}from"os";var f=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(f||{}),R=T(x(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=T(R,"logs");d(t)||W(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=T(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=T(R,"settings.json");if(d(t)){let r=b(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=f[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +import{stdin as v}from"process";var d=JSON.stringify({continue:!0,suppressOutput:!0});import{appendFileSync as H,existsSync as U,mkdirSync as W,readFileSync as b}from"fs";import{join as T}from"path";import{homedir as x}from"os";var f=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(f||{}),R=T(x(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=T(R,"logs");U(t)||W(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=T(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=T(R,"settings.json");if(U(t)){let r=b(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=f[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),a=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${E}:${i}.${a}`}log(t,r,e,n,o){if(tsetTimeout(e,200))}throw new Error($({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}async function tt(s){if(await k(),!s)throw new Error("saveHook requires input");let{session_id:t,cwd:r,tool_name:e,tool_input:n,tool_response:o}=s,E=u(),i=_.formatTool(e,n);if(_.dataIn("HOOK",`PostToolUse: ${i}`,{workerPort:E}),!r)throw new Error(`Missing cwd in PostToolUse hook input for session ${t}, tool ${e}`);let a=await fetch(`http://127.0.0.1:${E}/api/sessions/observations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contentSessionId:t,tool_name:e,tool_input:n,tool_response:o,cwd:r})});if(!a.ok)throw new Error(`Observation storage failed: ${a.status}`);_.debug("HOOK","Observation sent successfully",{toolName:e}),console.log(U)}var A="";v.on("data",s=>A+=s);v.on("end",async()=>{try{let s;try{s=A?JSON.parse(A):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await tt(s)}catch(s){_.error("HOOK","save-hook failed",{},s)}finally{process.exit(0)}}); +${i}`),i}var J=L.join(B(),".claude","plugins","marketplaces","thedotmack"),mt=I(p.HEALTH_CHECK),S=null;function u(){if(S!==null)return S;let s=L.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(s);return S=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),S}async function z(){let s=u();return(await fetch(`http://127.0.0.1:${s}/api/readiness`)).ok}function q(){let s=L.join(J,"package.json");return JSON.parse(Y(s,"utf-8")).version}async function Q(){let s=u(),t=await fetch(`http://127.0.0.1:${s}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function Z(){let s=q(),t=await Q();s!==t&&_.debug("SYSTEM","Version check",{pluginVersion:s,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function k(){for(let r=0;r<75;r++){try{if(await z()){await Z();return}}catch(e){_.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error($({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}async function tt(s){if(await k(),!s)throw new Error("saveHook requires input");let{session_id:t,cwd:r,tool_name:e,tool_input:n,tool_response:o}=s,E=u(),i=_.formatTool(e,n);if(_.dataIn("HOOK",`PostToolUse: ${i}`,{workerPort:E}),!r)throw new Error(`Missing cwd in PostToolUse hook input for session ${t}, tool ${e}`);let a=await fetch(`http://127.0.0.1:${E}/api/sessions/observations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contentSessionId:t,tool_name:e,tool_input:n,tool_response:o,cwd:r})});if(!a.ok)throw new Error(`Observation storage failed: ${a.status}`);_.debug("HOOK","Observation sent successfully",{toolName:e}),console.log(d)}var A="";v.on("data",s=>A+=s);v.on("end",async()=>{try{let s;try{s=A?JSON.parse(A):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await tt(s)}catch(s){_.error("HOOK","save-hook failed",{},s)}finally{process.exit(0)}}); diff --git a/plugin/scripts/summary-hook.js b/plugin/scripts/summary-hook.js index 58506f75..3d47b643 100755 --- a/plugin/scripts/summary-hook.js +++ b/plugin/scripts/summary-hook.js @@ -1,5 +1,5 @@ #!/usr/bin/env bun -import{stdin as v}from"process";var T=JSON.stringify({continue:!0,suppressOutput:!0});import{appendFileSync as H,existsSync as R,mkdirSync as W,readFileSync as b}from"fs";import{join as S}from"path";import{homedir as G}from"os";var p=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(p||{}),U=S(G(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=S(U,"logs");R(t)||W(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=S(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=S(U,"settings.json");if(R(t)){let r=b(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=p[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +import{stdin as v}from"process";var T=JSON.stringify({continue:!0,suppressOutput:!0});import{appendFileSync as H,existsSync as R,mkdirSync as W,readFileSync as b}from"fs";import{join as O}from"path";import{homedir as G}from"os";var p=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(p||{}),U=O(G(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=O(U,"logs");R(t)||W(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=O(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=O(U,"settings.json");if(R(t)){let r=b(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=p[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),_=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${E}:${i}.${_}`}log(t,r,e,n,o){if(tsetTimeout(e,200))}throw new Error(k({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}import{readFileSync as et,existsSync as rt}from"fs";function w(s,t,r=!1){if(!s||!rt(s))throw new Error(`Transcript path missing or file does not exist: ${s}`);let e=et(s,"utf-8").trim();if(!e)throw new Error(`Transcript file exists but is empty: ${s}`);let n=e.split(` +${i}`),i}var z=L.join(Y(),".claude","plugins","marketplaces","thedotmack"),Ut=h(m.HEALTH_CHECK),S=null;function u(){if(S!==null)return S;let s=L.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(s);return S=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),S}async function q(){let s=u();return(await fetch(`http://127.0.0.1:${s}/api/readiness`)).ok}function Q(){let s=L.join(z,"package.json");return JSON.parse(J(s,"utf-8")).version}async function Z(){let s=u(),t=await fetch(`http://127.0.0.1:${s}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function tt(){let s=Q(),t=await Z();s!==t&&c.debug("SYSTEM","Version check",{pluginVersion:s,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function P(){for(let r=0;r<75;r++){try{if(await q()){await tt();return}}catch(e){c.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error(k({port:u(),customPrefix:"Worker did not become ready within 15 seconds."}))}import{readFileSync as et,existsSync as rt}from"fs";function w(s,t,r=!1){if(!s||!rt(s))throw new Error(`Transcript path missing or file does not exist: ${s}`);let e=et(s,"utf-8").trim();if(!e)throw new Error(`Transcript file exists but is empty: ${s}`);let n=e.split(` `),o=!1;for(let E=n.length-1;E>=0;E--){let i=JSON.parse(n[E]);if(i.type===t&&(o=!0,i.message?.content)){let _="",a=i.message.content;if(typeof a=="string")_=a;else if(Array.isArray(a))_=a.filter(l=>l.type==="text").map(l=>l.text).join(` `);else throw new Error(`Unknown message content format in transcript. Type: ${typeof a}`);return r&&(_=_.replace(/[\s\S]*?<\/system-reminder>/g,""),_=_.replace(/\n{3,}/g,` diff --git a/plugin/scripts/user-message-hook.js b/plugin/scripts/user-message-hook.js index c30f77e7..1e006adf 100755 --- a/plugin/scripts/user-message-hook.js +++ b/plugin/scripts/user-message-hook.js @@ -1,13 +1,13 @@ #!/usr/bin/env bun -import{basename as tt}from"path";import L from"path";import{homedir as Y}from"os";import{readFileSync as B}from"fs";import{appendFileSync as W,existsSync as U,mkdirSync as b,readFileSync as x}from"fs";import{join as T}from"path";import{homedir as G}from"os";var S=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(S||{}),R=T(G(),".claude-mem"),M=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=T(R,"logs");U(t)||b(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=T(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=T(R,"settings.json");if(U(t)){let r=x(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=S[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} -${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0"),g=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${E}:${s}.${g}`}log(t,r,e,n,o){if(t(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(M||{}),U=T(x(),".claude-mem"),S=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let t=T(U,"logs");R(t)||W(t,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=T(t,`claude-mem-${r}.log`)}catch(t){console.error("[LOGGER] Failed to initialize log file:",t),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let t=T(U,"settings.json");if(R(t)){let r=b(t,"utf-8"),n=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=M[n]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=r;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0"),g=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${E}:${s}.${g}`}log(t,r,e,n,o){if(t0&&(u=` {${Object.entries(m).map(([F,w])=>`${F}=${w}`).join(", ")}}`)}let C=`[${E}] [${s}] [${g}] ${_}${e}${u}${a}`;if(this.logFilePath)try{W(this.logFilePath,C+` +`+JSON.stringify(o,null,2):a=" "+this.formatData(o));let u="";if(n){let{sessionId:D,memorySessionId:rt,correlationId:nt,...m}=n;Object.keys(m).length>0&&(u=` {${Object.entries(m).map(([P,F])=>`${P}=${F}`).join(", ")}}`)}let A=`[${E}] [${s}] [${g}] ${_}${e}${u}${a}`;if(this.logFilePath)try{w(this.logFilePath,A+` `,"utf8")}catch(D){process.stderr.write(`[LOGGER] Failed to write to log file: ${D} -`)}else process.stderr.write(C+` +`)}else process.stderr.write(A+` `)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,o=""){let _=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),a=_?`${_[1].split("/").pop()}:${_[2]}`:"unknown",u={...e,location:a};return this.warn(t,`[HAPPY-PATH] ${r}`,u,n),o}},f=new M;var p={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5},d={SUCCESS:0,FAILURE:1,USER_MESSAGE_ONLY:3};function h(i){return process.platform==="win32"?Math.round(i*p.WINDOWS_MULTIPLIER):i}import{readFileSync as H,writeFileSync as y,existsSync as $,mkdirSync as K}from"fs";import{join as X,dirname as V}from"path";import{homedir as j}from"os";var I="bugfix,feature,refactor,discovery,decision,change",N="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var l=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:X(j(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:I,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:N,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!$(t)){let E=this.getAllDefaults();try{let s=V(t);$(s)||K(s,{recursive:!0}),y(t,JSON.stringify(E,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",t)}catch(s){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",t,s)}return E}let r=H(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{y(t,JSON.stringify(n,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",t)}catch(E){console.warn("[SETTINGS] Failed to auto-migrate settings file:",t,E)}}let o={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(o[E]=n[E]);return o}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",t,r),this.getAllDefaults()}}};function k(i={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=i,o=e||"Worker service connection failed.",E=t?` (port ${t})`:"",s=`${o}${E} +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),a=_?`${_[1].split("/").pop()}:${_[2]}`:"unknown",u={...e,location:a};return this.warn(t,`[HAPPY-PATH] ${r}`,u,n),o}},f=new S;var L={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function d(i){return process.platform==="win32"?Math.round(i*L.WINDOWS_MULTIPLIER):i}import{readFileSync as G,writeFileSync as N,existsSync as y,mkdirSync as H}from"fs";import{join as K,dirname as X}from"path";import{homedir as V}from"os";var h="bugfix,feature,refactor,discovery,decision,change",I="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var l=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:K(V(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:h,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:I,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!y(t)){let E=this.getAllDefaults();try{let s=X(t);y(s)||H(s,{recursive:!0}),N(t,JSON.stringify(E,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",t)}catch(s){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",t,s)}return E}let r=G(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{N(t,JSON.stringify(n,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",t)}catch(E){console.warn("[SETTINGS] Failed to auto-migrate settings file:",t,E)}}let o={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(o[E]=n[E]);return o}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",t,r),this.getAllDefaults()}}};function $(i={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=i,o=e||"Worker service connection failed.",E=t?` (port ${t})`:"",s=`${o}${E} `;return s+=`To restart the worker: `,s+=`1. Exit Claude Code completely @@ -16,15 +16,15 @@ ${o.stack}`:` ${o.message}`:this.getLevel()===0&&typeof o=="object"?a=` If that doesn't work, try: /troubleshoot`),n&&(s=`Worker Error: ${n} -${s}`),s}var J=L.join(Y(),".claude","plugins","marketplaces","thedotmack"),Ut=h(p.HEALTH_CHECK),O=null;function c(){if(O!==null)return O;let i=L.join(l.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=l.loadFromFile(i);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function z(){let i=c();return(await fetch(`http://127.0.0.1:${i}/api/readiness`)).ok}function q(){let i=L.join(J,"package.json");return JSON.parse(B(i,"utf-8")).version}async function Q(){let i=c(),t=await fetch(`http://127.0.0.1:${i}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function Z(){let i=q(),t=await Q();i!==t&&f.debug("SYSTEM","Version check",{pluginVersion:i,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function v(){for(let r=0;r<75;r++){try{if(await z()){await Z();return}}catch(e){f.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error(k({port:c(),customPrefix:"Worker did not become ready within 15 seconds."}))}await v();var P=c(),et=tt(process.cwd()),A=await fetch(`http://127.0.0.1:${P}/api/context/inject?project=${encodeURIComponent(et)}&colors=true`,{method:"GET"});if(!A.ok)throw new Error(`Failed to fetch context: ${A.status}`);var rt=await A.text();console.error(` +${s}`),s}var Y=p.join(j(),".claude","plugins","marketplaces","thedotmack"),mt=d(L.HEALTH_CHECK),O=null;function c(){if(O!==null)return O;let i=p.join(l.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=l.loadFromFile(i);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function J(){let i=c();return(await fetch(`http://127.0.0.1:${i}/api/readiness`)).ok}function z(){let i=p.join(Y,"package.json");return JSON.parse(B(i,"utf-8")).version}async function q(){let i=c(),t=await fetch(`http://127.0.0.1:${i}/api/version`);if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function Q(){let i=z(),t=await q();i!==t&&f.debug("SYSTEM","Version check",{pluginVersion:i,workerVersion:t,note:"Mismatch will be auto-restarted by worker-service start command"})}async function k(){for(let r=0;r<75;r++){try{if(await J()){await Q();return}}catch(e){f.debug("SYSTEM","Worker health check failed, will retry",{attempt:r+1,maxRetries:75,error:e instanceof Error?e.message:String(e)})}await new Promise(e=>setTimeout(e,200))}throw new Error($({port:c(),customPrefix:"Worker did not become ready within 15 seconds."}))}await k();var v=c(),tt=Z(process.cwd()),C=await fetch(`http://127.0.0.1:${v}/api/context/inject?project=${encodeURIComponent(tt)}&colors=true`,{method:"GET"});if(!C.ok)throw new Error(`Failed to fetch context: ${C.status}`);var et=await C.text();console.error(` \u{1F4DD} Claude-Mem Context Loaded \u2139\uFE0F Note: This appears as stderr but is informational only -`+rt+` +`+et+` \u{1F4A1} New! Wrap all or part of any message with ... to prevent storing sensitive information in your observation history. \u{1F4AC} Community https://discord.gg/J4wttp9vDu -\u{1F4FA} Watch live in browser http://localhost:${P}/ -`);process.exit(d.USER_MESSAGE_ONLY); +\u{1F4FA} Watch live in browser http://localhost:${v}/ +`);process.exit(1); diff --git a/plugin/scripts/worker-service.cjs b/plugin/scripts/worker-service.cjs index 91ef7d19..7525e6fb 100755 --- a/plugin/scripts/worker-service.cjs +++ b/plugin/scripts/worker-service.cjs @@ -1,39 +1,39 @@ #!/usr/bin/env bun -"use strict";var vq=Object.create;var Fd=Object.defineProperty;var yq=Object.getOwnPropertyDescriptor;var _q=Object.getOwnPropertyNames;var bq=Object.getPrototypeOf,xq=Object.prototype.hasOwnProperty;var Ht=(t,e)=>()=>(t&&(e=t(t=0)),e);var j=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Cn=(t,e)=>{for(var r in e)Fd(t,r,{get:e[r],enumerable:!0})},bE=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _q(e))!xq.call(t,i)&&i!==r&&Fd(t,i,{get:()=>e[i],enumerable:!(n=yq(e,i))||n.enumerable});return t};var dt=(t,e,r)=>(r=t!=null?vq(bq(t)):{},bE(e||!t||!t.__esModule?Fd(r,"default",{value:t,enumerable:!0}):r,t)),Zd=t=>bE(Fd({},"__esModule",{value:!0}),t);var Lu=j(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.regexpCode=at.getEsmExportName=at.getProperty=at.safeStringify=at.stringify=at.strConcat=at.addCodeArg=at.str=at._=at.nil=at._Code=at.Name=at.IDENTIFIER=at._CodeOrName=void 0;var Uu=class{};at._CodeOrName=Uu;at.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Fa=class extends Uu{constructor(e){if(super(),!at.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};at.Name=Fa;var hn=class extends Uu{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Fa&&(r[n.str]=(r[n.str]||0)+1),r),{})}};at._Code=hn;at.nil=new hn("");function D1(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.ValueScope=Ur.ValueScopeName=Ur.Scope=Ur.varKinds=Ur.UsedValueState=void 0;var zr=Lu(),Mb=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},df;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(df||(Ur.UsedValueState=df={}));Ur.varKinds={const:new zr.Name("const"),let:new zr.Name("let"),var:new zr.Name("var")};var pf=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof zr.Name?e:this.name(e)}name(e){return new zr.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Ur.Scope=pf;var ff=class extends zr.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,zr._)`.${new zr.Name(r)}[${n}]`}};Ur.ValueScopeName=ff;var g5=(0,zr._)`\n`,Db=class extends pf{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?g5:zr.nil}}get(){return this._scope}name(e){return new ff(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let i=this.toName(e),{prefix:a}=i,o=(n=r.key)!==null&&n!==void 0?n:r.ref,s=this._values[a];if(s){let l=s.get(o);if(l)return l}else s=this._values[a]=new Map;s.set(o,i);let c=this._scope[a]||(this._scope[a]=[]),u=c.length;return c[u]=r.ref,i.setValue(r,{property:a,itemIndex:u}),i}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,zr._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},r,n)}_reduceValues(e,r,n={},i){let a=zr.nil;for(let o in e){let s=e[o];if(!s)continue;let c=n[o]=n[o]||new Map;s.forEach(u=>{if(c.has(u))return;c.set(u,df.Started);let l=r(u);if(l){let d=this.opts.es5?Ur.varKinds.var:Ur.varKinds.const;a=(0,zr._)`${a}${d} ${u} = ${l};${this.opts._n}`}else if(l=i?.(u))a=(0,zr._)`${a}${l}${this.opts._n}`;else throw new Mb(u);c.set(u,df.Completed)})}return a}};Ur.ValueScope=Db});var Le=j(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.or=Ze.and=Ze.not=Ze.CodeGen=Ze.operators=Ze.varKinds=Ze.ValueScopeName=Ze.ValueScope=Ze.Scope=Ze.Name=Ze.regexpCode=Ze.stringify=Ze.getProperty=Ze.nil=Ze.strConcat=Ze.str=Ze._=void 0;var rt=Lu(),Dn=zb(),na=Lu();Object.defineProperty(Ze,"_",{enumerable:!0,get:function(){return na._}});Object.defineProperty(Ze,"str",{enumerable:!0,get:function(){return na.str}});Object.defineProperty(Ze,"strConcat",{enumerable:!0,get:function(){return na.strConcat}});Object.defineProperty(Ze,"nil",{enumerable:!0,get:function(){return na.nil}});Object.defineProperty(Ze,"getProperty",{enumerable:!0,get:function(){return na.getProperty}});Object.defineProperty(Ze,"stringify",{enumerable:!0,get:function(){return na.stringify}});Object.defineProperty(Ze,"regexpCode",{enumerable:!0,get:function(){return na.regexpCode}});Object.defineProperty(Ze,"Name",{enumerable:!0,get:function(){return na.Name}});var vf=zb();Object.defineProperty(Ze,"Scope",{enumerable:!0,get:function(){return vf.Scope}});Object.defineProperty(Ze,"ValueScope",{enumerable:!0,get:function(){return vf.ValueScope}});Object.defineProperty(Ze,"ValueScopeName",{enumerable:!0,get:function(){return vf.ValueScopeName}});Object.defineProperty(Ze,"varKinds",{enumerable:!0,get:function(){return vf.varKinds}});Ze.operators={GT:new rt._Code(">"),GTE:new rt._Code(">="),LT:new rt._Code("<"),LTE:new rt._Code("<="),EQ:new rt._Code("==="),NEQ:new rt._Code("!=="),NOT:new rt._Code("!"),OR:new rt._Code("||"),AND:new rt._Code("&&"),ADD:new rt._Code("+")};var Oi=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Ub=class extends Oi{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Dn.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=is(this.rhs,e,r)),this}get names(){return this.rhs instanceof rt._CodeOrName?this.rhs.names:{}}},mf=class extends Oi{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof rt.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=is(this.rhs,e,r),this}get names(){let e=this.lhs instanceof rt.Name?{}:{...this.lhs.names};return gf(e,this.rhs)}},qb=class extends mf{constructor(e,r,n,i){super(e,n,i),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Lb=class extends Oi{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Fb=class extends Oi{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Zb=class extends Oi{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Hb=class extends Oi{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=is(this.code,e,r),this}get names(){return this.code instanceof rt._CodeOrName?this.code.names:{}}},Fu=class extends Oi{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,i=n.length;for(;i--;){let a=n[i];a.optimizeNames(e,r)||(v5(e,a.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Ba(e,r.names),{})}},Ri=class extends Fu{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Bb=class extends Fu{},ns=class extends Ri{};ns.kind="else";var Za=class t extends Ri{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new ns(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(U1(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=is(this.condition,e,r),this}get names(){let e=super.names;return gf(e,this.condition),this.else&&Ba(e,this.else.names),e}};Za.kind="if";var Ha=class extends Ri{};Ha.kind="for";var Vb=class extends Ha{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=is(this.iteration,e,r),this}get names(){return Ba(super.names,this.iteration.names)}},Gb=class extends Ha{constructor(e,r,n,i){super(),this.varKind=e,this.name=r,this.from=n,this.to=i}render(e){let r=e.es5?Dn.varKinds.var:this.varKind,{name:n,from:i,to:a}=this;return`for(${r} ${n}=${i}; ${n}<${a}; ${n}++)`+super.render(e)}get names(){let e=gf(super.names,this.from);return gf(e,this.to)}},hf=class extends Ha{constructor(e,r,n,i){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=i}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=is(this.iterable,e,r),this}get names(){return Ba(super.names,this.iterable.names)}},Zu=class extends Ri{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Zu.kind="func";var Hu=class extends Fu{render(e){return"return "+super.render(e)}};Hu.kind="return";var Wb=class extends Ri{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,i;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(i=this.finally)===null||i===void 0||i.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Ba(e,this.catch.names),this.finally&&Ba(e,this.finally.names),e}},Bu=class extends Ri{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Bu.kind="catch";var Vu=class extends Ri{render(e){return"finally"+super.render(e)}};Vu.kind="finally";var Kb=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` -`:""},this._extScope=e,this._scope=new Dn.Scope({parent:e}),this._nodes=[new Bb]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,i){let a=this._scope.toName(r);return n!==void 0&&i&&(this._constants[a.str]=n),this._leafNode(new Ub(e,a,n)),a}const(e,r,n){return this._def(Dn.varKinds.const,e,r,n)}let(e,r,n){return this._def(Dn.varKinds.let,e,r,n)}var(e,r,n){return this._def(Dn.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new mf(e,r,n))}add(e,r){return this._leafNode(new qb(e,Ze.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==rt.nil&&this._leafNode(new Hb(e)),this}object(...e){let r=["{"];for(let[n,i]of e)r.length>1&&r.push(","),r.push(n),(n!==i||this.opts.es5)&&(r.push(":"),(0,rt.addCodeArg)(r,i));return r.push("}"),new rt._Code(r)}if(e,r,n){if(this._blockNode(new Za(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Za(e))}else(){return this._elseNode(new ns)}endIf(){return this._endBlockNode(Za,ns)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Vb(e),r)}forRange(e,r,n,i,a=this.opts.es5?Dn.varKinds.var:Dn.varKinds.let){let o=this._scope.toName(e);return this._for(new Gb(a,o,r,n),()=>i(o))}forOf(e,r,n,i=Dn.varKinds.const){let a=this._scope.toName(e);if(this.opts.es5){let o=r instanceof rt.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,rt._)`${o}.length`,s=>{this.var(a,(0,rt._)`${o}[${s}]`),n(a)})}return this._for(new hf("of",i,a,r),()=>n(a))}forIn(e,r,n,i=this.opts.es5?Dn.varKinds.var:Dn.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,rt._)`Object.keys(${r})`,n);let a=this._scope.toName(e);return this._for(new hf("in",i,a,r),()=>n(a))}endFor(){return this._endBlockNode(Ha)}label(e){return this._leafNode(new Lb(e))}break(e){return this._leafNode(new Fb(e))}return(e){let r=new Hu;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Hu)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new Wb;if(this._blockNode(i),this.code(e),r){let a=this.name("e");this._currNode=i.catch=new Bu(a),r(a)}return n&&(this._currNode=i.finally=new Vu,this.code(n)),this._endBlockNode(Bu,Vu)}throw(e){return this._leafNode(new Zb(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=rt.nil,n,i){return this._blockNode(new Zu(e,r,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(Zu)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Za))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Ze.CodeGen=Kb;function Ba(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function gf(t,e){return e instanceof rt._CodeOrName?Ba(t,e.names):t}function is(t,e,r){if(t instanceof rt.Name)return n(t);if(!i(t))return t;return new rt._Code(t._items.reduce((a,o)=>(o instanceof rt.Name&&(o=n(o)),o instanceof rt._Code?a.push(...o._items):a.push(o),a),[]));function n(a){let o=r[a.str];return o===void 0||e[a.str]!==1?a:(delete e[a.str],o)}function i(a){return a instanceof rt._Code&&a._items.some(o=>o instanceof rt.Name&&e[o.str]===1&&r[o.str]!==void 0)}}function v5(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function U1(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,rt._)`!${Jb(t)}`}Ze.not=U1;var y5=q1(Ze.operators.AND);function _5(...t){return t.reduce(y5)}Ze.and=_5;var b5=q1(Ze.operators.OR);function x5(...t){return t.reduce(b5)}Ze.or=x5;function q1(t){return(e,r)=>e===rt.nil?r:r===rt.nil?e:(0,rt._)`${Jb(e)} ${t} ${Jb(r)}`}function Jb(t){return t instanceof rt.Name?t:(0,rt._)`(${t})`}});var ot=j(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.checkStrictMode=We.getErrorPath=We.Type=We.useFunc=We.setEvaluated=We.evaluatedPropsToName=We.mergeEvaluated=We.eachItem=We.unescapeJsonPointer=We.escapeJsonPointer=We.escapeFragment=We.unescapeFragment=We.schemaRefOrVal=We.schemaHasRulesButRef=We.schemaHasRules=We.checkUnknownRules=We.alwaysValidSchema=We.toHash=void 0;var kt=Le(),S5=Lu();function w5(t){let e={};for(let r of t)e[r]=!0;return e}We.toHash=w5;function $5(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Z1(t,e),!H1(e,t.self.RULES.all))}We.alwaysValidSchema=$5;function Z1(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let i=n.RULES.keywords;for(let a in e)i[a]||G1(t,`unknown keyword: "${a}"`)}We.checkUnknownRules=Z1;function H1(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}We.schemaHasRules=H1;function E5(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}We.schemaHasRulesButRef=E5;function k5({topSchemaRef:t,schemaPath:e},r,n,i){if(!i){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,kt._)`${r}`}return(0,kt._)`${t}${e}${(0,kt.getProperty)(n)}`}We.schemaRefOrVal=k5;function T5(t){return B1(decodeURIComponent(t))}We.unescapeFragment=T5;function I5(t){return encodeURIComponent(Yb(t))}We.escapeFragment=I5;function Yb(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}We.escapeJsonPointer=Yb;function B1(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}We.unescapeJsonPointer=B1;function P5(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}We.eachItem=P5;function L1({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(i,a,o,s)=>{let c=o===void 0?a:o instanceof kt.Name?(a instanceof kt.Name?t(i,a,o):e(i,a,o),o):a instanceof kt.Name?(e(i,o,a),a):r(a,o);return s===kt.Name&&!(c instanceof kt.Name)?n(i,c):c}}We.mergeEvaluated={props:L1({mergeNames:(t,e,r)=>t.if((0,kt._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,kt._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,kt._)`${r} || {}`).code((0,kt._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,kt._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,kt._)`${r} || {}`),Qb(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:V1}),items:L1({mergeNames:(t,e,r)=>t.if((0,kt._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,kt._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,kt._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,kt._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function V1(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,kt._)`{}`);return e!==void 0&&Qb(t,r,e),r}We.evaluatedPropsToName=V1;function Qb(t,e,r){Object.keys(r).forEach(n=>t.assign((0,kt._)`${e}${(0,kt.getProperty)(n)}`,!0))}We.setEvaluated=Qb;var F1={};function O5(t,e){return t.scopeValue("func",{ref:e,code:F1[e.code]||(F1[e.code]=new S5._Code(e.code))})}We.useFunc=O5;var Xb;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Xb||(We.Type=Xb={}));function R5(t,e,r){if(t instanceof kt.Name){let n=e===Xb.Num;return r?n?(0,kt._)`"[" + ${t} + "]"`:(0,kt._)`"['" + ${t} + "']"`:n?(0,kt._)`"/" + ${t}`:(0,kt._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,kt.getProperty)(t).toString():"/"+Yb(t)}We.getErrorPath=R5;function G1(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}We.checkStrictMode=G1});var Ci=j(ex=>{"use strict";Object.defineProperty(ex,"__esModule",{value:!0});var yr=Le(),C5={data:new yr.Name("data"),valCxt:new yr.Name("valCxt"),instancePath:new yr.Name("instancePath"),parentData:new yr.Name("parentData"),parentDataProperty:new yr.Name("parentDataProperty"),rootData:new yr.Name("rootData"),dynamicAnchors:new yr.Name("dynamicAnchors"),vErrors:new yr.Name("vErrors"),errors:new yr.Name("errors"),this:new yr.Name("this"),self:new yr.Name("self"),scope:new yr.Name("scope"),json:new yr.Name("json"),jsonPos:new yr.Name("jsonPos"),jsonLen:new yr.Name("jsonLen"),jsonPart:new yr.Name("jsonPart")};ex.default=C5});var Gu=j(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.extendErrors=_r.resetErrorsCount=_r.reportExtraError=_r.reportError=_r.keyword$DataError=_r.keywordError=void 0;var nt=Le(),yf=ot(),Pr=Ci();_r.keywordError={message:({keyword:t})=>(0,nt.str)`must pass "${t}" keyword validation`};_r.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,nt.str)`"${t}" keyword must be ${e} ($data)`:(0,nt.str)`"${t}" keyword is invalid ($data)`};function N5(t,e=_r.keywordError,r,n){let{it:i}=t,{gen:a,compositeRule:o,allErrors:s}=i,c=J1(t,e,r);n??(o||s)?W1(a,c):K1(i,(0,nt._)`[${c}]`)}_r.reportError=N5;function j5(t,e=_r.keywordError,r){let{it:n}=t,{gen:i,compositeRule:a,allErrors:o}=n,s=J1(t,e,r);W1(i,s),a||o||K1(n,Pr.default.vErrors)}_r.reportExtraError=j5;function A5(t,e){t.assign(Pr.default.errors,e),t.if((0,nt._)`${Pr.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,nt._)`${Pr.default.vErrors}.length`,e),()=>t.assign(Pr.default.vErrors,null)))}_r.resetErrorsCount=A5;function M5({gen:t,keyword:e,schemaValue:r,data:n,errsCount:i,it:a}){if(i===void 0)throw new Error("ajv implementation error");let o=t.name("err");t.forRange("i",i,Pr.default.errors,s=>{t.const(o,(0,nt._)`${Pr.default.vErrors}[${s}]`),t.if((0,nt._)`${o}.instancePath === undefined`,()=>t.assign((0,nt._)`${o}.instancePath`,(0,nt.strConcat)(Pr.default.instancePath,a.errorPath))),t.assign((0,nt._)`${o}.schemaPath`,(0,nt.str)`${a.errSchemaPath}/${e}`),a.opts.verbose&&(t.assign((0,nt._)`${o}.schema`,r),t.assign((0,nt._)`${o}.data`,n))})}_r.extendErrors=M5;function W1(t,e){let r=t.const("err",e);t.if((0,nt._)`${Pr.default.vErrors} === null`,()=>t.assign(Pr.default.vErrors,(0,nt._)`[${r}]`),(0,nt._)`${Pr.default.vErrors}.push(${r})`),t.code((0,nt._)`${Pr.default.errors}++`)}function K1(t,e){let{gen:r,validateName:n,schemaEnv:i}=t;i.$async?r.throw((0,nt._)`new ${t.ValidationError}(${e})`):(r.assign((0,nt._)`${n}.errors`,e),r.return(!1))}var Va={keyword:new nt.Name("keyword"),schemaPath:new nt.Name("schemaPath"),params:new nt.Name("params"),propertyName:new nt.Name("propertyName"),message:new nt.Name("message"),schema:new nt.Name("schema"),parentSchema:new nt.Name("parentSchema")};function J1(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,nt._)`{}`:D5(t,e,r)}function D5(t,e,r={}){let{gen:n,it:i}=t,a=[z5(i,r),U5(t,r)];return q5(t,e,a),n.object(...a)}function z5({errorPath:t},{instancePath:e}){let r=e?(0,nt.str)`${t}${(0,yf.getErrorPath)(e,yf.Type.Str)}`:t;return[Pr.default.instancePath,(0,nt.strConcat)(Pr.default.instancePath,r)]}function U5({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let i=n?e:(0,nt.str)`${e}/${t}`;return r&&(i=(0,nt.str)`${i}${(0,yf.getErrorPath)(r,yf.Type.Str)}`),[Va.schemaPath,i]}function q5(t,{params:e,message:r},n){let{keyword:i,data:a,schemaValue:o,it:s}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=s;n.push([Va.keyword,i],[Va.params,typeof e=="function"?e(t):e||(0,nt._)`{}`]),c.messages&&n.push([Va.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Va.schema,o],[Va.parentSchema,(0,nt._)`${l}${d}`],[Pr.default.data,a]),u&&n.push([Va.propertyName,u])}});var Y1=j(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.boolOrEmptySchema=as.topBoolOrEmptySchema=void 0;var L5=Gu(),F5=Le(),Z5=Ci(),H5={message:"boolean schema is false"};function B5(t){let{gen:e,schema:r,validateName:n}=t;r===!1?X1(t,!1):typeof r=="object"&&r.$async===!0?e.return(Z5.default.data):(e.assign((0,F5._)`${n}.errors`,null),e.return(!0))}as.topBoolOrEmptySchema=B5;function V5(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),X1(t)):r.var(e,!0)}as.boolOrEmptySchema=V5;function X1(t,e){let{gen:r,data:n}=t,i={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,L5.reportError)(i,H5,void 0,e)}});var tx=j(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.getRules=os.isJSONType=void 0;var G5=["string","number","integer","boolean","null","object","array"],W5=new Set(G5);function K5(t){return typeof t=="string"&&W5.has(t)}os.isJSONType=K5;function J5(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}os.getRules=J5});var rx=j(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.shouldUseRule=ia.shouldUseGroup=ia.schemaHasRulesForType=void 0;function X5({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Q1(t,n)}ia.schemaHasRulesForType=X5;function Q1(t,e){return e.rules.some(r=>eI(t,r))}ia.shouldUseGroup=Q1;function eI(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}ia.shouldUseRule=eI});var Wu=j(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.reportTypeError=br.checkDataTypes=br.checkDataType=br.coerceAndCheckDataType=br.getJSONTypes=br.getSchemaTypes=br.DataType=void 0;var Y5=tx(),Q5=rx(),e3=Gu(),Ue=Le(),tI=ot(),ss;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(ss||(br.DataType=ss={}));function t3(t){let e=rI(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}br.getSchemaTypes=t3;function rI(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(Y5.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}br.getJSONTypes=rI;function r3(t,e){let{gen:r,data:n,opts:i}=t,a=n3(e,i.coerceTypes),o=e.length>0&&!(a.length===0&&e.length===1&&(0,Q5.schemaHasRulesForType)(t,e[0]));if(o){let s=ix(e,n,i.strictNumbers,ss.Wrong);r.if(s,()=>{a.length?i3(t,e,a):ax(t)})}return o}br.coerceAndCheckDataType=r3;var nI=new Set(["string","number","integer","boolean","null"]);function n3(t,e){return e?t.filter(r=>nI.has(r)||e==="array"&&r==="array"):[]}function i3(t,e,r){let{gen:n,data:i,opts:a}=t,o=n.let("dataType",(0,Ue._)`typeof ${i}`),s=n.let("coerced",(0,Ue._)`undefined`);a.coerceTypes==="array"&&n.if((0,Ue._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,Ue._)`${i}[0]`).assign(o,(0,Ue._)`typeof ${i}`).if(ix(e,i,a.strictNumbers),()=>n.assign(s,i))),n.if((0,Ue._)`${s} !== undefined`);for(let u of r)(nI.has(u)||u==="array"&&a.coerceTypes==="array")&&c(u);n.else(),ax(t),n.endIf(),n.if((0,Ue._)`${s} !== undefined`,()=>{n.assign(i,s),a3(t,s)});function c(u){switch(u){case"string":n.elseIf((0,Ue._)`${o} == "number" || ${o} == "boolean"`).assign(s,(0,Ue._)`"" + ${i}`).elseIf((0,Ue._)`${i} === null`).assign(s,(0,Ue._)`""`);return;case"number":n.elseIf((0,Ue._)`${o} == "boolean" || ${i} === null - || (${o} == "string" && ${i} && ${i} == +${i})`).assign(s,(0,Ue._)`+${i}`);return;case"integer":n.elseIf((0,Ue._)`${o} === "boolean" || ${i} === null - || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(s,(0,Ue._)`+${i}`);return;case"boolean":n.elseIf((0,Ue._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(s,!1).elseIf((0,Ue._)`${i} === "true" || ${i} === 1`).assign(s,!0);return;case"null":n.elseIf((0,Ue._)`${i} === "" || ${i} === 0 || ${i} === false`),n.assign(s,null);return;case"array":n.elseIf((0,Ue._)`${o} === "string" || ${o} === "number" - || ${o} === "boolean" || ${i} === null`).assign(s,(0,Ue._)`[${i}]`)}}}function a3({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,Ue._)`${e} !== undefined`,()=>t.assign((0,Ue._)`${e}[${r}]`,n))}function nx(t,e,r,n=ss.Correct){let i=n===ss.Correct?Ue.operators.EQ:Ue.operators.NEQ,a;switch(t){case"null":return(0,Ue._)`${e} ${i} null`;case"array":a=(0,Ue._)`Array.isArray(${e})`;break;case"object":a=(0,Ue._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":a=o((0,Ue._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":a=o();break;default:return(0,Ue._)`typeof ${e} ${i} ${t}`}return n===ss.Correct?a:(0,Ue.not)(a);function o(s=Ue.nil){return(0,Ue.and)((0,Ue._)`typeof ${e} == "number"`,s,r?(0,Ue._)`isFinite(${e})`:Ue.nil)}}br.checkDataType=nx;function ix(t,e,r,n){if(t.length===1)return nx(t[0],e,r,n);let i,a=(0,tI.toHash)(t);if(a.array&&a.object){let o=(0,Ue._)`typeof ${e} != "object"`;i=a.null?o:(0,Ue._)`!${e} || ${o}`,delete a.null,delete a.array,delete a.object}else i=Ue.nil;a.number&&delete a.integer;for(let o in a)i=(0,Ue.and)(i,nx(o,e,r,n));return i}br.checkDataTypes=ix;var o3={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,Ue._)`{type: ${t}}`:(0,Ue._)`{type: ${e}}`};function ax(t){let e=s3(t);(0,e3.reportError)(e,o3)}br.reportTypeError=ax;function s3(t){let{gen:e,data:r,schema:n}=t,i=(0,tI.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:t}}});var aI=j(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.assignDefaults=void 0;var cs=Le(),c3=ot();function u3(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let i in r)iI(t,i,r[i].default);else e==="array"&&Array.isArray(n)&&n.forEach((i,a)=>iI(t,a,i.default))}_f.assignDefaults=u3;function iI(t,e,r){let{gen:n,compositeRule:i,data:a,opts:o}=t;if(r===void 0)return;let s=(0,cs._)`${a}${(0,cs.getProperty)(e)}`;if(i){(0,c3.checkStrictMode)(t,`default is ignored for: ${s}`);return}let c=(0,cs._)`${s} === undefined`;o.useDefaults==="empty"&&(c=(0,cs._)`${c} || ${s} === null || ${s} === ""`),n.if(c,(0,cs._)`${s} = ${(0,cs.stringify)(r)}`)}});var gn=j(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.validateUnion=xt.validateArray=xt.usePattern=xt.callValidateCode=xt.schemaProperties=xt.allSchemaProperties=xt.noPropertyInData=xt.propertyInData=xt.isOwnProperty=xt.hasPropFunc=xt.reportMissingProp=xt.checkMissingProp=xt.checkReportMissingProp=void 0;var jt=Le(),ox=ot(),aa=Ci(),l3=ot();function d3(t,e){let{gen:r,data:n,it:i}=t;r.if(cx(r,n,e,i.opts.ownProperties),()=>{t.setParams({missingProperty:(0,jt._)`${e}`},!0),t.error()})}xt.checkReportMissingProp=d3;function p3({gen:t,data:e,it:{opts:r}},n,i){return(0,jt.or)(...n.map(a=>(0,jt.and)(cx(t,e,a,r.ownProperties),(0,jt._)`${i} = ${a}`)))}xt.checkMissingProp=p3;function f3(t,e){t.setParams({missingProperty:e},!0),t.error()}xt.reportMissingProp=f3;function oI(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,jt._)`Object.prototype.hasOwnProperty`})}xt.hasPropFunc=oI;function sx(t,e,r){return(0,jt._)`${oI(t)}.call(${e}, ${r})`}xt.isOwnProperty=sx;function m3(t,e,r,n){let i=(0,jt._)`${e}${(0,jt.getProperty)(r)} !== undefined`;return n?(0,jt._)`${i} && ${sx(t,e,r)}`:i}xt.propertyInData=m3;function cx(t,e,r,n){let i=(0,jt._)`${e}${(0,jt.getProperty)(r)} === undefined`;return n?(0,jt.or)(i,(0,jt.not)(sx(t,e,r))):i}xt.noPropertyInData=cx;function sI(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}xt.allSchemaProperties=sI;function h3(t,e){return sI(e).filter(r=>!(0,ox.alwaysValidSchema)(t,e[r]))}xt.schemaProperties=h3;function g3({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,c,u){let l=u?(0,jt._)`${t}, ${e}, ${n}${i}`:e,d=[[aa.default.instancePath,(0,jt.strConcat)(aa.default.instancePath,a)],[aa.default.parentData,o.parentData],[aa.default.parentDataProperty,o.parentDataProperty],[aa.default.rootData,aa.default.rootData]];o.opts.dynamicRef&&d.push([aa.default.dynamicAnchors,aa.default.dynamicAnchors]);let p=(0,jt._)`${l}, ${r.object(...d)}`;return c!==jt.nil?(0,jt._)`${s}.call(${c}, ${p})`:(0,jt._)`${s}(${p})`}xt.callValidateCode=g3;var v3=(0,jt._)`new RegExp`;function y3({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:i}=e.code,a=i(r,n);return t.scopeValue("pattern",{key:a.toString(),ref:a,code:(0,jt._)`${i.code==="new RegExp"?v3:(0,l3.useFunc)(t,i)}(${r}, ${n})`})}xt.usePattern=y3;function _3(t){let{gen:e,data:r,keyword:n,it:i}=t,a=e.name("valid");if(i.allErrors){let s=e.let("valid",!0);return o(()=>e.assign(s,!1)),s}return e.var(a,!0),o(()=>e.break()),a;function o(s){let c=e.const("len",(0,jt._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:ox.Type.Num},a),e.if((0,jt.not)(a),s)})}}xt.validateArray=_3;function b3(t){let{gen:e,schema:r,keyword:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,ox.alwaysValidSchema)(i,c))&&!i.opts.unevaluated)return;let o=e.let("valid",!1),s=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},s);e.assign(o,(0,jt._)`${o} || ${s}`),t.mergeValidEvaluated(l,s)||e.if((0,jt.not)(o))})),t.result(o,()=>t.reset(),()=>t.error(!0))}xt.validateUnion=b3});var lI=j(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.validateKeywordUsage=ni.validSchemaType=ni.funcKeywordCode=ni.macroKeywordCode=void 0;var Or=Le(),Ga=Ci(),x3=gn(),S3=Gu();function w3(t,e){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=t,s=e.macro.call(o.self,i,a,o),c=uI(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let u=r.name("valid");t.subschema({schema:s,schemaPath:Or.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}ni.macroKeywordCode=w3;function $3(t,e){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:c}=t;k3(c,e);let u=!s&&e.compile?e.compile.call(c.self,a,o,c):e.validate,l=uI(n,i,u),d=n.let("valid");t.block$data(d,p),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function p(){if(e.errors===!1)_(),e.modifying&&cI(t),g(()=>t.error());else{let m=e.async?f():h();e.modifying&&cI(t),g(()=>E3(t,m))}}function f(){let m=n.let("ruleErrs",null);return n.try(()=>_((0,Or._)`await `),y=>n.assign(d,!1).if((0,Or._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(m,(0,Or._)`${y}.errors`),()=>n.throw(y))),m}function h(){let m=(0,Or._)`${l}.errors`;return n.assign(m,null),_(Or.nil),m}function _(m=e.async?(0,Or._)`await `:Or.nil){let y=c.opts.passContext?Ga.default.this:Ga.default.self,v=!("compile"in e&&!s||e.schema===!1);n.assign(d,(0,Or._)`${m}${(0,x3.callValidateCode)(t,l,y,v)}`,e.modifying)}function g(m){var y;n.if((0,Or.not)((y=e.valid)!==null&&y!==void 0?y:d),m)}}ni.funcKeywordCode=$3;function cI(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Or._)`${n.parentData}[${n.parentDataProperty}]`))}function E3(t,e){let{gen:r}=t;r.if((0,Or._)`Array.isArray(${e})`,()=>{r.assign(Ga.default.vErrors,(0,Or._)`${Ga.default.vErrors} === null ? ${e} : ${Ga.default.vErrors}.concat(${e})`).assign(Ga.default.errors,(0,Or._)`${Ga.default.vErrors}.length`),(0,S3.extendErrors)(t)},()=>t.error())}function k3({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function uI(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Or.stringify)(r)})}function T3(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}ni.validSchemaType=T3;function I3({schema:t,opts:e,self:r,errSchemaPath:n},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw new Error("ajv implementation error");let o=i.dependencies;if(o?.some(s=>!Object.prototype.hasOwnProperty.call(t,s)))throw new Error(`parent schema must have dependencies of ${a}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(t[a])){let c=`keyword "${a}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}ni.validateKeywordUsage=I3});var pI=j(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.extendSubschemaMode=oa.extendSubschemaData=oa.getSubschema=void 0;var ii=Le(),dI=ot();function P3(t,{keyword:e,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:a,topSchemaRef:o}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let s=t.schema[e];return r===void 0?{schema:s,schemaPath:(0,ii._)`${t.schemaPath}${(0,ii.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:s[r],schemaPath:(0,ii._)`${t.schemaPath}${(0,ii.getProperty)(e)}${(0,ii.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,dI.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||a===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')}oa.getSubschema=P3;function O3(t,e,{dataProp:r,dataPropType:n,data:i,dataTypes:a,propertyName:o}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,p=s.let("data",(0,ii._)`${e.data}${(0,ii.getProperty)(r)}`,!0);c(p),t.errorPath=(0,ii.str)`${u}${(0,dI.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,ii._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(i!==void 0){let u=i instanceof ii.Name?i:s.let("data",i,!0);c(u),o!==void 0&&(t.propertyName=o)}a&&(t.dataTypes=a);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}oa.extendSubschemaData=O3;function R3(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:a}){n!==void 0&&(t.compositeRule=n),i!==void 0&&(t.createErrors=i),a!==void 0&&(t.allErrors=a),t.jtdDiscriminator=e,t.jtdMetadata=r}oa.extendSubschemaMode=R3});var ux=j((ESe,fI)=>{"use strict";fI.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,i,a;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!t(e[i],r[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(a=Object.keys(e),n=a.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,a[i]))return!1;for(i=n;i--!==0;){var o=a[i];if(!t(e[o],r[o]))return!1}return!0}return e!==e&&r!==r}});var hI=j((kSe,mI)=>{"use strict";var sa=mI.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};bf(e,n,i,t,"",t)};sa.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};sa.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};sa.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};sa.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function bf(t,e,r,n,i,a,o,s,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,i,a,o,s,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in sa.arrayKeywords)for(var p=0;p{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.getSchemaRefs=qr.resolveUrl=qr.normalizeId=qr._getFullPath=qr.getFullPath=qr.inlineRef=void 0;var N3=ot(),j3=ux(),A3=hI(),M3=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function D3(t,e=!0){return typeof t=="boolean"?!0:e===!0?!lx(t):e?gI(t)<=e:!1}qr.inlineRef=D3;var z3=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function lx(t){for(let e in t){if(z3.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(lx)||typeof r=="object"&&lx(r))return!0}return!1}function gI(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!M3.has(r)&&(typeof t[r]=="object"&&(0,N3.eachItem)(t[r],n=>e+=gI(n)),e===1/0))return 1/0}return e}function vI(t,e="",r){r!==!1&&(e=us(e));let n=t.parse(e);return yI(t,n)}qr.getFullPath=vI;function yI(t,e){return t.serialize(e).split("#")[0]+"#"}qr._getFullPath=yI;var U3=/#\/?$/;function us(t){return t?t.replace(U3,""):""}qr.normalizeId=us;function q3(t,e,r){return r=us(r),t.resolve(e,r)}qr.resolveUrl=q3;var L3=/^[a-z_][-a-z0-9._]*$/i;function F3(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=us(t[r]||e),a={"":i},o=vI(n,i,!1),s={},c=new Set;return A3(t,{allKeys:!0},(d,p,f,h)=>{if(h===void 0)return;let _=o+p,g=a[h];typeof d[r]=="string"&&(g=m.call(this,d[r])),y.call(this,d.$anchor),y.call(this,d.$dynamicAnchor),a[p]=g;function m(v){let b=this.opts.uriResolver.resolve;if(v=us(g?b(g,v):v),c.has(v))throw l(v);c.add(v);let S=this.refs[v];return typeof S=="string"&&(S=this.refs[S]),typeof S=="object"?u(d,S.schema,v):v!==us(_)&&(v[0]==="#"?(u(d,s[v],v),s[v]=d):this.refs[v]=_),v}function y(v){if(typeof v=="string"){if(!L3.test(v))throw new Error(`invalid anchor "${v}"`);m.call(this,`#${v}`)}}}),s;function u(d,p,f){if(p!==void 0&&!j3(d,p))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}qr.getSchemaRefs=F3});var Yu=j(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.getData=ca.KeywordCxt=ca.validateFunctionCode=void 0;var wI=Y1(),_I=Wu(),px=rx(),xf=Wu(),Z3=aI(),Xu=lI(),dx=pI(),ye=Le(),Ne=Ci(),H3=Ku(),Ni=ot(),Ju=Gu();function B3(t){if(kI(t)&&(TI(t),EI(t))){W3(t);return}$I(t,()=>(0,wI.topBoolOrEmptySchema)(t))}ca.validateFunctionCode=B3;function $I({gen:t,validateName:e,schema:r,schemaEnv:n,opts:i},a){i.code.es5?t.func(e,(0,ye._)`${Ne.default.data}, ${Ne.default.valCxt}`,n.$async,()=>{t.code((0,ye._)`"use strict"; ${bI(r,i)}`),G3(t,i),t.code(a)}):t.func(e,(0,ye._)`${Ne.default.data}, ${V3(i)}`,n.$async,()=>t.code(bI(r,i)).code(a))}function V3(t){return(0,ye._)`{${Ne.default.instancePath}="", ${Ne.default.parentData}, ${Ne.default.parentDataProperty}, ${Ne.default.rootData}=${Ne.default.data}${t.dynamicRef?(0,ye._)`, ${Ne.default.dynamicAnchors}={}`:ye.nil}}={}`}function G3(t,e){t.if(Ne.default.valCxt,()=>{t.var(Ne.default.instancePath,(0,ye._)`${Ne.default.valCxt}.${Ne.default.instancePath}`),t.var(Ne.default.parentData,(0,ye._)`${Ne.default.valCxt}.${Ne.default.parentData}`),t.var(Ne.default.parentDataProperty,(0,ye._)`${Ne.default.valCxt}.${Ne.default.parentDataProperty}`),t.var(Ne.default.rootData,(0,ye._)`${Ne.default.valCxt}.${Ne.default.rootData}`),e.dynamicRef&&t.var(Ne.default.dynamicAnchors,(0,ye._)`${Ne.default.valCxt}.${Ne.default.dynamicAnchors}`)},()=>{t.var(Ne.default.instancePath,(0,ye._)`""`),t.var(Ne.default.parentData,(0,ye._)`undefined`),t.var(Ne.default.parentDataProperty,(0,ye._)`undefined`),t.var(Ne.default.rootData,Ne.default.data),e.dynamicRef&&t.var(Ne.default.dynamicAnchors,(0,ye._)`{}`)})}function W3(t){let{schema:e,opts:r,gen:n}=t;$I(t,()=>{r.$comment&&e.$comment&&PI(t),Q3(t),n.let(Ne.default.vErrors,null),n.let(Ne.default.errors,0),r.unevaluated&&K3(t),II(t),rZ(t)})}function K3(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,ye._)`${r}.evaluated`),e.if((0,ye._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,ye._)`${t.evaluated}.props`,(0,ye._)`undefined`)),e.if((0,ye._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,ye._)`${t.evaluated}.items`,(0,ye._)`undefined`))}function bI(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,ye._)`/*# sourceURL=${r} */`:ye.nil}function J3(t,e){if(kI(t)&&(TI(t),EI(t))){X3(t,e);return}(0,wI.boolOrEmptySchema)(t,e)}function EI({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function kI(t){return typeof t.schema!="boolean"}function X3(t,e){let{schema:r,gen:n,opts:i}=t;i.$comment&&r.$comment&&PI(t),eZ(t),tZ(t);let a=n.const("_errs",Ne.default.errors);II(t,a),n.var(e,(0,ye._)`${a} === ${Ne.default.errors}`)}function TI(t){(0,Ni.checkUnknownRules)(t),Y3(t)}function II(t,e){if(t.opts.jtd)return xI(t,[],!1,e);let r=(0,_I.getSchemaTypes)(t.schema),n=(0,_I.coerceAndCheckDataType)(t,r);xI(t,r,!n,e)}function Y3(t){let{schema:e,errSchemaPath:r,opts:n,self:i}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Ni.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Q3(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Ni.checkStrictMode)(t,"default is ignored in the schema root")}function eZ(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,H3.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function tZ(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function PI({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)t.code((0,ye._)`${Ne.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,ye.str)`${n}/$comment`,s=t.scopeValue("root",{ref:e.root});t.code((0,ye._)`${Ne.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function rZ(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=t;r.$async?e.if((0,ye._)`${Ne.default.errors} === 0`,()=>e.return(Ne.default.data),()=>e.throw((0,ye._)`new ${i}(${Ne.default.vErrors})`)):(e.assign((0,ye._)`${n}.errors`,Ne.default.vErrors),a.unevaluated&&nZ(t),e.return((0,ye._)`${Ne.default.errors} === 0`))}function nZ({gen:t,evaluated:e,props:r,items:n}){r instanceof ye.Name&&t.assign((0,ye._)`${e}.props`,r),n instanceof ye.Name&&t.assign((0,ye._)`${e}.items`,n)}function xI(t,e,r,n){let{gen:i,schema:a,data:o,allErrors:s,opts:c,self:u}=t,{RULES:l}=u;if(a.$ref&&(c.ignoreKeywordsWithRef||!(0,Ni.schemaHasRulesButRef)(a,l))){i.block(()=>RI(t,"$ref",l.all.$ref.definition));return}c.jtd||iZ(t,e),i.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,px.shouldUseGroup)(a,p)&&(p.type?(i.if((0,xf.checkDataType)(p.type,o,c.strictNumbers)),SI(t,p),e.length===1&&e[0]===p.type&&r&&(i.else(),(0,xf.reportTypeError)(t)),i.endIf()):SI(t,p),s||i.if((0,ye._)`${Ne.default.errors} === ${n||0}`))}}function SI(t,e){let{gen:r,schema:n,opts:{useDefaults:i}}=t;i&&(0,Z3.assignDefaults)(t,e.type),r.block(()=>{for(let a of e.rules)(0,px.shouldUseRule)(n,a)&&RI(t,a.keyword,a.definition,e.type)})}function iZ(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(aZ(t,e),t.opts.allowUnionTypes||oZ(t,e),sZ(t,t.dataTypes))}function aZ(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{OI(t.dataTypes,r)||fx(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),uZ(t,e)}}function oZ(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&fx(t,"use allowUnionTypes to allow union type keyword")}function sZ(t,e){let r=t.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,px.shouldUseRule)(t.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>cZ(e,o))&&fx(t,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function cZ(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function OI(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function uZ(t,e){let r=[];for(let n of t.dataTypes)OI(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function fx(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Ni.checkStrictMode)(t,e,t.opts.strictTypes)}var Sf=class{constructor(e,r,n){if((0,Xu.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Ni.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",CI(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Xu.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Ne.default.errors))}result(e,r,n){this.failResult((0,ye.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,ye.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,ye._)`${r} !== undefined && (${(0,ye.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Ju.reportExtraError:Ju.reportError)(this,this.def.error,r)}$dataError(){(0,Ju.reportError)(this,this.def.$dataError||Ju.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ju.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=ye.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=ye.nil,r=ye.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,ye.or)((0,ye._)`${i} === undefined`,r)),e!==ye.nil&&n.assign(e,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==ye.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,ye.or)(o(),s());function o(){if(n.length){if(!(r instanceof ye.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,ye._)`${(0,xf.checkDataTypes)(c,r,a.opts.strictNumbers,xf.DataType.Wrong)}`}return ye.nil}function s(){if(i.validateSchema){let c=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,ye._)`!${c}(${r})`}return ye.nil}}subschema(e,r){let n=(0,dx.getSubschema)(this.it,e);(0,dx.extendSubschemaData)(n,this.it,e),(0,dx.extendSubschemaMode)(n,e);let i={...this.it,...n,items:void 0,props:void 0};return J3(i,r),i}mergeEvaluated(e,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Ni.mergeEvaluated.props(i,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Ni.mergeEvaluated.items(i,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(e,ye.Name)),!0}};ca.KeywordCxt=Sf;function RI(t,e,r,n){let i=new Sf(t,r,e);"code"in r?r.code(i,n):i.$data&&r.validate?(0,Xu.funcKeywordCode)(i,r):"macro"in r?(0,Xu.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,Xu.funcKeywordCode)(i,r)}var lZ=/^\/(?:[^~]|~0|~1)*$/,dZ=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function CI(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let i,a;if(t==="")return Ne.default.rootData;if(t[0]==="/"){if(!lZ.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);i=t,a=Ne.default.rootData}else{let u=dZ.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(i=u[2],i==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(a=r[e-l],!i)return a}let o=a,s=i.split("/");for(let u of s)u&&(a=(0,ye._)`${a}${(0,ye.getProperty)((0,Ni.unescapeJsonPointer)(u))}`,o=(0,ye._)`${o} && ${a}`);return o;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}ca.getData=CI});var wf=j(hx=>{"use strict";Object.defineProperty(hx,"__esModule",{value:!0});var mx=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};hx.default=mx});var Qu=j(yx=>{"use strict";Object.defineProperty(yx,"__esModule",{value:!0});var gx=Ku(),vx=class extends Error{constructor(e,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,gx.resolveUrl)(e,r,n),this.missingSchema=(0,gx.normalizeId)((0,gx.getFullPath)(e,this.missingRef))}};yx.default=vx});var Ef=j(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.resolveSchema=vn.getCompilingSchema=vn.resolveRef=vn.compileSchema=vn.SchemaEnv=void 0;var zn=Le(),pZ=wf(),Wa=Ci(),Un=Ku(),NI=ot(),fZ=Yu(),ls=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Un.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};vn.SchemaEnv=ls;function bx(t){let e=jI.call(this,t);if(e)return e;let r=(0,Un.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new zn.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;t.$async&&(s=o.scopeValue("Error",{ref:pZ.default,code:(0,zn._)`require("ajv/dist/runtime/validation_error").default`}));let c=o.scopeName("validate");t.validateName=c;let u={gen:o,allErrors:this.opts.allErrors,data:Wa.default.data,parentData:Wa.default.parentData,parentDataProperty:Wa.default.parentDataProperty,dataNames:[Wa.default.data],dataPathArr:[zn.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,zn.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:s,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:zn.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,zn._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,fZ.validateFunctionCode)(u),o.optimize(this.opts.code.optimize);let d=o.toString();l=`${o.scopeRefs(Wa.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${Wa.default.self}`,`${Wa.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:o._values}),this.opts.unevaluated){let{props:h,items:_}=u;f.evaluated={props:h instanceof zn.Name?void 0:h,items:_ instanceof zn.Name?void 0:_,dynamicProps:h instanceof zn.Name,dynamicItems:_ instanceof zn.Name},f.source&&(f.source.evaluated=(0,zn.stringify)(f.evaluated))}return t.validate=f,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}vn.compileSchema=bx;function mZ(t,e,r){var n;r=(0,Un.resolveUrl)(this.opts.uriResolver,e,r);let i=t.refs[r];if(i)return i;let a=vZ.call(this,t,r);if(a===void 0){let o=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;o&&(a=new ls({schema:o,schemaId:s,root:t,baseId:e}))}if(a!==void 0)return t.refs[r]=hZ.call(this,a)}vn.resolveRef=mZ;function hZ(t){return(0,Un.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:bx.call(this,t)}function jI(t){for(let e of this._compilations)if(gZ(e,t))return e}vn.getCompilingSchema=jI;function gZ(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function vZ(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||$f.call(this,t,e)}function $f(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Un._getFullPath)(this.opts.uriResolver,r),i=(0,Un.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===i)return _x.call(this,r,t);let a=(0,Un.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=$f.call(this,t,o);return typeof s?.schema!="object"?void 0:_x.call(this,r,s)}if(typeof o?.schema=="object"){if(o.validate||bx.call(this,o),a===(0,Un.normalizeId)(e)){let{schema:s}=o,{schemaId:c}=this.opts,u=s[c];return u&&(i=(0,Un.resolveUrl)(this.opts.uriResolver,i,u)),new ls({schema:s,schemaId:c,root:t,baseId:i})}return _x.call(this,r,o)}}vn.resolveSchema=$f;var yZ=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function _x(t,{baseId:e,schema:r,root:n}){var i;if(((i=t.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,NI.unescapeFragment)(s)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!yZ.has(s)&&u&&(e=(0,Un.resolveUrl)(this.opts.uriResolver,e,u))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,NI.schemaHasRulesButRef)(r,this.RULES)){let s=(0,Un.resolveUrl)(this.opts.uriResolver,e,r.$ref);a=$f.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new ls({schema:r,schemaId:o,root:n,baseId:e}),a.schema!==a.root.schema)return a}});var AI=j((CSe,_Z)=>{_Z.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Sx=j((NSe,UI)=>{"use strict";var bZ=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),DI=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function xx(t){let e="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var xZ=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function MI(t){return t.length=0,!0}function SZ(t,e,r){if(t.length){let n=xx(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function wZ(t){let e=0,r={error:!1,address:"",zone:""},n=[],i=[],a=!1,o=!1,s=SZ;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(a=!0),n.push(":");continue}else if(u==="%"){if(!s(i,n,r))break;s=MI}else{i.push(u);continue}}return i.length&&(s===MI?r.zone=i.join(""):o?n.push(i.join("")):n.push(xx(i))),r.address=n.join(""),r}function zI(t){if($Z(t,":")<2)return{host:t,isIPV6:!1};let e=wZ(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function $Z(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:IZ}=Sx(),PZ=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,OZ=["http","https","ws","wss","urn","urn:uuid"];function RZ(t){return OZ.indexOf(t)!==-1}function wx(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function qI(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function LI(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function CZ(t){return t.secure=wx(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function NZ(t){if((t.port===(wx(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function jZ(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(PZ);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let i=`${n}:${e.nid||t.nid}`,a=$x(i);t.path=void 0,a&&(t=a.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function AZ(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),i=`${r}:${e.nid||n}`,a=$x(i);a&&(t=a.serialize(t,e));let o=t,s=t.nss;return o.path=`${n||e.nid}:${s}`,e.skipEscape=!0,o}function MZ(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!IZ(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function DZ(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var FI={scheme:"http",domainHost:!0,parse:qI,serialize:LI},zZ={scheme:"https",domainHost:FI.domainHost,parse:qI,serialize:LI},kf={scheme:"ws",domainHost:!0,parse:CZ,serialize:NZ},UZ={scheme:"wss",domainHost:kf.domainHost,parse:kf.parse,serialize:kf.serialize},qZ={scheme:"urn",parse:jZ,serialize:AZ,skipNormalize:!0},LZ={scheme:"urn:uuid",parse:MZ,serialize:DZ,skipNormalize:!0},Tf={http:FI,https:zZ,ws:kf,wss:UZ,urn:qZ,"urn:uuid":LZ};Object.setPrototypeOf(Tf,null);function $x(t){return t&&(Tf[t]||Tf[t.toLowerCase()])||void 0}ZI.exports={wsIsSecure:wx,SCHEMES:Tf,isValidSchemeName:RZ,getSchemeHandler:$x}});var GI=j((ASe,Pf)=>{"use strict";var{normalizeIPv6:FZ,removeDotSegments:el,recomposeAuthority:ZZ,normalizeComponentEncoding:If,isIPv4:HZ,nonSimpleDomain:BZ}=Sx(),{SCHEMES:VZ,getSchemeHandler:BI}=HI();function GZ(t,e){return typeof t=="string"?t=ai(ji(t,e),e):typeof t=="object"&&(t=ji(ai(t,e),e)),t}function WZ(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},i=VI(ji(t,n),ji(e,n),n,!0);return n.skipEscape=!0,ai(i,n)}function VI(t,e,r,n){let i={};return n||(t=ji(ai(t,r),r),e=ji(ai(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(i.scheme=e.scheme,i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=el(e.path||""),i.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=el(e.path||""),i.query=e.query):(e.path?(e.path[0]==="/"?i.path=el(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?i.path="/"+e.path:t.path?i.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:i.path=e.path,i.path=el(i.path)),i.query=e.query):(i.path=t.path,e.query!==void 0?i.query=e.query:i.query=t.query),i.userinfo=t.userinfo,i.host=t.host,i.port=t.port),i.scheme=t.scheme),i.fragment=e.fragment,i}function KZ(t,e,r){return typeof t=="string"?(t=unescape(t),t=ai(If(ji(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=ai(If(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=ai(If(ji(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=ai(If(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function ai(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),i=[],a=BI(n.scheme||r.scheme);a&&a.serialize&&a.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let o=ZZ(r);if(o!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(o),r.path&&r.path[0]!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!a||!a.absolutePath)&&(s=el(s)),o===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),i.push(s)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var JZ=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function ji(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let a=t.match(JZ);if(a){if(n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5]),n.host)if(HZ(n.host)===!1){let c=FZ(n.host);n.host=c.host.toLowerCase(),i=c.isIPV6}else i=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let o=BI(r.scheme||n.scheme);if(!r.unicodeSupport&&(!o||!o.unicodeSupport)&&n.host&&(r.domainHost||o&&o.domainHost)&&i===!1&&BZ(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(s){n.error=n.error||"Host's domain name can not be converted to ASCII: "+s}(!o||o&&!o.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),o&&o.parse&&o.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var Ex={SCHEMES:VZ,normalize:GZ,resolve:WZ,resolveComponent:VI,equal:KZ,serialize:ai,parse:ji};Pf.exports=Ex;Pf.exports.default=Ex;Pf.exports.fastUri=Ex});var KI=j(kx=>{"use strict";Object.defineProperty(kx,"__esModule",{value:!0});var WI=GI();WI.code='require("ajv/dist/runtime/uri").default';kx.default=WI});var nP=j(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.CodeGen=dr.Name=dr.nil=dr.stringify=dr.str=dr._=dr.KeywordCxt=void 0;var XZ=Yu();Object.defineProperty(dr,"KeywordCxt",{enumerable:!0,get:function(){return XZ.KeywordCxt}});var ds=Le();Object.defineProperty(dr,"_",{enumerable:!0,get:function(){return ds._}});Object.defineProperty(dr,"str",{enumerable:!0,get:function(){return ds.str}});Object.defineProperty(dr,"stringify",{enumerable:!0,get:function(){return ds.stringify}});Object.defineProperty(dr,"nil",{enumerable:!0,get:function(){return ds.nil}});Object.defineProperty(dr,"Name",{enumerable:!0,get:function(){return ds.Name}});Object.defineProperty(dr,"CodeGen",{enumerable:!0,get:function(){return ds.CodeGen}});var YZ=wf(),eP=Qu(),QZ=tx(),tl=Ef(),eH=Le(),rl=Ku(),Of=Wu(),Ix=ot(),JI=AI(),tH=KI(),tP=(t,e)=>new RegExp(t,e);tP.code="new RegExp";var rH=["removeAdditional","useDefaults","coerceTypes"],nH=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),iH={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},aH={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},XI=200;function oH(t){var e,r,n,i,a,o,s,c,u,l,d,p,f,h,_,g,m,y,v,b,S,x,w,E,O;let A=t.strict,M=(e=t.code)===null||e===void 0?void 0:e.optimize,q=M===!0||M===void 0?1:M||0,B=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:tP,U=(i=t.uriResolver)!==null&&i!==void 0?i:tH.default;return{strictSchema:(o=(a=t.strictSchema)!==null&&a!==void 0?a:A)!==null&&o!==void 0?o:!0,strictNumbers:(c=(s=t.strictNumbers)!==null&&s!==void 0?s:A)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:A)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:A)!==null&&p!==void 0?p:"log",strictRequired:(h=(f=t.strictRequired)!==null&&f!==void 0?f:A)!==null&&h!==void 0?h:!1,code:t.code?{...t.code,optimize:q,regExp:B}:{optimize:q,regExp:B},loopRequired:(_=t.loopRequired)!==null&&_!==void 0?_:XI,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:XI,meta:(m=t.meta)!==null&&m!==void 0?m:!0,messages:(y=t.messages)!==null&&y!==void 0?y:!0,inlineRefs:(v=t.inlineRefs)!==null&&v!==void 0?v:!0,schemaId:(b=t.schemaId)!==null&&b!==void 0?b:"$id",addUsedSchema:(S=t.addUsedSchema)!==null&&S!==void 0?S:!0,validateSchema:(x=t.validateSchema)!==null&&x!==void 0?x:!0,validateFormats:(w=t.validateFormats)!==null&&w!==void 0?w:!0,unicodeRegExp:(E=t.unicodeRegExp)!==null&&E!==void 0?E:!0,int32range:(O=t.int32range)!==null&&O!==void 0?O:!0,uriResolver:U}}var nl=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...oH(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new eH.ValueScope({scope:{},prefixes:nH,es5:r,lines:n}),this.logger=pH(e.logger);let i=e.validateFormats;e.validateFormats=!1,this.RULES=(0,QZ.getRules)(),YI.call(this,iH,e,"NOT SUPPORTED"),YI.call(this,aH,e,"DEPRECATED","warn"),this._metaOpts=lH.call(this),e.formats&&cH.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&uH.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),sH.call(this),e.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,i=JI;n==="id"&&(i={...JI},i.id=i.$id,delete i.$id),r&&e&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,e,r);async function i(l,d){await a.call(this,l.$schema);let p=this._addSchema(l,d);return p.validate||o.call(this,p)}async function a(l){l&&!this.getSchema(l)&&await i.call(this,{$ref:l},!0)}async function o(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof eP.default))throw d;return s.call(this,d),await c.call(this,d.missingSchema),o.call(this,l)}}function s({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await a.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,i=this.opts.validateSchema){if(Array.isArray(e)){for(let o of e)this.addSchema(o,void 0,n,i);return this}let a;if(typeof e=="object"){let{schemaId:o}=this.opts;if(a=e[o],a!==void 0&&typeof a!="string")throw new Error(`schema ${o} must be string`)}return r=(0,rl.normalizeId)(r||a),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,i,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,e);if(!i&&r){let a="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(a);else throw new Error(a)}return i}getSchema(e){let r;for(;typeof(r=QI.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,i=new tl.SchemaEnv({schema:{},schemaId:n});if(r=tl.resolveSchema.call(this,i,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=QI.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,rl.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(mH.call(this,n,r),!r)return(0,Ix.eachItem)(n,a=>Tx.call(this,a)),this;gH.call(this,r);let i={...r,type:(0,Of.getJSONTypes)(r.type),schemaType:(0,Of.getJSONTypes)(r.schemaType)};return(0,Ix.eachItem)(n,i.type.length===0?a=>Tx.call(this,a,i):a=>i.type.forEach(o=>Tx.call(this,a,i,o))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let i=n.rules.findIndex(a=>a.keyword===e);i>=0&&n.rules.splice(i,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,a)=>i+r+a)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let i of r){let a=i.split("/").slice(1),o=e;for(let s of a)o=o[s];for(let s in n){let c=n[s];if(typeof c!="object")continue;let{$data:u}=c.definition,l=o[s];u&&l&&(o[s]=rP(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let i=e[n];(!r||r.test(n))&&(typeof i=="string"?delete e[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[n]))}}_addSchema(e,r,n,i=this.opts.validateSchema,a=this.opts.addUsedSchema){let o,{schemaId:s}=this.opts;if(typeof e=="object")o=e[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,rl.normalizeId)(o||n);let u=rl.getSchemaRefs.call(this,e,n);return c=new tl.SchemaEnv({schema:e,schemaId:s,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),a&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),i&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):tl.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{tl.compileSchema.call(this,e)}finally{this.opts=r}}};nl.ValidationError=YZ.default;nl.MissingRefError=eP.default;dr.default=nl;function YI(t,e,r,n="error"){for(let i in t){let a=i;a in e&&this.logger[n](`${r}: option ${i}. ${t[a]}`)}}function QI(t){return t=(0,rl.normalizeId)(t),this.schemas[t]||this.refs[t]}function sH(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function cH(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function uH(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function lH(){let t={...this.opts};for(let e of rH)delete t[e];return t}var dH={log(){},warn(){},error(){}};function pH(t){if(t===!1)return dH;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var fH=/^[a-z_$][a-z0-9_$:-]*$/i;function mH(t,e){let{RULES:r}=this;if((0,Ix.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!fH.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Tx(t,e,r){var n;let i=e?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:a}=this,o=i?a.post:a.rules.find(({type:c})=>c===r);if(o||(o={type:r,rules:[]},a.rules.push(o)),a.keywords[t]=!0,!e)return;let s={keyword:t,definition:{...e,type:(0,Of.getJSONTypes)(e.type),schemaType:(0,Of.getJSONTypes)(e.schemaType)}};e.before?hH.call(this,o,s,e.before):o.rules.push(s),a.all[t]=s,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function hH(t,e,r){let n=t.rules.findIndex(i=>i.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function gH(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=rP(e)),t.validateSchema=this.compile(e,!0))}var vH={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function rP(t){return{anyOf:[t,vH]}}});var iP=j(Px=>{"use strict";Object.defineProperty(Px,"__esModule",{value:!0});var yH={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Px.default=yH});var cP=j(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.callRef=Ka.getValidate=void 0;var _H=Qu(),aP=gn(),Lr=Le(),ps=Ci(),oP=Ef(),Rf=ot(),bH={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:i,schemaEnv:a,validateName:o,opts:s,self:c}=n,{root:u}=a;if((r==="#"||r==="#/")&&i===u.baseId)return d();let l=oP.resolveRef.call(c,u,i,r);if(l===void 0)throw new _H.default(n.opts.uriResolver,i,r);if(l instanceof oP.SchemaEnv)return p(l);return f(l);function d(){if(a===u)return Cf(t,o,a,a.$async);let h=e.scopeValue("root",{ref:u});return Cf(t,(0,Lr._)`${h}.validate`,u,u.$async)}function p(h){let _=sP(t,h);Cf(t,_,h,h.$async)}function f(h){let _=e.scopeValue("schema",s.code.source===!0?{ref:h,code:(0,Lr.stringify)(h)}:{ref:h}),g=e.name("valid"),m=t.subschema({schema:h,dataTypes:[],schemaPath:Lr.nil,topSchemaRef:_,errSchemaPath:r},g);t.mergeEvaluated(m),t.ok(g)}}};function sP(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Lr._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Ka.getValidate=sP;function Cf(t,e,r,n){let{gen:i,it:a}=t,{allErrors:o,schemaEnv:s,opts:c}=a,u=c.passContext?ps.default.this:Lr.nil;n?l():d();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let h=i.let("valid");i.try(()=>{i.code((0,Lr._)`await ${(0,aP.callValidateCode)(t,e,u)}`),f(e),o||i.assign(h,!0)},_=>{i.if((0,Lr._)`!(${_} instanceof ${a.ValidationError})`,()=>i.throw(_)),p(_),o||i.assign(h,!1)}),t.ok(h)}function d(){t.result((0,aP.callValidateCode)(t,e,u),()=>f(e),()=>p(e))}function p(h){let _=(0,Lr._)`${h}.errors`;i.assign(ps.default.vErrors,(0,Lr._)`${ps.default.vErrors} === null ? ${_} : ${ps.default.vErrors}.concat(${_})`),i.assign(ps.default.errors,(0,Lr._)`${ps.default.vErrors}.length`)}function f(h){var _;if(!a.opts.unevaluated)return;let g=(_=r?.validate)===null||_===void 0?void 0:_.evaluated;if(a.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(a.props=Rf.mergeEvaluated.props(i,g.props,a.props));else{let m=i.var("props",(0,Lr._)`${h}.evaluated.props`);a.props=Rf.mergeEvaluated.props(i,m,a.props,Lr.Name)}if(a.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(a.items=Rf.mergeEvaluated.items(i,g.items,a.items));else{let m=i.var("items",(0,Lr._)`${h}.evaluated.items`);a.items=Rf.mergeEvaluated.items(i,m,a.items,Lr.Name)}}}Ka.callRef=Cf;Ka.default=bH});var uP=j(Ox=>{"use strict";Object.defineProperty(Ox,"__esModule",{value:!0});var xH=iP(),SH=cP(),wH=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",xH.default,SH.default];Ox.default=wH});var lP=j(Rx=>{"use strict";Object.defineProperty(Rx,"__esModule",{value:!0});var Nf=Le(),ua=Nf.operators,jf={maximum:{okStr:"<=",ok:ua.LTE,fail:ua.GT},minimum:{okStr:">=",ok:ua.GTE,fail:ua.LT},exclusiveMaximum:{okStr:"<",ok:ua.LT,fail:ua.GTE},exclusiveMinimum:{okStr:">",ok:ua.GT,fail:ua.LTE}},$H={message:({keyword:t,schemaCode:e})=>(0,Nf.str)`must be ${jf[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Nf._)`{comparison: ${jf[t].okStr}, limit: ${e}}`},EH={keyword:Object.keys(jf),type:"number",schemaType:"number",$data:!0,error:$H,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Nf._)`${r} ${jf[e].fail} ${n} || isNaN(${r})`)}};Rx.default=EH});var dP=j(Cx=>{"use strict";Object.defineProperty(Cx,"__esModule",{value:!0});var il=Le(),kH={message:({schemaCode:t})=>(0,il.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,il._)`{multipleOf: ${t}}`},TH={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:kH,code(t){let{gen:e,data:r,schemaCode:n,it:i}=t,a=i.opts.multipleOfPrecision,o=e.let("res"),s=a?(0,il._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,il._)`${o} !== parseInt(${o})`;t.fail$data((0,il._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};Cx.default=TH});var fP=j(Nx=>{"use strict";Object.defineProperty(Nx,"__esModule",{value:!0});function pP(t){let e=t.length,r=0,n=0,i;for(;n=55296&&i<=56319&&n{"use strict";Object.defineProperty(jx,"__esModule",{value:!0});var Ja=Le(),IH=ot(),PH=fP(),OH={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Ja.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Ja._)`{limit: ${t}}`},RH={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:OH,code(t){let{keyword:e,data:r,schemaCode:n,it:i}=t,a=e==="maxLength"?Ja.operators.GT:Ja.operators.LT,o=i.opts.unicode===!1?(0,Ja._)`${r}.length`:(0,Ja._)`${(0,IH.useFunc)(t.gen,PH.default)}(${r})`;t.fail$data((0,Ja._)`${o} ${a} ${n}`)}};jx.default=RH});var hP=j(Ax=>{"use strict";Object.defineProperty(Ax,"__esModule",{value:!0});var CH=gn(),Af=Le(),NH={message:({schemaCode:t})=>(0,Af.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Af._)`{pattern: ${t}}`},jH={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:NH,code(t){let{data:e,$data:r,schema:n,schemaCode:i,it:a}=t,o=a.opts.unicodeRegExp?"u":"",s=r?(0,Af._)`(new RegExp(${i}, ${o}))`:(0,CH.usePattern)(t,n);t.fail$data((0,Af._)`!${s}.test(${e})`)}};Ax.default=jH});var gP=j(Mx=>{"use strict";Object.defineProperty(Mx,"__esModule",{value:!0});var al=Le(),AH={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,al.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,al._)`{limit: ${t}}`},MH={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:AH,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxProperties"?al.operators.GT:al.operators.LT;t.fail$data((0,al._)`Object.keys(${r}).length ${i} ${n}`)}};Mx.default=MH});var vP=j(Dx=>{"use strict";Object.defineProperty(Dx,"__esModule",{value:!0});var ol=gn(),sl=Le(),DH=ot(),zH={message:({params:{missingProperty:t}})=>(0,sl.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,sl._)`{missingProperty: ${t}}`},UH={keyword:"required",type:"object",schemaType:"array",$data:!0,error:zH,code(t){let{gen:e,schema:r,schemaCode:n,data:i,$data:a,it:o}=t,{opts:s}=o;if(!a&&r.length===0)return;let c=r.length>=s.loopRequired;if(o.allErrors?u():l(),s.strictRequired){let f=t.parentSchema.properties,{definedProperties:h}=t.it;for(let _ of r)if(f?.[_]===void 0&&!h.has(_)){let g=o.schemaEnv.baseId+o.errSchemaPath,m=`required property "${_}" is not defined at "${g}" (strictRequired)`;(0,DH.checkStrictMode)(o,m,o.opts.strictRequired)}}function u(){if(c||a)t.block$data(sl.nil,d);else for(let f of r)(0,ol.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||a){let h=e.let("valid",!0);t.block$data(h,()=>p(f,h)),t.ok(h)}else e.if((0,ol.checkMissingProp)(t,r,f)),(0,ol.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,ol.noPropertyInData)(e,i,f,s.ownProperties),()=>t.error())})}function p(f,h){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(h,(0,ol.propertyInData)(e,i,f,s.ownProperties)),e.if((0,sl.not)(h),()=>{t.error(),e.break()})},sl.nil)}}};Dx.default=UH});var yP=j(zx=>{"use strict";Object.defineProperty(zx,"__esModule",{value:!0});var cl=Le(),qH={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,cl.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,cl._)`{limit: ${t}}`},LH={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:qH,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxItems"?cl.operators.GT:cl.operators.LT;t.fail$data((0,cl._)`${r}.length ${i} ${n}`)}};zx.default=LH});var Mf=j(Ux=>{"use strict";Object.defineProperty(Ux,"__esModule",{value:!0});var _P=ux();_P.code='require("ajv/dist/runtime/equal").default';Ux.default=_P});var bP=j(Lx=>{"use strict";Object.defineProperty(Lx,"__esModule",{value:!0});var qx=Wu(),pr=Le(),FH=ot(),ZH=Mf(),HH={message:({params:{i:t,j:e}})=>(0,pr.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,pr._)`{i: ${t}, j: ${e}}`},BH={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:HH,code(t){let{gen:e,data:r,$data:n,schema:i,parentSchema:a,schemaCode:o,it:s}=t;if(!n&&!i)return;let c=e.let("valid"),u=a.items?(0,qx.getSchemaTypes)(a.items):[];t.block$data(c,l,(0,pr._)`${o} === false`),t.ok(c);function l(){let h=e.let("i",(0,pr._)`${r}.length`),_=e.let("j");t.setParams({i:h,j:_}),e.assign(c,!0),e.if((0,pr._)`${h} > 1`,()=>(d()?p:f)(h,_))}function d(){return u.length>0&&!u.some(h=>h==="object"||h==="array")}function p(h,_){let g=e.name("item"),m=(0,qx.checkDataTypes)(u,g,s.opts.strictNumbers,qx.DataType.Wrong),y=e.const("indices",(0,pr._)`{}`);e.for((0,pr._)`;${h}--;`,()=>{e.let(g,(0,pr._)`${r}[${h}]`),e.if(m,(0,pr._)`continue`),u.length>1&&e.if((0,pr._)`typeof ${g} == "string"`,(0,pr._)`${g} += "_"`),e.if((0,pr._)`typeof ${y}[${g}] == "number"`,()=>{e.assign(_,(0,pr._)`${y}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,pr._)`${y}[${g}] = ${h}`)})}function f(h,_){let g=(0,FH.useFunc)(e,ZH.default),m=e.name("outer");e.label(m).for((0,pr._)`;${h}--;`,()=>e.for((0,pr._)`${_} = ${h}; ${_}--;`,()=>e.if((0,pr._)`${g}(${r}[${h}], ${r}[${_}])`,()=>{t.error(),e.assign(c,!1).break(m)})))}}};Lx.default=BH});var xP=j(Zx=>{"use strict";Object.defineProperty(Zx,"__esModule",{value:!0});var Fx=Le(),VH=ot(),GH=Mf(),WH={message:"must be equal to constant",params:({schemaCode:t})=>(0,Fx._)`{allowedValue: ${t}}`},KH={keyword:"const",$data:!0,error:WH,code(t){let{gen:e,data:r,$data:n,schemaCode:i,schema:a}=t;n||a&&typeof a=="object"?t.fail$data((0,Fx._)`!${(0,VH.useFunc)(e,GH.default)}(${r}, ${i})`):t.fail((0,Fx._)`${a} !== ${r}`)}};Zx.default=KH});var SP=j(Hx=>{"use strict";Object.defineProperty(Hx,"__esModule",{value:!0});var ul=Le(),JH=ot(),XH=Mf(),YH={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,ul._)`{allowedValues: ${t}}`},QH={keyword:"enum",schemaType:"array",$data:!0,error:YH,code(t){let{gen:e,data:r,$data:n,schema:i,schemaCode:a,it:o}=t;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=o.opts.loopEnum,c,u=()=>c??(c=(0,JH.useFunc)(e,XH.default)),l;if(s||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let f=e.const("vSchema",a);l=(0,ul.or)(...i.map((h,_)=>p(f,_)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",a,f=>e.if((0,ul._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function p(f,h){let _=i[h];return typeof _=="object"&&_!==null?(0,ul._)`${u()}(${r}, ${f}[${h}])`:(0,ul._)`${r} === ${_}`}}};Hx.default=QH});var wP=j(Bx=>{"use strict";Object.defineProperty(Bx,"__esModule",{value:!0});var eB=lP(),tB=dP(),rB=mP(),nB=hP(),iB=gP(),aB=vP(),oB=yP(),sB=bP(),cB=xP(),uB=SP(),lB=[eB.default,tB.default,rB.default,nB.default,iB.default,aB.default,oB.default,sB.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},cB.default,uB.default];Bx.default=lB});var Gx=j(ll=>{"use strict";Object.defineProperty(ll,"__esModule",{value:!0});ll.validateAdditionalItems=void 0;var Xa=Le(),Vx=ot(),dB={message:({params:{len:t}})=>(0,Xa.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Xa._)`{limit: ${t}}`},pB={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:dB,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Vx.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}$P(t,n)}};function $P(t,e){let{gen:r,schema:n,data:i,keyword:a,it:o}=t;o.items=!0;let s=r.const("len",(0,Xa._)`${i}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Xa._)`${s} <= ${e.length}`);else if(typeof n=="object"&&!(0,Vx.alwaysValidSchema)(o,n)){let u=r.var("valid",(0,Xa._)`${s} <= ${e.length}`);r.if((0,Xa.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,s,l=>{t.subschema({keyword:a,dataProp:l,dataPropType:Vx.Type.Num},u),o.allErrors||r.if((0,Xa.not)(u),()=>r.break())})}}ll.validateAdditionalItems=$P;ll.default=pB});var Wx=j(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});dl.validateTuple=void 0;var EP=Le(),Df=ot(),fB=gn(),mB={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return kP(t,"additionalItems",e);r.items=!0,!(0,Df.alwaysValidSchema)(r,e)&&t.ok((0,fB.validateArray)(t))}};function kP(t,e,r=t.schema){let{gen:n,parentSchema:i,data:a,keyword:o,it:s}=t;l(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=Df.mergeEvaluated.items(n,r.length,s.items));let c=n.name("valid"),u=n.const("len",(0,EP._)`${a}.length`);r.forEach((d,p)=>{(0,Df.alwaysValidSchema)(s,d)||(n.if((0,EP._)`${u} > ${p}`,()=>t.subschema({keyword:o,schemaProp:p,dataProp:p},c)),t.ok(c))});function l(d){let{opts:p,errSchemaPath:f}=s,h=r.length,_=h===d.minItems&&(h===d.maxItems||d[e]===!1);if(p.strictTuples&&!_){let g=`"${o}" is ${h}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,Df.checkStrictMode)(s,g,p.strictTuples)}}}dl.validateTuple=kP;dl.default=mB});var TP=j(Kx=>{"use strict";Object.defineProperty(Kx,"__esModule",{value:!0});var hB=Wx(),gB={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,hB.validateTuple)(t,"items")};Kx.default=gB});var PP=j(Jx=>{"use strict";Object.defineProperty(Jx,"__esModule",{value:!0});var IP=Le(),vB=ot(),yB=gn(),_B=Gx(),bB={message:({params:{len:t}})=>(0,IP.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,IP._)`{limit: ${t}}`},xB={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:bB,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:i}=r;n.items=!0,!(0,vB.alwaysValidSchema)(n,e)&&(i?(0,_B.validateAdditionalItems)(t,i):t.ok((0,yB.validateArray)(t)))}};Jx.default=xB});var OP=j(Xx=>{"use strict";Object.defineProperty(Xx,"__esModule",{value:!0});var yn=Le(),zf=ot(),SB={message:({params:{min:t,max:e}})=>e===void 0?(0,yn.str)`must contain at least ${t} valid item(s)`:(0,yn.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,yn._)`{minContains: ${t}}`:(0,yn._)`{minContains: ${t}, maxContains: ${e}}`},wB={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:SB,code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:a}=t,o,s,{minContains:c,maxContains:u}=n;a.opts.next?(o=c===void 0?1:c,s=u):o=1;let l=e.const("len",(0,yn._)`${i}.length`);if(t.setParams({min:o,max:s}),s===void 0&&o===0){(0,zf.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,zf.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,zf.alwaysValidSchema)(a,r)){let _=(0,yn._)`${l} >= ${o}`;s!==void 0&&(_=(0,yn._)`${_} && ${l} <= ${s}`),t.pass(_);return}a.items=!0;let d=e.name("valid");s===void 0&&o===1?f(d,()=>e.if(d,()=>e.break())):o===0?(e.let(d,!0),s!==void 0&&e.if((0,yn._)`${i}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let _=e.name("_valid"),g=e.let("count",0);f(_,()=>e.if(_,()=>h(g)))}function f(_,g){e.forRange("i",0,l,m=>{t.subschema({keyword:"contains",dataProp:m,dataPropType:zf.Type.Num,compositeRule:!0},_),g()})}function h(_){e.code((0,yn._)`${_}++`),s===void 0?e.if((0,yn._)`${_} >= ${o}`,()=>e.assign(d,!0).break()):(e.if((0,yn._)`${_} > ${s}`,()=>e.assign(d,!1).break()),o===1?e.assign(d,!0):e.if((0,yn._)`${_} >= ${o}`,()=>e.assign(d,!0)))}}};Xx.default=wB});var NP=j(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.validateSchemaDeps=oi.validatePropertyDeps=oi.error=void 0;var Yx=Le(),$B=ot(),pl=gn();oi.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Yx.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Yx._)`{property: ${t}, +"use strict";var wL=Object.create;var Fd=Object.defineProperty;var $L=Object.getOwnPropertyDescriptor;var EL=Object.getOwnPropertyNames;var kL=Object.getPrototypeOf,TL=Object.prototype.hasOwnProperty;var Ht=(t,e)=>()=>(t&&(e=t(t=0)),e);var j=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Cn=(t,e)=>{for(var r in e)Fd(t,r,{get:e[r],enumerable:!0})},xE=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of EL(e))!TL.call(t,i)&&i!==r&&Fd(t,i,{get:()=>e[i],enumerable:!(n=$L(e,i))||n.enumerable});return t};var dt=(t,e,r)=>(r=t!=null?wL(kL(t)):{},xE(e||!t||!t.__esModule?Fd(r,"default",{value:t,enumerable:!0}):r,t)),Zd=t=>xE(Fd({},"__esModule",{value:!0}),t);var qu=j(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.regexpCode=at.getEsmExportName=at.getProperty=at.safeStringify=at.stringify=at.strConcat=at.addCodeArg=at.str=at._=at.nil=at._Code=at.Name=at.IDENTIFIER=at._CodeOrName=void 0;var Uu=class{};at._CodeOrName=Uu;at.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Za=class extends Uu{constructor(e){if(super(),!at.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};at.Name=Za;var hn=class extends Uu{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Za&&(r[n.str]=(r[n.str]||0)+1),r),{})}};at._Code=hn;at.nil=new hn("");function Z1(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.ValueScope=Ur.ValueScopeName=Ur.Scope=Ur.varKinds=Ur.UsedValueState=void 0;var zr=qu(),Db=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},df;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(df||(Ur.UsedValueState=df={}));Ur.varKinds={const:new zr.Name("const"),let:new zr.Name("let"),var:new zr.Name("var")};var pf=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof zr.Name?e:this.name(e)}name(e){return new zr.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Ur.Scope=pf;var ff=class extends zr.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,zr._)`.${new zr.Name(r)}[${n}]`}};Ur.ValueScopeName=ff;var g5=(0,zr._)`\n`,zb=class extends pf{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?g5:zr.nil}}get(){return this._scope}name(e){return new ff(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let i=this.toName(e),{prefix:a}=i,o=(n=r.key)!==null&&n!==void 0?n:r.ref,s=this._values[a];if(s){let l=s.get(o);if(l)return l}else s=this._values[a]=new Map;s.set(o,i);let c=this._scope[a]||(this._scope[a]=[]),u=c.length;return c[u]=r.ref,i.setValue(r,{property:a,itemIndex:u}),i}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,zr._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},r,n)}_reduceValues(e,r,n={},i){let a=zr.nil;for(let o in e){let s=e[o];if(!s)continue;let c=n[o]=n[o]||new Map;s.forEach(u=>{if(c.has(u))return;c.set(u,df.Started);let l=r(u);if(l){let d=this.opts.es5?Ur.varKinds.var:Ur.varKinds.const;a=(0,zr._)`${a}${d} ${u} = ${l};${this.opts._n}`}else if(l=i?.(u))a=(0,zr._)`${a}${l}${this.opts._n}`;else throw new Db(u);c.set(u,df.Completed)})}return a}};Ur.ValueScope=zb});var qe=j(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.or=Ze.and=Ze.not=Ze.CodeGen=Ze.operators=Ze.varKinds=Ze.ValueScopeName=Ze.ValueScope=Ze.Scope=Ze.Name=Ze.regexpCode=Ze.stringify=Ze.getProperty=Ze.nil=Ze.strConcat=Ze.str=Ze._=void 0;var rt=qu(),Dn=Ub(),ia=qu();Object.defineProperty(Ze,"_",{enumerable:!0,get:function(){return ia._}});Object.defineProperty(Ze,"str",{enumerable:!0,get:function(){return ia.str}});Object.defineProperty(Ze,"strConcat",{enumerable:!0,get:function(){return ia.strConcat}});Object.defineProperty(Ze,"nil",{enumerable:!0,get:function(){return ia.nil}});Object.defineProperty(Ze,"getProperty",{enumerable:!0,get:function(){return ia.getProperty}});Object.defineProperty(Ze,"stringify",{enumerable:!0,get:function(){return ia.stringify}});Object.defineProperty(Ze,"regexpCode",{enumerable:!0,get:function(){return ia.regexpCode}});Object.defineProperty(Ze,"Name",{enumerable:!0,get:function(){return ia.Name}});var vf=Ub();Object.defineProperty(Ze,"Scope",{enumerable:!0,get:function(){return vf.Scope}});Object.defineProperty(Ze,"ValueScope",{enumerable:!0,get:function(){return vf.ValueScope}});Object.defineProperty(Ze,"ValueScopeName",{enumerable:!0,get:function(){return vf.ValueScopeName}});Object.defineProperty(Ze,"varKinds",{enumerable:!0,get:function(){return vf.varKinds}});Ze.operators={GT:new rt._Code(">"),GTE:new rt._Code(">="),LT:new rt._Code("<"),LTE:new rt._Code("<="),EQ:new rt._Code("==="),NEQ:new rt._Code("!=="),NOT:new rt._Code("!"),OR:new rt._Code("||"),AND:new rt._Code("&&"),ADD:new rt._Code("+")};var Ri=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Lb=class extends Ri{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Dn.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=is(this.rhs,e,r)),this}get names(){return this.rhs instanceof rt._CodeOrName?this.rhs.names:{}}},mf=class extends Ri{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof rt.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=is(this.rhs,e,r),this}get names(){let e=this.lhs instanceof rt.Name?{}:{...this.lhs.names};return gf(e,this.rhs)}},qb=class extends mf{constructor(e,r,n,i){super(e,n,i),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Fb=class extends Ri{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Zb=class extends Ri{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Hb=class extends Ri{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Bb=class extends Ri{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=is(this.code,e,r),this}get names(){return this.code instanceof rt._CodeOrName?this.code.names:{}}},Fu=class extends Ri{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,i=n.length;for(;i--;){let a=n[i];a.optimizeNames(e,r)||(v5(e,a.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Va(e,r.names),{})}},Ci=class extends Fu{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Vb=class extends Fu{},ns=class extends Ci{};ns.kind="else";var Ha=class t extends Ci{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new ns(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(B1(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=is(this.condition,e,r),this}get names(){let e=super.names;return gf(e,this.condition),this.else&&Va(e,this.else.names),e}};Ha.kind="if";var Ba=class extends Ci{};Ba.kind="for";var Gb=class extends Ba{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=is(this.iteration,e,r),this}get names(){return Va(super.names,this.iteration.names)}},Wb=class extends Ba{constructor(e,r,n,i){super(),this.varKind=e,this.name=r,this.from=n,this.to=i}render(e){let r=e.es5?Dn.varKinds.var:this.varKind,{name:n,from:i,to:a}=this;return`for(${r} ${n}=${i}; ${n}<${a}; ${n}++)`+super.render(e)}get names(){let e=gf(super.names,this.from);return gf(e,this.to)}},hf=class extends Ba{constructor(e,r,n,i){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=i}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=is(this.iterable,e,r),this}get names(){return Va(super.names,this.iterable.names)}},Zu=class extends Ci{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Zu.kind="func";var Hu=class extends Fu{render(e){return"return "+super.render(e)}};Hu.kind="return";var Kb=class extends Ci{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,i;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(i=this.finally)===null||i===void 0||i.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Va(e,this.catch.names),this.finally&&Va(e,this.finally.names),e}},Bu=class extends Ci{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Bu.kind="catch";var Vu=class extends Ci{render(e){return"finally"+super.render(e)}};Vu.kind="finally";var Jb=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` +`:""},this._extScope=e,this._scope=new Dn.Scope({parent:e}),this._nodes=[new Vb]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,i){let a=this._scope.toName(r);return n!==void 0&&i&&(this._constants[a.str]=n),this._leafNode(new Lb(e,a,n)),a}const(e,r,n){return this._def(Dn.varKinds.const,e,r,n)}let(e,r,n){return this._def(Dn.varKinds.let,e,r,n)}var(e,r,n){return this._def(Dn.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new mf(e,r,n))}add(e,r){return this._leafNode(new qb(e,Ze.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==rt.nil&&this._leafNode(new Bb(e)),this}object(...e){let r=["{"];for(let[n,i]of e)r.length>1&&r.push(","),r.push(n),(n!==i||this.opts.es5)&&(r.push(":"),(0,rt.addCodeArg)(r,i));return r.push("}"),new rt._Code(r)}if(e,r,n){if(this._blockNode(new Ha(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Ha(e))}else(){return this._elseNode(new ns)}endIf(){return this._endBlockNode(Ha,ns)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Gb(e),r)}forRange(e,r,n,i,a=this.opts.es5?Dn.varKinds.var:Dn.varKinds.let){let o=this._scope.toName(e);return this._for(new Wb(a,o,r,n),()=>i(o))}forOf(e,r,n,i=Dn.varKinds.const){let a=this._scope.toName(e);if(this.opts.es5){let o=r instanceof rt.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,rt._)`${o}.length`,s=>{this.var(a,(0,rt._)`${o}[${s}]`),n(a)})}return this._for(new hf("of",i,a,r),()=>n(a))}forIn(e,r,n,i=this.opts.es5?Dn.varKinds.var:Dn.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,rt._)`Object.keys(${r})`,n);let a=this._scope.toName(e);return this._for(new hf("in",i,a,r),()=>n(a))}endFor(){return this._endBlockNode(Ba)}label(e){return this._leafNode(new Fb(e))}break(e){return this._leafNode(new Zb(e))}return(e){let r=new Hu;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Hu)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new Kb;if(this._blockNode(i),this.code(e),r){let a=this.name("e");this._currNode=i.catch=new Bu(a),r(a)}return n&&(this._currNode=i.finally=new Vu,this.code(n)),this._endBlockNode(Bu,Vu)}throw(e){return this._leafNode(new Hb(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=rt.nil,n,i){return this._blockNode(new Zu(e,r,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(Zu)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Ha))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Ze.CodeGen=Jb;function Va(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function gf(t,e){return e instanceof rt._CodeOrName?Va(t,e.names):t}function is(t,e,r){if(t instanceof rt.Name)return n(t);if(!i(t))return t;return new rt._Code(t._items.reduce((a,o)=>(o instanceof rt.Name&&(o=n(o)),o instanceof rt._Code?a.push(...o._items):a.push(o),a),[]));function n(a){let o=r[a.str];return o===void 0||e[a.str]!==1?a:(delete e[a.str],o)}function i(a){return a instanceof rt._Code&&a._items.some(o=>o instanceof rt.Name&&e[o.str]===1&&r[o.str]!==void 0)}}function v5(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function B1(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,rt._)`!${Xb(t)}`}Ze.not=B1;var y5=V1(Ze.operators.AND);function _5(...t){return t.reduce(y5)}Ze.and=_5;var b5=V1(Ze.operators.OR);function x5(...t){return t.reduce(b5)}Ze.or=x5;function V1(t){return(e,r)=>e===rt.nil?r:r===rt.nil?e:(0,rt._)`${Xb(e)} ${t} ${Xb(r)}`}function Xb(t){return t instanceof rt.Name?t:(0,rt._)`(${t})`}});var ot=j(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.checkStrictMode=We.getErrorPath=We.Type=We.useFunc=We.setEvaluated=We.evaluatedPropsToName=We.mergeEvaluated=We.eachItem=We.unescapeJsonPointer=We.escapeJsonPointer=We.escapeFragment=We.unescapeFragment=We.schemaRefOrVal=We.schemaHasRulesButRef=We.schemaHasRules=We.checkUnknownRules=We.alwaysValidSchema=We.toHash=void 0;var kt=qe(),S5=qu();function w5(t){let e={};for(let r of t)e[r]=!0;return e}We.toHash=w5;function $5(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(K1(t,e),!J1(e,t.self.RULES.all))}We.alwaysValidSchema=$5;function K1(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let i=n.RULES.keywords;for(let a in e)i[a]||Q1(t,`unknown keyword: "${a}"`)}We.checkUnknownRules=K1;function J1(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}We.schemaHasRules=J1;function E5(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}We.schemaHasRulesButRef=E5;function k5({topSchemaRef:t,schemaPath:e},r,n,i){if(!i){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,kt._)`${r}`}return(0,kt._)`${t}${e}${(0,kt.getProperty)(n)}`}We.schemaRefOrVal=k5;function T5(t){return X1(decodeURIComponent(t))}We.unescapeFragment=T5;function I5(t){return encodeURIComponent(Qb(t))}We.escapeFragment=I5;function Qb(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}We.escapeJsonPointer=Qb;function X1(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}We.unescapeJsonPointer=X1;function P5(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}We.eachItem=P5;function G1({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(i,a,o,s)=>{let c=o===void 0?a:o instanceof kt.Name?(a instanceof kt.Name?t(i,a,o):e(i,a,o),o):a instanceof kt.Name?(e(i,o,a),a):r(a,o);return s===kt.Name&&!(c instanceof kt.Name)?n(i,c):c}}We.mergeEvaluated={props:G1({mergeNames:(t,e,r)=>t.if((0,kt._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,kt._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,kt._)`${r} || {}`).code((0,kt._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,kt._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,kt._)`${r} || {}`),ex(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Y1}),items:G1({mergeNames:(t,e,r)=>t.if((0,kt._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,kt._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,kt._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,kt._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Y1(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,kt._)`{}`);return e!==void 0&&ex(t,r,e),r}We.evaluatedPropsToName=Y1;function ex(t,e,r){Object.keys(r).forEach(n=>t.assign((0,kt._)`${e}${(0,kt.getProperty)(n)}`,!0))}We.setEvaluated=ex;var W1={};function O5(t,e){return t.scopeValue("func",{ref:e,code:W1[e.code]||(W1[e.code]=new S5._Code(e.code))})}We.useFunc=O5;var Yb;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Yb||(We.Type=Yb={}));function R5(t,e,r){if(t instanceof kt.Name){let n=e===Yb.Num;return r?n?(0,kt._)`"[" + ${t} + "]"`:(0,kt._)`"['" + ${t} + "']"`:n?(0,kt._)`"/" + ${t}`:(0,kt._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,kt.getProperty)(t).toString():"/"+Qb(t)}We.getErrorPath=R5;function Q1(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}We.checkStrictMode=Q1});var Ni=j(tx=>{"use strict";Object.defineProperty(tx,"__esModule",{value:!0});var yr=qe(),C5={data:new yr.Name("data"),valCxt:new yr.Name("valCxt"),instancePath:new yr.Name("instancePath"),parentData:new yr.Name("parentData"),parentDataProperty:new yr.Name("parentDataProperty"),rootData:new yr.Name("rootData"),dynamicAnchors:new yr.Name("dynamicAnchors"),vErrors:new yr.Name("vErrors"),errors:new yr.Name("errors"),this:new yr.Name("this"),self:new yr.Name("self"),scope:new yr.Name("scope"),json:new yr.Name("json"),jsonPos:new yr.Name("jsonPos"),jsonLen:new yr.Name("jsonLen"),jsonPart:new yr.Name("jsonPart")};tx.default=C5});var Gu=j(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.extendErrors=_r.resetErrorsCount=_r.reportExtraError=_r.reportError=_r.keyword$DataError=_r.keywordError=void 0;var nt=qe(),yf=ot(),Pr=Ni();_r.keywordError={message:({keyword:t})=>(0,nt.str)`must pass "${t}" keyword validation`};_r.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,nt.str)`"${t}" keyword must be ${e} ($data)`:(0,nt.str)`"${t}" keyword is invalid ($data)`};function N5(t,e=_r.keywordError,r,n){let{it:i}=t,{gen:a,compositeRule:o,allErrors:s}=i,c=rI(t,e,r);n??(o||s)?eI(a,c):tI(i,(0,nt._)`[${c}]`)}_r.reportError=N5;function j5(t,e=_r.keywordError,r){let{it:n}=t,{gen:i,compositeRule:a,allErrors:o}=n,s=rI(t,e,r);eI(i,s),a||o||tI(n,Pr.default.vErrors)}_r.reportExtraError=j5;function A5(t,e){t.assign(Pr.default.errors,e),t.if((0,nt._)`${Pr.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,nt._)`${Pr.default.vErrors}.length`,e),()=>t.assign(Pr.default.vErrors,null)))}_r.resetErrorsCount=A5;function M5({gen:t,keyword:e,schemaValue:r,data:n,errsCount:i,it:a}){if(i===void 0)throw new Error("ajv implementation error");let o=t.name("err");t.forRange("i",i,Pr.default.errors,s=>{t.const(o,(0,nt._)`${Pr.default.vErrors}[${s}]`),t.if((0,nt._)`${o}.instancePath === undefined`,()=>t.assign((0,nt._)`${o}.instancePath`,(0,nt.strConcat)(Pr.default.instancePath,a.errorPath))),t.assign((0,nt._)`${o}.schemaPath`,(0,nt.str)`${a.errSchemaPath}/${e}`),a.opts.verbose&&(t.assign((0,nt._)`${o}.schema`,r),t.assign((0,nt._)`${o}.data`,n))})}_r.extendErrors=M5;function eI(t,e){let r=t.const("err",e);t.if((0,nt._)`${Pr.default.vErrors} === null`,()=>t.assign(Pr.default.vErrors,(0,nt._)`[${r}]`),(0,nt._)`${Pr.default.vErrors}.push(${r})`),t.code((0,nt._)`${Pr.default.errors}++`)}function tI(t,e){let{gen:r,validateName:n,schemaEnv:i}=t;i.$async?r.throw((0,nt._)`new ${t.ValidationError}(${e})`):(r.assign((0,nt._)`${n}.errors`,e),r.return(!1))}var Ga={keyword:new nt.Name("keyword"),schemaPath:new nt.Name("schemaPath"),params:new nt.Name("params"),propertyName:new nt.Name("propertyName"),message:new nt.Name("message"),schema:new nt.Name("schema"),parentSchema:new nt.Name("parentSchema")};function rI(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,nt._)`{}`:D5(t,e,r)}function D5(t,e,r={}){let{gen:n,it:i}=t,a=[z5(i,r),U5(t,r)];return L5(t,e,a),n.object(...a)}function z5({errorPath:t},{instancePath:e}){let r=e?(0,nt.str)`${t}${(0,yf.getErrorPath)(e,yf.Type.Str)}`:t;return[Pr.default.instancePath,(0,nt.strConcat)(Pr.default.instancePath,r)]}function U5({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let i=n?e:(0,nt.str)`${e}/${t}`;return r&&(i=(0,nt.str)`${i}${(0,yf.getErrorPath)(r,yf.Type.Str)}`),[Ga.schemaPath,i]}function L5(t,{params:e,message:r},n){let{keyword:i,data:a,schemaValue:o,it:s}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=s;n.push([Ga.keyword,i],[Ga.params,typeof e=="function"?e(t):e||(0,nt._)`{}`]),c.messages&&n.push([Ga.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Ga.schema,o],[Ga.parentSchema,(0,nt._)`${l}${d}`],[Pr.default.data,a]),u&&n.push([Ga.propertyName,u])}});var iI=j(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.boolOrEmptySchema=as.topBoolOrEmptySchema=void 0;var q5=Gu(),F5=qe(),Z5=Ni(),H5={message:"boolean schema is false"};function B5(t){let{gen:e,schema:r,validateName:n}=t;r===!1?nI(t,!1):typeof r=="object"&&r.$async===!0?e.return(Z5.default.data):(e.assign((0,F5._)`${n}.errors`,null),e.return(!0))}as.topBoolOrEmptySchema=B5;function V5(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),nI(t)):r.var(e,!0)}as.boolOrEmptySchema=V5;function nI(t,e){let{gen:r,data:n}=t,i={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,q5.reportError)(i,H5,void 0,e)}});var rx=j(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.getRules=os.isJSONType=void 0;var G5=["string","number","integer","boolean","null","object","array"],W5=new Set(G5);function K5(t){return typeof t=="string"&&W5.has(t)}os.isJSONType=K5;function J5(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}os.getRules=J5});var nx=j(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.shouldUseRule=aa.shouldUseGroup=aa.schemaHasRulesForType=void 0;function X5({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&aI(t,n)}aa.schemaHasRulesForType=X5;function aI(t,e){return e.rules.some(r=>oI(t,r))}aa.shouldUseGroup=aI;function oI(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}aa.shouldUseRule=oI});var Wu=j(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.reportTypeError=br.checkDataTypes=br.checkDataType=br.coerceAndCheckDataType=br.getJSONTypes=br.getSchemaTypes=br.DataType=void 0;var Y5=rx(),Q5=nx(),e3=Gu(),Le=qe(),sI=ot(),ss;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(ss||(br.DataType=ss={}));function t3(t){let e=cI(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}br.getSchemaTypes=t3;function cI(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(Y5.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}br.getJSONTypes=cI;function r3(t,e){let{gen:r,data:n,opts:i}=t,a=n3(e,i.coerceTypes),o=e.length>0&&!(a.length===0&&e.length===1&&(0,Q5.schemaHasRulesForType)(t,e[0]));if(o){let s=ax(e,n,i.strictNumbers,ss.Wrong);r.if(s,()=>{a.length?i3(t,e,a):ox(t)})}return o}br.coerceAndCheckDataType=r3;var uI=new Set(["string","number","integer","boolean","null"]);function n3(t,e){return e?t.filter(r=>uI.has(r)||e==="array"&&r==="array"):[]}function i3(t,e,r){let{gen:n,data:i,opts:a}=t,o=n.let("dataType",(0,Le._)`typeof ${i}`),s=n.let("coerced",(0,Le._)`undefined`);a.coerceTypes==="array"&&n.if((0,Le._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,Le._)`${i}[0]`).assign(o,(0,Le._)`typeof ${i}`).if(ax(e,i,a.strictNumbers),()=>n.assign(s,i))),n.if((0,Le._)`${s} !== undefined`);for(let u of r)(uI.has(u)||u==="array"&&a.coerceTypes==="array")&&c(u);n.else(),ox(t),n.endIf(),n.if((0,Le._)`${s} !== undefined`,()=>{n.assign(i,s),a3(t,s)});function c(u){switch(u){case"string":n.elseIf((0,Le._)`${o} == "number" || ${o} == "boolean"`).assign(s,(0,Le._)`"" + ${i}`).elseIf((0,Le._)`${i} === null`).assign(s,(0,Le._)`""`);return;case"number":n.elseIf((0,Le._)`${o} == "boolean" || ${i} === null + || (${o} == "string" && ${i} && ${i} == +${i})`).assign(s,(0,Le._)`+${i}`);return;case"integer":n.elseIf((0,Le._)`${o} === "boolean" || ${i} === null + || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(s,(0,Le._)`+${i}`);return;case"boolean":n.elseIf((0,Le._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(s,!1).elseIf((0,Le._)`${i} === "true" || ${i} === 1`).assign(s,!0);return;case"null":n.elseIf((0,Le._)`${i} === "" || ${i} === 0 || ${i} === false`),n.assign(s,null);return;case"array":n.elseIf((0,Le._)`${o} === "string" || ${o} === "number" + || ${o} === "boolean" || ${i} === null`).assign(s,(0,Le._)`[${i}]`)}}}function a3({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,Le._)`${e} !== undefined`,()=>t.assign((0,Le._)`${e}[${r}]`,n))}function ix(t,e,r,n=ss.Correct){let i=n===ss.Correct?Le.operators.EQ:Le.operators.NEQ,a;switch(t){case"null":return(0,Le._)`${e} ${i} null`;case"array":a=(0,Le._)`Array.isArray(${e})`;break;case"object":a=(0,Le._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":a=o((0,Le._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":a=o();break;default:return(0,Le._)`typeof ${e} ${i} ${t}`}return n===ss.Correct?a:(0,Le.not)(a);function o(s=Le.nil){return(0,Le.and)((0,Le._)`typeof ${e} == "number"`,s,r?(0,Le._)`isFinite(${e})`:Le.nil)}}br.checkDataType=ix;function ax(t,e,r,n){if(t.length===1)return ix(t[0],e,r,n);let i,a=(0,sI.toHash)(t);if(a.array&&a.object){let o=(0,Le._)`typeof ${e} != "object"`;i=a.null?o:(0,Le._)`!${e} || ${o}`,delete a.null,delete a.array,delete a.object}else i=Le.nil;a.number&&delete a.integer;for(let o in a)i=(0,Le.and)(i,ix(o,e,r,n));return i}br.checkDataTypes=ax;var o3={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,Le._)`{type: ${t}}`:(0,Le._)`{type: ${e}}`};function ox(t){let e=s3(t);(0,e3.reportError)(e,o3)}br.reportTypeError=ox;function s3(t){let{gen:e,data:r,schema:n}=t,i=(0,sI.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:t}}});var dI=j(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.assignDefaults=void 0;var cs=qe(),c3=ot();function u3(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let i in r)lI(t,i,r[i].default);else e==="array"&&Array.isArray(n)&&n.forEach((i,a)=>lI(t,a,i.default))}_f.assignDefaults=u3;function lI(t,e,r){let{gen:n,compositeRule:i,data:a,opts:o}=t;if(r===void 0)return;let s=(0,cs._)`${a}${(0,cs.getProperty)(e)}`;if(i){(0,c3.checkStrictMode)(t,`default is ignored for: ${s}`);return}let c=(0,cs._)`${s} === undefined`;o.useDefaults==="empty"&&(c=(0,cs._)`${c} || ${s} === null || ${s} === ""`),n.if(c,(0,cs._)`${s} = ${(0,cs.stringify)(r)}`)}});var gn=j(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.validateUnion=xt.validateArray=xt.usePattern=xt.callValidateCode=xt.schemaProperties=xt.allSchemaProperties=xt.noPropertyInData=xt.propertyInData=xt.isOwnProperty=xt.hasPropFunc=xt.reportMissingProp=xt.checkMissingProp=xt.checkReportMissingProp=void 0;var jt=qe(),sx=ot(),oa=Ni(),l3=ot();function d3(t,e){let{gen:r,data:n,it:i}=t;r.if(ux(r,n,e,i.opts.ownProperties),()=>{t.setParams({missingProperty:(0,jt._)`${e}`},!0),t.error()})}xt.checkReportMissingProp=d3;function p3({gen:t,data:e,it:{opts:r}},n,i){return(0,jt.or)(...n.map(a=>(0,jt.and)(ux(t,e,a,r.ownProperties),(0,jt._)`${i} = ${a}`)))}xt.checkMissingProp=p3;function f3(t,e){t.setParams({missingProperty:e},!0),t.error()}xt.reportMissingProp=f3;function pI(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,jt._)`Object.prototype.hasOwnProperty`})}xt.hasPropFunc=pI;function cx(t,e,r){return(0,jt._)`${pI(t)}.call(${e}, ${r})`}xt.isOwnProperty=cx;function m3(t,e,r,n){let i=(0,jt._)`${e}${(0,jt.getProperty)(r)} !== undefined`;return n?(0,jt._)`${i} && ${cx(t,e,r)}`:i}xt.propertyInData=m3;function ux(t,e,r,n){let i=(0,jt._)`${e}${(0,jt.getProperty)(r)} === undefined`;return n?(0,jt.or)(i,(0,jt.not)(cx(t,e,r))):i}xt.noPropertyInData=ux;function fI(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}xt.allSchemaProperties=fI;function h3(t,e){return fI(e).filter(r=>!(0,sx.alwaysValidSchema)(t,e[r]))}xt.schemaProperties=h3;function g3({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,c,u){let l=u?(0,jt._)`${t}, ${e}, ${n}${i}`:e,d=[[oa.default.instancePath,(0,jt.strConcat)(oa.default.instancePath,a)],[oa.default.parentData,o.parentData],[oa.default.parentDataProperty,o.parentDataProperty],[oa.default.rootData,oa.default.rootData]];o.opts.dynamicRef&&d.push([oa.default.dynamicAnchors,oa.default.dynamicAnchors]);let p=(0,jt._)`${l}, ${r.object(...d)}`;return c!==jt.nil?(0,jt._)`${s}.call(${c}, ${p})`:(0,jt._)`${s}(${p})`}xt.callValidateCode=g3;var v3=(0,jt._)`new RegExp`;function y3({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:i}=e.code,a=i(r,n);return t.scopeValue("pattern",{key:a.toString(),ref:a,code:(0,jt._)`${i.code==="new RegExp"?v3:(0,l3.useFunc)(t,i)}(${r}, ${n})`})}xt.usePattern=y3;function _3(t){let{gen:e,data:r,keyword:n,it:i}=t,a=e.name("valid");if(i.allErrors){let s=e.let("valid",!0);return o(()=>e.assign(s,!1)),s}return e.var(a,!0),o(()=>e.break()),a;function o(s){let c=e.const("len",(0,jt._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:sx.Type.Num},a),e.if((0,jt.not)(a),s)})}}xt.validateArray=_3;function b3(t){let{gen:e,schema:r,keyword:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,sx.alwaysValidSchema)(i,c))&&!i.opts.unevaluated)return;let o=e.let("valid",!1),s=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},s);e.assign(o,(0,jt._)`${o} || ${s}`),t.mergeValidEvaluated(l,s)||e.if((0,jt.not)(o))})),t.result(o,()=>t.reset(),()=>t.error(!0))}xt.validateUnion=b3});var gI=j(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.validateKeywordUsage=ii.validSchemaType=ii.funcKeywordCode=ii.macroKeywordCode=void 0;var Or=qe(),Wa=Ni(),x3=gn(),S3=Gu();function w3(t,e){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=t,s=e.macro.call(o.self,i,a,o),c=hI(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let u=r.name("valid");t.subschema({schema:s,schemaPath:Or.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}ii.macroKeywordCode=w3;function $3(t,e){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:c}=t;k3(c,e);let u=!s&&e.compile?e.compile.call(c.self,a,o,c):e.validate,l=hI(n,i,u),d=n.let("valid");t.block$data(d,p),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function p(){if(e.errors===!1)_(),e.modifying&&mI(t),g(()=>t.error());else{let m=e.async?f():h();e.modifying&&mI(t),g(()=>E3(t,m))}}function f(){let m=n.let("ruleErrs",null);return n.try(()=>_((0,Or._)`await `),y=>n.assign(d,!1).if((0,Or._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(m,(0,Or._)`${y}.errors`),()=>n.throw(y))),m}function h(){let m=(0,Or._)`${l}.errors`;return n.assign(m,null),_(Or.nil),m}function _(m=e.async?(0,Or._)`await `:Or.nil){let y=c.opts.passContext?Wa.default.this:Wa.default.self,v=!("compile"in e&&!s||e.schema===!1);n.assign(d,(0,Or._)`${m}${(0,x3.callValidateCode)(t,l,y,v)}`,e.modifying)}function g(m){var y;n.if((0,Or.not)((y=e.valid)!==null&&y!==void 0?y:d),m)}}ii.funcKeywordCode=$3;function mI(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Or._)`${n.parentData}[${n.parentDataProperty}]`))}function E3(t,e){let{gen:r}=t;r.if((0,Or._)`Array.isArray(${e})`,()=>{r.assign(Wa.default.vErrors,(0,Or._)`${Wa.default.vErrors} === null ? ${e} : ${Wa.default.vErrors}.concat(${e})`).assign(Wa.default.errors,(0,Or._)`${Wa.default.vErrors}.length`),(0,S3.extendErrors)(t)},()=>t.error())}function k3({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function hI(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Or.stringify)(r)})}function T3(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}ii.validSchemaType=T3;function I3({schema:t,opts:e,self:r,errSchemaPath:n},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw new Error("ajv implementation error");let o=i.dependencies;if(o?.some(s=>!Object.prototype.hasOwnProperty.call(t,s)))throw new Error(`parent schema must have dependencies of ${a}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(t[a])){let c=`keyword "${a}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}ii.validateKeywordUsage=I3});var yI=j(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.extendSubschemaMode=sa.extendSubschemaData=sa.getSubschema=void 0;var ai=qe(),vI=ot();function P3(t,{keyword:e,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:a,topSchemaRef:o}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let s=t.schema[e];return r===void 0?{schema:s,schemaPath:(0,ai._)`${t.schemaPath}${(0,ai.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:s[r],schemaPath:(0,ai._)`${t.schemaPath}${(0,ai.getProperty)(e)}${(0,ai.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,vI.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||a===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')}sa.getSubschema=P3;function O3(t,e,{dataProp:r,dataPropType:n,data:i,dataTypes:a,propertyName:o}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,p=s.let("data",(0,ai._)`${e.data}${(0,ai.getProperty)(r)}`,!0);c(p),t.errorPath=(0,ai.str)`${u}${(0,vI.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,ai._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(i!==void 0){let u=i instanceof ai.Name?i:s.let("data",i,!0);c(u),o!==void 0&&(t.propertyName=o)}a&&(t.dataTypes=a);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}sa.extendSubschemaData=O3;function R3(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:a}){n!==void 0&&(t.compositeRule=n),i!==void 0&&(t.createErrors=i),a!==void 0&&(t.allErrors=a),t.jtdDiscriminator=e,t.jtdMetadata=r}sa.extendSubschemaMode=R3});var lx=j((ESe,_I)=>{"use strict";_I.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,i,a;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!t(e[i],r[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(a=Object.keys(e),n=a.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,a[i]))return!1;for(i=n;i--!==0;){var o=a[i];if(!t(e[o],r[o]))return!1}return!0}return e!==e&&r!==r}});var xI=j((kSe,bI)=>{"use strict";var ca=bI.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};bf(e,n,i,t,"",t)};ca.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ca.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ca.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ca.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function bf(t,e,r,n,i,a,o,s,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,i,a,o,s,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in ca.arrayKeywords)for(var p=0;p{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.getSchemaRefs=Lr.resolveUrl=Lr.normalizeId=Lr._getFullPath=Lr.getFullPath=Lr.inlineRef=void 0;var N3=ot(),j3=lx(),A3=xI(),M3=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function D3(t,e=!0){return typeof t=="boolean"?!0:e===!0?!dx(t):e?SI(t)<=e:!1}Lr.inlineRef=D3;var z3=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function dx(t){for(let e in t){if(z3.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(dx)||typeof r=="object"&&dx(r))return!0}return!1}function SI(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!M3.has(r)&&(typeof t[r]=="object"&&(0,N3.eachItem)(t[r],n=>e+=SI(n)),e===1/0))return 1/0}return e}function wI(t,e="",r){r!==!1&&(e=us(e));let n=t.parse(e);return $I(t,n)}Lr.getFullPath=wI;function $I(t,e){return t.serialize(e).split("#")[0]+"#"}Lr._getFullPath=$I;var U3=/#\/?$/;function us(t){return t?t.replace(U3,""):""}Lr.normalizeId=us;function L3(t,e,r){return r=us(r),t.resolve(e,r)}Lr.resolveUrl=L3;var q3=/^[a-z_][-a-z0-9._]*$/i;function F3(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=us(t[r]||e),a={"":i},o=wI(n,i,!1),s={},c=new Set;return A3(t,{allKeys:!0},(d,p,f,h)=>{if(h===void 0)return;let _=o+p,g=a[h];typeof d[r]=="string"&&(g=m.call(this,d[r])),y.call(this,d.$anchor),y.call(this,d.$dynamicAnchor),a[p]=g;function m(v){let b=this.opts.uriResolver.resolve;if(v=us(g?b(g,v):v),c.has(v))throw l(v);c.add(v);let S=this.refs[v];return typeof S=="string"&&(S=this.refs[S]),typeof S=="object"?u(d,S.schema,v):v!==us(_)&&(v[0]==="#"?(u(d,s[v],v),s[v]=d):this.refs[v]=_),v}function y(v){if(typeof v=="string"){if(!q3.test(v))throw new Error(`invalid anchor "${v}"`);m.call(this,`#${v}`)}}}),s;function u(d,p,f){if(p!==void 0&&!j3(d,p))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Lr.getSchemaRefs=F3});var Yu=j(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.getData=ua.KeywordCxt=ua.validateFunctionCode=void 0;var PI=iI(),EI=Wu(),fx=nx(),xf=Wu(),Z3=dI(),Xu=gI(),px=yI(),ye=qe(),Ne=Ni(),H3=Ku(),ji=ot(),Ju=Gu();function B3(t){if(CI(t)&&(NI(t),RI(t))){W3(t);return}OI(t,()=>(0,PI.topBoolOrEmptySchema)(t))}ua.validateFunctionCode=B3;function OI({gen:t,validateName:e,schema:r,schemaEnv:n,opts:i},a){i.code.es5?t.func(e,(0,ye._)`${Ne.default.data}, ${Ne.default.valCxt}`,n.$async,()=>{t.code((0,ye._)`"use strict"; ${kI(r,i)}`),G3(t,i),t.code(a)}):t.func(e,(0,ye._)`${Ne.default.data}, ${V3(i)}`,n.$async,()=>t.code(kI(r,i)).code(a))}function V3(t){return(0,ye._)`{${Ne.default.instancePath}="", ${Ne.default.parentData}, ${Ne.default.parentDataProperty}, ${Ne.default.rootData}=${Ne.default.data}${t.dynamicRef?(0,ye._)`, ${Ne.default.dynamicAnchors}={}`:ye.nil}}={}`}function G3(t,e){t.if(Ne.default.valCxt,()=>{t.var(Ne.default.instancePath,(0,ye._)`${Ne.default.valCxt}.${Ne.default.instancePath}`),t.var(Ne.default.parentData,(0,ye._)`${Ne.default.valCxt}.${Ne.default.parentData}`),t.var(Ne.default.parentDataProperty,(0,ye._)`${Ne.default.valCxt}.${Ne.default.parentDataProperty}`),t.var(Ne.default.rootData,(0,ye._)`${Ne.default.valCxt}.${Ne.default.rootData}`),e.dynamicRef&&t.var(Ne.default.dynamicAnchors,(0,ye._)`${Ne.default.valCxt}.${Ne.default.dynamicAnchors}`)},()=>{t.var(Ne.default.instancePath,(0,ye._)`""`),t.var(Ne.default.parentData,(0,ye._)`undefined`),t.var(Ne.default.parentDataProperty,(0,ye._)`undefined`),t.var(Ne.default.rootData,Ne.default.data),e.dynamicRef&&t.var(Ne.default.dynamicAnchors,(0,ye._)`{}`)})}function W3(t){let{schema:e,opts:r,gen:n}=t;OI(t,()=>{r.$comment&&e.$comment&&AI(t),Q3(t),n.let(Ne.default.vErrors,null),n.let(Ne.default.errors,0),r.unevaluated&&K3(t),jI(t),rZ(t)})}function K3(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,ye._)`${r}.evaluated`),e.if((0,ye._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,ye._)`${t.evaluated}.props`,(0,ye._)`undefined`)),e.if((0,ye._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,ye._)`${t.evaluated}.items`,(0,ye._)`undefined`))}function kI(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,ye._)`/*# sourceURL=${r} */`:ye.nil}function J3(t,e){if(CI(t)&&(NI(t),RI(t))){X3(t,e);return}(0,PI.boolOrEmptySchema)(t,e)}function RI({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function CI(t){return typeof t.schema!="boolean"}function X3(t,e){let{schema:r,gen:n,opts:i}=t;i.$comment&&r.$comment&&AI(t),eZ(t),tZ(t);let a=n.const("_errs",Ne.default.errors);jI(t,a),n.var(e,(0,ye._)`${a} === ${Ne.default.errors}`)}function NI(t){(0,ji.checkUnknownRules)(t),Y3(t)}function jI(t,e){if(t.opts.jtd)return TI(t,[],!1,e);let r=(0,EI.getSchemaTypes)(t.schema),n=(0,EI.coerceAndCheckDataType)(t,r);TI(t,r,!n,e)}function Y3(t){let{schema:e,errSchemaPath:r,opts:n,self:i}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,ji.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Q3(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,ji.checkStrictMode)(t,"default is ignored in the schema root")}function eZ(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,H3.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function tZ(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function AI({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)t.code((0,ye._)`${Ne.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,ye.str)`${n}/$comment`,s=t.scopeValue("root",{ref:e.root});t.code((0,ye._)`${Ne.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function rZ(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=t;r.$async?e.if((0,ye._)`${Ne.default.errors} === 0`,()=>e.return(Ne.default.data),()=>e.throw((0,ye._)`new ${i}(${Ne.default.vErrors})`)):(e.assign((0,ye._)`${n}.errors`,Ne.default.vErrors),a.unevaluated&&nZ(t),e.return((0,ye._)`${Ne.default.errors} === 0`))}function nZ({gen:t,evaluated:e,props:r,items:n}){r instanceof ye.Name&&t.assign((0,ye._)`${e}.props`,r),n instanceof ye.Name&&t.assign((0,ye._)`${e}.items`,n)}function TI(t,e,r,n){let{gen:i,schema:a,data:o,allErrors:s,opts:c,self:u}=t,{RULES:l}=u;if(a.$ref&&(c.ignoreKeywordsWithRef||!(0,ji.schemaHasRulesButRef)(a,l))){i.block(()=>DI(t,"$ref",l.all.$ref.definition));return}c.jtd||iZ(t,e),i.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,fx.shouldUseGroup)(a,p)&&(p.type?(i.if((0,xf.checkDataType)(p.type,o,c.strictNumbers)),II(t,p),e.length===1&&e[0]===p.type&&r&&(i.else(),(0,xf.reportTypeError)(t)),i.endIf()):II(t,p),s||i.if((0,ye._)`${Ne.default.errors} === ${n||0}`))}}function II(t,e){let{gen:r,schema:n,opts:{useDefaults:i}}=t;i&&(0,Z3.assignDefaults)(t,e.type),r.block(()=>{for(let a of e.rules)(0,fx.shouldUseRule)(n,a)&&DI(t,a.keyword,a.definition,e.type)})}function iZ(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(aZ(t,e),t.opts.allowUnionTypes||oZ(t,e),sZ(t,t.dataTypes))}function aZ(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{MI(t.dataTypes,r)||mx(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),uZ(t,e)}}function oZ(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&mx(t,"use allowUnionTypes to allow union type keyword")}function sZ(t,e){let r=t.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,fx.shouldUseRule)(t.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>cZ(e,o))&&mx(t,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function cZ(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function MI(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function uZ(t,e){let r=[];for(let n of t.dataTypes)MI(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function mx(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,ji.checkStrictMode)(t,e,t.opts.strictTypes)}var Sf=class{constructor(e,r,n){if((0,Xu.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,ji.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",zI(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Xu.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Ne.default.errors))}result(e,r,n){this.failResult((0,ye.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,ye.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,ye._)`${r} !== undefined && (${(0,ye.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Ju.reportExtraError:Ju.reportError)(this,this.def.error,r)}$dataError(){(0,Ju.reportError)(this,this.def.$dataError||Ju.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ju.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=ye.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=ye.nil,r=ye.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,ye.or)((0,ye._)`${i} === undefined`,r)),e!==ye.nil&&n.assign(e,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==ye.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,ye.or)(o(),s());function o(){if(n.length){if(!(r instanceof ye.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,ye._)`${(0,xf.checkDataTypes)(c,r,a.opts.strictNumbers,xf.DataType.Wrong)}`}return ye.nil}function s(){if(i.validateSchema){let c=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,ye._)`!${c}(${r})`}return ye.nil}}subschema(e,r){let n=(0,px.getSubschema)(this.it,e);(0,px.extendSubschemaData)(n,this.it,e),(0,px.extendSubschemaMode)(n,e);let i={...this.it,...n,items:void 0,props:void 0};return J3(i,r),i}mergeEvaluated(e,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=ji.mergeEvaluated.props(i,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=ji.mergeEvaluated.items(i,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(e,ye.Name)),!0}};ua.KeywordCxt=Sf;function DI(t,e,r,n){let i=new Sf(t,r,e);"code"in r?r.code(i,n):i.$data&&r.validate?(0,Xu.funcKeywordCode)(i,r):"macro"in r?(0,Xu.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,Xu.funcKeywordCode)(i,r)}var lZ=/^\/(?:[^~]|~0|~1)*$/,dZ=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function zI(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let i,a;if(t==="")return Ne.default.rootData;if(t[0]==="/"){if(!lZ.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);i=t,a=Ne.default.rootData}else{let u=dZ.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(i=u[2],i==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(a=r[e-l],!i)return a}let o=a,s=i.split("/");for(let u of s)u&&(a=(0,ye._)`${a}${(0,ye.getProperty)((0,ji.unescapeJsonPointer)(u))}`,o=(0,ye._)`${o} && ${a}`);return o;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}ua.getData=zI});var wf=j(gx=>{"use strict";Object.defineProperty(gx,"__esModule",{value:!0});var hx=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};gx.default=hx});var Qu=j(_x=>{"use strict";Object.defineProperty(_x,"__esModule",{value:!0});var vx=Ku(),yx=class extends Error{constructor(e,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,vx.resolveUrl)(e,r,n),this.missingSchema=(0,vx.normalizeId)((0,vx.getFullPath)(e,this.missingRef))}};_x.default=yx});var Ef=j(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.resolveSchema=vn.getCompilingSchema=vn.resolveRef=vn.compileSchema=vn.SchemaEnv=void 0;var zn=qe(),pZ=wf(),Ka=Ni(),Un=Ku(),UI=ot(),fZ=Yu(),ls=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Un.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};vn.SchemaEnv=ls;function xx(t){let e=LI.call(this,t);if(e)return e;let r=(0,Un.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new zn.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;t.$async&&(s=o.scopeValue("Error",{ref:pZ.default,code:(0,zn._)`require("ajv/dist/runtime/validation_error").default`}));let c=o.scopeName("validate");t.validateName=c;let u={gen:o,allErrors:this.opts.allErrors,data:Ka.default.data,parentData:Ka.default.parentData,parentDataProperty:Ka.default.parentDataProperty,dataNames:[Ka.default.data],dataPathArr:[zn.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,zn.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:s,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:zn.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,zn._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,fZ.validateFunctionCode)(u),o.optimize(this.opts.code.optimize);let d=o.toString();l=`${o.scopeRefs(Ka.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${Ka.default.self}`,`${Ka.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:o._values}),this.opts.unevaluated){let{props:h,items:_}=u;f.evaluated={props:h instanceof zn.Name?void 0:h,items:_ instanceof zn.Name?void 0:_,dynamicProps:h instanceof zn.Name,dynamicItems:_ instanceof zn.Name},f.source&&(f.source.evaluated=(0,zn.stringify)(f.evaluated))}return t.validate=f,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}vn.compileSchema=xx;function mZ(t,e,r){var n;r=(0,Un.resolveUrl)(this.opts.uriResolver,e,r);let i=t.refs[r];if(i)return i;let a=vZ.call(this,t,r);if(a===void 0){let o=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;o&&(a=new ls({schema:o,schemaId:s,root:t,baseId:e}))}if(a!==void 0)return t.refs[r]=hZ.call(this,a)}vn.resolveRef=mZ;function hZ(t){return(0,Un.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:xx.call(this,t)}function LI(t){for(let e of this._compilations)if(gZ(e,t))return e}vn.getCompilingSchema=LI;function gZ(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function vZ(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||$f.call(this,t,e)}function $f(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Un._getFullPath)(this.opts.uriResolver,r),i=(0,Un.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===i)return bx.call(this,r,t);let a=(0,Un.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=$f.call(this,t,o);return typeof s?.schema!="object"?void 0:bx.call(this,r,s)}if(typeof o?.schema=="object"){if(o.validate||xx.call(this,o),a===(0,Un.normalizeId)(e)){let{schema:s}=o,{schemaId:c}=this.opts,u=s[c];return u&&(i=(0,Un.resolveUrl)(this.opts.uriResolver,i,u)),new ls({schema:s,schemaId:c,root:t,baseId:i})}return bx.call(this,r,o)}}vn.resolveSchema=$f;var yZ=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function bx(t,{baseId:e,schema:r,root:n}){var i;if(((i=t.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,UI.unescapeFragment)(s)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!yZ.has(s)&&u&&(e=(0,Un.resolveUrl)(this.opts.uriResolver,e,u))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,UI.schemaHasRulesButRef)(r,this.RULES)){let s=(0,Un.resolveUrl)(this.opts.uriResolver,e,r.$ref);a=$f.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new ls({schema:r,schemaId:o,root:n,baseId:e}),a.schema!==a.root.schema)return a}});var qI=j((CSe,_Z)=>{_Z.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var wx=j((NSe,BI)=>{"use strict";var bZ=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),ZI=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function Sx(t){let e="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var xZ=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function FI(t){return t.length=0,!0}function SZ(t,e,r){if(t.length){let n=Sx(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function wZ(t){let e=0,r={error:!1,address:"",zone:""},n=[],i=[],a=!1,o=!1,s=SZ;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(a=!0),n.push(":");continue}else if(u==="%"){if(!s(i,n,r))break;s=FI}else{i.push(u);continue}}return i.length&&(s===FI?r.zone=i.join(""):o?n.push(i.join("")):n.push(Sx(i))),r.address=n.join(""),r}function HI(t){if($Z(t,":")<2)return{host:t,isIPV6:!1};let e=wZ(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function $Z(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:IZ}=wx(),PZ=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,OZ=["http","https","ws","wss","urn","urn:uuid"];function RZ(t){return OZ.indexOf(t)!==-1}function $x(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function VI(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function GI(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function CZ(t){return t.secure=$x(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function NZ(t){if((t.port===($x(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function jZ(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(PZ);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let i=`${n}:${e.nid||t.nid}`,a=Ex(i);t.path=void 0,a&&(t=a.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function AZ(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),i=`${r}:${e.nid||n}`,a=Ex(i);a&&(t=a.serialize(t,e));let o=t,s=t.nss;return o.path=`${n||e.nid}:${s}`,e.skipEscape=!0,o}function MZ(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!IZ(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function DZ(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var WI={scheme:"http",domainHost:!0,parse:VI,serialize:GI},zZ={scheme:"https",domainHost:WI.domainHost,parse:VI,serialize:GI},kf={scheme:"ws",domainHost:!0,parse:CZ,serialize:NZ},UZ={scheme:"wss",domainHost:kf.domainHost,parse:kf.parse,serialize:kf.serialize},LZ={scheme:"urn",parse:jZ,serialize:AZ,skipNormalize:!0},qZ={scheme:"urn:uuid",parse:MZ,serialize:DZ,skipNormalize:!0},Tf={http:WI,https:zZ,ws:kf,wss:UZ,urn:LZ,"urn:uuid":qZ};Object.setPrototypeOf(Tf,null);function Ex(t){return t&&(Tf[t]||Tf[t.toLowerCase()])||void 0}KI.exports={wsIsSecure:$x,SCHEMES:Tf,isValidSchemeName:RZ,getSchemeHandler:Ex}});var QI=j((ASe,Pf)=>{"use strict";var{normalizeIPv6:FZ,removeDotSegments:el,recomposeAuthority:ZZ,normalizeComponentEncoding:If,isIPv4:HZ,nonSimpleDomain:BZ}=wx(),{SCHEMES:VZ,getSchemeHandler:XI}=JI();function GZ(t,e){return typeof t=="string"?t=oi(Ai(t,e),e):typeof t=="object"&&(t=Ai(oi(t,e),e)),t}function WZ(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},i=YI(Ai(t,n),Ai(e,n),n,!0);return n.skipEscape=!0,oi(i,n)}function YI(t,e,r,n){let i={};return n||(t=Ai(oi(t,r),r),e=Ai(oi(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(i.scheme=e.scheme,i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=el(e.path||""),i.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=el(e.path||""),i.query=e.query):(e.path?(e.path[0]==="/"?i.path=el(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?i.path="/"+e.path:t.path?i.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:i.path=e.path,i.path=el(i.path)),i.query=e.query):(i.path=t.path,e.query!==void 0?i.query=e.query:i.query=t.query),i.userinfo=t.userinfo,i.host=t.host,i.port=t.port),i.scheme=t.scheme),i.fragment=e.fragment,i}function KZ(t,e,r){return typeof t=="string"?(t=unescape(t),t=oi(If(Ai(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=oi(If(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=oi(If(Ai(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=oi(If(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function oi(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),i=[],a=XI(n.scheme||r.scheme);a&&a.serialize&&a.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let o=ZZ(r);if(o!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(o),r.path&&r.path[0]!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!a||!a.absolutePath)&&(s=el(s)),o===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),i.push(s)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var JZ=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Ai(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let a=t.match(JZ);if(a){if(n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5]),n.host)if(HZ(n.host)===!1){let c=FZ(n.host);n.host=c.host.toLowerCase(),i=c.isIPV6}else i=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let o=XI(r.scheme||n.scheme);if(!r.unicodeSupport&&(!o||!o.unicodeSupport)&&n.host&&(r.domainHost||o&&o.domainHost)&&i===!1&&BZ(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(s){n.error=n.error||"Host's domain name can not be converted to ASCII: "+s}(!o||o&&!o.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),o&&o.parse&&o.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var kx={SCHEMES:VZ,normalize:GZ,resolve:WZ,resolveComponent:YI,equal:KZ,serialize:oi,parse:Ai};Pf.exports=kx;Pf.exports.default=kx;Pf.exports.fastUri=kx});var tP=j(Tx=>{"use strict";Object.defineProperty(Tx,"__esModule",{value:!0});var eP=QI();eP.code='require("ajv/dist/runtime/uri").default';Tx.default=eP});var uP=j(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.CodeGen=dr.Name=dr.nil=dr.stringify=dr.str=dr._=dr.KeywordCxt=void 0;var XZ=Yu();Object.defineProperty(dr,"KeywordCxt",{enumerable:!0,get:function(){return XZ.KeywordCxt}});var ds=qe();Object.defineProperty(dr,"_",{enumerable:!0,get:function(){return ds._}});Object.defineProperty(dr,"str",{enumerable:!0,get:function(){return ds.str}});Object.defineProperty(dr,"stringify",{enumerable:!0,get:function(){return ds.stringify}});Object.defineProperty(dr,"nil",{enumerable:!0,get:function(){return ds.nil}});Object.defineProperty(dr,"Name",{enumerable:!0,get:function(){return ds.Name}});Object.defineProperty(dr,"CodeGen",{enumerable:!0,get:function(){return ds.CodeGen}});var YZ=wf(),oP=Qu(),QZ=rx(),tl=Ef(),eH=qe(),rl=Ku(),Of=Wu(),Px=ot(),rP=qI(),tH=tP(),sP=(t,e)=>new RegExp(t,e);sP.code="new RegExp";var rH=["removeAdditional","useDefaults","coerceTypes"],nH=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),iH={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},aH={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},nP=200;function oH(t){var e,r,n,i,a,o,s,c,u,l,d,p,f,h,_,g,m,y,v,b,S,x,w,E,O;let A=t.strict,M=(e=t.code)===null||e===void 0?void 0:e.optimize,L=M===!0||M===void 0?1:M||0,B=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:sP,U=(i=t.uriResolver)!==null&&i!==void 0?i:tH.default;return{strictSchema:(o=(a=t.strictSchema)!==null&&a!==void 0?a:A)!==null&&o!==void 0?o:!0,strictNumbers:(c=(s=t.strictNumbers)!==null&&s!==void 0?s:A)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:A)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:A)!==null&&p!==void 0?p:"log",strictRequired:(h=(f=t.strictRequired)!==null&&f!==void 0?f:A)!==null&&h!==void 0?h:!1,code:t.code?{...t.code,optimize:L,regExp:B}:{optimize:L,regExp:B},loopRequired:(_=t.loopRequired)!==null&&_!==void 0?_:nP,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:nP,meta:(m=t.meta)!==null&&m!==void 0?m:!0,messages:(y=t.messages)!==null&&y!==void 0?y:!0,inlineRefs:(v=t.inlineRefs)!==null&&v!==void 0?v:!0,schemaId:(b=t.schemaId)!==null&&b!==void 0?b:"$id",addUsedSchema:(S=t.addUsedSchema)!==null&&S!==void 0?S:!0,validateSchema:(x=t.validateSchema)!==null&&x!==void 0?x:!0,validateFormats:(w=t.validateFormats)!==null&&w!==void 0?w:!0,unicodeRegExp:(E=t.unicodeRegExp)!==null&&E!==void 0?E:!0,int32range:(O=t.int32range)!==null&&O!==void 0?O:!0,uriResolver:U}}var nl=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...oH(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new eH.ValueScope({scope:{},prefixes:nH,es5:r,lines:n}),this.logger=pH(e.logger);let i=e.validateFormats;e.validateFormats=!1,this.RULES=(0,QZ.getRules)(),iP.call(this,iH,e,"NOT SUPPORTED"),iP.call(this,aH,e,"DEPRECATED","warn"),this._metaOpts=lH.call(this),e.formats&&cH.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&uH.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),sH.call(this),e.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,i=rP;n==="id"&&(i={...rP},i.id=i.$id,delete i.$id),r&&e&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,e,r);async function i(l,d){await a.call(this,l.$schema);let p=this._addSchema(l,d);return p.validate||o.call(this,p)}async function a(l){l&&!this.getSchema(l)&&await i.call(this,{$ref:l},!0)}async function o(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof oP.default))throw d;return s.call(this,d),await c.call(this,d.missingSchema),o.call(this,l)}}function s({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await a.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,i=this.opts.validateSchema){if(Array.isArray(e)){for(let o of e)this.addSchema(o,void 0,n,i);return this}let a;if(typeof e=="object"){let{schemaId:o}=this.opts;if(a=e[o],a!==void 0&&typeof a!="string")throw new Error(`schema ${o} must be string`)}return r=(0,rl.normalizeId)(r||a),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,i,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,e);if(!i&&r){let a="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(a);else throw new Error(a)}return i}getSchema(e){let r;for(;typeof(r=aP.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,i=new tl.SchemaEnv({schema:{},schemaId:n});if(r=tl.resolveSchema.call(this,i,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=aP.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,rl.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(mH.call(this,n,r),!r)return(0,Px.eachItem)(n,a=>Ix.call(this,a)),this;gH.call(this,r);let i={...r,type:(0,Of.getJSONTypes)(r.type),schemaType:(0,Of.getJSONTypes)(r.schemaType)};return(0,Px.eachItem)(n,i.type.length===0?a=>Ix.call(this,a,i):a=>i.type.forEach(o=>Ix.call(this,a,i,o))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let i=n.rules.findIndex(a=>a.keyword===e);i>=0&&n.rules.splice(i,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,a)=>i+r+a)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let i of r){let a=i.split("/").slice(1),o=e;for(let s of a)o=o[s];for(let s in n){let c=n[s];if(typeof c!="object")continue;let{$data:u}=c.definition,l=o[s];u&&l&&(o[s]=cP(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let i=e[n];(!r||r.test(n))&&(typeof i=="string"?delete e[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[n]))}}_addSchema(e,r,n,i=this.opts.validateSchema,a=this.opts.addUsedSchema){let o,{schemaId:s}=this.opts;if(typeof e=="object")o=e[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,rl.normalizeId)(o||n);let u=rl.getSchemaRefs.call(this,e,n);return c=new tl.SchemaEnv({schema:e,schemaId:s,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),a&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),i&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):tl.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{tl.compileSchema.call(this,e)}finally{this.opts=r}}};nl.ValidationError=YZ.default;nl.MissingRefError=oP.default;dr.default=nl;function iP(t,e,r,n="error"){for(let i in t){let a=i;a in e&&this.logger[n](`${r}: option ${i}. ${t[a]}`)}}function aP(t){return t=(0,rl.normalizeId)(t),this.schemas[t]||this.refs[t]}function sH(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function cH(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function uH(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function lH(){let t={...this.opts};for(let e of rH)delete t[e];return t}var dH={log(){},warn(){},error(){}};function pH(t){if(t===!1)return dH;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var fH=/^[a-z_$][a-z0-9_$:-]*$/i;function mH(t,e){let{RULES:r}=this;if((0,Px.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!fH.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Ix(t,e,r){var n;let i=e?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:a}=this,o=i?a.post:a.rules.find(({type:c})=>c===r);if(o||(o={type:r,rules:[]},a.rules.push(o)),a.keywords[t]=!0,!e)return;let s={keyword:t,definition:{...e,type:(0,Of.getJSONTypes)(e.type),schemaType:(0,Of.getJSONTypes)(e.schemaType)}};e.before?hH.call(this,o,s,e.before):o.rules.push(s),a.all[t]=s,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function hH(t,e,r){let n=t.rules.findIndex(i=>i.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function gH(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=cP(e)),t.validateSchema=this.compile(e,!0))}var vH={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function cP(t){return{anyOf:[t,vH]}}});var lP=j(Ox=>{"use strict";Object.defineProperty(Ox,"__esModule",{value:!0});var yH={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ox.default=yH});var mP=j(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.callRef=Ja.getValidate=void 0;var _H=Qu(),dP=gn(),qr=qe(),ps=Ni(),pP=Ef(),Rf=ot(),bH={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:i,schemaEnv:a,validateName:o,opts:s,self:c}=n,{root:u}=a;if((r==="#"||r==="#/")&&i===u.baseId)return d();let l=pP.resolveRef.call(c,u,i,r);if(l===void 0)throw new _H.default(n.opts.uriResolver,i,r);if(l instanceof pP.SchemaEnv)return p(l);return f(l);function d(){if(a===u)return Cf(t,o,a,a.$async);let h=e.scopeValue("root",{ref:u});return Cf(t,(0,qr._)`${h}.validate`,u,u.$async)}function p(h){let _=fP(t,h);Cf(t,_,h,h.$async)}function f(h){let _=e.scopeValue("schema",s.code.source===!0?{ref:h,code:(0,qr.stringify)(h)}:{ref:h}),g=e.name("valid"),m=t.subschema({schema:h,dataTypes:[],schemaPath:qr.nil,topSchemaRef:_,errSchemaPath:r},g);t.mergeEvaluated(m),t.ok(g)}}};function fP(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,qr._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Ja.getValidate=fP;function Cf(t,e,r,n){let{gen:i,it:a}=t,{allErrors:o,schemaEnv:s,opts:c}=a,u=c.passContext?ps.default.this:qr.nil;n?l():d();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let h=i.let("valid");i.try(()=>{i.code((0,qr._)`await ${(0,dP.callValidateCode)(t,e,u)}`),f(e),o||i.assign(h,!0)},_=>{i.if((0,qr._)`!(${_} instanceof ${a.ValidationError})`,()=>i.throw(_)),p(_),o||i.assign(h,!1)}),t.ok(h)}function d(){t.result((0,dP.callValidateCode)(t,e,u),()=>f(e),()=>p(e))}function p(h){let _=(0,qr._)`${h}.errors`;i.assign(ps.default.vErrors,(0,qr._)`${ps.default.vErrors} === null ? ${_} : ${ps.default.vErrors}.concat(${_})`),i.assign(ps.default.errors,(0,qr._)`${ps.default.vErrors}.length`)}function f(h){var _;if(!a.opts.unevaluated)return;let g=(_=r?.validate)===null||_===void 0?void 0:_.evaluated;if(a.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(a.props=Rf.mergeEvaluated.props(i,g.props,a.props));else{let m=i.var("props",(0,qr._)`${h}.evaluated.props`);a.props=Rf.mergeEvaluated.props(i,m,a.props,qr.Name)}if(a.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(a.items=Rf.mergeEvaluated.items(i,g.items,a.items));else{let m=i.var("items",(0,qr._)`${h}.evaluated.items`);a.items=Rf.mergeEvaluated.items(i,m,a.items,qr.Name)}}}Ja.callRef=Cf;Ja.default=bH});var hP=j(Rx=>{"use strict";Object.defineProperty(Rx,"__esModule",{value:!0});var xH=lP(),SH=mP(),wH=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",xH.default,SH.default];Rx.default=wH});var gP=j(Cx=>{"use strict";Object.defineProperty(Cx,"__esModule",{value:!0});var Nf=qe(),la=Nf.operators,jf={maximum:{okStr:"<=",ok:la.LTE,fail:la.GT},minimum:{okStr:">=",ok:la.GTE,fail:la.LT},exclusiveMaximum:{okStr:"<",ok:la.LT,fail:la.GTE},exclusiveMinimum:{okStr:">",ok:la.GT,fail:la.LTE}},$H={message:({keyword:t,schemaCode:e})=>(0,Nf.str)`must be ${jf[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Nf._)`{comparison: ${jf[t].okStr}, limit: ${e}}`},EH={keyword:Object.keys(jf),type:"number",schemaType:"number",$data:!0,error:$H,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Nf._)`${r} ${jf[e].fail} ${n} || isNaN(${r})`)}};Cx.default=EH});var vP=j(Nx=>{"use strict";Object.defineProperty(Nx,"__esModule",{value:!0});var il=qe(),kH={message:({schemaCode:t})=>(0,il.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,il._)`{multipleOf: ${t}}`},TH={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:kH,code(t){let{gen:e,data:r,schemaCode:n,it:i}=t,a=i.opts.multipleOfPrecision,o=e.let("res"),s=a?(0,il._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,il._)`${o} !== parseInt(${o})`;t.fail$data((0,il._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};Nx.default=TH});var _P=j(jx=>{"use strict";Object.defineProperty(jx,"__esModule",{value:!0});function yP(t){let e=t.length,r=0,n=0,i;for(;n=55296&&i<=56319&&n{"use strict";Object.defineProperty(Ax,"__esModule",{value:!0});var Xa=qe(),IH=ot(),PH=_P(),OH={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Xa.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Xa._)`{limit: ${t}}`},RH={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:OH,code(t){let{keyword:e,data:r,schemaCode:n,it:i}=t,a=e==="maxLength"?Xa.operators.GT:Xa.operators.LT,o=i.opts.unicode===!1?(0,Xa._)`${r}.length`:(0,Xa._)`${(0,IH.useFunc)(t.gen,PH.default)}(${r})`;t.fail$data((0,Xa._)`${o} ${a} ${n}`)}};Ax.default=RH});var xP=j(Mx=>{"use strict";Object.defineProperty(Mx,"__esModule",{value:!0});var CH=gn(),Af=qe(),NH={message:({schemaCode:t})=>(0,Af.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Af._)`{pattern: ${t}}`},jH={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:NH,code(t){let{data:e,$data:r,schema:n,schemaCode:i,it:a}=t,o=a.opts.unicodeRegExp?"u":"",s=r?(0,Af._)`(new RegExp(${i}, ${o}))`:(0,CH.usePattern)(t,n);t.fail$data((0,Af._)`!${s}.test(${e})`)}};Mx.default=jH});var SP=j(Dx=>{"use strict";Object.defineProperty(Dx,"__esModule",{value:!0});var al=qe(),AH={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,al.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,al._)`{limit: ${t}}`},MH={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:AH,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxProperties"?al.operators.GT:al.operators.LT;t.fail$data((0,al._)`Object.keys(${r}).length ${i} ${n}`)}};Dx.default=MH});var wP=j(zx=>{"use strict";Object.defineProperty(zx,"__esModule",{value:!0});var ol=gn(),sl=qe(),DH=ot(),zH={message:({params:{missingProperty:t}})=>(0,sl.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,sl._)`{missingProperty: ${t}}`},UH={keyword:"required",type:"object",schemaType:"array",$data:!0,error:zH,code(t){let{gen:e,schema:r,schemaCode:n,data:i,$data:a,it:o}=t,{opts:s}=o;if(!a&&r.length===0)return;let c=r.length>=s.loopRequired;if(o.allErrors?u():l(),s.strictRequired){let f=t.parentSchema.properties,{definedProperties:h}=t.it;for(let _ of r)if(f?.[_]===void 0&&!h.has(_)){let g=o.schemaEnv.baseId+o.errSchemaPath,m=`required property "${_}" is not defined at "${g}" (strictRequired)`;(0,DH.checkStrictMode)(o,m,o.opts.strictRequired)}}function u(){if(c||a)t.block$data(sl.nil,d);else for(let f of r)(0,ol.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||a){let h=e.let("valid",!0);t.block$data(h,()=>p(f,h)),t.ok(h)}else e.if((0,ol.checkMissingProp)(t,r,f)),(0,ol.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,ol.noPropertyInData)(e,i,f,s.ownProperties),()=>t.error())})}function p(f,h){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(h,(0,ol.propertyInData)(e,i,f,s.ownProperties)),e.if((0,sl.not)(h),()=>{t.error(),e.break()})},sl.nil)}}};zx.default=UH});var $P=j(Ux=>{"use strict";Object.defineProperty(Ux,"__esModule",{value:!0});var cl=qe(),LH={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,cl.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,cl._)`{limit: ${t}}`},qH={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:LH,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxItems"?cl.operators.GT:cl.operators.LT;t.fail$data((0,cl._)`${r}.length ${i} ${n}`)}};Ux.default=qH});var Mf=j(Lx=>{"use strict";Object.defineProperty(Lx,"__esModule",{value:!0});var EP=lx();EP.code='require("ajv/dist/runtime/equal").default';Lx.default=EP});var kP=j(Fx=>{"use strict";Object.defineProperty(Fx,"__esModule",{value:!0});var qx=Wu(),pr=qe(),FH=ot(),ZH=Mf(),HH={message:({params:{i:t,j:e}})=>(0,pr.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,pr._)`{i: ${t}, j: ${e}}`},BH={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:HH,code(t){let{gen:e,data:r,$data:n,schema:i,parentSchema:a,schemaCode:o,it:s}=t;if(!n&&!i)return;let c=e.let("valid"),u=a.items?(0,qx.getSchemaTypes)(a.items):[];t.block$data(c,l,(0,pr._)`${o} === false`),t.ok(c);function l(){let h=e.let("i",(0,pr._)`${r}.length`),_=e.let("j");t.setParams({i:h,j:_}),e.assign(c,!0),e.if((0,pr._)`${h} > 1`,()=>(d()?p:f)(h,_))}function d(){return u.length>0&&!u.some(h=>h==="object"||h==="array")}function p(h,_){let g=e.name("item"),m=(0,qx.checkDataTypes)(u,g,s.opts.strictNumbers,qx.DataType.Wrong),y=e.const("indices",(0,pr._)`{}`);e.for((0,pr._)`;${h}--;`,()=>{e.let(g,(0,pr._)`${r}[${h}]`),e.if(m,(0,pr._)`continue`),u.length>1&&e.if((0,pr._)`typeof ${g} == "string"`,(0,pr._)`${g} += "_"`),e.if((0,pr._)`typeof ${y}[${g}] == "number"`,()=>{e.assign(_,(0,pr._)`${y}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,pr._)`${y}[${g}] = ${h}`)})}function f(h,_){let g=(0,FH.useFunc)(e,ZH.default),m=e.name("outer");e.label(m).for((0,pr._)`;${h}--;`,()=>e.for((0,pr._)`${_} = ${h}; ${_}--;`,()=>e.if((0,pr._)`${g}(${r}[${h}], ${r}[${_}])`,()=>{t.error(),e.assign(c,!1).break(m)})))}}};Fx.default=BH});var TP=j(Hx=>{"use strict";Object.defineProperty(Hx,"__esModule",{value:!0});var Zx=qe(),VH=ot(),GH=Mf(),WH={message:"must be equal to constant",params:({schemaCode:t})=>(0,Zx._)`{allowedValue: ${t}}`},KH={keyword:"const",$data:!0,error:WH,code(t){let{gen:e,data:r,$data:n,schemaCode:i,schema:a}=t;n||a&&typeof a=="object"?t.fail$data((0,Zx._)`!${(0,VH.useFunc)(e,GH.default)}(${r}, ${i})`):t.fail((0,Zx._)`${a} !== ${r}`)}};Hx.default=KH});var IP=j(Bx=>{"use strict";Object.defineProperty(Bx,"__esModule",{value:!0});var ul=qe(),JH=ot(),XH=Mf(),YH={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,ul._)`{allowedValues: ${t}}`},QH={keyword:"enum",schemaType:"array",$data:!0,error:YH,code(t){let{gen:e,data:r,$data:n,schema:i,schemaCode:a,it:o}=t;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=o.opts.loopEnum,c,u=()=>c??(c=(0,JH.useFunc)(e,XH.default)),l;if(s||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let f=e.const("vSchema",a);l=(0,ul.or)(...i.map((h,_)=>p(f,_)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",a,f=>e.if((0,ul._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function p(f,h){let _=i[h];return typeof _=="object"&&_!==null?(0,ul._)`${u()}(${r}, ${f}[${h}])`:(0,ul._)`${r} === ${_}`}}};Bx.default=QH});var PP=j(Vx=>{"use strict";Object.defineProperty(Vx,"__esModule",{value:!0});var eB=gP(),tB=vP(),rB=bP(),nB=xP(),iB=SP(),aB=wP(),oB=$P(),sB=kP(),cB=TP(),uB=IP(),lB=[eB.default,tB.default,rB.default,nB.default,iB.default,aB.default,oB.default,sB.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},cB.default,uB.default];Vx.default=lB});var Wx=j(ll=>{"use strict";Object.defineProperty(ll,"__esModule",{value:!0});ll.validateAdditionalItems=void 0;var Ya=qe(),Gx=ot(),dB={message:({params:{len:t}})=>(0,Ya.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Ya._)`{limit: ${t}}`},pB={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:dB,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Gx.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}OP(t,n)}};function OP(t,e){let{gen:r,schema:n,data:i,keyword:a,it:o}=t;o.items=!0;let s=r.const("len",(0,Ya._)`${i}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Ya._)`${s} <= ${e.length}`);else if(typeof n=="object"&&!(0,Gx.alwaysValidSchema)(o,n)){let u=r.var("valid",(0,Ya._)`${s} <= ${e.length}`);r.if((0,Ya.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,s,l=>{t.subschema({keyword:a,dataProp:l,dataPropType:Gx.Type.Num},u),o.allErrors||r.if((0,Ya.not)(u),()=>r.break())})}}ll.validateAdditionalItems=OP;ll.default=pB});var Kx=j(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});dl.validateTuple=void 0;var RP=qe(),Df=ot(),fB=gn(),mB={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return CP(t,"additionalItems",e);r.items=!0,!(0,Df.alwaysValidSchema)(r,e)&&t.ok((0,fB.validateArray)(t))}};function CP(t,e,r=t.schema){let{gen:n,parentSchema:i,data:a,keyword:o,it:s}=t;l(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=Df.mergeEvaluated.items(n,r.length,s.items));let c=n.name("valid"),u=n.const("len",(0,RP._)`${a}.length`);r.forEach((d,p)=>{(0,Df.alwaysValidSchema)(s,d)||(n.if((0,RP._)`${u} > ${p}`,()=>t.subschema({keyword:o,schemaProp:p,dataProp:p},c)),t.ok(c))});function l(d){let{opts:p,errSchemaPath:f}=s,h=r.length,_=h===d.minItems&&(h===d.maxItems||d[e]===!1);if(p.strictTuples&&!_){let g=`"${o}" is ${h}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,Df.checkStrictMode)(s,g,p.strictTuples)}}}dl.validateTuple=CP;dl.default=mB});var NP=j(Jx=>{"use strict";Object.defineProperty(Jx,"__esModule",{value:!0});var hB=Kx(),gB={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,hB.validateTuple)(t,"items")};Jx.default=gB});var AP=j(Xx=>{"use strict";Object.defineProperty(Xx,"__esModule",{value:!0});var jP=qe(),vB=ot(),yB=gn(),_B=Wx(),bB={message:({params:{len:t}})=>(0,jP.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,jP._)`{limit: ${t}}`},xB={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:bB,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:i}=r;n.items=!0,!(0,vB.alwaysValidSchema)(n,e)&&(i?(0,_B.validateAdditionalItems)(t,i):t.ok((0,yB.validateArray)(t)))}};Xx.default=xB});var MP=j(Yx=>{"use strict";Object.defineProperty(Yx,"__esModule",{value:!0});var yn=qe(),zf=ot(),SB={message:({params:{min:t,max:e}})=>e===void 0?(0,yn.str)`must contain at least ${t} valid item(s)`:(0,yn.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,yn._)`{minContains: ${t}}`:(0,yn._)`{minContains: ${t}, maxContains: ${e}}`},wB={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:SB,code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:a}=t,o,s,{minContains:c,maxContains:u}=n;a.opts.next?(o=c===void 0?1:c,s=u):o=1;let l=e.const("len",(0,yn._)`${i}.length`);if(t.setParams({min:o,max:s}),s===void 0&&o===0){(0,zf.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,zf.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,zf.alwaysValidSchema)(a,r)){let _=(0,yn._)`${l} >= ${o}`;s!==void 0&&(_=(0,yn._)`${_} && ${l} <= ${s}`),t.pass(_);return}a.items=!0;let d=e.name("valid");s===void 0&&o===1?f(d,()=>e.if(d,()=>e.break())):o===0?(e.let(d,!0),s!==void 0&&e.if((0,yn._)`${i}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let _=e.name("_valid"),g=e.let("count",0);f(_,()=>e.if(_,()=>h(g)))}function f(_,g){e.forRange("i",0,l,m=>{t.subschema({keyword:"contains",dataProp:m,dataPropType:zf.Type.Num,compositeRule:!0},_),g()})}function h(_){e.code((0,yn._)`${_}++`),s===void 0?e.if((0,yn._)`${_} >= ${o}`,()=>e.assign(d,!0).break()):(e.if((0,yn._)`${_} > ${s}`,()=>e.assign(d,!1).break()),o===1?e.assign(d,!0):e.if((0,yn._)`${_} >= ${o}`,()=>e.assign(d,!0)))}}};Yx.default=wB});var UP=j(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.validateSchemaDeps=si.validatePropertyDeps=si.error=void 0;var Qx=qe(),$B=ot(),pl=gn();si.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Qx.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Qx._)`{property: ${t}, missingProperty: ${n}, depsCount: ${e}, - deps: ${r}}`};var EB={keyword:"dependencies",type:"object",schemaType:"object",error:oi.error,code(t){let[e,r]=kB(t);RP(t,e),CP(t,r)}};function kB({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let i=Array.isArray(t[n])?e:r;i[n]=t[n]}return[e,r]}function RP(t,e=t.schema){let{gen:r,data:n,it:i}=t;if(Object.keys(e).length===0)return;let a=r.let("missing");for(let o in e){let s=e[o];if(s.length===0)continue;let c=(0,pl.propertyInData)(r,n,o,i.opts.ownProperties);t.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(c,()=>{for(let u of s)(0,pl.checkReportMissingProp)(t,u)}):(r.if((0,Yx._)`${c} && (${(0,pl.checkMissingProp)(t,s,a)})`),(0,pl.reportMissingProp)(t,a),r.else())}}oi.validatePropertyDeps=RP;function CP(t,e=t.schema){let{gen:r,data:n,keyword:i,it:a}=t,o=r.name("valid");for(let s in e)(0,$B.alwaysValidSchema)(a,e[s])||(r.if((0,pl.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let c=t.subschema({keyword:i,schemaProp:s},o);t.mergeValidEvaluated(c,o)},()=>r.var(o,!0)),t.ok(o))}oi.validateSchemaDeps=CP;oi.default=EB});var AP=j(Qx=>{"use strict";Object.defineProperty(Qx,"__esModule",{value:!0});var jP=Le(),TB=ot(),IB={message:"property name must be valid",params:({params:t})=>(0,jP._)`{propertyName: ${t.propertyName}}`},PB={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:IB,code(t){let{gen:e,schema:r,data:n,it:i}=t;if((0,TB.alwaysValidSchema)(i,r))return;let a=e.name("valid");e.forIn("key",n,o=>{t.setParams({propertyName:o}),t.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),e.if((0,jP.not)(a),()=>{t.error(!0),i.allErrors||e.break()})}),t.ok(a)}};Qx.default=PB});var t0=j(e0=>{"use strict";Object.defineProperty(e0,"__esModule",{value:!0});var Uf=gn(),qn=Le(),OB=Ci(),qf=ot(),RB={message:"must NOT have additional properties",params:({params:t})=>(0,qn._)`{additionalProperty: ${t.additionalProperty}}`},CB={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:RB,code(t){let{gen:e,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=t;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,qf.alwaysValidSchema)(o,r))return;let u=(0,Uf.allSchemaProperties)(n.properties),l=(0,Uf.allSchemaProperties)(n.patternProperties);d(),t.ok((0,qn._)`${a} === ${OB.default.errors}`);function d(){e.forIn("key",i,g=>{!u.length&&!l.length?h(g):e.if(p(g),()=>h(g))})}function p(g){let m;if(u.length>8){let y=(0,qf.schemaRefOrVal)(o,n.properties,"properties");m=(0,Uf.isOwnProperty)(e,y,g)}else u.length?m=(0,qn.or)(...u.map(y=>(0,qn._)`${g} === ${y}`)):m=qn.nil;return l.length&&(m=(0,qn.or)(m,...l.map(y=>(0,qn._)`${(0,Uf.usePattern)(t,y)}.test(${g})`))),(0,qn.not)(m)}function f(g){e.code((0,qn._)`delete ${i}[${g}]`)}function h(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),s||e.break();return}if(typeof r=="object"&&!(0,qf.alwaysValidSchema)(o,r)){let m=e.name("valid");c.removeAdditional==="failing"?(_(g,m,!1),e.if((0,qn.not)(m),()=>{t.reset(),f(g)})):(_(g,m),s||e.if((0,qn.not)(m),()=>e.break()))}}function _(g,m,y){let v={keyword:"additionalProperties",dataProp:g,dataPropType:qf.Type.Str};y===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(v,m)}}};e0.default=CB});var zP=j(n0=>{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});var NB=Yu(),MP=gn(),r0=ot(),DP=t0(),jB={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:a}=t;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&DP.default.code(new NB.KeywordCxt(a,DP.default,"additionalProperties"));let o=(0,MP.allSchemaProperties)(r);for(let d of o)a.definedProperties.add(d);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=r0.mergeEvaluated.props(e,(0,r0.toHash)(o),a.props));let s=o.filter(d=>!(0,r0.alwaysValidSchema)(a,r[d]));if(s.length===0)return;let c=e.name("valid");for(let d of s)u(d)?l(d):(e.if((0,MP.propertyInData)(e,i,d,a.opts.ownProperties)),l(d),a.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return a.opts.useDefaults&&!a.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};n0.default=jB});var FP=j(i0=>{"use strict";Object.defineProperty(i0,"__esModule",{value:!0});var UP=gn(),Lf=Le(),qP=ot(),LP=ot(),AB={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:i,it:a}=t,{opts:o}=a,s=(0,UP.allSchemaProperties)(r),c=s.filter(_=>(0,qP.alwaysValidSchema)(a,r[_]));if(s.length===0||c.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let u=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=e.name("valid");a.props!==!0&&!(a.props instanceof Lf.Name)&&(a.props=(0,LP.evaluatedPropsToName)(e,a.props));let{props:d}=a;p();function p(){for(let _ of s)u&&f(_),a.allErrors?h(_):(e.var(l,!0),h(_),e.if(l))}function f(_){for(let g in u)new RegExp(_).test(g)&&(0,qP.checkStrictMode)(a,`property ${g} matches pattern ${_} (use allowMatchingProperties)`)}function h(_){e.forIn("key",n,g=>{e.if((0,Lf._)`${(0,UP.usePattern)(t,_)}.test(${g})`,()=>{let m=c.includes(_);m||t.subschema({keyword:"patternProperties",schemaProp:_,dataProp:g,dataPropType:LP.Type.Str},l),a.opts.unevaluated&&d!==!0?e.assign((0,Lf._)`${d}[${g}]`,!0):!m&&!a.allErrors&&e.if((0,Lf.not)(l),()=>e.break())})})}}};i0.default=AB});var ZP=j(a0=>{"use strict";Object.defineProperty(a0,"__esModule",{value:!0});var MB=ot(),DB={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,MB.alwaysValidSchema)(n,r)){t.fail();return}let i=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),t.failResult(i,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};a0.default=DB});var HP=j(o0=>{"use strict";Object.defineProperty(o0,"__esModule",{value:!0});var zB=gn(),UB={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:zB.validateUnion,error:{message:"must match a schema in anyOf"}};o0.default=UB});var BP=j(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});var Ff=Le(),qB=ot(),LB={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Ff._)`{passingSchemas: ${t.passing}}`},FB={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:LB,code(t){let{gen:e,schema:r,parentSchema:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=e.let("valid",!1),s=e.let("passing",null),c=e.name("_valid");t.setParams({passing:s}),e.block(u),t.result(o,()=>t.reset(),()=>t.error(!0));function u(){a.forEach((l,d)=>{let p;(0,qB.alwaysValidSchema)(i,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Ff._)`${c} && ${o}`).assign(o,!1).assign(s,(0,Ff._)`[${s}, ${d}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(s,d),p&&t.mergeEvaluated(p,Ff.Name)})})}}};s0.default=FB});var VP=j(c0=>{"use strict";Object.defineProperty(c0,"__esModule",{value:!0});var ZB=ot(),HB={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=e.name("valid");r.forEach((a,o)=>{if((0,ZB.alwaysValidSchema)(n,a))return;let s=t.subschema({keyword:"allOf",schemaProp:o},i);t.ok(i),t.mergeEvaluated(s)})}};c0.default=HB});var KP=j(u0=>{"use strict";Object.defineProperty(u0,"__esModule",{value:!0});var Zf=Le(),WP=ot(),BB={message:({params:t})=>(0,Zf.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Zf._)`{failingKeyword: ${t.ifClause}}`},VB={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:BB,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,WP.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=GP(n,"then"),a=GP(n,"else");if(!i&&!a)return;let o=e.let("valid",!0),s=e.name("_valid");if(c(),t.reset(),i&&a){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(s,u("then",l),u("else",l))}else i?e.if(s,u("then")):e.if((0,Zf.not)(s),u("else"));t.pass(o,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);t.mergeEvaluated(l)}function u(l,d){return()=>{let p=t.subschema({keyword:l},s);e.assign(o,s),t.mergeValidEvaluated(p,o),d?e.assign(d,(0,Zf._)`${l}`):t.setParams({ifClause:l})}}}};function GP(t,e){let r=t.schema[e];return r!==void 0&&!(0,WP.alwaysValidSchema)(t,r)}u0.default=VB});var JP=j(l0=>{"use strict";Object.defineProperty(l0,"__esModule",{value:!0});var GB=ot(),WB={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,GB.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};l0.default=WB});var XP=j(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});var KB=Gx(),JB=TP(),XB=Wx(),YB=PP(),QB=OP(),eV=NP(),tV=AP(),rV=t0(),nV=zP(),iV=FP(),aV=ZP(),oV=HP(),sV=BP(),cV=VP(),uV=KP(),lV=JP();function dV(t=!1){let e=[aV.default,oV.default,sV.default,cV.default,uV.default,lV.default,tV.default,rV.default,eV.default,nV.default,iV.default];return t?e.push(JB.default,YB.default):e.push(KB.default,XB.default),e.push(QB.default),e}d0.default=dV});var YP=j(p0=>{"use strict";Object.defineProperty(p0,"__esModule",{value:!0});var Xt=Le(),pV={message:({schemaCode:t})=>(0,Xt.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Xt._)`{format: ${t}}`},fV={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:pV,code(t,e){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=s;if(!c.validateFormats)return;i?p():f();function p(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),_=r.const("fDef",(0,Xt._)`${h}[${o}]`),g=r.let("fType"),m=r.let("format");r.if((0,Xt._)`typeof ${_} == "object" && !(${_} instanceof RegExp)`,()=>r.assign(g,(0,Xt._)`${_}.type || "string"`).assign(m,(0,Xt._)`${_}.validate`),()=>r.assign(g,(0,Xt._)`"string"`).assign(m,_)),t.fail$data((0,Xt.or)(y(),v()));function y(){return c.strictSchema===!1?Xt.nil:(0,Xt._)`${o} && !${m}`}function v(){let b=l.$async?(0,Xt._)`(${_}.async ? await ${m}(${n}) : ${m}(${n}))`:(0,Xt._)`${m}(${n})`,S=(0,Xt._)`(typeof ${m} == "function" ? ${b} : ${m}.test(${n}))`;return(0,Xt._)`${m} && ${m} !== true && ${g} === ${e} && !${S}`}}function f(){let h=d.formats[a];if(!h){y();return}if(h===!0)return;let[_,g,m]=v(h);_===e&&t.pass(b());function y(){if(c.strictSchema===!1){d.logger.warn(S());return}throw new Error(S());function S(){return`unknown format "${a}" ignored in schema at path "${u}"`}}function v(S){let x=S instanceof RegExp?(0,Xt.regexpCode)(S):c.code.formats?(0,Xt._)`${c.code.formats}${(0,Xt.getProperty)(a)}`:void 0,w=r.scopeValue("formats",{key:a,ref:S,code:x});return typeof S=="object"&&!(S instanceof RegExp)?[S.type||"string",S.validate,(0,Xt._)`${w}.validate`]:["string",S,w]}function b(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Xt._)`await ${m}(${n})`}return typeof g=="function"?(0,Xt._)`${m}(${n})`:(0,Xt._)`${m}.test(${n})`}}}};p0.default=fV});var QP=j(f0=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});var mV=YP(),hV=[mV.default];f0.default=hV});var eO=j(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.contentVocabulary=fs.metadataVocabulary=void 0;fs.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];fs.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var rO=j(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});var gV=uP(),vV=wP(),yV=XP(),_V=QP(),tO=eO(),bV=[gV.default,vV.default,(0,yV.default)(),_V.default,tO.metadataVocabulary,tO.contentVocabulary];m0.default=bV});var iO=j(Hf=>{"use strict";Object.defineProperty(Hf,"__esModule",{value:!0});Hf.DiscrError=void 0;var nO;(function(t){t.Tag="tag",t.Mapping="mapping"})(nO||(Hf.DiscrError=nO={}))});var oO=j(g0=>{"use strict";Object.defineProperty(g0,"__esModule",{value:!0});var ms=Le(),h0=iO(),aO=Ef(),xV=Qu(),SV=ot(),wV={message:({params:{discrError:t,tagName:e}})=>t===h0.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,ms._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},$V={keyword:"discriminator",type:"object",schemaType:"object",error:wV,code(t){let{gen:e,data:r,schema:n,parentSchema:i,it:a}=t,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,ms._)`${r}${(0,ms.getProperty)(s)}`);e.if((0,ms._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:h0.DiscrError.Tag,tag:u,tagName:s})),t.ok(c);function l(){let f=p();e.if(!1);for(let h in f)e.elseIf((0,ms._)`${u} === ${h}`),e.assign(c,d(f[h]));e.else(),t.error(!1,{discrError:h0.DiscrError.Mapping,tag:u,tagName:s}),e.endIf()}function d(f){let h=e.name("valid"),_=t.subschema({keyword:"oneOf",schemaProp:f},h);return t.mergeEvaluated(_,ms.Name),h}function p(){var f;let h={},_=m(i),g=!0;for(let b=0;b{EV.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var y0=j((At,v0)=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.MissingRefError=At.ValidationError=At.CodeGen=At.Name=At.nil=At.stringify=At.str=At._=At.KeywordCxt=At.Ajv=void 0;var kV=nP(),TV=rO(),IV=oO(),cO=sO(),PV=["/properties"],Bf="http://json-schema.org/draft-07/schema",hs=class extends kV.default{_addVocabularies(){super._addVocabularies(),TV.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(IV.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(cO,PV):cO;this.addMetaSchema(e,Bf,!1),this.refs["http://json-schema.org/schema"]=Bf}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Bf)?Bf:void 0)}};At.Ajv=hs;v0.exports=At=hs;v0.exports.Ajv=hs;Object.defineProperty(At,"__esModule",{value:!0});At.default=hs;var OV=Yu();Object.defineProperty(At,"KeywordCxt",{enumerable:!0,get:function(){return OV.KeywordCxt}});var gs=Le();Object.defineProperty(At,"_",{enumerable:!0,get:function(){return gs._}});Object.defineProperty(At,"str",{enumerable:!0,get:function(){return gs.str}});Object.defineProperty(At,"stringify",{enumerable:!0,get:function(){return gs.stringify}});Object.defineProperty(At,"nil",{enumerable:!0,get:function(){return gs.nil}});Object.defineProperty(At,"Name",{enumerable:!0,get:function(){return gs.Name}});Object.defineProperty(At,"CodeGen",{enumerable:!0,get:function(){return gs.CodeGen}});var RV=wf();Object.defineProperty(At,"ValidationError",{enumerable:!0,get:function(){return RV.default}});var CV=Qu();Object.defineProperty(At,"MissingRefError",{enumerable:!0,get:function(){return CV.default}})});var gO=j(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.formatNames=ci.fastFormats=ci.fullFormats=void 0;function si(t,e){return{validate:t,compare:e}}ci.fullFormats={date:si(pO,S0),time:si(b0(!0),w0),"date-time":si(uO(!0),mO),"iso-time":si(b0(),fO),"iso-date-time":si(uO(),hO),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:zV,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:BV,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:UV,int32:{type:"number",validate:FV},int64:{type:"number",validate:ZV},float:{type:"number",validate:dO},double:{type:"number",validate:dO},password:!0,binary:!0};ci.fastFormats={...ci.fullFormats,date:si(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,S0),time:si(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,w0),"date-time":si(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,mO),"iso-time":si(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,fO),"iso-date-time":si(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,hO),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};ci.formatNames=Object.keys(ci.fullFormats);function NV(t){return t%4===0&&(t%100!==0||t%400===0)}var jV=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,AV=[0,31,28,31,30,31,30,31,31,30,31,30,31];function pO(t){let e=jV.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],i=+e[3];return n>=1&&n<=12&&i>=1&&i<=(n===2&&NV(r)?29:AV[n])}function S0(t,e){if(t&&e)return t>e?1:t23||l>59||t&&!s)return!1;if(i<=23&&a<=59&&o<60)return!0;let d=a-l*c,p=i-u*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&o<61}}function w0(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function fO(t,e){if(!(t&&e))return;let r=_0.exec(t),n=_0.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t=qV}function ZV(t){return Number.isInteger(t)}function dO(){return!0}var HV=/[^\\]\\Z/;function BV(t){if(HV.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var vO=j(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.formatLimitDefinition=void 0;var VV=y0(),Ln=Le(),la=Ln.operators,Vf={formatMaximum:{okStr:"<=",ok:la.LTE,fail:la.GT},formatMinimum:{okStr:">=",ok:la.GTE,fail:la.LT},formatExclusiveMaximum:{okStr:"<",ok:la.LT,fail:la.GTE},formatExclusiveMinimum:{okStr:">",ok:la.GT,fail:la.LTE}},GV={message:({keyword:t,schemaCode:e})=>(0,Ln.str)`should be ${Vf[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Ln._)`{comparison: ${Vf[t].okStr}, limit: ${e}}`};vs.formatLimitDefinition={keyword:Object.keys(Vf),type:"string",schemaType:"string",$data:!0,error:GV,code(t){let{gen:e,data:r,schemaCode:n,keyword:i,it:a}=t,{opts:o,self:s}=a;if(!o.validateFormats)return;let c=new VV.KeywordCxt(a,s.RULES.all.format.definition,"format");c.$data?u():l();function u(){let p=e.scopeValue("formats",{ref:s.formats,code:o.code.formats}),f=e.const("fmt",(0,Ln._)`${p}[${c.schemaCode}]`);t.fail$data((0,Ln.or)((0,Ln._)`typeof ${f} != "object"`,(0,Ln._)`${f} instanceof RegExp`,(0,Ln._)`typeof ${f}.compare != "function"`,d(f)))}function l(){let p=c.schema,f=s.formats[p];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${i}": format "${p}" does not define "compare" function`);let h=e.scopeValue("formats",{key:p,ref:f,code:o.code.formats?(0,Ln._)`${o.code.formats}${(0,Ln.getProperty)(p)}`:void 0});t.fail$data(d(h))}function d(p){return(0,Ln._)`${p}.compare(${r}, ${n}) ${Vf[i].fail} 0`}},dependencies:["format"]};var WV=t=>(t.addKeyword(vs.formatLimitDefinition),t);vs.default=WV});var xO=j((fl,bO)=>{"use strict";Object.defineProperty(fl,"__esModule",{value:!0});var ys=gO(),KV=vO(),$0=Le(),yO=new $0.Name("fullFormats"),JV=new $0.Name("fastFormats"),E0=(t,e={keywords:!0})=>{if(Array.isArray(e))return _O(t,e,ys.fullFormats,yO),t;let[r,n]=e.mode==="fast"?[ys.fastFormats,JV]:[ys.fullFormats,yO],i=e.formats||ys.formatNames;return _O(t,i,r,n),e.keywords&&(0,KV.default)(t),t};E0.get=(t,e="full")=>{let n=(e==="fast"?ys.fastFormats:ys.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function _O(t,e,r,n){var i,a;(i=(a=t.opts.code).formats)!==null&&i!==void 0||(a.formats=(0,$0._)`require("ajv-formats/dist/formats").${n}`);for(let o of e)t.addFormat(o,r[o])}bO.exports=fl=E0;Object.defineProperty(fl,"__esModule",{value:!0});fl.default=E0});var OO=j((Dwe,PO)=>{PO.exports=IO;IO.sync=e7;var kO=require("fs");function QV(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n{jO.exports=CO;CO.sync=t7;var RO=require("fs");function CO(t,e,r){RO.stat(t,function(n,i){r(n,n?!1:NO(i,e))})}function t7(t,e){return NO(RO.statSync(t),e)}function NO(t,e){return t.isFile()&&r7(t,e)}function r7(t,e){var r=t.mode,n=t.uid,i=t.gid,a=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),s=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=s|c,d=r&u||r&c&&i===o||r&s&&n===a||r&l&&a===0;return d}});var DO=j((qwe,MO)=>{var Uwe=require("fs"),Jf;process.platform==="win32"||global.TESTING_WINDOWS?Jf=OO():Jf=AO();MO.exports=k0;k0.sync=n7;function k0(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,i){k0(t,e||{},function(a,o){a?i(a):n(o)})})}Jf(t,e||{},function(n,i){n&&(n.code==="EACCES"||e&&e.ignoreErrors)&&(n=null,i=!1),r(n,i)})}function n7(t,e){try{return Jf.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var HO=j((Lwe,ZO)=>{var bs=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",zO=require("path"),i7=bs?";":":",UO=DO(),qO=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),LO=(t,e)=>{let r=e.colon||i7,n=t.match(/\//)||bs&&t.match(/\\/)?[""]:[...bs?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],i=bs?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",a=bs?i.split(r):[""];return bs&&t.indexOf(".")!==-1&&a[0]!==""&&a.unshift(""),{pathEnv:n,pathExt:a,pathExtExe:i}},FO=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:n,pathExt:i,pathExtExe:a}=LO(t,e),o=[],s=u=>new Promise((l,d)=>{if(u===n.length)return e.all&&o.length?l(o):d(qO(t));let p=n[u],f=/^".*"$/.test(p)?p.slice(1,-1):p,h=zO.join(f,t),_=!f&&/^\.[\\\/]/.test(t)?t.slice(0,2)+h:h;l(c(_,u,0))}),c=(u,l,d)=>new Promise((p,f)=>{if(d===i.length)return p(s(l+1));let h=i[d];UO(u+h,{pathExt:a},(_,g)=>{if(!_&&g)if(e.all)o.push(u+h);else return p(u+h);return p(c(u,l,d+1))})});return r?s(0).then(u=>r(null,u),r):s(0)},a7=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:n,pathExtExe:i}=LO(t,e),a=[];for(let o=0;o{"use strict";var BO=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};T0.exports=BO;T0.exports.default=BO});var JO=j((Zwe,KO)=>{"use strict";var GO=require("path"),o7=HO(),s7=VO();function WO(t,e){let r=t.options.env||process.env,n=process.cwd(),i=t.options.cwd!=null,a=i&&process.chdir!==void 0&&!process.chdir.disabled;if(a)try{process.chdir(t.options.cwd)}catch{}let o;try{o=o7.sync(t.command,{path:r[s7({env:r})],pathExt:e?GO.delimiter:void 0})}catch{}finally{a&&process.chdir(n)}return o&&(o=GO.resolve(i?t.options.cwd:"",o)),o}function c7(t){return WO(t)||WO(t,!0)}KO.exports=c7});var XO=j((Hwe,P0)=>{"use strict";var I0=/([()\][%!^"`<>&|;, *?])/g;function u7(t){return t=t.replace(I0,"^$1"),t}function l7(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(I0,"^$1"),e&&(t=t.replace(I0,"^$1")),t}P0.exports.command=u7;P0.exports.argument=l7});var QO=j((Bwe,YO)=>{"use strict";YO.exports=/^#!(.*)/});var tR=j((Vwe,eR)=>{"use strict";var d7=QO();eR.exports=(t="")=>{let e=t.match(d7);if(!e)return null;let[r,n]=e[0].replace(/#! ?/,"").split(" "),i=r.split("/").pop();return i==="env"?n:n?`${i} ${n}`:i}});var nR=j((Gwe,rR)=>{"use strict";var O0=require("fs"),p7=tR();function f7(t){let r=Buffer.alloc(150),n;try{n=O0.openSync(t,"r"),O0.readSync(n,r,0,150,0),O0.closeSync(n)}catch{}return p7(r.toString())}rR.exports=f7});var sR=j((Wwe,oR)=>{"use strict";var m7=require("path"),iR=JO(),aR=XO(),h7=nR(),g7=process.platform==="win32",v7=/\.(?:com|exe)$/i,y7=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function _7(t){t.file=iR(t);let e=t.file&&h7(t.file);return e?(t.args.unshift(t.file),t.command=e,iR(t)):t.file}function b7(t){if(!g7)return t;let e=_7(t),r=!v7.test(e);if(t.options.forceShell||r){let n=y7.test(e);t.command=m7.normalize(t.command),t.command=aR.command(t.command),t.args=t.args.map(a=>aR.argument(a,n));let i=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${i}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function x7(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let n={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?n:b7(n)}oR.exports=x7});var lR=j((Kwe,uR)=>{"use strict";var R0=process.platform==="win32";function C0(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function S7(t,e){if(!R0)return;let r=t.emit;t.emit=function(n,i){if(n==="exit"){let a=cR(i,e);if(a)return r.call(t,"error",a)}return r.apply(t,arguments)}}function cR(t,e){return R0&&t===1&&!e.file?C0(e.original,"spawn"):null}function w7(t,e){return R0&&t===1&&!e.file?C0(e.original,"spawnSync"):null}uR.exports={hookChildProcess:S7,verifyENOENT:cR,verifyENOENTSync:w7,notFoundError:C0}});var fR=j((Jwe,xs)=>{"use strict";var dR=require("child_process"),N0=sR(),j0=lR();function pR(t,e,r){let n=N0(t,e,r),i=dR.spawn(n.command,n.args,n.options);return j0.hookChildProcess(i,n),i}function $7(t,e,r){let n=N0(t,e,r),i=dR.spawnSync(n.command,n.args,n.options);return i.error=i.error||j0.verifyENOENTSync(i.status,n),i}xs.exports=pR;xs.exports.spawn=pR;xs.exports.sync=$7;xs.exports._parse=N0;xs.exports._enoent=j0});var Ai,hl,yR,A0,vR,M0,k,Re=Ht(()=>{"use strict";Ai=require("fs"),hl=require("path"),yR=require("os"),A0=(a=>(a[a.DEBUG=0]="DEBUG",a[a.INFO=1]="INFO",a[a.WARN=2]="WARN",a[a.ERROR=3]="ERROR",a[a.SILENT=4]="SILENT",a))(A0||{}),vR=(0,hl.join)((0,yR.homedir)(),".claude-mem"),M0=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let e=(0,hl.join)(vR,"logs");(0,Ai.existsSync)(e)||(0,Ai.mkdirSync)(e,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=(0,hl.join)(e,`claude-mem-${r}.log`)}catch(e){console.error("[LOGGER] Failed to initialize log file:",e),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let e=(0,hl.join)(vR,"settings.json");if((0,Ai.existsSync)(e)){let r=(0,Ai.readFileSync)(e,"utf-8"),i=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=A0[i]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(e,r){return`obs-${e}-${r}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} -${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let r=Object.keys(e);return r.length===0?"{}":r.length<=3?JSON.stringify(e):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,r){if(!r)return e;let n=r;if(typeof r=="string")try{n=JSON.parse(r)}catch{n=r}if(e==="Bash"&&n.command)return`${e}(${n.command})`;if(n.file_path)return`${e}(${n.file_path})`;if(n.notebook_path)return`${e}(${n.notebook_path})`;if(e==="Glob"&&n.pattern)return`${e}(${n.pattern})`;if(e==="Grep"&&n.pattern)return`${e}(${n.pattern})`;if(n.url)return`${e}(${n.url})`;if(n.query)return`${e}(${n.query})`;if(e==="Task"){if(n.subagent_type)return`${e}(${n.subagent_type})`;if(n.description)return`${e}(${n.description})`}return e==="Skill"&&n.skill?`${e}(${n.skill})`:e==="LSP"&&n.operation?`${e}(${n.operation})`:e}formatTimestamp(e){let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0"),a=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0"),s=String(e.getSeconds()).padStart(2,"0"),c=String(e.getMilliseconds()).padStart(3,"0");return`${r}-${n}-${i} ${a}:${o}:${s}.${c}`}log(e,r,n,i,a){if(e{for(let u of s)(0,pl.checkReportMissingProp)(t,u)}):(r.if((0,Qx._)`${c} && (${(0,pl.checkMissingProp)(t,s,a)})`),(0,pl.reportMissingProp)(t,a),r.else())}}si.validatePropertyDeps=DP;function zP(t,e=t.schema){let{gen:r,data:n,keyword:i,it:a}=t,o=r.name("valid");for(let s in e)(0,$B.alwaysValidSchema)(a,e[s])||(r.if((0,pl.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let c=t.subschema({keyword:i,schemaProp:s},o);t.mergeValidEvaluated(c,o)},()=>r.var(o,!0)),t.ok(o))}si.validateSchemaDeps=zP;si.default=EB});var qP=j(e0=>{"use strict";Object.defineProperty(e0,"__esModule",{value:!0});var LP=qe(),TB=ot(),IB={message:"property name must be valid",params:({params:t})=>(0,LP._)`{propertyName: ${t.propertyName}}`},PB={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:IB,code(t){let{gen:e,schema:r,data:n,it:i}=t;if((0,TB.alwaysValidSchema)(i,r))return;let a=e.name("valid");e.forIn("key",n,o=>{t.setParams({propertyName:o}),t.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),e.if((0,LP.not)(a),()=>{t.error(!0),i.allErrors||e.break()})}),t.ok(a)}};e0.default=PB});var r0=j(t0=>{"use strict";Object.defineProperty(t0,"__esModule",{value:!0});var Uf=gn(),Ln=qe(),OB=Ni(),Lf=ot(),RB={message:"must NOT have additional properties",params:({params:t})=>(0,Ln._)`{additionalProperty: ${t.additionalProperty}}`},CB={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:RB,code(t){let{gen:e,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=t;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,Lf.alwaysValidSchema)(o,r))return;let u=(0,Uf.allSchemaProperties)(n.properties),l=(0,Uf.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Ln._)`${a} === ${OB.default.errors}`);function d(){e.forIn("key",i,g=>{!u.length&&!l.length?h(g):e.if(p(g),()=>h(g))})}function p(g){let m;if(u.length>8){let y=(0,Lf.schemaRefOrVal)(o,n.properties,"properties");m=(0,Uf.isOwnProperty)(e,y,g)}else u.length?m=(0,Ln.or)(...u.map(y=>(0,Ln._)`${g} === ${y}`)):m=Ln.nil;return l.length&&(m=(0,Ln.or)(m,...l.map(y=>(0,Ln._)`${(0,Uf.usePattern)(t,y)}.test(${g})`))),(0,Ln.not)(m)}function f(g){e.code((0,Ln._)`delete ${i}[${g}]`)}function h(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),s||e.break();return}if(typeof r=="object"&&!(0,Lf.alwaysValidSchema)(o,r)){let m=e.name("valid");c.removeAdditional==="failing"?(_(g,m,!1),e.if((0,Ln.not)(m),()=>{t.reset(),f(g)})):(_(g,m),s||e.if((0,Ln.not)(m),()=>e.break()))}}function _(g,m,y){let v={keyword:"additionalProperties",dataProp:g,dataPropType:Lf.Type.Str};y===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(v,m)}}};t0.default=CB});var HP=j(i0=>{"use strict";Object.defineProperty(i0,"__esModule",{value:!0});var NB=Yu(),FP=gn(),n0=ot(),ZP=r0(),jB={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:a}=t;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&ZP.default.code(new NB.KeywordCxt(a,ZP.default,"additionalProperties"));let o=(0,FP.allSchemaProperties)(r);for(let d of o)a.definedProperties.add(d);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=n0.mergeEvaluated.props(e,(0,n0.toHash)(o),a.props));let s=o.filter(d=>!(0,n0.alwaysValidSchema)(a,r[d]));if(s.length===0)return;let c=e.name("valid");for(let d of s)u(d)?l(d):(e.if((0,FP.propertyInData)(e,i,d,a.opts.ownProperties)),l(d),a.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return a.opts.useDefaults&&!a.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};i0.default=jB});var WP=j(a0=>{"use strict";Object.defineProperty(a0,"__esModule",{value:!0});var BP=gn(),qf=qe(),VP=ot(),GP=ot(),AB={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:i,it:a}=t,{opts:o}=a,s=(0,BP.allSchemaProperties)(r),c=s.filter(_=>(0,VP.alwaysValidSchema)(a,r[_]));if(s.length===0||c.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let u=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=e.name("valid");a.props!==!0&&!(a.props instanceof qf.Name)&&(a.props=(0,GP.evaluatedPropsToName)(e,a.props));let{props:d}=a;p();function p(){for(let _ of s)u&&f(_),a.allErrors?h(_):(e.var(l,!0),h(_),e.if(l))}function f(_){for(let g in u)new RegExp(_).test(g)&&(0,VP.checkStrictMode)(a,`property ${g} matches pattern ${_} (use allowMatchingProperties)`)}function h(_){e.forIn("key",n,g=>{e.if((0,qf._)`${(0,BP.usePattern)(t,_)}.test(${g})`,()=>{let m=c.includes(_);m||t.subschema({keyword:"patternProperties",schemaProp:_,dataProp:g,dataPropType:GP.Type.Str},l),a.opts.unevaluated&&d!==!0?e.assign((0,qf._)`${d}[${g}]`,!0):!m&&!a.allErrors&&e.if((0,qf.not)(l),()=>e.break())})})}}};a0.default=AB});var KP=j(o0=>{"use strict";Object.defineProperty(o0,"__esModule",{value:!0});var MB=ot(),DB={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,MB.alwaysValidSchema)(n,r)){t.fail();return}let i=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),t.failResult(i,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};o0.default=DB});var JP=j(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});var zB=gn(),UB={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:zB.validateUnion,error:{message:"must match a schema in anyOf"}};s0.default=UB});var XP=j(c0=>{"use strict";Object.defineProperty(c0,"__esModule",{value:!0});var Ff=qe(),LB=ot(),qB={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Ff._)`{passingSchemas: ${t.passing}}`},FB={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:qB,code(t){let{gen:e,schema:r,parentSchema:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=e.let("valid",!1),s=e.let("passing",null),c=e.name("_valid");t.setParams({passing:s}),e.block(u),t.result(o,()=>t.reset(),()=>t.error(!0));function u(){a.forEach((l,d)=>{let p;(0,LB.alwaysValidSchema)(i,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Ff._)`${c} && ${o}`).assign(o,!1).assign(s,(0,Ff._)`[${s}, ${d}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(s,d),p&&t.mergeEvaluated(p,Ff.Name)})})}}};c0.default=FB});var YP=j(u0=>{"use strict";Object.defineProperty(u0,"__esModule",{value:!0});var ZB=ot(),HB={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=e.name("valid");r.forEach((a,o)=>{if((0,ZB.alwaysValidSchema)(n,a))return;let s=t.subschema({keyword:"allOf",schemaProp:o},i);t.ok(i),t.mergeEvaluated(s)})}};u0.default=HB});var tO=j(l0=>{"use strict";Object.defineProperty(l0,"__esModule",{value:!0});var Zf=qe(),eO=ot(),BB={message:({params:t})=>(0,Zf.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Zf._)`{failingKeyword: ${t.ifClause}}`},VB={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:BB,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,eO.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=QP(n,"then"),a=QP(n,"else");if(!i&&!a)return;let o=e.let("valid",!0),s=e.name("_valid");if(c(),t.reset(),i&&a){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(s,u("then",l),u("else",l))}else i?e.if(s,u("then")):e.if((0,Zf.not)(s),u("else"));t.pass(o,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);t.mergeEvaluated(l)}function u(l,d){return()=>{let p=t.subschema({keyword:l},s);e.assign(o,s),t.mergeValidEvaluated(p,o),d?e.assign(d,(0,Zf._)`${l}`):t.setParams({ifClause:l})}}}};function QP(t,e){let r=t.schema[e];return r!==void 0&&!(0,eO.alwaysValidSchema)(t,r)}l0.default=VB});var rO=j(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});var GB=ot(),WB={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,GB.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};d0.default=WB});var nO=j(p0=>{"use strict";Object.defineProperty(p0,"__esModule",{value:!0});var KB=Wx(),JB=NP(),XB=Kx(),YB=AP(),QB=MP(),eV=UP(),tV=qP(),rV=r0(),nV=HP(),iV=WP(),aV=KP(),oV=JP(),sV=XP(),cV=YP(),uV=tO(),lV=rO();function dV(t=!1){let e=[aV.default,oV.default,sV.default,cV.default,uV.default,lV.default,tV.default,rV.default,eV.default,nV.default,iV.default];return t?e.push(JB.default,YB.default):e.push(KB.default,XB.default),e.push(QB.default),e}p0.default=dV});var iO=j(f0=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});var Xt=qe(),pV={message:({schemaCode:t})=>(0,Xt.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Xt._)`{format: ${t}}`},fV={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:pV,code(t,e){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=s;if(!c.validateFormats)return;i?p():f();function p(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),_=r.const("fDef",(0,Xt._)`${h}[${o}]`),g=r.let("fType"),m=r.let("format");r.if((0,Xt._)`typeof ${_} == "object" && !(${_} instanceof RegExp)`,()=>r.assign(g,(0,Xt._)`${_}.type || "string"`).assign(m,(0,Xt._)`${_}.validate`),()=>r.assign(g,(0,Xt._)`"string"`).assign(m,_)),t.fail$data((0,Xt.or)(y(),v()));function y(){return c.strictSchema===!1?Xt.nil:(0,Xt._)`${o} && !${m}`}function v(){let b=l.$async?(0,Xt._)`(${_}.async ? await ${m}(${n}) : ${m}(${n}))`:(0,Xt._)`${m}(${n})`,S=(0,Xt._)`(typeof ${m} == "function" ? ${b} : ${m}.test(${n}))`;return(0,Xt._)`${m} && ${m} !== true && ${g} === ${e} && !${S}`}}function f(){let h=d.formats[a];if(!h){y();return}if(h===!0)return;let[_,g,m]=v(h);_===e&&t.pass(b());function y(){if(c.strictSchema===!1){d.logger.warn(S());return}throw new Error(S());function S(){return`unknown format "${a}" ignored in schema at path "${u}"`}}function v(S){let x=S instanceof RegExp?(0,Xt.regexpCode)(S):c.code.formats?(0,Xt._)`${c.code.formats}${(0,Xt.getProperty)(a)}`:void 0,w=r.scopeValue("formats",{key:a,ref:S,code:x});return typeof S=="object"&&!(S instanceof RegExp)?[S.type||"string",S.validate,(0,Xt._)`${w}.validate`]:["string",S,w]}function b(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Xt._)`await ${m}(${n})`}return typeof g=="function"?(0,Xt._)`${m}(${n})`:(0,Xt._)`${m}.test(${n})`}}}};f0.default=fV});var aO=j(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});var mV=iO(),hV=[mV.default];m0.default=hV});var oO=j(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.contentVocabulary=fs.metadataVocabulary=void 0;fs.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];fs.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var cO=j(h0=>{"use strict";Object.defineProperty(h0,"__esModule",{value:!0});var gV=hP(),vV=PP(),yV=nO(),_V=aO(),sO=oO(),bV=[gV.default,vV.default,(0,yV.default)(),_V.default,sO.metadataVocabulary,sO.contentVocabulary];h0.default=bV});var lO=j(Hf=>{"use strict";Object.defineProperty(Hf,"__esModule",{value:!0});Hf.DiscrError=void 0;var uO;(function(t){t.Tag="tag",t.Mapping="mapping"})(uO||(Hf.DiscrError=uO={}))});var pO=j(v0=>{"use strict";Object.defineProperty(v0,"__esModule",{value:!0});var ms=qe(),g0=lO(),dO=Ef(),xV=Qu(),SV=ot(),wV={message:({params:{discrError:t,tagName:e}})=>t===g0.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,ms._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},$V={keyword:"discriminator",type:"object",schemaType:"object",error:wV,code(t){let{gen:e,data:r,schema:n,parentSchema:i,it:a}=t,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,ms._)`${r}${(0,ms.getProperty)(s)}`);e.if((0,ms._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:g0.DiscrError.Tag,tag:u,tagName:s})),t.ok(c);function l(){let f=p();e.if(!1);for(let h in f)e.elseIf((0,ms._)`${u} === ${h}`),e.assign(c,d(f[h]));e.else(),t.error(!1,{discrError:g0.DiscrError.Mapping,tag:u,tagName:s}),e.endIf()}function d(f){let h=e.name("valid"),_=t.subschema({keyword:"oneOf",schemaProp:f},h);return t.mergeEvaluated(_,ms.Name),h}function p(){var f;let h={},_=m(i),g=!0;for(let b=0;b{EV.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var _0=j((At,y0)=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.MissingRefError=At.ValidationError=At.CodeGen=At.Name=At.nil=At.stringify=At.str=At._=At.KeywordCxt=At.Ajv=void 0;var kV=uP(),TV=cO(),IV=pO(),mO=fO(),PV=["/properties"],Bf="http://json-schema.org/draft-07/schema",hs=class extends kV.default{_addVocabularies(){super._addVocabularies(),TV.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(IV.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(mO,PV):mO;this.addMetaSchema(e,Bf,!1),this.refs["http://json-schema.org/schema"]=Bf}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Bf)?Bf:void 0)}};At.Ajv=hs;y0.exports=At=hs;y0.exports.Ajv=hs;Object.defineProperty(At,"__esModule",{value:!0});At.default=hs;var OV=Yu();Object.defineProperty(At,"KeywordCxt",{enumerable:!0,get:function(){return OV.KeywordCxt}});var gs=qe();Object.defineProperty(At,"_",{enumerable:!0,get:function(){return gs._}});Object.defineProperty(At,"str",{enumerable:!0,get:function(){return gs.str}});Object.defineProperty(At,"stringify",{enumerable:!0,get:function(){return gs.stringify}});Object.defineProperty(At,"nil",{enumerable:!0,get:function(){return gs.nil}});Object.defineProperty(At,"Name",{enumerable:!0,get:function(){return gs.Name}});Object.defineProperty(At,"CodeGen",{enumerable:!0,get:function(){return gs.CodeGen}});var RV=wf();Object.defineProperty(At,"ValidationError",{enumerable:!0,get:function(){return RV.default}});var CV=Qu();Object.defineProperty(At,"MissingRefError",{enumerable:!0,get:function(){return CV.default}})});var SO=j(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.formatNames=ui.fastFormats=ui.fullFormats=void 0;function ci(t,e){return{validate:t,compare:e}}ui.fullFormats={date:ci(yO,w0),time:ci(x0(!0),$0),"date-time":ci(hO(!0),bO),"iso-time":ci(x0(),_O),"iso-date-time":ci(hO(),xO),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:zV,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:BV,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:UV,int32:{type:"number",validate:FV},int64:{type:"number",validate:ZV},float:{type:"number",validate:vO},double:{type:"number",validate:vO},password:!0,binary:!0};ui.fastFormats={...ui.fullFormats,date:ci(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,w0),time:ci(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,$0),"date-time":ci(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,bO),"iso-time":ci(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,_O),"iso-date-time":ci(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,xO),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};ui.formatNames=Object.keys(ui.fullFormats);function NV(t){return t%4===0&&(t%100!==0||t%400===0)}var jV=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,AV=[0,31,28,31,30,31,30,31,31,30,31,30,31];function yO(t){let e=jV.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],i=+e[3];return n>=1&&n<=12&&i>=1&&i<=(n===2&&NV(r)?29:AV[n])}function w0(t,e){if(t&&e)return t>e?1:t23||l>59||t&&!s)return!1;if(i<=23&&a<=59&&o<60)return!0;let d=a-l*c,p=i-u*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&o<61}}function $0(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function _O(t,e){if(!(t&&e))return;let r=b0.exec(t),n=b0.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t=LV}function ZV(t){return Number.isInteger(t)}function vO(){return!0}var HV=/[^\\]\\Z/;function BV(t){if(HV.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var wO=j(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.formatLimitDefinition=void 0;var VV=_0(),qn=qe(),da=qn.operators,Vf={formatMaximum:{okStr:"<=",ok:da.LTE,fail:da.GT},formatMinimum:{okStr:">=",ok:da.GTE,fail:da.LT},formatExclusiveMaximum:{okStr:"<",ok:da.LT,fail:da.GTE},formatExclusiveMinimum:{okStr:">",ok:da.GT,fail:da.LTE}},GV={message:({keyword:t,schemaCode:e})=>(0,qn.str)`should be ${Vf[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,qn._)`{comparison: ${Vf[t].okStr}, limit: ${e}}`};vs.formatLimitDefinition={keyword:Object.keys(Vf),type:"string",schemaType:"string",$data:!0,error:GV,code(t){let{gen:e,data:r,schemaCode:n,keyword:i,it:a}=t,{opts:o,self:s}=a;if(!o.validateFormats)return;let c=new VV.KeywordCxt(a,s.RULES.all.format.definition,"format");c.$data?u():l();function u(){let p=e.scopeValue("formats",{ref:s.formats,code:o.code.formats}),f=e.const("fmt",(0,qn._)`${p}[${c.schemaCode}]`);t.fail$data((0,qn.or)((0,qn._)`typeof ${f} != "object"`,(0,qn._)`${f} instanceof RegExp`,(0,qn._)`typeof ${f}.compare != "function"`,d(f)))}function l(){let p=c.schema,f=s.formats[p];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${i}": format "${p}" does not define "compare" function`);let h=e.scopeValue("formats",{key:p,ref:f,code:o.code.formats?(0,qn._)`${o.code.formats}${(0,qn.getProperty)(p)}`:void 0});t.fail$data(d(h))}function d(p){return(0,qn._)`${p}.compare(${r}, ${n}) ${Vf[i].fail} 0`}},dependencies:["format"]};var WV=t=>(t.addKeyword(vs.formatLimitDefinition),t);vs.default=WV});var TO=j((fl,kO)=>{"use strict";Object.defineProperty(fl,"__esModule",{value:!0});var ys=SO(),KV=wO(),E0=qe(),$O=new E0.Name("fullFormats"),JV=new E0.Name("fastFormats"),k0=(t,e={keywords:!0})=>{if(Array.isArray(e))return EO(t,e,ys.fullFormats,$O),t;let[r,n]=e.mode==="fast"?[ys.fastFormats,JV]:[ys.fullFormats,$O],i=e.formats||ys.formatNames;return EO(t,i,r,n),e.keywords&&(0,KV.default)(t),t};k0.get=(t,e="full")=>{let n=(e==="fast"?ys.fastFormats:ys.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function EO(t,e,r,n){var i,a;(i=(a=t.opts.code).formats)!==null&&i!==void 0||(a.formats=(0,E0._)`require("ajv-formats/dist/formats").${n}`);for(let o of e)t.addFormat(o,r[o])}kO.exports=fl=k0;Object.defineProperty(fl,"__esModule",{value:!0});fl.default=k0});var MO=j((Dwe,AO)=>{AO.exports=jO;jO.sync=e7;var CO=require("fs");function QV(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n{LO.exports=zO;zO.sync=t7;var DO=require("fs");function zO(t,e,r){DO.stat(t,function(n,i){r(n,n?!1:UO(i,e))})}function t7(t,e){return UO(DO.statSync(t),e)}function UO(t,e){return t.isFile()&&r7(t,e)}function r7(t,e){var r=t.mode,n=t.uid,i=t.gid,a=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),s=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=s|c,d=r&u||r&c&&i===o||r&s&&n===a||r&l&&a===0;return d}});var ZO=j((Lwe,FO)=>{var Uwe=require("fs"),Jf;process.platform==="win32"||global.TESTING_WINDOWS?Jf=MO():Jf=qO();FO.exports=T0;T0.sync=n7;function T0(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,i){T0(t,e||{},function(a,o){a?i(a):n(o)})})}Jf(t,e||{},function(n,i){n&&(n.code==="EACCES"||e&&e.ignoreErrors)&&(n=null,i=!1),r(n,i)})}function n7(t,e){try{return Jf.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var JO=j((qwe,KO)=>{var bs=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",HO=require("path"),i7=bs?";":":",BO=ZO(),VO=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),GO=(t,e)=>{let r=e.colon||i7,n=t.match(/\//)||bs&&t.match(/\\/)?[""]:[...bs?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],i=bs?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",a=bs?i.split(r):[""];return bs&&t.indexOf(".")!==-1&&a[0]!==""&&a.unshift(""),{pathEnv:n,pathExt:a,pathExtExe:i}},WO=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:n,pathExt:i,pathExtExe:a}=GO(t,e),o=[],s=u=>new Promise((l,d)=>{if(u===n.length)return e.all&&o.length?l(o):d(VO(t));let p=n[u],f=/^".*"$/.test(p)?p.slice(1,-1):p,h=HO.join(f,t),_=!f&&/^\.[\\\/]/.test(t)?t.slice(0,2)+h:h;l(c(_,u,0))}),c=(u,l,d)=>new Promise((p,f)=>{if(d===i.length)return p(s(l+1));let h=i[d];BO(u+h,{pathExt:a},(_,g)=>{if(!_&&g)if(e.all)o.push(u+h);else return p(u+h);return p(c(u,l,d+1))})});return r?s(0).then(u=>r(null,u),r):s(0)},a7=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:n,pathExtExe:i}=GO(t,e),a=[];for(let o=0;o{"use strict";var XO=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};I0.exports=XO;I0.exports.default=XO});var rR=j((Zwe,tR)=>{"use strict";var QO=require("path"),o7=JO(),s7=YO();function eR(t,e){let r=t.options.env||process.env,n=process.cwd(),i=t.options.cwd!=null,a=i&&process.chdir!==void 0&&!process.chdir.disabled;if(a)try{process.chdir(t.options.cwd)}catch{}let o;try{o=o7.sync(t.command,{path:r[s7({env:r})],pathExt:e?QO.delimiter:void 0})}catch{}finally{a&&process.chdir(n)}return o&&(o=QO.resolve(i?t.options.cwd:"",o)),o}function c7(t){return eR(t)||eR(t,!0)}tR.exports=c7});var nR=j((Hwe,O0)=>{"use strict";var P0=/([()\][%!^"`<>&|;, *?])/g;function u7(t){return t=t.replace(P0,"^$1"),t}function l7(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(P0,"^$1"),e&&(t=t.replace(P0,"^$1")),t}O0.exports.command=u7;O0.exports.argument=l7});var aR=j((Bwe,iR)=>{"use strict";iR.exports=/^#!(.*)/});var sR=j((Vwe,oR)=>{"use strict";var d7=aR();oR.exports=(t="")=>{let e=t.match(d7);if(!e)return null;let[r,n]=e[0].replace(/#! ?/,"").split(" "),i=r.split("/").pop();return i==="env"?n:n?`${i} ${n}`:i}});var uR=j((Gwe,cR)=>{"use strict";var R0=require("fs"),p7=sR();function f7(t){let r=Buffer.alloc(150),n;try{n=R0.openSync(t,"r"),R0.readSync(n,r,0,150,0),R0.closeSync(n)}catch{}return p7(r.toString())}cR.exports=f7});var fR=j((Wwe,pR)=>{"use strict";var m7=require("path"),lR=rR(),dR=nR(),h7=uR(),g7=process.platform==="win32",v7=/\.(?:com|exe)$/i,y7=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function _7(t){t.file=lR(t);let e=t.file&&h7(t.file);return e?(t.args.unshift(t.file),t.command=e,lR(t)):t.file}function b7(t){if(!g7)return t;let e=_7(t),r=!v7.test(e);if(t.options.forceShell||r){let n=y7.test(e);t.command=m7.normalize(t.command),t.command=dR.command(t.command),t.args=t.args.map(a=>dR.argument(a,n));let i=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${i}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function x7(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let n={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?n:b7(n)}pR.exports=x7});var gR=j((Kwe,hR)=>{"use strict";var C0=process.platform==="win32";function N0(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function S7(t,e){if(!C0)return;let r=t.emit;t.emit=function(n,i){if(n==="exit"){let a=mR(i,e);if(a)return r.call(t,"error",a)}return r.apply(t,arguments)}}function mR(t,e){return C0&&t===1&&!e.file?N0(e.original,"spawn"):null}function w7(t,e){return C0&&t===1&&!e.file?N0(e.original,"spawnSync"):null}hR.exports={hookChildProcess:S7,verifyENOENT:mR,verifyENOENTSync:w7,notFoundError:N0}});var _R=j((Jwe,xs)=>{"use strict";var vR=require("child_process"),j0=fR(),A0=gR();function yR(t,e,r){let n=j0(t,e,r),i=vR.spawn(n.command,n.args,n.options);return A0.hookChildProcess(i,n),i}function $7(t,e,r){let n=j0(t,e,r),i=vR.spawnSync(n.command,n.args,n.options);return i.error=i.error||A0.verifyENOENTSync(i.status,n),i}xs.exports=yR;xs.exports.spawn=yR;xs.exports.sync=$7;xs.exports._parse=j0;xs.exports._enoent=A0});var Mi,hl,$R,M0,wR,D0,k,Re=Ht(()=>{"use strict";Mi=require("fs"),hl=require("path"),$R=require("os"),M0=(a=>(a[a.DEBUG=0]="DEBUG",a[a.INFO=1]="INFO",a[a.WARN=2]="WARN",a[a.ERROR=3]="ERROR",a[a.SILENT=4]="SILENT",a))(M0||{}),wR=(0,hl.join)((0,$R.homedir)(),".claude-mem"),D0=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let e=(0,hl.join)(wR,"logs");(0,Mi.existsSync)(e)||(0,Mi.mkdirSync)(e,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=(0,hl.join)(e,`claude-mem-${r}.log`)}catch(e){console.error("[LOGGER] Failed to initialize log file:",e),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let e=(0,hl.join)(wR,"settings.json");if((0,Mi.existsSync)(e)){let r=(0,Mi.readFileSync)(e,"utf-8"),i=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=M0[i]??1}else this.level=1}catch{this.level=1}return this.level}correlationId(e,r){return`obs-${e}-${r}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} +${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let r=Object.keys(e);return r.length===0?"{}":r.length<=3?JSON.stringify(e):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,r){if(!r)return e;let n=r;if(typeof r=="string")try{n=JSON.parse(r)}catch{n=r}if(e==="Bash"&&n.command)return`${e}(${n.command})`;if(n.file_path)return`${e}(${n.file_path})`;if(n.notebook_path)return`${e}(${n.notebook_path})`;if(e==="Glob"&&n.pattern)return`${e}(${n.pattern})`;if(e==="Grep"&&n.pattern)return`${e}(${n.pattern})`;if(n.url)return`${e}(${n.url})`;if(n.query)return`${e}(${n.query})`;if(e==="Task"){if(n.subagent_type)return`${e}(${n.subagent_type})`;if(n.description)return`${e}(${n.description})`}return e==="Skill"&&n.skill?`${e}(${n.skill})`:e==="LSP"&&n.operation?`${e}(${n.operation})`:e}formatTimestamp(e){let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0"),a=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0"),s=String(e.getSeconds()).padStart(2,"0"),c=String(e.getMilliseconds()).padStart(3,"0");return`${r}-${n}-${i} ${a}:${o}:${s}.${c}`}log(e,r,n,i,a){if(e0&&(d=` {${Object.entries(g).map(([y,v])=>`${y}=${v}`).join(", ")}}`)}let p=`[${o}] [${s}] [${c}] ${u}${n}${d}${l}`;if(this.logFilePath)try{(0,Ai.appendFileSync)(this.logFilePath,p+` +`+JSON.stringify(a,null,2):l=" "+this.formatData(a));let d="";if(i){let{sessionId:f,memorySessionId:h,correlationId:_,...g}=i;Object.keys(g).length>0&&(d=` {${Object.entries(g).map(([y,v])=>`${y}=${v}`).join(", ")}}`)}let p=`[${o}] [${s}] [${c}] ${u}${n}${d}${l}`;if(this.logFilePath)try{(0,Mi.appendFileSync)(this.logFilePath,p+` `,"utf8")}catch(f){process.stderr.write(`[LOGGER] Failed to write to log file: ${f} `)}else process.stderr.write(p+` `)}debug(e,r,n,i){this.log(0,e,r,n,i)}info(e,r,n,i){this.log(1,e,r,n,i)}warn(e,r,n,i){this.log(2,e,r,n,i)}error(e,r,n,i){this.log(3,e,r,n,i)}dataIn(e,r,n,i){this.info(e,`\u2192 ${r}`,n,i)}dataOut(e,r,n,i){this.info(e,`\u2190 ${r}`,n,i)}success(e,r,n,i){this.info(e,`\u2713 ${r}`,n,i)}failure(e,r,n,i){this.error(e,`\u2717 ${r}`,n,i)}timing(e,r,n,i){this.info(e,`\u23F1 ${r}`,i,{duration:`${n}ms`})}happyPathError(e,r,n,i,a=""){let u=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=u?`${u[1].split("/").pop()}:${u[2]}`:"unknown",d={...n,location:l};return this.warn(e,`[HAPPY-PATH] ${r}`,d,i),a}},k=new M0});var bR,xR,SR=Ht(()=>{"use strict";bR="bugfix,feature,refactor,discovery,decision,change",xR="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off"});var $R={};Cn($R,{SettingsDefaultsManager:()=>Ye});var ui,Yf,wR,Ye,on=Ht(()=>{"use strict";ui=require("fs"),Yf=require("path"),wR=require("os");SR();Ye=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:(0,Yf.join)((0,wR.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:bR,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:xR,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,ui.existsSync)(e)){let o=this.getAllDefaults();try{let s=(0,Yf.dirname)(e);(0,ui.existsSync)(s)||(0,ui.mkdirSync)(s,{recursive:!0}),(0,ui.writeFileSync)(e,JSON.stringify(o,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",e)}catch(s){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",e,s)}return o}let r=(0,ui.readFileSync)(e,"utf-8"),n=JSON.parse(r),i=n;if(n.env&&typeof n.env=="object"){i=n.env;try{(0,ui.writeFileSync)(e,JSON.stringify(i,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",e)}catch(o){console.warn("[SETTINGS] Failed to auto-migrate settings file:",e,o)}}let a={...this.DEFAULTS};for(let o of Object.keys(this.DEFAULTS))i[o]!==void 0&&(a[o]=i[o]);return a}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",e,r),this.getAllDefaults()}}}});var li=j((x$e,ZR)=>{var C7=require("path").relative;ZR.exports=D7;var N7=process.cwd();function LR(t,e){for(var r=t.split(/[ ,]+/),n=String(e).toLowerCase(),i=0;i0}function U7(t){if(process.noDeprecation)return!0;var e=process.env.NO_DEPRECATION||"";return LR(e,t)}function q7(t){if(process.traceDeprecation)return!0;var e=process.env.TRACE_DEPRECATION||"";return LR(e,t)}function am(t,e){var r=z7(process,"deprecation");if(!(!r&&this._ignored)){var n,i,a,o,s=0,c=!1,u=om(),l=this._file;for(e?(o=e,a=$s(u[1]),a.name=o.name,l=a[0]):(s=2,o=$s(u[s]),a=o);s",r=t.getLineNumber(),n=t.getColumnNumber();t.isEval()&&(e=t.getEvalOrigin()+", "+e);var i=[e,r,n];return i.callSite=t,i.name=t.getFunctionName(),i}function qR(t){var e=t.callSite,r=t.name;r||(r="");var n=e.getThis(),i=n&&e.getTypeName();return i==="Object"&&(i=void 0),i==="Function"&&(i=n.name||i),i&&e.getMethodName()?i+"."+r:r}function L7(t,e,r){var n=new Date().toUTCString(),i=n+" "+this._namespace+" deprecated "+t;if(this._traced){for(var a=0;a{"use strict";kR="bugfix,feature,refactor,discovery,decision,change",TR="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off"});var OR={};Cn(OR,{SettingsDefaultsManager:()=>Ye});var li,Yf,PR,Ye,on=Ht(()=>{"use strict";li=require("fs"),Yf=require("path"),PR=require("os");IR();Ye=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:(0,Yf.join)((0,PR.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:kR,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:TR,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,li.existsSync)(e)){let o=this.getAllDefaults();try{let s=(0,Yf.dirname)(e);(0,li.existsSync)(s)||(0,li.mkdirSync)(s,{recursive:!0}),(0,li.writeFileSync)(e,JSON.stringify(o,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",e)}catch(s){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",e,s)}return o}let r=(0,li.readFileSync)(e,"utf-8"),n=JSON.parse(r),i=n;if(n.env&&typeof n.env=="object"){i=n.env;try{(0,li.writeFileSync)(e,JSON.stringify(i,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",e)}catch(o){console.warn("[SETTINGS] Failed to auto-migrate settings file:",e,o)}}let a={...this.DEFAULTS};for(let o of Object.keys(this.DEFAULTS))i[o]!==void 0&&(a[o]=i[o]);return a}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",e,r),this.getAllDefaults()}}}});var di=j((x$e,KR)=>{var C7=require("path").relative;KR.exports=D7;var N7=process.cwd();function GR(t,e){for(var r=t.split(/[ ,]+/),n=String(e).toLowerCase(),i=0;i0}function U7(t){if(process.noDeprecation)return!0;var e=process.env.NO_DEPRECATION||"";return GR(e,t)}function L7(t){if(process.traceDeprecation)return!0;var e=process.env.TRACE_DEPRECATION||"";return GR(e,t)}function am(t,e){var r=z7(process,"deprecation");if(!(!r&&this._ignored)){var n,i,a,o,s=0,c=!1,u=om(),l=this._file;for(e?(o=e,a=$s(u[1]),a.name=o.name,l=a[0]):(s=2,o=$s(u[s]),a=o);s",r=t.getLineNumber(),n=t.getColumnNumber();t.isEval()&&(e=t.getEvalOrigin()+", "+e);var i=[e,r,n];return i.callSite=t,i.name=t.getFunctionName(),i}function VR(t){var e=t.callSite,r=t.name;r||(r="");var n=e.getThis(),i=n&&e.getTypeName();return i==="Object"&&(i=void 0),i==="Function"&&(i=n.name||i),i&&e.getMethodName()?i+"."+r:r}function q7(t,e,r){var n=new Date().toUTCString(),i=n+" "+this._namespace+" deprecated "+t;if(this._traced){for(var a=0;a{"use strict";sm.exports=K7;sm.exports.format=HR;sm.exports.parse=BR;var V7=/\B(?=(\d{3})+(?!\d))/g,G7=/(?:\.0*|(\.[^0]+)0+)$/,da={b:1,kb:1024,mb:1<<20,gb:1<<30,tb:Math.pow(1024,4),pb:Math.pow(1024,5)},W7=/^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;function K7(t,e){return typeof t=="string"?BR(t):typeof t=="number"?HR(t,e):null}function HR(t,e){if(!Number.isFinite(t))return null;var r=Math.abs(t),n=e&&e.thousandsSeparator||"",i=e&&e.unitSeparator||"",a=e&&e.decimalPlaces!==void 0?e.decimalPlaces:2,o=!!(e&&e.fixedDecimals),s=e&&e.unit||"";(!s||!da[s.toLowerCase()])&&(r>=da.pb?s="PB":r>=da.tb?s="TB":r>=da.gb?s="GB":r>=da.mb?s="MB":r>=da.kb?s="KB":s="B");var c=t/da[s.toLowerCase()],u=c.toFixed(a);return o||(u=u.replace(G7,"$1")),n&&(u=u.split(".").map(function(l,d){return d===0?l.replace(V7,n):l}).join(".")),u+i+s}function BR(t){if(typeof t=="number"&&!isNaN(t))return t;if(typeof t!="string")return null;var e=W7.exec(t),r,n="b";return e?(r=parseFloat(e[1]),n=e[4].toLowerCase()):(r=parseInt(t,10),n="b"),isNaN(r)?null:Math.floor(da[n]*r)}});var _l=j(Z0=>{"use strict";var VR=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,J7=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,GR=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,X7=/\\([\u000b\u0020-\u00ff])/g,Y7=/([\\"])/g,WR=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;Z0.format=Q7;Z0.parse=eG;function Q7(t){if(!t||typeof t!="object")throw new TypeError("argument obj is required");var e=t.parameters,r=t.type;if(!r||!WR.test(r))throw new TypeError("invalid type");var n=r;if(e&&typeof e=="object")for(var i,a=Object.keys(e).sort(),o=0;o0&&!J7.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(Y7,"\\$1")+'"'}function nG(t){this.parameters=Object.create(null),this.type=t}});var bl=j(($$e,KR)=>{"use strict";KR.exports=Object.setPrototypeOf||({__proto__:[]}instanceof Array?iG:aG);function iG(t,e){return t.__proto__=e,t}function aG(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(t,r)||(t[r]=e[r]);return t}});var JR=j((E$e,oG)=>{oG.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}});var xl=j((k$e,YR)=>{"use strict";var H0=JR();YR.exports=Zn;Zn.message=H0;Zn.code=sG(H0);Zn.codes=cG(H0);Zn.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0};Zn.empty={204:!0,205:!0,304:!0};Zn.retry={502:!0,503:!0,504:!0};function sG(t){var e={};return Object.keys(t).forEach(function(n){var i=t[n],a=Number(n);e[i.toLowerCase()]=a}),e}function cG(t){return Object.keys(t).map(function(r){return Number(r)})}function uG(t){var e=t.toLowerCase();if(!Object.prototype.hasOwnProperty.call(Zn.code,e))throw new Error('invalid status message: "'+t+'"');return Zn.code[e]}function XR(t){if(!Object.prototype.hasOwnProperty.call(Zn.message,t))throw new Error("invalid status code: "+t);return Zn.message[t]}function Zn(t){if(typeof t=="number")return XR(t);if(typeof t!="string")throw new TypeError("code must be a number or string");var e=parseInt(t,10);return isNaN(e)?uG(t):XR(e)}});var QR=j((T$e,B0)=>{typeof Object.create=="function"?B0.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:B0.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}}});var eC=j((I$e,G0)=>{try{if(V0=require("util"),typeof V0.inherits!="function")throw"";G0.exports=V0.inherits}catch{G0.exports=QR()}var V0});var rC=j((P$e,tC)=>{"use strict";tC.exports=lG;function lG(t){return t.split(" ").map(function(e){return e.slice(0,1).toUpperCase()+e.slice(1)}).join("").replace(/[^ _0-9a-z]/gi,"")}});var to=j((O$e,eo)=>{"use strict";var dG=li()("http-errors"),nC=bl(),ks=xl(),W0=eC(),pG=rC();eo.exports=cm;eo.exports.HttpError=fG();eo.exports.isHttpError=hG(eo.exports.HttpError);vG(eo.exports,ks.codes,eo.exports.HttpError);function iC(t){return+(String(t).charAt(0)+"00")}function cm(){for(var t,e,r=500,n={},i=0;i=600)&&dG("non-error status code; use only 4xx or 5xx status codes"),(typeof r!="number"||!ks.message[r]&&(r<400||r>=600))&&(r=500);var s=cm[r]||cm[iC(r)];t||(t=s?new s(e):new Error(e||ks.message[r]),Error.captureStackTrace(t,cm)),(!s||!(t instanceof s)||t.status!==r)&&(t.expose=r<500,t.status=t.statusCode=r);for(var c in n)c!=="status"&&c!=="statusCode"&&(t[c]=n[c]);return t}function fG(){function t(){throw new TypeError("cannot construct abstract class")}return W0(t,Error),t}function mG(t,e,r){var n=oC(e);function i(a){var o=a??ks.message[r],s=new Error(o);return Error.captureStackTrace(s,i),nC(s,i.prototype),Object.defineProperty(s,"message",{enumerable:!0,configurable:!0,value:o,writable:!0}),Object.defineProperty(s,"name",{enumerable:!1,configurable:!0,value:n,writable:!0}),s}return W0(i,t),aC(i,n),i.prototype.status=r,i.prototype.statusCode=r,i.prototype.expose=!0,i}function hG(t){return function(r){return!r||typeof r!="object"?!1:r instanceof t?!0:r instanceof Error&&typeof r.expose=="boolean"&&typeof r.statusCode=="number"&&r.status===r.statusCode}}function gG(t,e,r){var n=oC(e);function i(a){var o=a??ks.message[r],s=new Error(o);return Error.captureStackTrace(s,i),nC(s,i.prototype),Object.defineProperty(s,"message",{enumerable:!0,configurable:!0,value:o,writable:!0}),Object.defineProperty(s,"name",{enumerable:!1,configurable:!0,value:n,writable:!0}),s}return W0(i,t),aC(i,n),i.prototype.status=r,i.prototype.statusCode=r,i.prototype.expose=!1,i}function aC(t,e){var r=Object.getOwnPropertyDescriptor(t,"name");r&&r.configurable&&(r.value=e,Object.defineProperty(t,"name",r))}function vG(t,e,r){e.forEach(function(i){var a,o=pG(ks.message[i]);switch(iC(i)){case 400:a=mG(r,o,i);break;case 500:a=gG(r,o,i);break}a&&(t[i]=a,t[o]=a)})}function oC(t){return t.slice(-5)==="Error"?t:t+"Error"}});var cC=j((R$e,sC)=>{var Sl=1e3,wl=Sl*60,$l=wl*60,El=$l*24,yG=El*365.25;sC.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return _G(t);if(r==="number"&&isNaN(t)===!1)return e.long?xG(t):bG(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function _G(t){if(t=String(t),!(t.length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*yG;case"days":case"day":case"d":return r*El;case"hours":case"hour":case"hrs":case"hr":case"h":return r*$l;case"minutes":case"minute":case"mins":case"min":case"m":return r*wl;case"seconds":case"second":case"secs":case"sec":case"s":return r*Sl;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function bG(t){return t>=El?Math.round(t/El)+"d":t>=$l?Math.round(t/$l)+"h":t>=wl?Math.round(t/wl)+"m":t>=Sl?Math.round(t/Sl)+"s":t+"ms"}function xG(t){return um(t,El,"day")||um(t,$l,"hour")||um(t,wl,"minute")||um(t,Sl,"second")||t+" ms"}function um(t,e,r){if(!(t{ht=uC.exports=J0.debug=J0.default=J0;ht.coerce=kG;ht.disable=$G;ht.enable=wG;ht.enabled=EG;ht.humanize=cC();ht.names=[];ht.skips=[];ht.formatters={};var K0;function SG(t){var e=0,r;for(r in t)e=(e<<5)-e+t.charCodeAt(r),e|=0;return ht.colors[Math.abs(e)%ht.colors.length]}function J0(t){function e(){if(e.enabled){var r=e,n=+new Date,i=n-(K0||n);r.diff=i,r.prev=K0,r.curr=n,K0=n;for(var a=new Array(arguments.length),o=0;o{Rr=dC.exports=X0();Rr.log=PG;Rr.formatArgs=IG;Rr.save=OG;Rr.load=lC;Rr.useColors=TG;Rr.storage=typeof chrome<"u"&&typeof chrome.storage<"u"?chrome.storage.local:RG();Rr.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function TG(){return typeof window<"u"&&window.process&&window.process.type==="renderer"?!0:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}Rr.formatters.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}};function IG(t){var e=this.useColors;if(t[0]=(e?"%c":"")+this.namespace+(e?" %c":" ")+t[0]+(e?"%c ":" ")+"+"+Rr.humanize(this.diff),!!e){var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,function(a){a!=="%%"&&(n++,a==="%c"&&(i=n))}),t.splice(i,0,r)}}function PG(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function OG(t){try{t==null?Rr.storage.removeItem("debug"):Rr.storage.debug=t}catch{}}function lC(){var t;try{t=Rr.storage.debug}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}Rr.enable(lC());function RG(){try{return window.localStorage}catch{}}});var gC=j((ar,hC)=>{var fC=require("tty"),kl=require("util");ar=hC.exports=X0();ar.init=zG;ar.log=AG;ar.formatArgs=jG;ar.save=MG;ar.load=mC;ar.useColors=NG;ar.colors=[6,2,3,4,5,1];ar.inspectOpts=Object.keys(process.env).filter(function(t){return/^debug_/i.test(t)}).reduce(function(t,e){var r=e.substring(6).toLowerCase().replace(/_([a-z])/g,function(i,a){return a.toUpperCase()}),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});var Ts=parseInt(process.env.DEBUG_FD,10)||2;Ts!==1&&Ts!==2&&kl.deprecate(function(){},"except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)")();var CG=Ts===1?process.stdout:Ts===2?process.stderr:DG(Ts);function NG(){return"colors"in ar.inspectOpts?!!ar.inspectOpts.colors:fC.isatty(Ts)}ar.formatters.o=function(t){return this.inspectOpts.colors=this.useColors,kl.inspect(t,this.inspectOpts).split(` +}`)(t,am,this,e,i);return a}function B7(t,e,r){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("argument obj must be object");var n=Object.getOwnPropertyDescriptor(t,e);if(!n)throw new TypeError("must call property on owner object");if(!n.configurable)throw new TypeError("property must be configurable");var i=this,a=om(),o=$s(a[1]);o.name=e,"value"in n&&(n=j7(t,e,r));var s=n.get,c=n.set;typeof s=="function"&&(n.get=function(){return am.call(i,r,o),s.apply(this,arguments)}),typeof c=="function"&&(n.set=function(){return am.call(i,r,o),c.apply(this,arguments)}),Object.defineProperty(t,e,n)}function WR(t,e,r){var n=new Error,i;return Object.defineProperty(n,"constructor",{value:WR}),Object.defineProperty(n,"message",{configurable:!0,enumerable:!1,value:e,writable:!0}),Object.defineProperty(n,"name",{enumerable:!1,configurable:!0,value:"DeprecationError",writable:!0}),Object.defineProperty(n,"namespace",{configurable:!0,enumerable:!1,value:t,writable:!0}),Object.defineProperty(n,"stack",{configurable:!0,enumerable:!1,get:function(){return i!==void 0?i:i=M7.call(this,r)},set:function(o){i=o}}),n}});var Es=j((S$e,sm)=>{"use strict";sm.exports=K7;sm.exports.format=JR;sm.exports.parse=XR;var V7=/\B(?=(\d{3})+(?!\d))/g,G7=/(?:\.0*|(\.[^0]+)0+)$/,pa={b:1,kb:1024,mb:1<<20,gb:1<<30,tb:Math.pow(1024,4),pb:Math.pow(1024,5)},W7=/^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;function K7(t,e){return typeof t=="string"?XR(t):typeof t=="number"?JR(t,e):null}function JR(t,e){if(!Number.isFinite(t))return null;var r=Math.abs(t),n=e&&e.thousandsSeparator||"",i=e&&e.unitSeparator||"",a=e&&e.decimalPlaces!==void 0?e.decimalPlaces:2,o=!!(e&&e.fixedDecimals),s=e&&e.unit||"";(!s||!pa[s.toLowerCase()])&&(r>=pa.pb?s="PB":r>=pa.tb?s="TB":r>=pa.gb?s="GB":r>=pa.mb?s="MB":r>=pa.kb?s="KB":s="B");var c=t/pa[s.toLowerCase()],u=c.toFixed(a);return o||(u=u.replace(G7,"$1")),n&&(u=u.split(".").map(function(l,d){return d===0?l.replace(V7,n):l}).join(".")),u+i+s}function XR(t){if(typeof t=="number"&&!isNaN(t))return t;if(typeof t!="string")return null;var e=W7.exec(t),r,n="b";return e?(r=parseFloat(e[1]),n=e[4].toLowerCase()):(r=parseInt(t,10),n="b"),isNaN(r)?null:Math.floor(pa[n]*r)}});var _l=j(H0=>{"use strict";var YR=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,J7=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,QR=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,X7=/\\([\u000b\u0020-\u00ff])/g,Y7=/([\\"])/g,eC=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;H0.format=Q7;H0.parse=eG;function Q7(t){if(!t||typeof t!="object")throw new TypeError("argument obj is required");var e=t.parameters,r=t.type;if(!r||!eC.test(r))throw new TypeError("invalid type");var n=r;if(e&&typeof e=="object")for(var i,a=Object.keys(e).sort(),o=0;o0&&!J7.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(Y7,"\\$1")+'"'}function nG(t){this.parameters=Object.create(null),this.type=t}});var bl=j(($$e,tC)=>{"use strict";tC.exports=Object.setPrototypeOf||({__proto__:[]}instanceof Array?iG:aG);function iG(t,e){return t.__proto__=e,t}function aG(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(t,r)||(t[r]=e[r]);return t}});var rC=j((E$e,oG)=>{oG.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}});var xl=j((k$e,iC)=>{"use strict";var B0=rC();iC.exports=Zn;Zn.message=B0;Zn.code=sG(B0);Zn.codes=cG(B0);Zn.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0};Zn.empty={204:!0,205:!0,304:!0};Zn.retry={502:!0,503:!0,504:!0};function sG(t){var e={};return Object.keys(t).forEach(function(n){var i=t[n],a=Number(n);e[i.toLowerCase()]=a}),e}function cG(t){return Object.keys(t).map(function(r){return Number(r)})}function uG(t){var e=t.toLowerCase();if(!Object.prototype.hasOwnProperty.call(Zn.code,e))throw new Error('invalid status message: "'+t+'"');return Zn.code[e]}function nC(t){if(!Object.prototype.hasOwnProperty.call(Zn.message,t))throw new Error("invalid status code: "+t);return Zn.message[t]}function Zn(t){if(typeof t=="number")return nC(t);if(typeof t!="string")throw new TypeError("code must be a number or string");var e=parseInt(t,10);return isNaN(e)?uG(t):nC(e)}});var aC=j((T$e,V0)=>{typeof Object.create=="function"?V0.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:V0.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}}});var oC=j((I$e,W0)=>{try{if(G0=require("util"),typeof G0.inherits!="function")throw"";W0.exports=G0.inherits}catch{W0.exports=aC()}var G0});var cC=j((P$e,sC)=>{"use strict";sC.exports=lG;function lG(t){return t.split(" ").map(function(e){return e.slice(0,1).toUpperCase()+e.slice(1)}).join("").replace(/[^ _0-9a-z]/gi,"")}});var ro=j((O$e,to)=>{"use strict";var dG=di()("http-errors"),uC=bl(),ks=xl(),K0=oC(),pG=cC();to.exports=cm;to.exports.HttpError=fG();to.exports.isHttpError=hG(to.exports.HttpError);vG(to.exports,ks.codes,to.exports.HttpError);function lC(t){return+(String(t).charAt(0)+"00")}function cm(){for(var t,e,r=500,n={},i=0;i=600)&&dG("non-error status code; use only 4xx or 5xx status codes"),(typeof r!="number"||!ks.message[r]&&(r<400||r>=600))&&(r=500);var s=cm[r]||cm[lC(r)];t||(t=s?new s(e):new Error(e||ks.message[r]),Error.captureStackTrace(t,cm)),(!s||!(t instanceof s)||t.status!==r)&&(t.expose=r<500,t.status=t.statusCode=r);for(var c in n)c!=="status"&&c!=="statusCode"&&(t[c]=n[c]);return t}function fG(){function t(){throw new TypeError("cannot construct abstract class")}return K0(t,Error),t}function mG(t,e,r){var n=pC(e);function i(a){var o=a??ks.message[r],s=new Error(o);return Error.captureStackTrace(s,i),uC(s,i.prototype),Object.defineProperty(s,"message",{enumerable:!0,configurable:!0,value:o,writable:!0}),Object.defineProperty(s,"name",{enumerable:!1,configurable:!0,value:n,writable:!0}),s}return K0(i,t),dC(i,n),i.prototype.status=r,i.prototype.statusCode=r,i.prototype.expose=!0,i}function hG(t){return function(r){return!r||typeof r!="object"?!1:r instanceof t?!0:r instanceof Error&&typeof r.expose=="boolean"&&typeof r.statusCode=="number"&&r.status===r.statusCode}}function gG(t,e,r){var n=pC(e);function i(a){var o=a??ks.message[r],s=new Error(o);return Error.captureStackTrace(s,i),uC(s,i.prototype),Object.defineProperty(s,"message",{enumerable:!0,configurable:!0,value:o,writable:!0}),Object.defineProperty(s,"name",{enumerable:!1,configurable:!0,value:n,writable:!0}),s}return K0(i,t),dC(i,n),i.prototype.status=r,i.prototype.statusCode=r,i.prototype.expose=!1,i}function dC(t,e){var r=Object.getOwnPropertyDescriptor(t,"name");r&&r.configurable&&(r.value=e,Object.defineProperty(t,"name",r))}function vG(t,e,r){e.forEach(function(i){var a,o=pG(ks.message[i]);switch(lC(i)){case 400:a=mG(r,o,i);break;case 500:a=gG(r,o,i);break}a&&(t[i]=a,t[o]=a)})}function pC(t){return t.slice(-5)==="Error"?t:t+"Error"}});var mC=j((R$e,fC)=>{var Sl=1e3,wl=Sl*60,$l=wl*60,El=$l*24,yG=El*365.25;fC.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return _G(t);if(r==="number"&&isNaN(t)===!1)return e.long?xG(t):bG(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function _G(t){if(t=String(t),!(t.length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*yG;case"days":case"day":case"d":return r*El;case"hours":case"hour":case"hrs":case"hr":case"h":return r*$l;case"minutes":case"minute":case"mins":case"min":case"m":return r*wl;case"seconds":case"second":case"secs":case"sec":case"s":return r*Sl;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function bG(t){return t>=El?Math.round(t/El)+"d":t>=$l?Math.round(t/$l)+"h":t>=wl?Math.round(t/wl)+"m":t>=Sl?Math.round(t/Sl)+"s":t+"ms"}function xG(t){return um(t,El,"day")||um(t,$l,"hour")||um(t,wl,"minute")||um(t,Sl,"second")||t+" ms"}function um(t,e,r){if(!(t{ht=hC.exports=X0.debug=X0.default=X0;ht.coerce=kG;ht.disable=$G;ht.enable=wG;ht.enabled=EG;ht.humanize=mC();ht.names=[];ht.skips=[];ht.formatters={};var J0;function SG(t){var e=0,r;for(r in t)e=(e<<5)-e+t.charCodeAt(r),e|=0;return ht.colors[Math.abs(e)%ht.colors.length]}function X0(t){function e(){if(e.enabled){var r=e,n=+new Date,i=n-(J0||n);r.diff=i,r.prev=J0,r.curr=n,J0=n;for(var a=new Array(arguments.length),o=0;o{Rr=vC.exports=Y0();Rr.log=PG;Rr.formatArgs=IG;Rr.save=OG;Rr.load=gC;Rr.useColors=TG;Rr.storage=typeof chrome<"u"&&typeof chrome.storage<"u"?chrome.storage.local:RG();Rr.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function TG(){return typeof window<"u"&&window.process&&window.process.type==="renderer"?!0:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}Rr.formatters.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}};function IG(t){var e=this.useColors;if(t[0]=(e?"%c":"")+this.namespace+(e?" %c":" ")+t[0]+(e?"%c ":" ")+"+"+Rr.humanize(this.diff),!!e){var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,function(a){a!=="%%"&&(n++,a==="%c"&&(i=n))}),t.splice(i,0,r)}}function PG(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function OG(t){try{t==null?Rr.storage.removeItem("debug"):Rr.storage.debug=t}catch{}}function gC(){var t;try{t=Rr.storage.debug}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}Rr.enable(gC());function RG(){try{return window.localStorage}catch{}}});var SC=j((ar,xC)=>{var _C=require("tty"),kl=require("util");ar=xC.exports=Y0();ar.init=zG;ar.log=AG;ar.formatArgs=jG;ar.save=MG;ar.load=bC;ar.useColors=NG;ar.colors=[6,2,3,4,5,1];ar.inspectOpts=Object.keys(process.env).filter(function(t){return/^debug_/i.test(t)}).reduce(function(t,e){var r=e.substring(6).toLowerCase().replace(/_([a-z])/g,function(i,a){return a.toUpperCase()}),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});var Ts=parseInt(process.env.DEBUG_FD,10)||2;Ts!==1&&Ts!==2&&kl.deprecate(function(){},"except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)")();var CG=Ts===1?process.stdout:Ts===2?process.stderr:DG(Ts);function NG(){return"colors"in ar.inspectOpts?!!ar.inspectOpts.colors:_C.isatty(Ts)}ar.formatters.o=function(t){return this.inspectOpts.colors=this.useColors,kl.inspect(t,this.inspectOpts).split(` `).map(function(e){return e.trim()}).join(" ")};ar.formatters.O=function(t){return this.inspectOpts.colors=this.useColors,kl.inspect(t,this.inspectOpts)};function jG(t){var e=this.namespace,r=this.useColors;if(r){var n=this.color,i=" \x1B[3"+n+";1m"+e+" \x1B[0m";t[0]=i+t[0].split(` `).join(` `+i),t.push("\x1B[3"+n+"m+"+ar.humanize(this.diff)+"\x1B[0m")}else t[0]=new Date().toUTCString()+" "+e+" "+t[0]}function AG(){return CG.write(kl.format.apply(kl,arguments)+` -`)}function MG(t){t==null?delete process.env.DEBUG:process.env.DEBUG=t}function mC(){return process.env.DEBUG}function DG(t){var e,r=process.binding("tty_wrap");switch(r.guessHandleType(t)){case"TTY":e=new fC.WriteStream(t),e._type="tty",e._handle&&e._handle.unref&&e._handle.unref();break;case"FILE":var n=require("fs");e=new n.SyncWriteStream(t,{autoClose:!1}),e._type="fs";break;case"PIPE":case"TCP":var i=require("net");e=new i.Socket({fd:t,readable:!1,writable:!0}),e.readable=!1,e.read=null,e._type="pipe",e._handle&&e._handle.unref&&e._handle.unref();break;default:throw new Error("Implement me. Unknown stream file type!")}return e.fd=t,e._isStdio=!0,e}function zG(t){t.inspectOpts={};for(var e=Object.keys(ar.inspectOpts),r=0;r{typeof process<"u"&&process.type==="renderer"?Y0.exports=pC():Y0.exports=gC()});var Q0=j((N$e,yC)=>{"use strict";var UG=require("events").EventEmitter,qG=require("fs").ReadStream,vC=require("stream"),ro=require("zlib");yC.exports=LG;function LG(t,e){return GG(t)?FG(t):WG(t)?HG(t):BG(t)&&t.destroy(),VG(t)&&e&&(t.removeAllListeners("error"),t.addListener("error",KG)),t}function FG(t){t.destroy(),typeof t.close=="function"&&t.on("open",XG)}function ZG(t){if(t._hadError===!0){var e=t._binding===null?"_binding":"_handle";t[e]={close:function(){this[e]=null}}}t.close()}function HG(t){typeof t.destroy=="function"?t._binding?(t.destroy(),t._processing?(t._needDrain=!0,t.once("drain",JG)):t._binding.clear()):t._destroy&&t._destroy!==vC.Transform.prototype._destroy?t.destroy():t._destroy&&typeof t.close=="function"?(t.destroyed=!0,t.close()):t.destroy():typeof t.close=="function"&&ZG(t)}function BG(t){return t instanceof vC&&typeof t.destroy=="function"}function VG(t){return t instanceof UG}function GG(t){return t instanceof qG}function WG(t){return t instanceof ro.Gzip||t instanceof ro.Gunzip||t instanceof ro.Deflate||t instanceof ro.DeflateRaw||t instanceof ro.Inflate||t instanceof ro.InflateRaw||t instanceof ro.Unzip}function KG(){}function JG(){this._binding.clear()}function XG(){typeof this.fd=="number"&&this.close()}});var no=j((j$e,_C)=>{"use strict";var lm=require("buffer"),Is=lm.Buffer,xn={},Sn;for(Sn in lm)lm.hasOwnProperty(Sn)&&(Sn==="SlowBuffer"||Sn==="Buffer"||(xn[Sn]=lm[Sn]));var Ps=xn.Buffer={};for(Sn in Is)Is.hasOwnProperty(Sn)&&(Sn==="allocUnsafe"||Sn==="allocUnsafeSlow"||(Ps[Sn]=Is[Sn]));xn.Buffer.prototype=Is.prototype;(!Ps.from||Ps.from===Uint8Array.from)&&(Ps.from=function(t,e,r){if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&typeof t.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return Is(t,e,r)});Ps.alloc||(Ps.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=Is(t);return!e||e.length===0?n.fill(0):typeof r=="string"?n.fill(e,r):n.fill(e),n});if(!xn.kStringMaxLength)try{xn.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}xn.constants||(xn.constants={MAX_LENGTH:xn.kMaxLength},xn.kStringMaxLength&&(xn.constants.MAX_STRING_LENGTH=xn.kStringMaxLength));_C.exports=xn});var xC=j(rS=>{"use strict";var bC="\uFEFF";rS.PrependBOM=eS;function eS(t,e){this.encoder=t,this.addBOM=!0}eS.prototype.write=function(t){return this.addBOM&&(t=bC+t,this.addBOM=!1),this.encoder.write(t)};eS.prototype.end=function(){return this.encoder.end()};rS.StripBOM=tS;function tS(t,e){this.decoder=t,this.pass=!1,this.options=e||{}}tS.prototype.write=function(t){var e=this.decoder.write(t);return this.pass||!e||(e[0]===bC&&(e=e.slice(1),typeof this.options.stripBOM=="function"&&this.options.stripBOM()),this.pass=!0),e};tS.prototype.end=function(){return this.decoder.end()}});var $C=j((M$e,wC)=>{"use strict";var Tl=no().Buffer;wC.exports={utf8:{type:"_internal",bomAware:!0},cesu8:{type:"_internal",bomAware:!0},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:!0},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:nS};function nS(t,e){this.enc=t.encodingName,this.bomAware=t.bomAware,this.enc==="base64"?this.encoder=aS:this.enc==="cesu8"&&(this.enc="utf8",this.encoder=oS,Tl.from("eda0bdedb2a9","hex").toString()!=="\u{1F4A9}"&&(this.decoder=sS,this.defaultCharUnicode=e.defaultCharUnicode))}nS.prototype.encoder=iS;nS.prototype.decoder=SC;var dm=require("string_decoder").StringDecoder;dm.prototype.end||(dm.prototype.end=function(){});function SC(t,e){dm.call(this,e.enc)}SC.prototype=dm.prototype;function iS(t,e){this.enc=e.enc}iS.prototype.write=function(t){return Tl.from(t,this.enc)};iS.prototype.end=function(){};function aS(t,e){this.prevStr=""}aS.prototype.write=function(t){t=this.prevStr+t;var e=t.length-t.length%4;return this.prevStr=t.slice(e),t=t.slice(0,e),Tl.from(t,"base64")};aS.prototype.end=function(){return Tl.from(this.prevStr,"base64")};function oS(t,e){}oS.prototype.write=function(t){for(var e=Tl.alloc(t.length*3),r=0,n=0;n>>6),e[r++]=128+(i&63)):(e[r++]=224+(i>>>12),e[r++]=128+(i>>>6&63),e[r++]=128+(i&63))}return e.slice(0,r)};oS.prototype.end=function(){};function sS(t,e){this.acc=0,this.contBytes=0,this.accBytes=0,this.defaultCharUnicode=e.defaultCharUnicode}sS.prototype.write=function(t){for(var e=this.acc,r=this.contBytes,n=this.accBytes,i="",a=0;a0&&(i+=this.defaultCharUnicode,r=0),o<128?i+=String.fromCharCode(o):o<224?(e=o&31,r=1,n=1):o<240?(e=o&15,r=2,n=1):i+=this.defaultCharUnicode):r>0?(e=e<<6|o&63,r--,n++,r===0&&(n===2&&e<128&&e>0?i+=this.defaultCharUnicode:n===3&&e<2048?i+=this.defaultCharUnicode:i+=String.fromCharCode(e))):i+=this.defaultCharUnicode}return this.acc=e,this.contBytes=r,this.accBytes=n,i};sS.prototype.end=function(){var t=0;return this.contBytes>0&&(t+=this.defaultCharUnicode),t}});var kC=j(fS=>{"use strict";var pm=no().Buffer;fS.utf16be=fm;function fm(){}fm.prototype.encoder=cS;fm.prototype.decoder=uS;fm.prototype.bomAware=!0;function cS(){}cS.prototype.write=function(t){for(var e=pm.from(t,"ucs2"),r=0;r=2)if(t[0]==254&&t[1]==255)r="utf-16be";else if(t[0]==255&&t[1]==254)r="utf-16le";else{for(var n=0,i=0,a=Math.min(t.length-t.length%2,64),o=0;on?r="utf-16be":i{"use strict";var di=no().Buffer;gm.utf7=mm;gm.unicode11utf7="utf7";function mm(t,e){this.iconv=e}mm.prototype.encoder=hS;mm.prototype.decoder=gS;mm.prototype.bomAware=!0;var YG=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function hS(t,e){this.iconv=e.iconv}hS.prototype.write=function(t){return di.from(t.replace(YG,function(e){return"+"+(e==="+"?"":this.iconv.encode(e,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))};hS.prototype.end=function(){};function gS(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=""}var QG=/[A-Za-z0-9\/+]/,vS=[];for(Il=0;Il<256;Il++)vS[Il]=QG.test(String.fromCharCode(Il));var Il,eW=43,io=45,mS=38;gS.prototype.write=function(t){for(var e="",r=0,n=this.inBase64,i=this.base64Accum,a=0;a0&&(t=this.iconv.decode(di.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",t};gm.utf7imap=hm;function hm(t,e){this.iconv=e}hm.prototype.encoder=yS;hm.prototype.decoder=_S;hm.prototype.bomAware=!0;function yS(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=di.alloc(6),this.base64AccumIdx=0}yS.prototype.write=function(t){for(var e=this.inBase64,r=this.base64Accum,n=this.base64AccumIdx,i=di.alloc(t.length*5+10),a=0,o=0;o0&&(a+=i.write(r.slice(0,n).toString("base64").replace(/\//g,",").replace(/=+$/,""),a),n=0),i[a++]=io,e=!1),e||(i[a++]=s,s===mS&&(i[a++]=io))):(e||(i[a++]=mS,e=!0),e&&(r[n++]=s>>8,r[n++]=s&255,n==r.length&&(a+=i.write(r.toString("base64").replace(/\//g,","),a),n=0)))}return this.inBase64=e,this.base64AccumIdx=n,i.slice(0,a)};yS.prototype.end=function(){var t=di.alloc(10),e=0;return this.inBase64&&(this.base64AccumIdx>0&&(e+=t.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),e),this.base64AccumIdx=0),t[e++]=io,this.inBase64=!1),t.slice(0,e)};function _S(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=""}var TC=vS.slice();TC[44]=!0;_S.prototype.write=function(t){for(var e="",r=0,n=this.inBase64,i=this.base64Accum,a=0;a0&&(t=this.iconv.decode(di.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",t}});var OC=j(PC=>{"use strict";var vm=no().Buffer;PC._sbcs=bS;function bS(t,e){if(!t)throw new Error("SBCS codec is called without the data.");if(!t.chars||t.chars.length!==128&&t.chars.length!==256)throw new Error("Encoding '"+t.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(t.chars.length===128){for(var r="",n=0;n<128;n++)r+=String.fromCharCode(n);t.chars=r+t.chars}this.decodeBuf=vm.from(t.chars,"ucs2");for(var i=vm.alloc(65536,e.defaultCharSingleByte.charCodeAt(0)),n=0;n{"use strict";RC.exports={10029:"maccenteuro",maccenteuro:{type:"_sbcs",chars:"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7"},808:"cp808",ibm808:"cp808",cp808:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0"},mik:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ascii8bit:"ascii",usascii:"ascii",ansix34:"ascii",ansix341968:"ascii",ansix341986:"ascii",csascii:"ascii",cp367:"ascii",ibm367:"ascii",isoir6:"ascii",iso646us:"ascii",iso646irv:"ascii",us:"ascii",latin1:"iso88591",latin2:"iso88592",latin3:"iso88593",latin4:"iso88594",latin5:"iso88599",latin6:"iso885910",latin7:"iso885913",latin8:"iso885914",latin9:"iso885915",latin10:"iso885916",csisolatin1:"iso88591",csisolatin2:"iso88592",csisolatin3:"iso88593",csisolatin4:"iso88594",csisolatincyrillic:"iso88595",csisolatinarabic:"iso88596",csisolatingreek:"iso88597",csisolatinhebrew:"iso88598",csisolatin5:"iso88599",csisolatin6:"iso885910",l1:"iso88591",l2:"iso88592",l3:"iso88593",l4:"iso88594",l5:"iso88599",l6:"iso885910",l7:"iso885913",l8:"iso885914",l9:"iso885915",l10:"iso885916",isoir14:"iso646jp",isoir57:"iso646cn",isoir100:"iso88591",isoir101:"iso88592",isoir109:"iso88593",isoir110:"iso88594",isoir144:"iso88595",isoir127:"iso88596",isoir126:"iso88597",isoir138:"iso88598",isoir148:"iso88599",isoir157:"iso885910",isoir166:"tis620",isoir179:"iso885913",isoir199:"iso885914",isoir203:"iso885915",isoir226:"iso885916",cp819:"iso88591",ibm819:"iso88591",cyrillic:"iso88595",arabic:"iso88596",arabic8:"iso88596",ecma114:"iso88596",asmo708:"iso88596",greek:"iso88597",greek8:"iso88597",ecma118:"iso88597",elot928:"iso88597",hebrew:"iso88598",hebrew8:"iso88598",turkish:"iso88599",turkish8:"iso88599",thai:"iso885911",thai8:"iso885911",celtic:"iso885914",celtic8:"iso885914",isoceltic:"iso885914",tis6200:"tis620",tis62025291:"tis620",tis62025330:"tis620",1e4:"macroman",10006:"macgreek",10007:"maccyrillic",10079:"maciceland",10081:"macturkish",cspc8codepage437:"cp437",cspc775baltic:"cp775",cspc850multilingual:"cp850",cspcp852:"cp852",cspc862latinhebrew:"cp862",cpgr:"cp869",msee:"cp1250",mscyrl:"cp1251",msansi:"cp1252",msgreek:"cp1253",msturk:"cp1254",mshebr:"cp1255",msarab:"cp1256",winbaltrim:"cp1257",cp20866:"koi8r",20866:"koi8r",ibm878:"koi8r",cskoi8r:"koi8r",cp21866:"koi8u",21866:"koi8u",ibm1168:"koi8u",strk10482002:"rk1048",tcvn5712:"tcvn",tcvn57121:"tcvn",gb198880:"iso646cn",cn:"iso646cn",csiso14jisc6220ro:"iso646jp",jisc62201969ro:"iso646jp",jp:"iso646jp",cshproman8:"hproman8",r8:"hproman8",roman8:"hproman8",xroman8:"hproman8",ibm1051:"hproman8",mac:"macintosh",csmacintosh:"macintosh"}});var jC=j((L$e,NC)=>{"use strict";NC.exports={437:"cp437",737:"cp737",775:"cp775",850:"cp850",852:"cp852",855:"cp855",856:"cp856",857:"cp857",858:"cp858",860:"cp860",861:"cp861",862:"cp862",863:"cp863",864:"cp864",865:"cp865",866:"cp866",869:"cp869",874:"windows874",922:"cp922",1046:"cp1046",1124:"cp1124",1125:"cp1125",1129:"cp1129",1133:"cp1133",1161:"cp1161",1162:"cp1162",1163:"cp1163",1250:"windows1250",1251:"windows1251",1252:"windows1252",1253:"windows1253",1254:"windows1254",1255:"windows1255",1256:"windows1256",1257:"windows1257",1258:"windows1258",28591:"iso88591",28592:"iso88592",28593:"iso88593",28594:"iso88594",28595:"iso88595",28596:"iso88596",28597:"iso88597",28598:"iso88598",28599:"iso88599",28600:"iso885910",28601:"iso885911",28603:"iso885913",28604:"iso885914",28605:"iso885915",28606:"iso885916",windows874:{type:"_sbcs",chars:"\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},win874:"windows874",cp874:"windows874",windows1250:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},win1250:"windows1250",cp1250:"windows1250",windows1251:{type:"_sbcs",chars:"\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},win1251:"windows1251",cp1251:"windows1251",windows1252:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},win1252:"windows1252",cp1252:"windows1252",windows1253:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},win1253:"windows1253",cp1253:"windows1253",windows1254:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},win1254:"windows1254",cp1254:"windows1254",windows1255:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},win1255:"windows1255",cp1255:"windows1255",windows1256:{type:"_sbcs",chars:"\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2"},win1256:"windows1256",cp1256:"windows1256",windows1257:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9"},win1257:"windows1257",cp1257:"windows1257",windows1258:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},win1258:"windows1258",cp1258:"windows1258",iso88591:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28591:"iso88591",iso88592:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},cp28592:"iso88592",iso88593:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9"},cp28593:"iso88593",iso88594:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9"},cp28594:"iso88594",iso88595:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"},cp28595:"iso88595",iso88596:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},cp28596:"iso88596",iso88597:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},cp28597:"iso88597",iso88598:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},cp28598:"iso88598",iso88599:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},cp28599:"iso88599",iso885910:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138"},cp28600:"iso885910",iso885911:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},cp28601:"iso885911",iso885913:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019"},cp28603:"iso885913",iso885914:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF"},cp28604:"iso885914",iso885915:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28605:"iso885915",iso885916:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF"},cp28606:"iso885916",cp437:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm437:"cp437",csibm437:"cp437",cp737:{type:"_sbcs",chars:"\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm737:"cp737",csibm737:"cp737",cp775:{type:"_sbcs",chars:"\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm775:"cp775",csibm775:"cp775",cp850:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm850:"cp850",csibm850:"cp850",cp852:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0"},ibm852:"cp852",csibm852:"cp852",cp855:{type:"_sbcs",chars:"\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0"},ibm855:"cp855",csibm855:"cp855",cp856:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm856:"cp856",csibm856:"cp856",cp857:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm857:"cp857",csibm857:"cp857",cp858:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm858:"cp858",csibm858:"cp858",cp860:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm860:"cp860",csibm860:"cp860",cp861:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm861:"cp861",csibm861:"cp861",cp862:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm862:"cp862",csibm862:"cp862",cp863:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm863:"cp863",csibm863:"cp863",cp864:{type:"_sbcs",chars:`\0\x07\b +`)}function MG(t){t==null?delete process.env.DEBUG:process.env.DEBUG=t}function bC(){return process.env.DEBUG}function DG(t){var e,r=process.binding("tty_wrap");switch(r.guessHandleType(t)){case"TTY":e=new _C.WriteStream(t),e._type="tty",e._handle&&e._handle.unref&&e._handle.unref();break;case"FILE":var n=require("fs");e=new n.SyncWriteStream(t,{autoClose:!1}),e._type="fs";break;case"PIPE":case"TCP":var i=require("net");e=new i.Socket({fd:t,readable:!1,writable:!0}),e.readable=!1,e.read=null,e._type="pipe",e._handle&&e._handle.unref&&e._handle.unref();break;default:throw new Error("Implement me. Unknown stream file type!")}return e.fd=t,e._isStdio=!0,e}function zG(t){t.inspectOpts={};for(var e=Object.keys(ar.inspectOpts),r=0;r{typeof process<"u"&&process.type==="renderer"?Q0.exports=yC():Q0.exports=SC()});var eS=j((N$e,$C)=>{"use strict";var UG=require("events").EventEmitter,LG=require("fs").ReadStream,wC=require("stream"),no=require("zlib");$C.exports=qG;function qG(t,e){return GG(t)?FG(t):WG(t)?HG(t):BG(t)&&t.destroy(),VG(t)&&e&&(t.removeAllListeners("error"),t.addListener("error",KG)),t}function FG(t){t.destroy(),typeof t.close=="function"&&t.on("open",XG)}function ZG(t){if(t._hadError===!0){var e=t._binding===null?"_binding":"_handle";t[e]={close:function(){this[e]=null}}}t.close()}function HG(t){typeof t.destroy=="function"?t._binding?(t.destroy(),t._processing?(t._needDrain=!0,t.once("drain",JG)):t._binding.clear()):t._destroy&&t._destroy!==wC.Transform.prototype._destroy?t.destroy():t._destroy&&typeof t.close=="function"?(t.destroyed=!0,t.close()):t.destroy():typeof t.close=="function"&&ZG(t)}function BG(t){return t instanceof wC&&typeof t.destroy=="function"}function VG(t){return t instanceof UG}function GG(t){return t instanceof LG}function WG(t){return t instanceof no.Gzip||t instanceof no.Gunzip||t instanceof no.Deflate||t instanceof no.DeflateRaw||t instanceof no.Inflate||t instanceof no.InflateRaw||t instanceof no.Unzip}function KG(){}function JG(){this._binding.clear()}function XG(){typeof this.fd=="number"&&this.close()}});var io=j((j$e,EC)=>{"use strict";var lm=require("buffer"),Is=lm.Buffer,xn={},Sn;for(Sn in lm)lm.hasOwnProperty(Sn)&&(Sn==="SlowBuffer"||Sn==="Buffer"||(xn[Sn]=lm[Sn]));var Ps=xn.Buffer={};for(Sn in Is)Is.hasOwnProperty(Sn)&&(Sn==="allocUnsafe"||Sn==="allocUnsafeSlow"||(Ps[Sn]=Is[Sn]));xn.Buffer.prototype=Is.prototype;(!Ps.from||Ps.from===Uint8Array.from)&&(Ps.from=function(t,e,r){if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&typeof t.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return Is(t,e,r)});Ps.alloc||(Ps.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=Is(t);return!e||e.length===0?n.fill(0):typeof r=="string"?n.fill(e,r):n.fill(e),n});if(!xn.kStringMaxLength)try{xn.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}xn.constants||(xn.constants={MAX_LENGTH:xn.kMaxLength},xn.kStringMaxLength&&(xn.constants.MAX_STRING_LENGTH=xn.kStringMaxLength));EC.exports=xn});var TC=j(nS=>{"use strict";var kC="\uFEFF";nS.PrependBOM=tS;function tS(t,e){this.encoder=t,this.addBOM=!0}tS.prototype.write=function(t){return this.addBOM&&(t=kC+t,this.addBOM=!1),this.encoder.write(t)};tS.prototype.end=function(){return this.encoder.end()};nS.StripBOM=rS;function rS(t,e){this.decoder=t,this.pass=!1,this.options=e||{}}rS.prototype.write=function(t){var e=this.decoder.write(t);return this.pass||!e||(e[0]===kC&&(e=e.slice(1),typeof this.options.stripBOM=="function"&&this.options.stripBOM()),this.pass=!0),e};rS.prototype.end=function(){return this.decoder.end()}});var OC=j((M$e,PC)=>{"use strict";var Tl=io().Buffer;PC.exports={utf8:{type:"_internal",bomAware:!0},cesu8:{type:"_internal",bomAware:!0},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:!0},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:iS};function iS(t,e){this.enc=t.encodingName,this.bomAware=t.bomAware,this.enc==="base64"?this.encoder=oS:this.enc==="cesu8"&&(this.enc="utf8",this.encoder=sS,Tl.from("eda0bdedb2a9","hex").toString()!=="\u{1F4A9}"&&(this.decoder=cS,this.defaultCharUnicode=e.defaultCharUnicode))}iS.prototype.encoder=aS;iS.prototype.decoder=IC;var dm=require("string_decoder").StringDecoder;dm.prototype.end||(dm.prototype.end=function(){});function IC(t,e){dm.call(this,e.enc)}IC.prototype=dm.prototype;function aS(t,e){this.enc=e.enc}aS.prototype.write=function(t){return Tl.from(t,this.enc)};aS.prototype.end=function(){};function oS(t,e){this.prevStr=""}oS.prototype.write=function(t){t=this.prevStr+t;var e=t.length-t.length%4;return this.prevStr=t.slice(e),t=t.slice(0,e),Tl.from(t,"base64")};oS.prototype.end=function(){return Tl.from(this.prevStr,"base64")};function sS(t,e){}sS.prototype.write=function(t){for(var e=Tl.alloc(t.length*3),r=0,n=0;n>>6),e[r++]=128+(i&63)):(e[r++]=224+(i>>>12),e[r++]=128+(i>>>6&63),e[r++]=128+(i&63))}return e.slice(0,r)};sS.prototype.end=function(){};function cS(t,e){this.acc=0,this.contBytes=0,this.accBytes=0,this.defaultCharUnicode=e.defaultCharUnicode}cS.prototype.write=function(t){for(var e=this.acc,r=this.contBytes,n=this.accBytes,i="",a=0;a0&&(i+=this.defaultCharUnicode,r=0),o<128?i+=String.fromCharCode(o):o<224?(e=o&31,r=1,n=1):o<240?(e=o&15,r=2,n=1):i+=this.defaultCharUnicode):r>0?(e=e<<6|o&63,r--,n++,r===0&&(n===2&&e<128&&e>0?i+=this.defaultCharUnicode:n===3&&e<2048?i+=this.defaultCharUnicode:i+=String.fromCharCode(e))):i+=this.defaultCharUnicode}return this.acc=e,this.contBytes=r,this.accBytes=n,i};cS.prototype.end=function(){var t=0;return this.contBytes>0&&(t+=this.defaultCharUnicode),t}});var CC=j(mS=>{"use strict";var pm=io().Buffer;mS.utf16be=fm;function fm(){}fm.prototype.encoder=uS;fm.prototype.decoder=lS;fm.prototype.bomAware=!0;function uS(){}uS.prototype.write=function(t){for(var e=pm.from(t,"ucs2"),r=0;r=2)if(t[0]==254&&t[1]==255)r="utf-16be";else if(t[0]==255&&t[1]==254)r="utf-16le";else{for(var n=0,i=0,a=Math.min(t.length-t.length%2,64),o=0;on?r="utf-16be":i{"use strict";var pi=io().Buffer;gm.utf7=mm;gm.unicode11utf7="utf7";function mm(t,e){this.iconv=e}mm.prototype.encoder=gS;mm.prototype.decoder=vS;mm.prototype.bomAware=!0;var YG=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function gS(t,e){this.iconv=e.iconv}gS.prototype.write=function(t){return pi.from(t.replace(YG,function(e){return"+"+(e==="+"?"":this.iconv.encode(e,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))};gS.prototype.end=function(){};function vS(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=""}var QG=/[A-Za-z0-9\/+]/,yS=[];for(Il=0;Il<256;Il++)yS[Il]=QG.test(String.fromCharCode(Il));var Il,eW=43,ao=45,hS=38;vS.prototype.write=function(t){for(var e="",r=0,n=this.inBase64,i=this.base64Accum,a=0;a0&&(t=this.iconv.decode(pi.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",t};gm.utf7imap=hm;function hm(t,e){this.iconv=e}hm.prototype.encoder=_S;hm.prototype.decoder=bS;hm.prototype.bomAware=!0;function _S(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=pi.alloc(6),this.base64AccumIdx=0}_S.prototype.write=function(t){for(var e=this.inBase64,r=this.base64Accum,n=this.base64AccumIdx,i=pi.alloc(t.length*5+10),a=0,o=0;o0&&(a+=i.write(r.slice(0,n).toString("base64").replace(/\//g,",").replace(/=+$/,""),a),n=0),i[a++]=ao,e=!1),e||(i[a++]=s,s===hS&&(i[a++]=ao))):(e||(i[a++]=hS,e=!0),e&&(r[n++]=s>>8,r[n++]=s&255,n==r.length&&(a+=i.write(r.toString("base64").replace(/\//g,","),a),n=0)))}return this.inBase64=e,this.base64AccumIdx=n,i.slice(0,a)};_S.prototype.end=function(){var t=pi.alloc(10),e=0;return this.inBase64&&(this.base64AccumIdx>0&&(e+=t.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),e),this.base64AccumIdx=0),t[e++]=ao,this.inBase64=!1),t.slice(0,e)};function bS(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=""}var NC=yS.slice();NC[44]=!0;bS.prototype.write=function(t){for(var e="",r=0,n=this.inBase64,i=this.base64Accum,a=0;a0&&(t=this.iconv.decode(pi.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",t}});var MC=j(AC=>{"use strict";var vm=io().Buffer;AC._sbcs=xS;function xS(t,e){if(!t)throw new Error("SBCS codec is called without the data.");if(!t.chars||t.chars.length!==128&&t.chars.length!==256)throw new Error("Encoding '"+t.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(t.chars.length===128){for(var r="",n=0;n<128;n++)r+=String.fromCharCode(n);t.chars=r+t.chars}this.decodeBuf=vm.from(t.chars,"ucs2");for(var i=vm.alloc(65536,e.defaultCharSingleByte.charCodeAt(0)),n=0;n{"use strict";DC.exports={10029:"maccenteuro",maccenteuro:{type:"_sbcs",chars:"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7"},808:"cp808",ibm808:"cp808",cp808:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0"},mik:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ascii8bit:"ascii",usascii:"ascii",ansix34:"ascii",ansix341968:"ascii",ansix341986:"ascii",csascii:"ascii",cp367:"ascii",ibm367:"ascii",isoir6:"ascii",iso646us:"ascii",iso646irv:"ascii",us:"ascii",latin1:"iso88591",latin2:"iso88592",latin3:"iso88593",latin4:"iso88594",latin5:"iso88599",latin6:"iso885910",latin7:"iso885913",latin8:"iso885914",latin9:"iso885915",latin10:"iso885916",csisolatin1:"iso88591",csisolatin2:"iso88592",csisolatin3:"iso88593",csisolatin4:"iso88594",csisolatincyrillic:"iso88595",csisolatinarabic:"iso88596",csisolatingreek:"iso88597",csisolatinhebrew:"iso88598",csisolatin5:"iso88599",csisolatin6:"iso885910",l1:"iso88591",l2:"iso88592",l3:"iso88593",l4:"iso88594",l5:"iso88599",l6:"iso885910",l7:"iso885913",l8:"iso885914",l9:"iso885915",l10:"iso885916",isoir14:"iso646jp",isoir57:"iso646cn",isoir100:"iso88591",isoir101:"iso88592",isoir109:"iso88593",isoir110:"iso88594",isoir144:"iso88595",isoir127:"iso88596",isoir126:"iso88597",isoir138:"iso88598",isoir148:"iso88599",isoir157:"iso885910",isoir166:"tis620",isoir179:"iso885913",isoir199:"iso885914",isoir203:"iso885915",isoir226:"iso885916",cp819:"iso88591",ibm819:"iso88591",cyrillic:"iso88595",arabic:"iso88596",arabic8:"iso88596",ecma114:"iso88596",asmo708:"iso88596",greek:"iso88597",greek8:"iso88597",ecma118:"iso88597",elot928:"iso88597",hebrew:"iso88598",hebrew8:"iso88598",turkish:"iso88599",turkish8:"iso88599",thai:"iso885911",thai8:"iso885911",celtic:"iso885914",celtic8:"iso885914",isoceltic:"iso885914",tis6200:"tis620",tis62025291:"tis620",tis62025330:"tis620",1e4:"macroman",10006:"macgreek",10007:"maccyrillic",10079:"maciceland",10081:"macturkish",cspc8codepage437:"cp437",cspc775baltic:"cp775",cspc850multilingual:"cp850",cspcp852:"cp852",cspc862latinhebrew:"cp862",cpgr:"cp869",msee:"cp1250",mscyrl:"cp1251",msansi:"cp1252",msgreek:"cp1253",msturk:"cp1254",mshebr:"cp1255",msarab:"cp1256",winbaltrim:"cp1257",cp20866:"koi8r",20866:"koi8r",ibm878:"koi8r",cskoi8r:"koi8r",cp21866:"koi8u",21866:"koi8u",ibm1168:"koi8u",strk10482002:"rk1048",tcvn5712:"tcvn",tcvn57121:"tcvn",gb198880:"iso646cn",cn:"iso646cn",csiso14jisc6220ro:"iso646jp",jisc62201969ro:"iso646jp",jp:"iso646jp",cshproman8:"hproman8",r8:"hproman8",roman8:"hproman8",xroman8:"hproman8",ibm1051:"hproman8",mac:"macintosh",csmacintosh:"macintosh"}});var LC=j((q$e,UC)=>{"use strict";UC.exports={437:"cp437",737:"cp737",775:"cp775",850:"cp850",852:"cp852",855:"cp855",856:"cp856",857:"cp857",858:"cp858",860:"cp860",861:"cp861",862:"cp862",863:"cp863",864:"cp864",865:"cp865",866:"cp866",869:"cp869",874:"windows874",922:"cp922",1046:"cp1046",1124:"cp1124",1125:"cp1125",1129:"cp1129",1133:"cp1133",1161:"cp1161",1162:"cp1162",1163:"cp1163",1250:"windows1250",1251:"windows1251",1252:"windows1252",1253:"windows1253",1254:"windows1254",1255:"windows1255",1256:"windows1256",1257:"windows1257",1258:"windows1258",28591:"iso88591",28592:"iso88592",28593:"iso88593",28594:"iso88594",28595:"iso88595",28596:"iso88596",28597:"iso88597",28598:"iso88598",28599:"iso88599",28600:"iso885910",28601:"iso885911",28603:"iso885913",28604:"iso885914",28605:"iso885915",28606:"iso885916",windows874:{type:"_sbcs",chars:"\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},win874:"windows874",cp874:"windows874",windows1250:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},win1250:"windows1250",cp1250:"windows1250",windows1251:{type:"_sbcs",chars:"\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},win1251:"windows1251",cp1251:"windows1251",windows1252:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},win1252:"windows1252",cp1252:"windows1252",windows1253:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},win1253:"windows1253",cp1253:"windows1253",windows1254:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},win1254:"windows1254",cp1254:"windows1254",windows1255:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},win1255:"windows1255",cp1255:"windows1255",windows1256:{type:"_sbcs",chars:"\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2"},win1256:"windows1256",cp1256:"windows1256",windows1257:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9"},win1257:"windows1257",cp1257:"windows1257",windows1258:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},win1258:"windows1258",cp1258:"windows1258",iso88591:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28591:"iso88591",iso88592:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},cp28592:"iso88592",iso88593:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9"},cp28593:"iso88593",iso88594:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9"},cp28594:"iso88594",iso88595:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"},cp28595:"iso88595",iso88596:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},cp28596:"iso88596",iso88597:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},cp28597:"iso88597",iso88598:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},cp28598:"iso88598",iso88599:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},cp28599:"iso88599",iso885910:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138"},cp28600:"iso885910",iso885911:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},cp28601:"iso885911",iso885913:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019"},cp28603:"iso885913",iso885914:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF"},cp28604:"iso885914",iso885915:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28605:"iso885915",iso885916:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF"},cp28606:"iso885916",cp437:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm437:"cp437",csibm437:"cp437",cp737:{type:"_sbcs",chars:"\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm737:"cp737",csibm737:"cp737",cp775:{type:"_sbcs",chars:"\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm775:"cp775",csibm775:"cp775",cp850:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm850:"cp850",csibm850:"cp850",cp852:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0"},ibm852:"cp852",csibm852:"cp852",cp855:{type:"_sbcs",chars:"\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0"},ibm855:"cp855",csibm855:"cp855",cp856:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm856:"cp856",csibm856:"cp856",cp857:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm857:"cp857",csibm857:"cp857",cp858:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm858:"cp858",csibm858:"cp858",cp860:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm860:"cp860",csibm860:"cp860",cp861:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm861:"cp861",csibm861:"cp861",cp862:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm862:"cp862",csibm862:"cp862",cp863:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm863:"cp863",csibm863:"cp863",cp864:{type:"_sbcs",chars:`\0\x07\b \v\f\r\x1B !"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD`},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0"},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"},ibm1124:"cp1124",csibm1124:"cp1124",cp1125:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm1125:"cp1125",csibm1125:"cp1125",cp1129:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},ibm1129:"cp1129",csibm1129:"cp1129",cp1133:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD"},ibm1133:"cp1133",csibm1133:"cp1133",cp1161:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0"},ibm1161:"cp1161",csibm1161:"cp1161",cp1162:{type:"_sbcs",chars:"\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},ibm1162:"cp1162",csibm1162:"cp1162",cp1163:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},ibm1163:"cp1163",csibm1163:"cp1163",maccroatian:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7"},maccyrillic:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"},macgreek:{type:"_sbcs",chars:"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD"},maciceland:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macroman:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macromania:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macthai:{type:"_sbcs",chars:"\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD"},macturkish:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macukraine:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"},koi8r:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8u:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8ru:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8t:{type:"_sbcs",chars:"\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},armscii8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD"},rk1048:{type:"_sbcs",chars:"\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},tcvn:{type:"_sbcs",chars:`\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0`},georgianacademy:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},georgianps:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},pt154:{type:"_sbcs",chars:"\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},viscii:{type:"_sbcs",chars:`\0\u1EB2\u1EB4\u1EAA\x07\b \v\f\r\u1EF6\u1EF8\x1B\u1EF4 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE`},iso646cn:{type:"_sbcs",chars:`\0\x07\b \v\f\r\x1B !"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},iso646jp:{type:"_sbcs",chars:`\0\x07\b -\v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},hproman8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD"},macintosh:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},ascii:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},tis620:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"}}});var DC=j(MC=>{"use strict";var Rs=no().Buffer;MC._dbcs=Di;var Fr=-1,AC=-2,wn=-10,pi=-1e3,Os=new Array(256),Pl=-1;for(ym=0;ym<256;ym++)Os[ym]=Fr;var ym;function Di(t,e){if(this.encodingName=t.encodingName,!t)throw new Error("DBCS codec is called without the data.");if(!t.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var r=t.table();this.decodeTables=[],this.decodeTables[0]=Os.slice(0),this.decodeTableSeq=[];for(var n=0;n0;t>>=8)e.push(t&255);e.length==0&&e.push(0);for(var r=this.decodeTables[0],n=e.length-1;n>0;n--){var i=r[e[n]];if(i==Fr)r[e[n]]=pi-this.decodeTables.length,this.decodeTables.push(r=Os.slice(0));else if(i<=pi)r=this.decodeTables[pi-i];else throw new Error("Overwrite byte in "+this.encodingName+", addr: "+t.toString(16))}return r};Di.prototype._addDecodeChunk=function(t){var e=parseInt(t[0],16),r=this._getDecodeTrieNode(e);e=e&255;for(var n=1;n255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+t[0]+": too long"+e)};Di.prototype._getEncodeBucket=function(t){var e=t>>8;return this.encodeTable[e]===void 0&&(this.encodeTable[e]=Os.slice(0)),this.encodeTable[e]};Di.prototype._setEncodeChar=function(t,e){var r=this._getEncodeBucket(t),n=t&255;r[n]<=wn?this.encodeTableSeq[wn-r[n]][Pl]=e:r[n]==Fr&&(r[n]=e)};Di.prototype._setEncodeSequence=function(t,e){var r=t[0],n=this._getEncodeBucket(r),i=r&255,a;n[i]<=wn?a=this.encodeTableSeq[wn-n[i]]:(a={},n[i]!==Fr&&(a[Pl]=n[i]),n[i]=wn-this.encodeTableSeq.length,this.encodeTableSeq.push(a));for(var o=1;o=0?this._setEncodeChar(a,o):a<=pi?this._fillEncodeTable(pi-a,o<<8,r):a<=wn&&this._setEncodeSequence(this.decodeTableSeq[wn-a],o))}};function _m(t,e){this.leadSurrogate=-1,this.seqObj=void 0,this.encodeTable=e.encodeTable,this.encodeTableSeq=e.encodeTableSeq,this.defaultCharSingleByte=e.defCharSB,this.gb18030=e.gb18030}_m.prototype.write=function(t){for(var e=Rs.alloc(t.length*(this.gb18030?4:3)),r=this.leadSurrogate,n=this.seqObj,i=-1,a=0,o=0;;){if(i===-1){if(a==t.length)break;var s=t.charCodeAt(a++)}else{var s=i;i=-1}if(55296<=s&&s<57344)if(s<56320)if(r===-1){r=s;continue}else r=s,s=Fr;else r!==-1?(s=65536+(r-55296)*1024+(s-56320),r=-1):s=Fr;else r!==-1&&(i=s,s=Fr,r=-1);var c=Fr;if(n!==void 0&&s!=Fr){var u=n[s];if(typeof u=="object"){n=u;continue}else typeof u=="number"?c=u:u==null&&(u=n[Pl],u!==void 0&&(c=u,i=s));n=void 0}else if(s>=0){var l=this.encodeTable[s>>8];if(l!==void 0&&(c=l[s&255]),c<=wn){n=this.encodeTableSeq[wn-c];continue}if(c==Fr&&this.gb18030){var d=$S(this.gb18030.uChars,s);if(d!=-1){var c=this.gb18030.gbChars[d]+(s-this.gb18030.uChars[d]);e[o++]=129+Math.floor(c/12600),c=c%12600,e[o++]=48+Math.floor(c/1260),c=c%1260,e[o++]=129+Math.floor(c/10),c=c%10,e[o++]=48+c;continue}}}c===Fr&&(c=this.defaultCharSingleByte),c<256?e[o++]=c:c<65536?(e[o++]=c>>8,e[o++]=c&255):(e[o++]=c>>16,e[o++]=c>>8&255,e[o++]=c&255)}return this.seqObj=n,this.leadSurrogate=r,e.slice(0,o)};_m.prototype.end=function(){if(!(this.leadSurrogate===-1&&this.seqObj===void 0)){var t=Rs.alloc(10),e=0;if(this.seqObj){var r=this.seqObj[Pl];r!==void 0&&(r<256?t[e++]=r:(t[e++]=r>>8,t[e++]=r&255)),this.seqObj=void 0}return this.leadSurrogate!==-1&&(t[e++]=this.defaultCharSingleByte,this.leadSurrogate=-1),t.slice(0,e)}};_m.prototype.findIdx=$S;function wS(t,e){this.nodeIdx=0,this.prevBuf=Rs.alloc(0),this.decodeTables=e.decodeTables,this.decodeTableSeq=e.decodeTableSeq,this.defaultCharUnicode=e.defaultCharUnicode,this.gb18030=e.gb18030}wS.prototype.write=function(t){var e=Rs.alloc(t.length*2),r=this.nodeIdx,n=this.prevBuf,i=this.prevBuf.length,a=-this.prevBuf.length,o;i>0&&(n=Rs.concat([n,t.slice(0,10)]));for(var s=0,c=0;s=0?t[s]:n[s+i],o=this.decodeTables[r][u];if(!(o>=0))if(o===Fr)s=a,o=this.defaultCharUnicode.charCodeAt(0);else if(o===AC){var l=a>=0?t.slice(a,s+1):n.slice(a+i,s+1+i),d=(l[0]-129)*12600+(l[1]-48)*1260+(l[2]-129)*10+(l[3]-48),p=$S(this.gb18030.gbChars,d);o=this.gb18030.uChars[p]+d-this.gb18030.gbChars[p]}else if(o<=pi){r=pi-o;continue}else if(o<=wn){for(var f=this.decodeTableSeq[wn-o],h=0;h>8;o=f[f.length-1]}else throw new Error("iconv-lite internal error: invalid decoding table value "+o+" at "+r+"/"+u);if(o>65535){o-=65536;var _=55296+Math.floor(o/1024);e[c++]=_&255,e[c++]=_>>8,o=56320+o%1024}e[c++]=o&255,e[c++]=o>>8,r=0,a=s+1}return this.nodeIdx=r,this.prevBuf=a>=0?t.slice(a):n.slice(a+i),e.slice(0,c).toString("ucs2")};wS.prototype.end=function(){for(var t="";this.prevBuf.length>0;){t+=this.defaultCharUnicode;var e=this.prevBuf.slice(1);this.prevBuf=Rs.alloc(0),this.nodeIdx=0,e.length>0&&(t+=this.write(e))}return this.nodeIdx=0,t};function $S(t,e){if(t[0]>e)return-1;for(var r=0,n=t.length;r{tW.exports=[["0","\0",128],["a1","\uFF61",62],["8140","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7"],["8180","\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["81b8","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["81c8","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["81da","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["81f0","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["81fc","\u25EF"],["824f","\uFF10",9],["8260","\uFF21",25],["8281","\uFF41",25],["829f","\u3041",82],["8340","\u30A1",62],["8380","\u30E0",22],["839f","\u0391",16,"\u03A3",6],["83bf","\u03B1",16,"\u03C3",6],["8440","\u0410",5,"\u0401\u0416",25],["8470","\u0430",5,"\u0451\u0436",7],["8480","\u043E",17],["849f","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["8740","\u2460",19,"\u2160",9],["875f","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["877e","\u337B"],["8780","\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["889f","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["8940","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"],["8980","\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["8a40","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"],["8a80","\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["8b40","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"],["8b80","\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["8c40","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"],["8c80","\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["8d40","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"],["8d80","\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["8e40","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"],["8e80","\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["8f40","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"],["8f80","\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["9040","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"],["9080","\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["9140","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"],["9180","\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["9240","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"],["9280","\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["9340","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"],["9380","\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["9440","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"],["9480","\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["9540","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"],["9580","\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["9640","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"],["9680","\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["9740","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"],["9780","\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["9840","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["989f","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["9940","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"],["9980","\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["9a40","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"],["9a80","\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["9b40","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"],["9b80","\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["9c40","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"],["9c80","\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["9d40","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"],["9d80","\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["9e40","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"],["9e80","\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["9f40","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"],["9f80","\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["e040","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"],["e080","\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e140","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"],["e180","\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e240","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"],["e280","\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e340","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"],["e380","\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e440","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"],["e480","\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e540","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"],["e580","\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["e640","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"],["e680","\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["e740","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"],["e780","\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["e840","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"],["e880","\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["e940","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"],["e980","\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["ea40","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"],["ea80","\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"],["ed40","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"],["ed80","\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["ee40","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"],["ee80","\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["eeef","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["f040","\uE000",62],["f080","\uE03F",124],["f140","\uE0BC",62],["f180","\uE0FB",124],["f240","\uE178",62],["f280","\uE1B7",124],["f340","\uE234",62],["f380","\uE273",124],["f440","\uE2F0",62],["f480","\uE32F",124],["f540","\uE3AC",62],["f580","\uE3EB",124],["f640","\uE468",62],["f680","\uE4A7",124],["f740","\uE524",62],["f780","\uE563",124],["f840","\uE5E0",62],["f880","\uE61F",124],["f940","\uE69C"],["fa40","\u2170",9,"\u2160",9,"\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"],["fa80","\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"],["fb40","\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"],["fb80","\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"],["fc40","\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"]]});var UC=j((H$e,rW)=>{rW.exports=[["0","\0",127],["8ea1","\uFF61",62],["a1a1","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"],["a2a1","\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["a2ba","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["a2ca","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["a2dc","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["a2f2","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["a2fe","\u25EF"],["a3b0","\uFF10",9],["a3c1","\uFF21",25],["a3e1","\uFF41",25],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a8a1","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["ada1","\u2460",19,"\u2160",9],["adc0","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["addf","\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["b0a1","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["b1a1","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"],["b2a1","\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["b3a1","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"],["b4a1","\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["b5a1","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"],["b6a1","\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["b7a1","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"],["b8a1","\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["b9a1","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"],["baa1","\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["bba1","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"],["bca1","\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["bda1","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"],["bea1","\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["bfa1","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"],["c0a1","\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["c1a1","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"],["c2a1","\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["c3a1","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"],["c4a1","\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["c5a1","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"],["c6a1","\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["c7a1","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"],["c8a1","\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["c9a1","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"],["caa1","\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["cba1","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"],["cca1","\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["cda1","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"],["cea1","\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["cfa1","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["d0a1","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["d1a1","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"],["d2a1","\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["d3a1","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"],["d4a1","\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["d5a1","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"],["d6a1","\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["d7a1","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"],["d8a1","\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["d9a1","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"],["daa1","\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["dba1","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"],["dca1","\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["dda1","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"],["dea1","\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["dfa1","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"],["e0a1","\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e1a1","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"],["e2a1","\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e3a1","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"],["e4a1","\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e5a1","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"],["e6a1","\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e7a1","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"],["e8a1","\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e9a1","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"],["eaa1","\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["eba1","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"],["eca1","\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["eda1","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"],["eea1","\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["efa1","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"],["f0a1","\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["f1a1","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"],["f2a1","\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["f3a1","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"],["f4a1","\u582F\u69C7\u9059\u7464\u51DC\u7199"],["f9a1","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"],["faa1","\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["fba1","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"],["fca1","\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["fcf1","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["8fa2af","\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"],["8fa2c2","\xA1\xA6\xBF"],["8fa2eb","\xBA\xAA\xA9\xAE\u2122\xA4\u2116"],["8fa6e1","\u0386\u0388\u0389\u038A\u03AA"],["8fa6e7","\u038C"],["8fa6e9","\u038E\u03AB"],["8fa6ec","\u038F"],["8fa6f1","\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"],["8fa7c2","\u0402",10,"\u040E\u040F"],["8fa7f2","\u0452",10,"\u045E\u045F"],["8fa9a1","\xC6\u0110"],["8fa9a4","\u0126"],["8fa9a6","\u0132"],["8fa9a8","\u0141\u013F"],["8fa9ab","\u014A\xD8\u0152"],["8fa9af","\u0166\xDE"],["8fa9c1","\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"],["8faaa1","\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"],["8faaba","\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"],["8faba1","\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"],["8fabbd","\u0121\u0125\xED\xEC\xEF\xEE\u01D0"],["8fabc5","\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"],["8fb0a1","\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"],["8fb1a1","\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"],["8fb2a1","\u5092\u5093\u5094\u5096\u509B\u509C\u509E",4,"\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"],["8fb3a1","\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"],["8fb4a1","\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"],["8fb5a1","\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"],["8fb6a1","\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D",5,"\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4",4,"\u56F1\u56EB\u56ED"],["8fb7a1","\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D",4,"\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"],["8fb8a1","\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"],["8fb9a1","\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"],["8fbaa1","\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6",4,"\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"],["8fbba1","\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"],["8fbca1","\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A",4,"\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"],["8fbda1","\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0",4,"\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"],["8fbea1","\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110",4,"\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"],["8fbfa1","\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"],["8fc0a1","\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"],["8fc1a1","\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"],["8fc2a1","\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"],["8fc3a1","\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E",4,"\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"],["8fc4a1","\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"],["8fc5a1","\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"],["8fc6a1","\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"],["8fc7a1","\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"],["8fc8a1","\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"],["8fc9a1","\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094",4,"\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103",4,"\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"],["8fcaa1","\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"],["8fcba1","\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"],["8fcca1","\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428",9,"\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"],["8fcda1","\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579",5,"\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"],["8fcea1","\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2",6,"\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"],["8fcfa1","\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"],["8fd0a1","\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"],["8fd1a1","\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"],["8fd2a1","\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59",5],["8fd3a1","\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"],["8fd4a1","\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2",4,"\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"],["8fd5a1","\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"],["8fd6a1","\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"],["8fd7a1","\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"],["8fd8a1","\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"],["8fd9a1","\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F",4,"\u8556\u8559\u855C",6,"\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"],["8fdaa1","\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660",4,"\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"],["8fdba1","\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783",6,"\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"],["8fdca1","\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA",4,"\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"],["8fdda1","\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4",4,"\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"],["8fdea1","\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42",4,"\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"],["8fdfa1","\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"],["8fe0a1","\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"],["8fe1a1","\u8F43\u8F47\u8F4F\u8F51",4,"\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"],["8fe2a1","\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"],["8fe3a1","\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC",5,"\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275",4,"\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"],["8fe4a1","\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF",4,"\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"],["8fe5a1","\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9",4,"\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"],["8fe6a1","\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"],["8fe7a1","\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"],["8fe8a1","\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931",4,"\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"],["8fe9a1","\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF",4],["8feaa1","\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A",4,"\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"],["8feba1","\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26",4,"\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"],["8feca1","\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"],["8feda1","\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43",4,"\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D",4,"\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"]]});var bm=j((B$e,nW)=>{nW.exports=[["0","\0",127,"\u20AC"],["8140","\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A",5,"\u4E72\u4E74",9,"\u4E7F",6,"\u4E87\u4E8A"],["8180","\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02",6,"\u4F0B\u4F0C\u4F12",4,"\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E",4,"\u4F44\u4F45\u4F47",5,"\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"],["8240","\u4FA4\u4FAB\u4FAD\u4FB0",4,"\u4FB6",8,"\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2",4,"\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF",11],["8280","\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F",10,"\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050",4,"\u5056\u5057\u5058\u5059\u505B\u505D",7,"\u5066",5,"\u506D",8,"\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E",20,"\u50A4\u50A6\u50AA\u50AB\u50AD",4,"\u50B3",6,"\u50BC"],["8340","\u50BD",17,"\u50D0",5,"\u50D7\u50D8\u50D9\u50DB",10,"\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6",4,"\u50FC",9,"\u5108"],["8380","\u5109\u510A\u510C",5,"\u5113",13,"\u5122",28,"\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D",4,"\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6",4,"\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2",5],["8440","\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5",5,"\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244",5,"\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"],["8480","\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273",9,"\u527E\u5280\u5283",4,"\u5289",6,"\u5291\u5292\u5294",6,"\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4",9,"\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9",5,"\u52E0\u52E1\u52E2\u52E3\u52E5",10,"\u52F1",7,"\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"],["8540","\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F",9,"\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"],["8580","\u5390",4,"\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF",6,"\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3",4,"\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D",4,"\u5463\u5465\u5467\u5469",7,"\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"],["8640","\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0",4,"\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4",5,"\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A",4,"\u5512\u5513\u5515",5,"\u551C\u551D\u551E\u551F\u5521\u5525\u5526"],["8680","\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B",4,"\u5551\u5552\u5553\u5554\u5557",4,"\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F",5,"\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0",6,"\u55A8",8,"\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF",4,"\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7",4,"\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8",4,"\u55FF\u5602\u5603\u5604\u5605"],["8740","\u5606\u5607\u560A\u560B\u560D\u5610",7,"\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640",11,"\u564F",4,"\u5655\u5656\u565A\u565B\u565D",4],["8780","\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D",7,"\u5687",6,"\u5690\u5691\u5692\u5694",14,"\u56A4",10,"\u56B0",6,"\u56B8\u56B9\u56BA\u56BB\u56BD",12,"\u56CB",8,"\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5",5,"\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B",6],["8840","\u5712",9,"\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734",4,"\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752",4,"\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"],["8880","\u5781\u5787\u5788\u5789\u578A\u578D",4,"\u5794",6,"\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9",8,"\u57C4",6,"\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5",7,"\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825",4,"\u582B",4,"\u5831\u5832\u5833\u5834\u5836",7],["8940","\u583E",5,"\u5845",6,"\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859",4,"\u585F",5,"\u5866",4,"\u586D",16,"\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"],["8980","\u588D",4,"\u5894",4,"\u589B\u589C\u589D\u58A0",7,"\u58AA",17,"\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6",10,"\u58D2\u58D3\u58D4\u58D6",13,"\u58E5",5,"\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA",7,"\u5903\u5905\u5906\u5908",4,"\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"],["8a40","\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B",4,"\u5961\u5963\u5964\u5966",12,"\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"],["8a80","\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3",5,"\u59BA\u59BC\u59BD\u59BF",6,"\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE",4,"\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED",11,"\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A",6,"\u5A33\u5A35\u5A37",4,"\u5A3D\u5A3E\u5A3F\u5A41",4,"\u5A47\u5A48\u5A4B",9,"\u5A56\u5A57\u5A58\u5A59\u5A5B",5],["8b40","\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B",8,"\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80",17,"\u5A93",6,"\u5A9C",13,"\u5AAB\u5AAC"],["8b80","\u5AAD",4,"\u5AB4\u5AB6\u5AB7\u5AB9",4,"\u5ABF\u5AC0\u5AC3",5,"\u5ACA\u5ACB\u5ACD",4,"\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC",4,"\u5AF2",22,"\u5B0A",11,"\u5B18",25,"\u5B33\u5B35\u5B36\u5B38",7,"\u5B41",6],["8c40","\u5B48",7,"\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"],["8c80","\u5BD1\u5BD4",8,"\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9",4,"\u5BEF\u5BF1",6,"\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67",6,"\u5C70\u5C72",6,"\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83",4,"\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D",4,"\u5CA4",4],["8d40","\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5",5,"\u5CCC",5,"\u5CD3",5,"\u5CDA",6,"\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1",9,"\u5CFC",4],["8d80","\u5D01\u5D04\u5D05\u5D08",5,"\u5D0F",4,"\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F",4,"\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F",4,"\u5D35",7,"\u5D3F",7,"\u5D48\u5D49\u5D4D",10,"\u5D59\u5D5A\u5D5C\u5D5E",10,"\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75",12,"\u5D83",21,"\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"],["8e40","\u5DA1",21,"\u5DB8",12,"\u5DC6",6,"\u5DCE",12,"\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"],["8e80","\u5DF0\u5DF5\u5DF6\u5DF8",4,"\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E",7,"\u5E28",4,"\u5E2F\u5E30\u5E32",4,"\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46",5,"\u5E4D",6,"\u5E56",4,"\u5E5C\u5E5D\u5E5F\u5E60\u5E63",14,"\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8",4,"\u5EAE",4,"\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF",6],["8f40","\u5EC6\u5EC7\u5EC8\u5ECB",5,"\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC",11,"\u5EE9\u5EEB",8,"\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"],["8f80","\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32",6,"\u5F3B\u5F3D\u5F3E\u5F3F\u5F41",14,"\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2",5,"\u5FA9\u5FAB\u5FAC\u5FAF",5,"\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE",4,"\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"],["9040","\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030",4,"\u6036",4,"\u603D\u603E\u6040\u6044",6,"\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"],["9080","\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD",7,"\u60C7\u60C8\u60C9\u60CC",4,"\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1",4,"\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB",4,"\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110",4,"\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C",18,"\u6140",6],["9140","\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156",6,"\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169",6,"\u6171\u6172\u6173\u6174\u6176\u6178",18,"\u618C\u618D\u618F",4,"\u6195"],["9180","\u6196",6,"\u619E",8,"\u61AA\u61AB\u61AD",9,"\u61B8",5,"\u61BF\u61C0\u61C1\u61C3",4,"\u61C9\u61CC",4,"\u61D3\u61D5",16,"\u61E7",13,"\u61F6",8,"\u6200",5,"\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238",4,"\u6242\u6244\u6245\u6246\u624A"],["9240","\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C",6,"\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B",5,"\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"],["9280","\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333",5,"\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356",7,"\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399",6,"\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"],["9340","\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7",6,"\u63DF\u63E2\u63E4",4,"\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406",4,"\u640D\u640E\u6411\u6412\u6415",5,"\u641D\u641F\u6422\u6423\u6424"],["9380","\u6425\u6427\u6428\u6429\u642B\u642E",5,"\u6435",4,"\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B",6,"\u6453\u6455\u6456\u6457\u6459",4,"\u645F",7,"\u6468\u646A\u646B\u646C\u646E",9,"\u647B",6,"\u6483\u6486\u6488",8,"\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F",4,"\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6",6,"\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"],["9440","\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7",24,"\u6501",7,"\u650A",7,"\u6513",4,"\u6519",8],["9480","\u6522\u6523\u6524\u6526",4,"\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540",4,"\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578",14,"\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1",7,"\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8",7,"\u65E1\u65E3\u65E4\u65EA\u65EB"],["9540","\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB",4,"\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637",4,"\u663D\u663F\u6640\u6642\u6644",6,"\u664D\u664E\u6650\u6651\u6658"],["9580","\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669",4,"\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698",4,"\u669E",8,"\u66A9",4,"\u66AF",4,"\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF",25,"\u66DA\u66DE",7,"\u66E7\u66E8\u66EA",5,"\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"],["9640","\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720",5,"\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757",4,"\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"],["9680","\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9",7,"\u67C2\u67C5",9,"\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5",7,"\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818",4,"\u681E\u681F\u6820\u6822",6,"\u682B",6,"\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856",5],["9740","\u685C\u685D\u685E\u685F\u686A\u686C",7,"\u6875\u6878",8,"\u6882\u6884\u6887",7,"\u6890\u6891\u6892\u6894\u6895\u6896\u6898",9,"\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"],["9780","\u68B9",6,"\u68C1\u68C3",5,"\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB",4,"\u68E1\u68E2\u68E4",9,"\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906",4,"\u690C\u690F\u6911\u6913",11,"\u6921\u6922\u6923\u6925",7,"\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943",16,"\u6955\u6956\u6958\u6959\u695B\u695C\u695F"],["9840","\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972",4,"\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E",5,"\u6996\u6997\u6999\u699A\u699D",9,"\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"],["9880","\u69BE\u69BF\u69C0\u69C2",7,"\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5",5,"\u69DC\u69DD\u69DE\u69E1",11,"\u69EE\u69EF\u69F0\u69F1\u69F3",9,"\u69FE\u6A00",9,"\u6A0B",11,"\u6A19",5,"\u6A20\u6A22",5,"\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36",6,"\u6A3F",4,"\u6A45\u6A46\u6A48",7,"\u6A51",6,"\u6A5A"],["9940","\u6A5C",4,"\u6A62\u6A63\u6A64\u6A66",10,"\u6A72",6,"\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85",8,"\u6A8F\u6A92",4,"\u6A98",7,"\u6AA1",5],["9980","\u6AA7\u6AA8\u6AAA\u6AAD",114,"\u6B25\u6B26\u6B28",6],["9a40","\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D",11,"\u6B5A",7,"\u6B68\u6B69\u6B6B",13,"\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"],["9a80","\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C",4,"\u6BA2",7,"\u6BAB",7,"\u6BB6\u6BB8",6,"\u6BC0\u6BC3\u6BC4\u6BC6",4,"\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC",4,"\u6BE2",7,"\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE",6,"\u6C08",4,"\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B",4,"\u6C51\u6C52\u6C53\u6C56\u6C58"],["9b40","\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B",4,"\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"],["9b80","\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F",5,"\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D",4,"\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96",4,"\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9",5,"\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"],["9c40","\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD",7,"\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"],["9c80","\u6E36\u6E37\u6E39\u6E3B",7,"\u6E45",7,"\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60",10,"\u6E6C\u6E6D\u6E6F",14,"\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A",4,"\u6E91",6,"\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA",5],["9d40","\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA",7,"\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A",4,"\u6F10\u6F11\u6F12\u6F16",9,"\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37",6,"\u6F3F\u6F40\u6F41\u6F42"],["9d80","\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E",9,"\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67",5,"\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D",6,"\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F",12,"\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2",4,"\u6FA8",10,"\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA",5,"\u6FC1\u6FC3",5,"\u6FCA",6,"\u6FD3",10,"\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"],["9e40","\u6FE6",7,"\u6FF0",32,"\u7012",7,"\u701C",6,"\u7024",6],["9e80","\u702B",9,"\u7036\u7037\u7038\u703A",17,"\u704D\u704E\u7050",13,"\u705F",11,"\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E",12,"\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB",12,"\u70DA"],["9f40","\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0",6,"\u70F8\u70FA\u70FB\u70FC\u70FE",10,"\u710B",4,"\u7111\u7112\u7114\u7117\u711B",10,"\u7127",7,"\u7132\u7133\u7134"],["9f80","\u7135\u7137",13,"\u7146\u7147\u7148\u7149\u714B\u714D\u714F",12,"\u715D\u715F",4,"\u7165\u7169",4,"\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E",5,"\u7185",4,"\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A",4,"\u71A1",6,"\u71A9\u71AA\u71AB\u71AD",5,"\u71B4\u71B6\u71B7\u71B8\u71BA",8,"\u71C4",9,"\u71CF",4],["a040","\u71D6",9,"\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8",5,"\u71EF",9,"\u71FA",11,"\u7207",19],["a080","\u721B\u721C\u721E",9,"\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240",6,"\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285",4,"\u728C\u728E\u7290\u7291\u7293",11,"\u72A0",11,"\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA",6,"\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"],["a1a1","\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008",7,"\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"],["a2a1","\u2170",9],["a2b1","\u2488",19,"\u2474",19,"\u2460",9],["a2e5","\u3220",9],["a2f1","\u2160",11],["a3a1","\uFF01\uFF02\uFF03\uFFE5\uFF05",88,"\uFFE3"],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a6e0","\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"],["a6ee","\uFE3B\uFE3C\uFE37\uFE38\uFE31"],["a6f4","\uFE33\uFE34"],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a840","\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550",35,"\u2581",6],["a880","\u2588",7,"\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"],["a8a1","\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"],["a8bd","\u0144\u0148"],["a8c0","\u0261"],["a8c5","\u3105",36],["a940","\u3021",8,"\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"],["a959","\u2121\u3231"],["a95c","\u2010"],["a960","\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49",9,"\uFE54\uFE55\uFE56\uFE57\uFE59",8],["a980","\uFE62",4,"\uFE68\uFE69\uFE6A\uFE6B"],["a996","\u3007"],["a9a4","\u2500",75],["aa40","\u72DC\u72DD\u72DF\u72E2",5,"\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304",5,"\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340",8],["aa80","\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358",7,"\u7361",10,"\u736E\u7370\u7371"],["ab40","\u7372",11,"\u737F",4,"\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3",5,"\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3",4],["ab80","\u73CB\u73CC\u73CE\u73D2",6,"\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3",4],["ac40","\u73F8",10,"\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411",8,"\u741C",5,"\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437",4,"\u743D\u743E\u743F\u7440\u7442",11],["ac80","\u744E",6,"\u7456\u7458\u745D\u7460",12,"\u746E\u746F\u7471",4,"\u7478\u7479\u747A"],["ad40","\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491",10,"\u749D\u749F",7,"\u74AA",15,"\u74BB",12],["ad80","\u74C8",9,"\u74D3",8,"\u74DD\u74DF\u74E1\u74E5\u74E7",6,"\u74F0\u74F1\u74F2"],["ae40","\u74F3\u74F5\u74F8",6,"\u7500\u7501\u7502\u7503\u7505",7,"\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520",4,"\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"],["ae80","\u755D",7,"\u7567\u7568\u7569\u756B",6,"\u7573\u7575\u7576\u7577\u757A",4,"\u7580\u7581\u7582\u7584\u7585\u7587"],["af40","\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6",4,"\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"],["af80","\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"],["b040","\u7645",6,"\u764E",5,"\u7655\u7657",4,"\u765D\u765F\u7660\u7661\u7662\u7664",6,"\u766C\u766D\u766E\u7670",7,"\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"],["b080","\u769C",7,"\u76A5",8,"\u76AF\u76B0\u76B3\u76B5",9,"\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"],["b140","\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0",4,"\u76E6",7,"\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E",10,"\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"],["b180","\u772C\u772E\u7730",4,"\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748",7,"\u7752",7,"\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"],["b240","\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D",11,"\u777A\u777B\u777C\u7781\u7782\u7783\u7786",5,"\u778F\u7790\u7793",11,"\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6",4],["b280","\u77BC\u77BE\u77C0",12,"\u77CE",8,"\u77D8\u77D9\u77DA\u77DD",4,"\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"],["b340","\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803",5,"\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"],["b380","\u785B\u785C\u785E",11,"\u786F",7,"\u7878\u7879\u787A\u787B\u787D",6,"\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"],["b440","\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8",7,"\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA",9],["b480","\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED",4,"\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB",5,"\u7902\u7903\u7904\u7906",6,"\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"],["b540","\u790D",5,"\u7914",9,"\u791F",4,"\u7925",14,"\u7935",4,"\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A",8,"\u7954\u7955\u7958\u7959\u7961\u7963"],["b580","\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970",6,"\u7979\u797B",4,"\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"],["b640","\u7993",6,"\u799B",11,"\u79A8",10,"\u79B4",4,"\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9",5,"\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"],["b680","\u79EC\u79EE\u79F1",6,"\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F",4,"\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"],["b740","\u7A1D\u7A1F\u7A21\u7A22\u7A24",14,"\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40",5,"\u7A47",9,"\u7A52",4,"\u7A58",16],["b780","\u7A69",6,"\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"],["b840","\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE",4,"\u7AB4",10,"\u7AC0",10,"\u7ACC",9,"\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7",5,"\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"],["b880","\u7AF4",4,"\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"],["b940","\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F",5,"\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63",10,"\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86",6,"\u7B8E\u7B8F"],["b980","\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9",7,"\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"],["ba40","\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4",4,"\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2",4,"\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF",7,"\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10",5,"\u7C17\u7C18\u7C19"],["ba80","\u7C1A",4,"\u7C20",5,"\u7C28\u7C29\u7C2B",12,"\u7C39",5,"\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"],["bb40","\u7C43",9,"\u7C4E",36,"\u7C75",5,"\u7C7E",9],["bb80","\u7C88\u7C8A",6,"\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4",4,"\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"],["bc40","\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE",6,"\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1",6,"\u7CE9",5,"\u7CF0",7,"\u7CF9\u7CFA\u7CFC",13,"\u7D0B",5],["bc80","\u7D11",14,"\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30",6,"\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"],["bd40","\u7D37",54,"\u7D6F",7],["bd80","\u7D78",32,"\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"],["be40","\u7D99",12,"\u7DA7",6,"\u7DAF",42],["be80","\u7DDA",32,"\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"],["bf40","\u7DFB",62],["bf80","\u7E3A\u7E3C",4,"\u7E42",4,"\u7E48",21,"\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"],["c040","\u7E5E",35,"\u7E83",23,"\u7E9C\u7E9D\u7E9E"],["c080","\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B",6,"\u7F43\u7F46",9,"\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"],["c140","\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63",4,"\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82",7,"\u7F8B\u7F8D\u7F8F",4,"\u7F95",4,"\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8",6,"\u7FB1"],["c180","\u7FB3",4,"\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF",4,"\u7FD6\u7FD7\u7FD9",5,"\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"],["c240","\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4",6,"\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B",5,"\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"],["c280","\u8059\u805B",13,"\u806B",5,"\u8072",11,"\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"],["c340","\u807E\u8081\u8082\u8085\u8088\u808A\u808D",5,"\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7",4,"\u80CF",6,"\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"],["c380","\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F",12,"\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139",4,"\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"],["c440","\u8140",5,"\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B",4,"\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183",4,"\u8189\u818B\u818C\u818D\u818E\u8190\u8192",5,"\u8199\u819A\u819E",4,"\u81A4\u81A5"],["c480","\u81A7\u81A9\u81AB",7,"\u81B4",5,"\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD",6,"\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"],["c540","\u81D4",14,"\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE",4,"\u81F5",5,"\u81FD\u81FF\u8203\u8207",4,"\u820E\u820F\u8211\u8213\u8215",5,"\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"],["c580","\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250",7,"\u8259\u825B\u825C\u825D\u825E\u8260",7,"\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"],["c640","\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"],["c680","\u82FA\u82FC",4,"\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D",9,"\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"],["c740","\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A",4,"\u8353\u8355",4,"\u835D\u8362\u8370",6,"\u8379\u837A\u837E",6,"\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1",6,"\u83AC\u83AD\u83AE"],["c780","\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"],["c840","\u83EE\u83EF\u83F3",4,"\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412",5,"\u8419\u841A\u841B\u841E",5,"\u8429",7,"\u8432",5,"\u8439\u843A\u843B\u843E",7,"\u8447\u8448\u8449"],["c880","\u844A",6,"\u8452",4,"\u8458\u845D\u845E\u845F\u8460\u8462\u8464",4,"\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"],["c940","\u847D",4,"\u8483\u8484\u8485\u8486\u848A\u848D\u848F",7,"\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2",12,"\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"],["c980","\u84D8",4,"\u84DE\u84E1\u84E2\u84E4\u84E7",4,"\u84ED\u84EE\u84EF\u84F1",10,"\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"],["ca40","\u8503",8,"\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522",8,"\u852D",9,"\u853E",4,"\u8544\u8545\u8546\u8547\u854B",10],["ca80","\u8557\u8558\u855A\u855B\u855C\u855D\u855F",4,"\u8565\u8566\u8567\u8569",8,"\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"],["cb40","\u8582\u8583\u8586\u8588",6,"\u8590",10,"\u859D",6,"\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1",5,"\u85B8\u85BA",6,"\u85C2",6,"\u85CA",4,"\u85D1\u85D2"],["cb80","\u85D4\u85D6",5,"\u85DD",6,"\u85E5\u85E6\u85E7\u85E8\u85EA",14,"\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"],["cc40","\u85F9\u85FA\u85FC\u85FD\u85FE\u8600",4,"\u8606",10,"\u8612\u8613\u8614\u8615\u8617",15,"\u8628\u862A",13,"\u8639\u863A\u863B\u863D\u863E\u863F\u8640"],["cc80","\u8641",11,"\u8652\u8653\u8655",4,"\u865B\u865C\u865D\u865F\u8660\u8661\u8663",7,"\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"],["cd40","\u866D\u866F\u8670\u8672",6,"\u8683",6,"\u868E",4,"\u8694\u8696",5,"\u869E",4,"\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB",4,"\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"],["cd80","\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"],["ce40","\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740",6,"\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A",5,"\u8761\u8762\u8766",7,"\u876F\u8771\u8772\u8773\u8775"],["ce80","\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E",4,"\u8794\u8795\u8796\u8798",6,"\u87A0",4,"\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"],["cf40","\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1",4,"\u87C7\u87C8\u87C9\u87CC",4,"\u87D4",6,"\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF",9],["cf80","\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804",5,"\u880B",7,"\u8814\u8817\u8818\u8819\u881A\u881C",4,"\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"],["d040","\u8824",13,"\u8833",5,"\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846",5,"\u884E",5,"\u8855\u8856\u8858\u885A",6,"\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"],["d080","\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897",4,"\u889D",4,"\u88A3\u88A5",5,"\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"],["d140","\u88AC\u88AE\u88AF\u88B0\u88B2",4,"\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA",4,"\u88E0\u88E1\u88E6\u88E7\u88E9",6,"\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903",5],["d180","\u8909\u890B",4,"\u8911\u8914",4,"\u891C",4,"\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"],["d240","\u8938",8,"\u8942\u8943\u8945",24,"\u8960",5,"\u8967",19,"\u897C"],["d280","\u897D\u897E\u8980\u8982\u8984\u8985\u8987",26,"\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"],["d340","\u89A2",30,"\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4",6],["d380","\u89FB",4,"\u8A01",5,"\u8A08",21,"\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"],["d440","\u8A1E",31,"\u8A3F",8,"\u8A49",21],["d480","\u8A5F",25,"\u8A7A",6,"\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"],["d540","\u8A81",7,"\u8A8B",7,"\u8A94",46],["d580","\u8AC3",32,"\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"],["d640","\u8AE4",34,"\u8B08",27],["d680","\u8B24\u8B25\u8B27",30,"\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"],["d740","\u8B46",31,"\u8B67",4,"\u8B6D",25],["d780","\u8B87",24,"\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"],["d840","\u8C38",8,"\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D",7,"\u8C56\u8C57\u8C58\u8C59\u8C5B",5,"\u8C63",6,"\u8C6C",6,"\u8C74\u8C75\u8C76\u8C77\u8C7B",6,"\u8C83\u8C84\u8C86\u8C87"],["d880","\u8C88\u8C8B\u8C8D",6,"\u8C95\u8C96\u8C97\u8C99",20,"\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"],["d940","\u8CAE",62],["d980","\u8CED",32,"\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"],["da40","\u8D0E",14,"\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78",8,"\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C",4,"\u8D92\u8D93\u8D95",9,"\u8DA0\u8DA1"],["da80","\u8DA2\u8DA4",12,"\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"],["db40","\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE",6,"\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15",7,"\u8E20\u8E21\u8E24",4,"\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"],["db80","\u8E3F\u8E43\u8E45\u8E46\u8E4C",4,"\u8E53",5,"\u8E5A",11,"\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"],["dc40","\u8E73\u8E75\u8E77",4,"\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88",6,"\u8E91\u8E92\u8E93\u8E95",6,"\u8E9D\u8E9F",11,"\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3",6,"\u8EBB",7],["dc80","\u8EC3",10,"\u8ECF",21,"\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"],["dd40","\u8EE5",62],["dd80","\u8F24",32,"\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"],["de40","\u8F45",32,"\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"],["de80","\u8FC9",4,"\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"],["df40","\u9019\u901C\u9023\u9024\u9025\u9027",5,"\u9030",4,"\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048",4,"\u904E\u9054\u9055\u9056\u9059\u905A\u905C",5,"\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F",4,"\u9076",6,"\u907E\u9081"],["df80","\u9084\u9085\u9086\u9087\u9089\u908A\u908C",4,"\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"],["e040","\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105",19,"\u911A\u911B\u911C"],["e080","\u911D\u911F\u9120\u9121\u9124",10,"\u9130\u9132",6,"\u913A",8,"\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"],["e140","\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180",4,"\u9186\u9188\u918A\u918E\u918F\u9193",6,"\u919C",5,"\u91A4",5,"\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"],["e180","\u91BC",10,"\u91C8\u91CB\u91D0\u91D2",9,"\u91DD",8,"\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"],["e240","\u91E6",62],["e280","\u9225",32,"\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967",5,"\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"],["e340","\u9246",45,"\u9275",16],["e380","\u9286",7,"\u928F",24,"\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"],["e440","\u92A8",5,"\u92AF",24,"\u92C9",31],["e480","\u92E9",32,"\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"],["e540","\u930A",51,"\u933F",10],["e580","\u934A",31,"\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"],["e640","\u936C",34,"\u9390",27],["e680","\u93AC",29,"\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"],["e740","\u93CE",7,"\u93D7",54],["e780","\u940E",32,"\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21",6,"\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F",4,"\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"],["e840","\u942F",14,"\u943F",43,"\u946C\u946D\u946E\u946F"],["e880","\u9470",20,"\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"],["e940","\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577",7,"\u9580",42],["e980","\u95AB",32,"\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"],["ea40","\u95CC",27,"\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623",6,"\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"],["ea80","\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D",4,"\u9673\u9678",12,"\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"],["eb40","\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D",9,"\u96A8",7,"\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6",9,"\u96E1",6,"\u96EB"],["eb80","\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717",4,"\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"],["ec40","\u9721",8,"\u972B\u972C\u972E\u972F\u9731\u9733",4,"\u973A\u973B\u973C\u973D\u973F",18,"\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A",7],["ec80","\u9772\u9775\u9777",4,"\u977D",7,"\u9786",4,"\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799",4,"\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"],["ed40","\u979E\u979F\u97A1\u97A2\u97A4",6,"\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5",46],["ed80","\u97E4\u97E5\u97E8\u97EE",4,"\u97F4\u97F7",23,"\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"],["ee40","\u980F",62],["ee80","\u984E",32,"\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6",4,"\u94BC\u94BD\u94BF\u94C4\u94C8",6,"\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"],["ef40","\u986F",5,"\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8",37,"\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0",4],["ef80","\u98E5\u98E6\u98E9",30,"\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512",4,"\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564",8,"\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"],["f040","\u9908",4,"\u990E\u990F\u9911",28,"\u992F",26],["f080","\u994A",9,"\u9956",12,"\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28",4,"\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66",6,"\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"],["f140","\u998C\u998E\u999A",10,"\u99A6\u99A7\u99A9",47],["f180","\u99D9",32,"\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"],["f240","\u99FA",62],["f280","\u9A39",32,"\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"],["f340","\u9A5A",17,"\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9",6,"\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6",4,"\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"],["f380","\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0",8,"\u9AFA\u9AFC",6,"\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"],["f440","\u9B07\u9B09",5,"\u9B10\u9B11\u9B12\u9B14",10,"\u9B20\u9B21\u9B22\u9B24",10,"\u9B30\u9B31\u9B33",7,"\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55",5],["f480","\u9B5B",32,"\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"],["f540","\u9B7C",62],["f580","\u9BBB",32,"\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"],["f640","\u9BDC",62],["f680","\u9C1B",32,"\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85",5,"\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E",5,"\u9CA5",4,"\u9CAB\u9CAD\u9CAE\u9CB0",7,"\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"],["f740","\u9C3C",62],["f780","\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE",4,"\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC",4,"\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"],["f840","\u9CE3",62],["f880","\u9D22",32],["f940","\u9D43",62],["f980","\u9D82",32],["fa40","\u9DA3",62],["fa80","\u9DE2",32],["fb40","\u9E03",27,"\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74",9,"\u9E80"],["fb80","\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C",5,"\u9E94",8,"\u9E9E\u9EA0",5,"\u9EA7\u9EA8\u9EA9\u9EAA"],["fc40","\u9EAB",8,"\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF",4,"\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0",8,"\u9EFA\u9EFD\u9EFF",6],["fc80","\u9F06",4,"\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A",5,"\u9F21\u9F23",8,"\u9F2D\u9F2E\u9F30\u9F31"],["fd40","\u9F32",4,"\u9F38\u9F3A\u9F3C\u9F3F",4,"\u9F45",10,"\u9F52",38],["fd80","\u9F79",5,"\u9F81\u9F82\u9F8D",11,"\u9F9C\u9F9D\u9F9E\u9FA1",4,"\uF92C\uF979\uF995\uF9E7\uF9F1"],["fe40","\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"]]});var ES=j((V$e,iW)=>{iW.exports=[["a140","\uE4C6",62],["a180","\uE505",32],["a240","\uE526",62],["a280","\uE565",32],["a2ab","\uE766",5],["a2e3","\u20AC\uE76D"],["a2ef","\uE76E\uE76F"],["a2fd","\uE770\uE771"],["a340","\uE586",62],["a380","\uE5C5",31,"\u3000"],["a440","\uE5E6",62],["a480","\uE625",32],["a4f4","\uE772",10],["a540","\uE646",62],["a580","\uE685",32],["a5f7","\uE77D",7],["a640","\uE6A6",62],["a680","\uE6E5",32],["a6b9","\uE785",7],["a6d9","\uE78D",6],["a6ec","\uE794\uE795"],["a6f3","\uE796"],["a6f6","\uE797",8],["a740","\uE706",62],["a780","\uE745",32],["a7c2","\uE7A0",14],["a7f2","\uE7AF",12],["a896","\uE7BC",10],["a8bc","\uE7C7"],["a8bf","\u01F9"],["a8c1","\uE7C9\uE7CA\uE7CB\uE7CC"],["a8ea","\uE7CD",20],["a958","\uE7E2"],["a95b","\uE7E3"],["a95d","\uE7E4\uE7E5\uE7E6"],["a989","\u303E\u2FF0",11],["a997","\uE7F4",12],["a9f0","\uE801",14],["aaa1","\uE000",93],["aba1","\uE05E",93],["aca1","\uE0BC",93],["ada1","\uE11A",93],["aea1","\uE178",93],["afa1","\uE1D6",93],["d7fa","\uE810",4],["f8a1","\uE234",93],["f9a1","\uE292",93],["faa1","\uE2F0",93],["fba1","\uE34E",93],["fca1","\uE3AC",93],["fda1","\uE40A",93],["fe50","\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"],["fe80","\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13",6,"\u4DAE\uE864\uE468",93]]});var qC=j((G$e,aW)=>{aW.exports={uChars:[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],gbChars:[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189e3]}});var LC=j((W$e,oW)=>{oW.exports=[["0","\0",127],["8141","\uAC02\uAC03\uAC05\uAC06\uAC0B",4,"\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25",6,"\uAC2E\uAC32\uAC33\uAC34"],["8161","\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41",9,"\uAC4C\uAC4E",5,"\uAC55"],["8181","\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D",18,"\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B",4,"\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95",6,"\uAC9E\uACA2",5,"\uACAB\uACAD\uACAE\uACB1",6,"\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD",7,"\uACD6\uACD8",7,"\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7",4,"\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07",4,"\uAD0E\uAD10\uAD12\uAD13"],["8241","\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21",7,"\uAD2A\uAD2B\uAD2E",5],["8261","\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D",6,"\uAD46\uAD48\uAD4A",5,"\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"],["8281","\uAD59",7,"\uAD62\uAD64",7,"\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83",4,"\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91",10,"\uAD9E",5,"\uADA5",17,"\uADB8",7,"\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9",6,"\uADD2\uADD4",7,"\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5",18],["8341","\uADFA\uADFB\uADFD\uADFE\uAE02",5,"\uAE0A\uAE0C\uAE0E",5,"\uAE15",7],["8361","\uAE1D",18,"\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"],["8381","\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57",4,"\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71",6,"\uAE7A\uAE7E",5,"\uAE86",5,"\uAE8D",46,"\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5",6,"\uAECE\uAED2",5,"\uAEDA\uAEDB\uAEDD",8],["8441","\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE",5,"\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD",8],["8461","\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11",18],["8481","\uAF24",7,"\uAF2E\uAF2F\uAF31\uAF33\uAF35",6,"\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A",5,"\uAF51",10,"\uAF5E",5,"\uAF66",18,"\uAF7A",5,"\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89",6,"\uAF92\uAF93\uAF94\uAF96",5,"\uAF9D",26,"\uAFBA\uAFBB\uAFBD\uAFBE"],["8541","\uAFBF\uAFC1",5,"\uAFCA\uAFCC\uAFCF",4,"\uAFD5",6,"\uAFDD",4],["8561","\uAFE2",5,"\uAFEA",5,"\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9",6,"\uB002\uB003"],["8581","\uB005",6,"\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015",6,"\uB01E",9,"\uB029",26,"\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E",29,"\uB07E\uB07F\uB081\uB082\uB083\uB085",6,"\uB08E\uB090\uB092",5,"\uB09B\uB09D\uB09E\uB0A3\uB0A4"],["8641","\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD",6,"\uB0C6\uB0CA",5,"\uB0D2"],["8661","\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9",6,"\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6",10],["8681","\uB0F1",22,"\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E",4,"\uB126\uB127\uB129\uB12A\uB12B\uB12D",6,"\uB136\uB13A",5,"\uB142\uB143\uB145\uB146\uB147\uB149",6,"\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161",22,"\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183",4,"\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"],["8741","\uB19E",9,"\uB1A9",15],["8761","\uB1B9",18,"\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"],["8781","\uB1D6",5,"\uB1DE\uB1E0",7,"\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1",7,"\uB1FA\uB1FC\uB1FE",5,"\uB206\uB207\uB209\uB20A\uB20D",6,"\uB216\uB218\uB21A",5,"\uB221",18,"\uB235",6,"\uB23D",26,"\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261",6,"\uB26A",4],["8841","\uB26F",4,"\uB276",5,"\uB27D",6,"\uB286\uB287\uB288\uB28A",4],["8861","\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B",4,"\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"],["8881","\uB2B8",15,"\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3",4,"\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309",6,"\uB312\uB316",5,"\uB31D",54,"\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"],["8941","\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379",6,"\uB382\uB386",5,"\uB38D"],["8961","\uB38E\uB38F\uB391\uB392\uB393\uB395",10,"\uB3A2",5,"\uB3A9\uB3AA\uB3AB\uB3AD"],["8981","\uB3AE",21,"\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9",18,"\uB3FD",18,"\uB411",6,"\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421",6,"\uB42A\uB42C",7,"\uB435",15],["8a41","\uB445",10,"\uB452\uB453\uB455\uB456\uB457\uB459",6,"\uB462\uB464\uB466"],["8a61","\uB467",4,"\uB46D",18,"\uB481\uB482"],["8a81","\uB483",4,"\uB489",19,"\uB49E",5,"\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD",7,"\uB4B6\uB4B8\uB4BA",5,"\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9",6,"\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6",5,"\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7",4,"\uB4EE\uB4F0\uB4F2",5,"\uB4F9",26,"\uB516\uB517\uB519\uB51A\uB51D"],["8b41","\uB51E",5,"\uB526\uB52B",4,"\uB532\uB533\uB535\uB536\uB537\uB539",6,"\uB542\uB546"],["8b61","\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555",6,"\uB55E\uB562",8],["8b81","\uB56B",52,"\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6",4,"\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5",6,"\uB5CE\uB5D2",5,"\uB5D9",18,"\uB5ED",18],["8c41","\uB600",15,"\uB612\uB613\uB615\uB616\uB617\uB619",4],["8c61","\uB61E",6,"\uB626",5,"\uB62D",6,"\uB635",5],["8c81","\uB63B",12,"\uB649",26,"\uB665\uB666\uB667\uB669",50,"\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5",5,"\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2",16],["8d41","\uB6C3",16,"\uB6D5",8],["8d61","\uB6DE",17,"\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"],["8d81","\uB6FB",4,"\uB702\uB703\uB704\uB706",33,"\uB72A\uB72B\uB72D\uB72E\uB731",6,"\uB73A\uB73C",7,"\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D",6,"\uB756",9,"\uB761\uB762\uB763\uB765\uB766\uB767\uB769",6,"\uB772\uB774\uB776",5,"\uB77E\uB77F\uB781\uB782\uB783\uB785",6,"\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"],["8e41","\uB79F\uB7A1",6,"\uB7AA\uB7AE",5,"\uB7B6\uB7B7\uB7B9",8],["8e61","\uB7C2",4,"\uB7C8\uB7CA",19],["8e81","\uB7DE",13,"\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5",6,"\uB7FE\uB802",4,"\uB80A\uB80B\uB80D\uB80E\uB80F\uB811",6,"\uB81A\uB81C\uB81E",5,"\uB826\uB827\uB829\uB82A\uB82B\uB82D",6,"\uB836\uB83A",5,"\uB841\uB842\uB843\uB845",11,"\uB852\uB854",7,"\uB85E\uB85F\uB861\uB862\uB863\uB865",6,"\uB86E\uB870\uB872",5,"\uB879\uB87A\uB87B\uB87D",7],["8f41","\uB885",7,"\uB88E",17],["8f61","\uB8A0",7,"\uB8A9",6,"\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9",4],["8f81","\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6",5,"\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5",7,"\uB8DE\uB8E0\uB8E2",5,"\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1",6,"\uB8FA\uB8FC\uB8FE",5,"\uB905",18,"\uB919",6,"\uB921",26,"\uB93E\uB93F\uB941\uB942\uB943\uB945",6,"\uB94D\uB94E\uB950\uB952",5],["9041","\uB95A\uB95B\uB95D\uB95E\uB95F\uB961",6,"\uB96A\uB96C\uB96E",5,"\uB976\uB977\uB979\uB97A\uB97B\uB97D"],["9061","\uB97E",5,"\uB986\uB988\uB98B\uB98C\uB98F",15],["9081","\uB99F",12,"\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5",6,"\uB9BE\uB9C0\uB9C2",5,"\uB9CA\uB9CB\uB9CD\uB9D3",4,"\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED",6,"\uB9F6\uB9FB",4,"\uBA02",5,"\uBA09",11,"\uBA16",33,"\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"],["9141","\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D",6,"\uBA66\uBA6A",5],["9161","\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79",9,"\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D",5],["9181","\uBA93",20,"\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3",4,"\uBABA\uBABC\uBABE",5,"\uBAC5\uBAC6\uBAC7\uBAC9",14,"\uBADA",33,"\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05",7,"\uBB0E\uBB10\uBB12",5,"\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21",6],["9241","\uBB28\uBB2A\uBB2C",7,"\uBB37\uBB39\uBB3A\uBB3F",4,"\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"],["9261","\uBB53\uBB55\uBB56\uBB57\uBB59",7,"\uBB62\uBB64",7,"\uBB6D",4],["9281","\uBB72",21,"\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91",18,"\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD",6,"\uBBB5\uBBB6\uBBB8",7,"\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9",6,"\uBBD1\uBBD2\uBBD4",35,"\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"],["9341","\uBC03",4,"\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"],["9361","\uBC36\uBC37\uBC39",6,"\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51",8],["9381","\uBC5A\uBC5B\uBC5C\uBC5E",37,"\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F",4,"\uBC96\uBC98\uBC9B",4,"\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9",6,"\uBCB2\uBCB6",5,"\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5",7,"\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD",22,"\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"],["9441","\uBCFE",5,"\uBD06\uBD08\uBD0A",5,"\uBD11\uBD12\uBD13\uBD15",8],["9461","\uBD1E",5,"\uBD25",6,"\uBD2D",12],["9481","\uBD3A",5,"\uBD41",6,"\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51",6,"\uBD5A",9,"\uBD65\uBD66\uBD67\uBD69",22,"\uBD82\uBD83\uBD85\uBD86\uBD8B",4,"\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D",6,"\uBDA5",10,"\uBDB1",6,"\uBDB9",24],["9541","\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD",11,"\uBDEA",5,"\uBDF1"],["9561","\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9",6,"\uBE01\uBE02\uBE04\uBE06",5,"\uBE0E\uBE0F\uBE11\uBE12\uBE13"],["9581","\uBE15",6,"\uBE1E\uBE20",35,"\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F",4,"\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B",4,"\uBE72\uBE76",4,"\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85",6,"\uBE8E\uBE92",5,"\uBE9A",13,"\uBEA9",14],["9641","\uBEB8",23,"\uBED2\uBED3"],["9661","\uBED5\uBED6\uBED9",6,"\uBEE1\uBEE2\uBEE6",5,"\uBEED",8],["9681","\uBEF6",10,"\uBF02",5,"\uBF0A",13,"\uBF1A\uBF1E",33,"\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49",6,"\uBF52\uBF53\uBF54\uBF56",44],["9741","\uBF83",16,"\uBF95",8],["9761","\uBF9E",17,"\uBFB1",7],["9781","\uBFB9",11,"\uBFC6",5,"\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5",6,"\uBFDD\uBFDE\uBFE0\uBFE2",89,"\uC03D\uC03E\uC03F"],["9841","\uC040",16,"\uC052",5,"\uC059\uC05A\uC05B"],["9861","\uC05D\uC05E\uC05F\uC061",6,"\uC06A",15],["9881","\uC07A",21,"\uC092\uC093\uC095\uC096\uC097\uC099",6,"\uC0A2\uC0A4\uC0A6",5,"\uC0AE\uC0B1\uC0B2\uC0B7",4,"\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1",6,"\uC0DA\uC0DE",5,"\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED",6,"\uC0F6\uC0F8\uC0FA",5,"\uC101\uC102\uC103\uC105\uC106\uC107\uC109",6,"\uC111\uC112\uC113\uC114\uC116",5,"\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"],["9941","\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141",6,"\uC14A\uC14E",5,"\uC156\uC157"],["9961","\uC159\uC15A\uC15B\uC15D",6,"\uC166\uC16A",5,"\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"],["9981","\uC17C",8,"\uC186",5,"\uC18F\uC191\uC192\uC193\uC195\uC197",4,"\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1",11,"\uC1BE",5,"\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD",6,"\uC1D5\uC1D6\uC1D9",6,"\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9",6,"\uC1F2\uC1F4",7,"\uC1FE\uC1FF\uC201\uC202\uC203\uC205",6,"\uC20E\uC210\uC212",5,"\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"],["9a41","\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235",16],["9a61","\uC246\uC247\uC249",6,"\uC252\uC253\uC255\uC256\uC257\uC259",6,"\uC261\uC262\uC263\uC264\uC266"],["9a81","\uC267",4,"\uC26E\uC26F\uC271\uC272\uC273\uC275",6,"\uC27E\uC280\uC282",5,"\uC28A",5,"\uC291",6,"\uC299\uC29A\uC29C\uC29E",5,"\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE",5,"\uC2B6\uC2B8\uC2BA",33,"\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5",5,"\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301",6,"\uC30A\uC30B\uC30E\uC30F"],["9b41","\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D",6,"\uC326\uC327\uC32A",8],["9b61","\uC333",17,"\uC346",7],["9b81","\uC34E",25,"\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373",4,"\uC37A\uC37B\uC37E",5,"\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D",50,"\uC3C1",22,"\uC3DA"],["9c41","\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3",4,"\uC3EA\uC3EB\uC3EC\uC3EE",5,"\uC3F6\uC3F7\uC3F9",5],["9c61","\uC3FF",8,"\uC409",6,"\uC411",9],["9c81","\uC41B",8,"\uC425",6,"\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435",6,"\uC43E",9,"\uC449",26,"\uC466\uC467\uC469\uC46A\uC46B\uC46D",6,"\uC476\uC477\uC478\uC47A",5,"\uC481",18,"\uC495",6,"\uC49D",12],["9d41","\uC4AA",13,"\uC4B9\uC4BA\uC4BB\uC4BD",8],["9d61","\uC4C6",25],["9d81","\uC4E0",8,"\uC4EA",5,"\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502",9,"\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515",6,"\uC51D",10,"\uC52A\uC52B\uC52D\uC52E\uC52F\uC531",6,"\uC53A\uC53C\uC53E",5,"\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569",6,"\uC572\uC576",5,"\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"],["9e41","\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1",7,"\uC5AA",9,"\uC5B6"],["9e61","\uC5B7\uC5BA\uC5BF",4,"\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9",6,"\uC5E2\uC5E4\uC5E6\uC5E7"],["9e81","\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611",6,"\uC61A\uC61D",6,"\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649",6,"\uC652\uC656",5,"\uC65E\uC65F\uC661",10,"\uC66D\uC66E\uC670\uC672",5,"\uC67A\uC67B\uC67D\uC67E\uC67F\uC681",6,"\uC68A\uC68C\uC68E",5,"\uC696\uC697\uC699\uC69A\uC69B\uC69D",6,"\uC6A6"],["9f41","\uC6A8\uC6AA",5,"\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB",4,"\uC6C2\uC6C4\uC6C6",5,"\uC6CE"],["9f61","\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5",6,"\uC6DE\uC6DF\uC6E2",5,"\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"],["9f81","\uC6F3",4,"\uC6FA\uC6FB\uC6FC\uC6FE",5,"\uC706\uC707\uC709\uC70A\uC70B\uC70D",6,"\uC716\uC718\uC71A",5,"\uC722\uC723\uC725\uC726\uC727\uC729",6,"\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745",4,"\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761",6,"\uC769\uC76A\uC76C",7,"\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B",4,"\uC7A2\uC7A7",4,"\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"],["a041","\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2",5,"\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1",6,"\uC7D9\uC7DA\uC7DB\uC7DC"],["a061","\uC7DE",5,"\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED",13],["a081","\uC7FB",4,"\uC802\uC803\uC805\uC806\uC807\uC809\uC80B",4,"\uC812\uC814\uC817",4,"\uC81E\uC81F\uC821\uC822\uC823\uC825",6,"\uC82E\uC830\uC832",5,"\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841",6,"\uC84A\uC84B\uC84E",5,"\uC855",26,"\uC872\uC873\uC875\uC876\uC877\uC879\uC87B",4,"\uC882\uC884\uC888\uC889\uC88A\uC88E",5,"\uC895",7,"\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"],["a141","\uC8A5\uC8A6\uC8A7\uC8A9",18,"\uC8BE\uC8BF\uC8C0\uC8C1"],["a161","\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD",6,"\uC8D6\uC8D8\uC8DA",5,"\uC8E2\uC8E3\uC8E5"],["a181","\uC8E6",14,"\uC8F6",5,"\uC8FE\uC8FF\uC901\uC902\uC903\uC907",4,"\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008",9,"\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"],["a241","\uC910\uC912",5,"\uC919",18],["a261","\uC92D",6,"\uC935",18],["a281","\uC948",7,"\uC952\uC953\uC955\uC956\uC957\uC959",6,"\uC962\uC964",7,"\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"],["a341","\uC971\uC972\uC973\uC975",6,"\uC97D",10,"\uC98A\uC98B\uC98D\uC98E\uC98F"],["a361","\uC991",6,"\uC99A\uC99C\uC99E",16],["a381","\uC9AF",16,"\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB",4,"\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01",58,"\uFFE6\uFF3D",32,"\uFFE3"],["a441","\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2",5,"\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"],["a461","\uCA05\uCA06\uCA07\uCA0A\uCA0E",5,"\uCA15\uCA16\uCA17\uCA19",12],["a481","\uCA26\uCA27\uCA28\uCA2A",28,"\u3131",93],["a541","\uCA47",4,"\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55",6,"\uCA5E\uCA62",5,"\uCA69\uCA6A"],["a561","\uCA6B",17,"\uCA7E",5,"\uCA85\uCA86"],["a581","\uCA87",16,"\uCA99",14,"\u2170",9],["a5b0","\u2160",9],["a5c1","\u0391",16,"\u03A3",6],["a5e1","\u03B1",16,"\u03C3",6],["a641","\uCAA8",19,"\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"],["a661","\uCAC6",5,"\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA",5,"\uCAE1",6],["a681","\uCAE8\uCAE9\uCAEA\uCAEB\uCAED",6,"\uCAF5",18,"\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543",7],["a741","\uCB0B",4,"\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19",6,"\uCB22",7],["a761","\uCB2A",22,"\uCB42\uCB43\uCB44"],["a781","\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51",6,"\uCB5A\uCB5B\uCB5C\uCB5E",5,"\uCB65",7,"\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399",9,"\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0",9,"\u3380",4,"\u33BA",5,"\u3390",4,"\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"],["a841","\uCB6D",10,"\uCB7A",14],["a861","\uCB89",18,"\uCB9D",6],["a881","\uCBA4",19,"\uCBB9",11,"\xC6\xD0\xAA\u0126"],["a8a6","\u0132"],["a8a8","\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"],["a8b1","\u3260",27,"\u24D0",25,"\u2460",14,"\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"],["a941","\uCBC5",14,"\uCBD5",10],["a961","\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA",18],["a981","\uCBFD",14,"\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15",6,"\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200",27,"\u249C",25,"\u2474",14,"\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"],["aa41","\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31",6,"\uCC3A\uCC3F",4,"\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"],["aa61","\uCC4F",4,"\uCC56\uCC5A",5,"\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69",6,"\uCC71\uCC72"],["aa81","\uCC73\uCC74\uCC76",29,"\u3041",82],["ab41","\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1",6,"\uCCAA\uCCAE",5,"\uCCB6\uCCB7\uCCB9"],["ab61","\uCCBA\uCCBB\uCCBD",6,"\uCCC6\uCCC8\uCCCA",5,"\uCCD1\uCCD2\uCCD3\uCCD5",5],["ab81","\uCCDB",8,"\uCCE5",6,"\uCCED\uCCEE\uCCEF\uCCF1",12,"\u30A1",85],["ac41","\uCCFE\uCCFF\uCD00\uCD02",5,"\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11",6,"\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"],["ac61","\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D",11,"\uCD3A",4],["ac81","\uCD3F",28,"\uCD5D\uCD5E\uCD5F\u0410",5,"\u0401\u0416",25],["acd1","\u0430",5,"\u0451\u0436",25],["ad41","\uCD61\uCD62\uCD63\uCD65",6,"\uCD6E\uCD70\uCD72",5,"\uCD79",7],["ad61","\uCD81",6,"\uCD89",10,"\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"],["ad81","\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA",5,"\uCDB1",18,"\uCDC5"],["ae41","\uCDC6",5,"\uCDCD\uCDCE\uCDCF\uCDD1",16],["ae61","\uCDE2",5,"\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1",6,"\uCDFA\uCDFC\uCDFE",4],["ae81","\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D",6,"\uCE15\uCE16\uCE17\uCE18\uCE1A",5,"\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"],["af41","\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36",19],["af61","\uCE4A",13,"\uCE5A\uCE5B\uCE5D\uCE5E\uCE62",5,"\uCE6A\uCE6C"],["af81","\uCE6E",5,"\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D",6,"\uCE86\uCE88\uCE8A",5,"\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"],["b041","\uCE9A",5,"\uCEA2\uCEA6",5,"\uCEAE",12],["b061","\uCEBB",5,"\uCEC2",19],["b081","\uCED6",13,"\uCEE6\uCEE7\uCEE9\uCEEA\uCEED",6,"\uCEF6\uCEFA",5,"\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10",7,"\uAC19",4,"\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"],["b141","\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09",6,"\uCF12\uCF14\uCF16",5,"\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"],["b161","\uCF25",6,"\uCF2E\uCF32",5,"\uCF39",11],["b181","\uCF45",14,"\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D",6,"\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"],["b241","\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79",6,"\uCF81\uCF82\uCF83\uCF84\uCF86",5,"\uCF8D"],["b261","\uCF8E",18,"\uCFA2",5,"\uCFA9"],["b281","\uCFAA",5,"\uCFB1",18,"\uCFC5",6,"\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"],["b341","\uCFCC",19,"\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"],["b361","\uCFEA",5,"\uCFF2\uCFF4\uCFF6",5,"\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005",5],["b381","\uD00B",5,"\uD012",5,"\uD019",19,"\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB",4,"\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"],["b441","\uD02E",5,"\uD036\uD037\uD039\uD03A\uD03B\uD03D",6,"\uD046\uD048\uD04A",5],["b461","\uD051\uD052\uD053\uD055\uD056\uD057\uD059",6,"\uD061",10,"\uD06E\uD06F"],["b481","\uD071\uD072\uD073\uD075",6,"\uD07E\uD07F\uD080\uD082",18,"\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB",4,"\uB2F3\uB2F4\uB2F5\uB2F7",4,"\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"],["b541","\uD095",14,"\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD",5],["b561","\uD0B3\uD0B6\uD0B8\uD0BA",5,"\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA",5,"\uD0D2\uD0D6",4],["b581","\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5",6,"\uD0EE\uD0F2",5,"\uD0F9",11,"\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"],["b641","\uD105",7,"\uD10E",17],["b661","\uD120",15,"\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"],["b681","\uD13F\uD142\uD146",5,"\uD14E\uD14F\uD151\uD152\uD153\uD155",6,"\uD15E\uD160\uD162",5,"\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"],["b741","\uD16E",13,"\uD17D",6,"\uD185\uD186\uD187\uD189\uD18A"],["b761","\uD18B",20,"\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"],["b781","\uD1A9",6,"\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1",14,"\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"],["b841","\uD1D0",7,"\uD1D9",17],["b861","\uD1EB",8,"\uD1F5\uD1F6\uD1F7\uD1F9",13],["b881","\uD208\uD20A",5,"\uD211",24,"\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE",4,"\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"],["b941","\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235",6,"\uD23E\uD240\uD242",5,"\uD249\uD24A\uD24B\uD24C"],["b961","\uD24D",14,"\uD25D",6,"\uD265\uD266\uD267\uD268"],["b981","\uD269",22,"\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14",4,"\uBC1B",4,"\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"],["ba41","\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296",5,"\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5",6,"\uD2AD"],["ba61","\uD2AE\uD2AF\uD2B0\uD2B2",5,"\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3",4,"\uD2CA\uD2CC",5],["ba81","\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD",6,"\uD2E6",9,"\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"],["bb41","\uD2FB",4,"\uD302\uD304\uD306",5,"\uD30F\uD311\uD312\uD313\uD315\uD317",4,"\uD31E\uD322\uD323"],["bb61","\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331",6,"\uD33A\uD33E",5,"\uD346\uD347\uD348\uD349"],["bb81","\uD34A",31,"\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"],["bc41","\uD36A",17,"\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"],["bc61","\uD388\uD389\uD38A\uD38B\uD38E\uD392",5,"\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1",6,"\uD3AA\uD3AC\uD3AE"],["bc81","\uD3AF",4,"\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD",6,"\uD3C6\uD3C7\uD3CA",5,"\uD3D1",5,"\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C",4,"\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"],["bd41","\uD3D7\uD3D9",7,"\uD3E2\uD3E4",7,"\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"],["bd61","\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402",5,"\uD409",13],["bd81","\uD417",5,"\uD41E",25,"\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"],["be41","\uD438",7,"\uD441\uD442\uD443\uD445",14],["be61","\uD454",7,"\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465",7,"\uD46E\uD470\uD471\uD472"],["be81","\uD473",4,"\uD47A\uD47B\uD47D\uD47E\uD481\uD483",4,"\uD48A\uD48C\uD48E",5,"\uD495",8,"\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4",6,"\uC5CC\uC5CE"],["bf41","\uD49E",10,"\uD4AA",14],["bf61","\uD4B9",18,"\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"],["bf81","\uD4D6",5,"\uD4DD\uD4DE\uD4E0",7,"\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1",6,"\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC",5,"\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"],["c041","\uD4FE",5,"\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D",6,"\uD516\uD518",5],["c061","\uD51E",25],["c081","\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545",6,"\uD54E\uD550\uD552",5,"\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751",7,"\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"],["c141","\uD564\uD566\uD567\uD56A\uD56C\uD56E",5,"\uD576\uD577\uD579\uD57A\uD57B\uD57D",6,"\uD586\uD58A\uD58B"],["c161","\uD58C\uD58D\uD58E\uD58F\uD591",19,"\uD5A6\uD5A7"],["c181","\uD5A8",31,"\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"],["c241","\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3",4,"\uD5DA\uD5DC\uD5DE",5,"\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"],["c261","\uD5EF",4,"\uD5F6\uD5F8\uD5FA",5,"\uD602\uD603\uD605\uD606\uD607\uD609",6,"\uD612"],["c281","\uD616",5,"\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625",7,"\uD62E",9,"\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"],["c341","\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D",4],["c361","\uD662",4,"\uD668\uD66A",5,"\uD672\uD673\uD675",11],["c381","\uD681\uD682\uD684\uD686",5,"\uD68E\uD68F\uD691\uD692\uD693\uD695",7,"\uD69E\uD6A0\uD6A2",5,"\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"],["c441","\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1",7,"\uD6BA\uD6BC",7,"\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"],["c461","\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA",5,"\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9",4],["c481","\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6",5,"\uD6FE\uD6FF\uD701\uD702\uD703\uD705",11,"\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"],["c541","\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721",6,"\uD72A\uD72C\uD72E",5,"\uD736\uD737\uD739"],["c561","\uD73A\uD73B\uD73D",6,"\uD745\uD746\uD748\uD74A",5,"\uD752\uD753\uD755\uD75A",4],["c581","\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775",6,"\uD77E\uD77F\uD780\uD782",5,"\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"],["c641","\uD78D\uD78E\uD78F\uD791",6,"\uD79A\uD79C\uD79E",5],["c6a1","\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"],["c7a1","\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"],["c8a1","\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"],["caa1","\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"],["cba1","\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"],["cca1","\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"],["cda1","\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"],["cea1","\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"],["cfa1","\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"],["d0a1","\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"],["d1a1","\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E",5,"\u90A3\uF914",4,"\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"],["d2a1","\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928",4,"\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933",5,"\u99D1\uF939",10,"\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A",7,"\u5AE9\u8A25\u677B\u7D10\uF952",5,"\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"],["d3a1","\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"],["d4a1","\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"],["d5a1","\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"],["d6a1","\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"],["d7a1","\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"],["d8a1","\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"],["d9a1","\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"],["daa1","\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"],["dba1","\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"],["dca1","\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"],["dda1","\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"],["dea1","\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"],["dfa1","\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"],["e0a1","\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"],["e1a1","\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"],["e2a1","\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"],["e3a1","\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"],["e4a1","\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"],["e5a1","\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"],["e6a1","\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"],["e7a1","\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"],["e8a1","\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"],["e9a1","\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"],["eaa1","\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"],["eba1","\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"],["eca1","\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"],["eda1","\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"],["eea1","\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"],["efa1","\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"],["f0a1","\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"],["f1a1","\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"],["f2a1","\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"],["f3a1","\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"],["f4a1","\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"],["f5a1","\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"],["f6a1","\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"],["f7a1","\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"],["f8a1","\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"],["f9a1","\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"],["faa1","\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"],["fba1","\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"],["fca1","\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"],["fda1","\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"]]});var kS=j((K$e,sW)=>{sW.exports=[["0","\0",127],["a140","\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"],["a1a1","\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62",4,"\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"],["a240","\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581",7,"\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"],["a2a1","\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10",9,"\u2160",9,"\u3021",8,"\u5341\u5344\u5345\uFF21",25,"\uFF41",21],["a340","\uFF57\uFF58\uFF59\uFF5A\u0391",16,"\u03A3",6,"\u03B1",16,"\u03C3",6,"\u3105",10],["a3a1","\u3110",25,"\u02D9\u02C9\u02CA\u02C7\u02CB"],["a3e1","\u20AC"],["a440","\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"],["a4a1","\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"],["a540","\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"],["a5a1","\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"],["a640","\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"],["a6a1","\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"],["a740","\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"],["a7a1","\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"],["a840","\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"],["a8a1","\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"],["a940","\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"],["a9a1","\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"],["aa40","\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"],["aaa1","\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"],["ab40","\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"],["aba1","\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"],["ac40","\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"],["aca1","\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"],["ad40","\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"],["ada1","\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"],["ae40","\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"],["aea1","\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"],["af40","\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"],["afa1","\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"],["b040","\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"],["b0a1","\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"],["b140","\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"],["b1a1","\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"],["b240","\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"],["b2a1","\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"],["b340","\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"],["b3a1","\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"],["b440","\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"],["b4a1","\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"],["b540","\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"],["b5a1","\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"],["b640","\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"],["b6a1","\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"],["b740","\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"],["b7a1","\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"],["b840","\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"],["b8a1","\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"],["b940","\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"],["b9a1","\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"],["ba40","\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"],["baa1","\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"],["bb40","\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"],["bba1","\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"],["bc40","\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"],["bca1","\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"],["bd40","\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"],["bda1","\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"],["be40","\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"],["bea1","\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"],["bf40","\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"],["bfa1","\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"],["c040","\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"],["c0a1","\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"],["c140","\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"],["c1a1","\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"],["c240","\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"],["c2a1","\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"],["c340","\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"],["c3a1","\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"],["c440","\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"],["c4a1","\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"],["c540","\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"],["c5a1","\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"],["c640","\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"],["c940","\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"],["c9a1","\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"],["ca40","\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"],["caa1","\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"],["cb40","\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"],["cba1","\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"],["cc40","\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"],["cca1","\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"],["cd40","\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"],["cda1","\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"],["ce40","\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"],["cea1","\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"],["cf40","\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"],["cfa1","\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"],["d040","\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"],["d0a1","\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"],["d140","\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"],["d1a1","\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"],["d240","\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"],["d2a1","\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"],["d340","\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"],["d3a1","\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"],["d440","\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"],["d4a1","\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"],["d540","\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"],["d5a1","\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"],["d640","\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"],["d6a1","\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"],["d740","\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"],["d7a1","\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"],["d840","\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"],["d8a1","\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"],["d940","\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"],["d9a1","\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"],["da40","\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"],["daa1","\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"],["db40","\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"],["dba1","\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"],["dc40","\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"],["dca1","\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"],["dd40","\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"],["dda1","\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"],["de40","\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"],["dea1","\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"],["df40","\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"],["dfa1","\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"],["e040","\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"],["e0a1","\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"],["e140","\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"],["e1a1","\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"],["e240","\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"],["e2a1","\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"],["e340","\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"],["e3a1","\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"],["e440","\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"],["e4a1","\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"],["e540","\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"],["e5a1","\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"],["e640","\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"],["e6a1","\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"],["e740","\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"],["e7a1","\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"],["e840","\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"],["e8a1","\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"],["e940","\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"],["e9a1","\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"],["ea40","\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"],["eaa1","\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"],["eb40","\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"],["eba1","\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"],["ec40","\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"],["eca1","\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"],["ed40","\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"],["eda1","\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"],["ee40","\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"],["eea1","\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"],["ef40","\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"],["efa1","\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"],["f040","\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"],["f0a1","\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"],["f140","\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"],["f1a1","\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"],["f240","\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"],["f2a1","\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"],["f340","\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"],["f3a1","\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"],["f440","\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"],["f4a1","\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"],["f540","\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"],["f5a1","\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"],["f640","\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"],["f6a1","\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"],["f740","\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"],["f7a1","\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"],["f840","\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"],["f8a1","\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"],["f940","\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"],["f9a1","\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"]]});var FC=j((J$e,cW)=>{cW.exports=[["8740","\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"],["8767","\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"],["87a1","\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"],["8840","\u31C0",4,"\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"],["88a1","\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"],["8940","\u{2A3A9}\u{21145}"],["8943","\u650A"],["8946","\u4E3D\u6EDD\u9D4E\u91DF"],["894c","\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"],["89a1","\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"],["89ab","\u918C\u78B8\u915E\u80BC"],["89b0","\u8D0B\u80F6\u{209E7}"],["89b5","\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"],["89c1","\u6E9A\u823E\u7519"],["89c5","\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"],["8a40","\u{27D84}\u5525"],["8a43","\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"],["8a64","\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"],["8a76","\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"],["8aa1","\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"],["8aac","\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"],["8ab2","\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"],["8abb","\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"],["8ac9","\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"],["8ace","\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"],["8adf","\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"],["8af6","\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"],["8b40","\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"],["8b55","\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"],["8ba1","\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"],["8bde","\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"],["8c40","\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"],["8ca1","\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"],["8ca7","\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"],["8cc9","\u9868\u676B\u4276\u573D"],["8cce","\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"],["8ce6","\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"],["8d40","\u{20B9F}"],["8d42","\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"],["8da1","\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"],["8e40","\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"],["8ea1","\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"],["8f40","\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"],["8fa1","\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"],["9040","\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"],["90a1","\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"],["9140","\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"],["91a1","\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"],["9240","\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"],["92a1","\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"],["9340","\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"],["93a1","\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"],["9440","\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"],["94a1","\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"],["9540","\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"],["95a1","\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"],["9640","\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"],["96a1","\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"],["9740","\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"],["97a1","\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"],["9840","\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"],["98a1","\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"],["9940","\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"],["99a1","\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"],["9a40","\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"],["9aa1","\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"],["9b40","\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"],["9b62","\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"],["9ba1","\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"],["9c40","\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"],["9ca1","\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"],["9d40","\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"],["9da1","\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"],["9e40","\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"],["9ea1","\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"],["9ead","\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"],["9ec5","\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"],["9ef5","\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"],["9f40","\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"],["9f4f","\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"],["9fa1","\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"],["9fae","\u9159\u9681\u915C"],["9fb2","\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"],["9fc1","\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"],["9fc9","\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"],["9fdb","\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"],["9fe7","\u6BFA\u8818\u7F78"],["9feb","\u5620\u{2A64A}\u8E77\u9F53"],["9ff0","\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"],["a040","\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"],["a055","\u{2183B}\u{26E05}"],["a058","\u8A7E\u{2251B}"],["a05b","\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"],["a063","\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"],["a073","\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"],["a0a1","\u5D57\u{28BC2}\u8FDA\u{28E39}"],["a0a6","\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"],["a0ae","\u77FE"],["a0b0","\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"],["a0d4","\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"],["a0e2","\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"],["a3c0","\u2400",31,"\u2421"],["c6a1","\u2460",9,"\u2474",9,"\u2170",9,"\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041",23],["c740","\u3059",58,"\u30A1\u30A2\u30A3\u30A4"],["c7a1","\u30A5",81,"\u0410",5,"\u0401\u0416",4],["c840","\u041B",26,"\u0451\u0436",25,"\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"],["c8a1","\u9FB0\u5188\u9FB1\u{27607}"],["c8cd","\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"],["c8f5","\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"],["f9fe","\uFFED"],["fa40","\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"],["faa1","\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"],["fb40","\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"],["fba1","\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"],["fc40","\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"],["fca1","\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"],["fd40","\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"],["fda1","\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"],["fe40","\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"],["fea1","\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"]]});var HC=j((X$e,ZC)=>{"use strict";ZC.exports={shiftjis:{type:"_dbcs",table:function(){return zC()},encodeAdd:{"\xA5":92,"\u203E":126},encodeSkipVals:[{from:60736,to:63808}]},csshiftjis:"shiftjis",mskanji:"shiftjis",sjis:"shiftjis",windows31j:"shiftjis",ms31j:"shiftjis",xsjis:"shiftjis",windows932:"shiftjis",ms932:"shiftjis",932:"shiftjis",cp932:"shiftjis",eucjp:{type:"_dbcs",table:function(){return UC()},encodeAdd:{"\xA5":92,"\u203E":126}},gb2312:"cp936",gb231280:"cp936",gb23121980:"cp936",csgb2312:"cp936",csiso58gb231280:"cp936",euccn:"cp936",windows936:"cp936",ms936:"cp936",936:"cp936",cp936:{type:"_dbcs",table:function(){return bm()}},gbk:{type:"_dbcs",table:function(){return bm().concat(ES())}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return bm().concat(ES())},gb18030:function(){return qC()},encodeSkipVals:[128],encodeAdd:{"\u20AC":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return LC()}},cseuckr:"cp949",csksc56011987:"cp949",euckr:"cp949",isoir149:"cp949",korean:"cp949",ksc56011987:"cp949",ksc56011989:"cp949",ksc5601:"cp949",windows950:"cp950",ms950:"cp950",950:"cp950",cp950:{type:"_dbcs",table:function(){return kS()}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return kS().concat(FC())},encodeSkipVals:[41676]},cnbig5:"big5hkscs",csbig5:"big5hkscs",xxbig5:"big5hkscs"}});var GC=j((VC,Cs)=>{"use strict";var BC=[$C(),kC(),IC(),OC(),CC(),jC(),DC(),HC()];for(xm=0;xm{"use strict";var WC=require("buffer").Buffer,wm=require("stream").Transform;KC.exports=function(t){t.encodeStream=function(r,n){return new ao(t.getEncoder(r,n),n)},t.decodeStream=function(r,n){return new pa(t.getDecoder(r,n),n)},t.supportsStreams=!0,t.IconvLiteEncoderStream=ao,t.IconvLiteDecoderStream=pa,t._collect=pa.prototype.collect};function ao(t,e){this.conv=t,e=e||{},e.decodeStrings=!1,wm.call(this,e)}ao.prototype=Object.create(wm.prototype,{constructor:{value:ao}});ao.prototype._transform=function(t,e,r){if(typeof t!="string")return r(new Error("Iconv encoding stream needs strings as its input."));try{var n=this.conv.write(t);n&&n.length&&this.push(n),r()}catch(i){r(i)}};ao.prototype._flush=function(t){try{var e=this.conv.end();e&&e.length&&this.push(e),t()}catch(r){t(r)}};ao.prototype.collect=function(t){var e=[];return this.on("error",t),this.on("data",function(r){e.push(r)}),this.on("end",function(){t(null,WC.concat(e))}),this};function pa(t,e){this.conv=t,e=e||{},e.encoding=this.encoding="utf8",wm.call(this,e)}pa.prototype=Object.create(wm.prototype,{constructor:{value:pa}});pa.prototype._transform=function(t,e,r){if(!WC.isBuffer(t))return r(new Error("Iconv decoding stream needs buffers as its input."));try{var n=this.conv.write(t);n&&n.length&&this.push(n,this.encoding),r()}catch(i){r(i)}};pa.prototype._flush=function(t){try{var e=this.conv.end();e&&e.length&&this.push(e,this.encoding),t()}catch(r){t(r)}};pa.prototype.collect=function(t){var e="";return this.on("error",t),this.on("data",function(r){e+=r}),this.on("end",function(){t(null,e)}),this}});var YC=j((Q$e,XC)=>{"use strict";var Wt=require("buffer").Buffer;XC.exports=function(t){var e=void 0;t.supportsNodeEncodingsExtension=!(Wt.from||new Wt(0)instanceof Uint8Array),t.extendNodeEncodings=function(){if(!e){if(e={},!t.supportsNodeEncodingsExtension){console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node"),console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility");return}var n={hex:!0,utf8:!0,"utf-8":!0,ascii:!0,binary:!0,base64:!0,ucs2:!0,"ucs-2":!0,utf16le:!0,"utf-16le":!0};Wt.isNativeEncoding=function(o){return o&&n[o.toLowerCase()]};var i=require("buffer").SlowBuffer;if(e.SlowBufferToString=i.prototype.toString,i.prototype.toString=function(o,s,c){return o=String(o||"utf8").toLowerCase(),Wt.isNativeEncoding(o)?e.SlowBufferToString.call(this,o,s,c):(typeof s>"u"&&(s=0),typeof c>"u"&&(c=this.length),t.decode(this.slice(s,c),o))},e.SlowBufferWrite=i.prototype.write,i.prototype.write=function(o,s,c,u){if(isFinite(s))isFinite(c)||(u=c,c=void 0);else{var l=u;u=s,s=c,c=l}s=+s||0;var d=this.length-s;if(c?(c=+c,c>d&&(c=d)):c=d,u=String(u||"utf8").toLowerCase(),Wt.isNativeEncoding(u))return e.SlowBufferWrite.call(this,o,s,c,u);if(o.length>0&&(c<0||s<0))throw new RangeError("attempt to write beyond buffer bounds");var p=t.encode(o,u);return p.length"u"&&(s=0),typeof c>"u"&&(c=this.length),t.decode(this.slice(s,c),o))},e.BufferWrite=Wt.prototype.write,Wt.prototype.write=function(o,s,c,u){var l=s,d=c,p=u;if(isFinite(s))isFinite(c)||(u=c,c=void 0);else{var f=u;u=s,s=c,c=f}if(u=String(u||"utf8").toLowerCase(),Wt.isNativeEncoding(u))return e.BufferWrite.call(this,o,l,d,p);s=+s||0;var h=this.length-s;if(c?(c=+c,c>h&&(c=h)):c=h,o.length>0&&(c<0||s<0))throw new RangeError("attempt to write beyond buffer bounds");var _=t.encode(o,u);return _.length{"use strict";var eN=no().Buffer,tN=xC(),ft=rN.exports;ft.encodings=null;ft.defaultCharUnicode="\uFFFD";ft.defaultCharSingleByte="?";ft.encode=function(e,r,n){e=""+(e||"");var i=ft.getEncoder(r,n),a=i.write(e),o=i.end();return o&&o.length>0?eN.concat([a,o]):a};ft.decode=function(e,r,n){typeof e=="string"&&(ft.skipDecodeWarning||(console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"),ft.skipDecodeWarning=!0),e=eN.from(""+(e||""),"binary"));var i=ft.getDecoder(r,n),a=i.write(e),o=i.end();return o?a+o:a};ft.encodingExists=function(e){try{return ft.getCodec(e),!0}catch{return!1}};ft.toEncoding=ft.encode;ft.fromEncoding=ft.decode;ft._codecDataCache={};ft.getCodec=function(e){ft.encodings||(ft.encodings=GC());for(var r=ft._canonicalizeEncoding(e),n={};;){var i=ft._codecDataCache[r];if(i)return i;var a=ft.encodings[r];switch(typeof a){case"string":r=a;break;case"object":for(var o in a)n[o]=a[o];n.encodingName||(n.encodingName=r),r=a.type;break;case"function":return n.encodingName||(n.encodingName=r),i=new a(n,ft),ft._codecDataCache[n.encodingName]=i,i;default:throw new Error("Encoding not recognized: '"+e+"' (searched as: '"+r+"')")}}};ft._canonicalizeEncoding=function(t){return(""+t).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")};ft.getEncoder=function(e,r){var n=ft.getCodec(e),i=new n.encoder(r,n);return n.bomAware&&r&&r.addBOM&&(i=new tN.PrependBOM(i,r)),i};ft.getDecoder=function(e,r){var n=ft.getCodec(e),i=new n.decoder(r,n);return n.bomAware&&!(r&&r.stripBOM===!1)&&(i=new tN.StripBOM(i,r)),i};var QC=typeof process<"u"&&process.versions&&process.versions.node;QC&&(TS=QC.split(".").map(Number),(TS[0]>0||TS[1]>=10)&&JC()(ft),YC()(ft));var TS});var $m=j((tEe,nN)=>{"use strict";nN.exports=lW;function uW(t){for(var e=t.listeners("data"),r=0;r{"use strict";var iN=yW(),dW=Es(),oo=to(),pW=IS(),fW=$m();oN.exports=gW;var mW=/^Encoding not recognized: /;function hW(t){if(!t)return null;try{return pW.getDecoder(t)}catch(e){throw mW.test(e.message)?oo(415,"specified encoding unsupported",{encoding:t,type:"encoding.unsupported"}):e}}function gW(t,e,r){var n=r,i=e||{};if(t===void 0)throw new TypeError("argument stream is required");if(typeof t!="object"||t===null||typeof t.on!="function")throw new TypeError("argument stream must be a stream");if((e===!0||typeof e=="string")&&(i={encoding:e}),typeof e=="function"&&(n=e,i={}),n!==void 0&&typeof n!="function")throw new TypeError("argument callback must be a function");if(!n&&!global.Promise)throw new TypeError("argument callback is required");var a=i.encoding!==!0?i.encoding:"utf-8",o=dW.parse(i.limit),s=i.length!=null&&!isNaN(i.length)?parseInt(i.length,10):null;return n?aN(t,a,s,o,_W(n)):new Promise(function(u,l){aN(t,a,s,o,function(p,f){if(p)return l(p);u(f)})})}function vW(t){fW(t),typeof t.pause=="function"&&t.pause()}function aN(t,e,r,n,i){var a=!1,o=!0;if(n!==null&&r!==null&&r>n)return d(oo(413,"request entity too large",{expected:r,length:r,limit:n,type:"entity.too.large"}));var s=t._readableState;if(t._decoder||s&&(s.encoding||s.decoder))return d(oo(500,"stream encoding should not be set",{type:"stream.encoding.set"}));if(typeof t.readable<"u"&&!t.readable)return d(oo(500,"stream is not readable",{type:"stream.not.readable"}));var c=0,u;try{u=hW(e)}catch(g){return d(g)}var l=u?"":[];t.on("aborted",p),t.on("close",_),t.on("data",f),t.on("end",h),t.on("error",h),o=!1;function d(){for(var g=new Array(arguments.length),m=0;mn?d(oo(413,"request entity too large",{limit:n,received:c,type:"entity.too.large"})):u?l+=u.write(g):l.push(g))}function h(g){if(!a){if(g)return d(g);if(r!==null&&c!==r)d(oo(400,"request size did not match content length",{expected:r,length:r,received:c,type:"request.size.invalid"}));else{var m=u?l+(u.end()||""):Buffer.concat(l);d(null,m)}}}function _(){l=null,t.removeListener("aborted",p),t.removeListener("data",f),t.removeListener("end",h),t.removeListener("error",h),t.removeListener("close",_)}}function yW(){try{return require("async_hooks")}catch{return{}}}function _W(t){var e;return iN.AsyncResource&&(e=new iN.AsyncResource(t.name||"bound-anonymous-fn")),!e||!e.runInAsyncScope?t:e.runInAsyncScope.bind(e,t,null)}});var uN=j((nEe,cN)=>{"use strict";cN.exports=bW;function bW(t,e){if(!Array.isArray(t))throw new TypeError("arg must be an array of [ee, events...] arrays");for(var r=[],n=0;n{"use strict";PS.exports=wW;PS.exports.isFinished=pN;var lN=IW(),dN=uN(),SW=typeof setImmediate=="function"?setImmediate:function(t){process.nextTick(t.bind.apply(t,arguments))};function wW(t,e){return pN(t)!==!1?(SW(e,null,t),t):(EW(t,PW(e)),t)}function pN(t){var e=t.socket;if(typeof t.finished=="boolean")return!!(t.finished||e&&!e.writable);if(typeof t.complete=="boolean")return!!(t.upgrade||!e||!e.readable||t.complete&&!t.readable)}function $W(t,e){var r,n,i=!1;function a(s){r.cancel(),n.cancel(),i=!0,e(s)}r=n=dN([[t,"end","finish"]],a);function o(s){t.removeListener("socket",o),!i&&r===n&&(n=dN([[s,"error","close"]],a))}if(t.socket){o(t.socket);return}t.on("socket",o),t.socket===void 0&&TW(t,o)}function EW(t,e){var r=t.__onFinished;(!r||!r.queue)&&(r=t.__onFinished=kW(t),$W(t,r)),r.queue.push(e)}function kW(t){function e(r){if(t.__onFinished===e&&(t.__onFinished=null),!!e.queue){var n=e.queue;e.queue=null;for(var i=0;i{"use strict";var fa=to(),OW=Q0(),RW=sN(),fN=IS(),mN=Ol(),CW=$m(),hN=require("zlib");gN.exports=NW;function NW(t,e,r,n,i,a){var o,s=a,c;t._body=!0;var u=s.encoding!==null?s.encoding:null,l=s.verify;try{c=jW(t,i,s.inflate),o=c.length,c.length=void 0}catch(d){return r(d)}if(s.length=o,s.encoding=l?null:u,s.encoding===null&&u!==null&&!fN.encodingExists(u))return r(fa(415,'unsupported charset "'+u.toUpperCase()+'"',{charset:u.toLowerCase(),type:"charset.unsupported"}));i("read body"),RW(c,s,function(d,p){if(d){var f;d.type==="encoding.unsupported"?f=fa(415,'unsupported charset "'+u.toUpperCase()+'"',{charset:u.toLowerCase(),type:"charset.unsupported"}):f=fa(400,d),c!==t&&(CW(t),OW(c,!0)),AW(t,function(){r(fa(400,f))});return}if(l)try{i("verify body"),l(t,e,p,u)}catch(_){r(fa(403,_,{body:p,type:_.type||"entity.verify.failed"}));return}var h=p;try{i("parse body"),h=typeof p!="string"&&u!==null?fN.decode(p,u):p,t.body=n(h)}catch(_){r(fa(400,_,{body:h,type:_.type||"entity.parse.failed"}));return}r()})}function jW(t,e,r){var n=(t.headers["content-encoding"]||"identity").toLowerCase(),i=t.headers["content-length"],a;if(e('content-encoding "%s"',n),r===!1&&n!=="identity")throw fa(415,"content encoding unsupported",{encoding:n,type:"encoding.unsupported"});switch(n){case"deflate":a=hN.createInflate(),e("inflate body"),t.pipe(a);break;case"gzip":a=hN.createGunzip(),e("gunzip body"),t.pipe(a);break;case"identity":a=t,a.length=i;break;default:throw fa(415,'unsupported content encoding "'+n+'"',{encoding:n,type:"encoding.unsupported"})}return a}function AW(t,e){mN.isFinished(t)?e(null):(mN(t,e),t.resume())}});var bN=j(OS=>{var vN=/; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u0020-\u007e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g,MW=/^[\u0020-\u007e\u0080-\u00ff]+$/,_N=/^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/,DW=/\\([\u0000-\u007f])/g,zW=/([\\"])/g,UW=/^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/,yN=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/,qW=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;OS.format=LW;OS.parse=FW;function LW(t){if(!t||typeof t!="object")throw new TypeError("argument obj is required");var e=t.parameters,r=t.subtype,n=t.suffix,i=t.type;if(!i||!yN.test(i))throw new TypeError("invalid type");if(!r||!UW.test(r))throw new TypeError("invalid subtype");var a=i+"/"+r;if(n){if(!yN.test(n))throw new TypeError("invalid suffix");a+="+"+n}if(e&&typeof e=="object")for(var o,s=Object.keys(e).sort(),c=0;c0&&!MW.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(zW,"\\$1")+'"'}function BW(t){var e=qW.exec(t.toLowerCase());if(!e)throw new TypeError("invalid media type");var r=e[1],n=e[2],i,a=n.lastIndexOf("+");a!==-1&&(i=n.substr(a+1),n=n.substr(0,a));var o={type:r,subtype:n,suffix:i};return o}});var xN=j((sEe,VW)=>{VW.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var wN=j((cEe,SN)=>{SN.exports=xN()});var RS=j(Zr=>{"use strict";var Em=wN(),GW=require("path").extname,$N=/^\s*([^;\s]*)(?:;|\s|$)/,WW=/^text\//i;Zr.charset=EN;Zr.charsets={lookup:EN};Zr.contentType=KW;Zr.extension=JW;Zr.extensions=Object.create(null);Zr.lookup=XW;Zr.types=Object.create(null);YW(Zr.extensions,Zr.types);function EN(t){if(!t||typeof t!="string")return!1;var e=$N.exec(t),r=e&&Em[e[1].toLowerCase()];return r&&r.charset?r.charset:e&&WW.test(e[1])?"UTF-8":!1}function KW(t){if(!t||typeof t!="string")return!1;var e=t.indexOf("/")===-1?Zr.lookup(t):t;if(!e)return!1;if(e.indexOf("charset")===-1){var r=Zr.charset(e);r&&(e+="; charset="+r.toLowerCase())}return e}function JW(t){if(!t||typeof t!="string")return!1;var e=$N.exec(t),r=e&&Zr.extensions[e[1].toLowerCase()];return!r||!r.length?!1:r[0]}function XW(t){if(!t||typeof t!="string")return!1;var e=GW("x."+t).toLowerCase().substr(1);return e&&Zr.types[e]||!1}function YW(t,e){var r=["nginx","apache",void 0,"iana"];Object.keys(Em).forEach(function(i){var a=Em[i],o=a.extensions;if(!(!o||!o.length)){t[i]=o;for(var s=0;sl||u===l&&e[c].substr(0,12)==="application/"))continue}e[c]=i}}})}});var js=j((lEe,Ns)=>{"use strict";var kN=bN(),QW=RS();Ns.exports=eK;Ns.exports.is=TN;Ns.exports.hasBody=IN;Ns.exports.normalize=PN;Ns.exports.match=ON;function TN(t,e){var r,n=e,i=rK(t);if(!i)return!1;if(n&&!Array.isArray(n))for(n=new Array(arguments.length-1),r=0;r2){r=new Array(arguments.length-1);for(var n=0;n{"use strict";var nK=Es(),iK=_l(),aK=to(),ma=bn()("body-parser:json"),oK=Rl(),CN=js();jN.exports=uK;var sK=/^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/,RN="#",cK=/#+/g;function uK(t){var e=t||{},r=typeof e.limit!="number"?nK.parse(e.limit||"100kb"):e.limit,n=e.inflate!==!1,i=e.reviver,a=e.strict!==!1,o=e.type||"application/json",s=e.verify||!1;if(s!==!1&&typeof s!="function")throw new TypeError("option verify must be function");var c=typeof o!="function"?fK(o):o;function u(l){if(l.length===0)return{};if(a){var d=dK(l);if(d!=="{"&&d!=="[")throw ma("strict violation"),lK(l,d)}try{return ma("parse json"),JSON.parse(l,i)}catch(p){throw NN(p,{message:p.message,stack:p.stack})}}return function(d,p,f){if(d._body){ma("body already parsed"),f();return}if(d.body=d.body||{},!CN.hasBody(d)){ma("skip empty body"),f();return}if(ma("content-type %j",d.headers["content-type"]),!c(d)){ma("skip parsing"),f();return}var h=pK(d)||"utf-8";if(h.slice(0,4)!=="utf-"){ma("invalid charset"),f(aK(415,'unsupported charset "'+h.toUpperCase()+'"',{charset:h,type:"charset.unsupported"}));return}oK(d,p,f,u,ma,{encoding:h,inflate:n,limit:r,verify:s})}}function lK(t,e){var r=t.indexOf(e),n="";if(r!==-1){n=t.substring(0,r)+RN;for(var i=r+1;i{"use strict";var mK=Es(),Cl=bn()("body-parser:raw"),hK=Rl(),MN=js();DN.exports=gK;function gK(t){var e=t||{},r=e.inflate!==!1,n=typeof e.limit!="number"?mK.parse(e.limit||"100kb"):e.limit,i=e.type||"application/octet-stream",a=e.verify||!1;if(a!==!1&&typeof a!="function")throw new TypeError("option verify must be function");var o=typeof i!="function"?vK(i):i;function s(c){return c}return function(u,l,d){if(u._body){Cl("body already parsed"),d();return}if(u.body=u.body||{},!MN.hasBody(u)){Cl("skip empty body"),d();return}if(Cl("content-type %j",u.headers["content-type"]),!o(u)){Cl("skip parsing"),d();return}hK(u,l,d,s,Cl,{encoding:null,inflate:r,limit:n,verify:a})}}function vK(t){return function(r){return!!MN(r,t)}}});var LN=j((fEe,qN)=>{"use strict";var yK=Es(),_K=_l(),Nl=bn()("body-parser:text"),bK=Rl(),UN=js();qN.exports=xK;function xK(t){var e=t||{},r=e.defaultCharset||"utf-8",n=e.inflate!==!1,i=typeof e.limit!="number"?yK.parse(e.limit||"100kb"):e.limit,a=e.type||"text/plain",o=e.verify||!1;if(o!==!1&&typeof o!="function")throw new TypeError("option verify must be function");var s=typeof a!="function"?wK(a):a;function c(u){return u}return function(l,d,p){if(l._body){Nl("body already parsed"),p();return}if(l.body=l.body||{},!UN.hasBody(l)){Nl("skip empty body"),p();return}if(Nl("content-type %j",l.headers["content-type"]),!s(l)){Nl("skip parsing"),p();return}var f=SK(l)||r;bK(l,d,p,c,Nl,{encoding:f,inflate:n,limit:i,verify:o})}}function SK(t){try{return(_K.parse(t).parameters.charset||"").toLowerCase()}catch{return}}function wK(t){return function(r){return!!UN(r,t)}}});var so=j((mEe,FN)=>{"use strict";FN.exports=TypeError});var HN=j((hEe,ZN)=>{ZN.exports=require("util").inspect});var zl=j((gEe,lj)=>{var LS=typeof Map=="function"&&Map.prototype,CS=Object.getOwnPropertyDescriptor&&LS?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Tm=LS&&CS&&typeof CS.get=="function"?CS.get:null,BN=LS&&Map.prototype.forEach,FS=typeof Set=="function"&&Set.prototype,NS=Object.getOwnPropertyDescriptor&&FS?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,Im=FS&&NS&&typeof NS.get=="function"?NS.get:null,VN=FS&&Set.prototype.forEach,$K=typeof WeakMap=="function"&&WeakMap.prototype,Al=$K?WeakMap.prototype.has:null,EK=typeof WeakSet=="function"&&WeakSet.prototype,Ml=EK?WeakSet.prototype.has:null,kK=typeof WeakRef=="function"&&WeakRef.prototype,GN=kK?WeakRef.prototype.deref:null,TK=Boolean.prototype.valueOf,IK=Object.prototype.toString,PK=Function.prototype.toString,OK=String.prototype.match,ZS=String.prototype.slice,ha=String.prototype.replace,RK=String.prototype.toUpperCase,WN=String.prototype.toLowerCase,nj=RegExp.prototype.test,KN=Array.prototype.concat,fi=Array.prototype.join,CK=Array.prototype.slice,JN=Math.floor,MS=typeof BigInt=="function"?BigInt.prototype.valueOf:null,jS=Object.getOwnPropertySymbols,DS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,As=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Dl=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===As||!0)?Symbol.toStringTag:null,ij=Object.prototype.propertyIsEnumerable,XN=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function YN(t,e){if(t===1/0||t===-1/0||t!==t||t&&t>-1e3&&t<1e3||nj.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof t=="number"){var n=t<0?-JN(-t):JN(t);if(n!==t){var i=String(n),a=ZS.call(e,i.length+1);return ha.call(i,r,"$&_")+"."+ha.call(ha.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return ha.call(e,r,"$&_")}var zS=HN(),QN=zS.custom,ej=sj(QN)?QN:null,aj={__proto__:null,double:'"',single:"'"},NK={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};lj.exports=function t(e,r,n,i){var a=r||{};if(zi(a,"quoteStyle")&&!zi(aj,a.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(zi(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var o=zi(a,"customInspect")?a.customInspect:!0;if(typeof o!="boolean"&&o!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(zi(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(zi(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var s=a.numericSeparator;if(typeof e>"u")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return uj(e,a);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var c=String(e);return s?YN(e,c):c}if(typeof e=="bigint"){var u=String(e)+"n";return s?YN(e,u):u}var l=typeof a.depth>"u"?5:a.depth;if(typeof n>"u"&&(n=0),n>=l&&l>0&&typeof e=="object")return US(e)?"[Array]":"[Object]";var d=XK(a,n);if(typeof i>"u")i=[];else if(cj(i,e)>=0)return"[Circular]";function p(B,U,Y){if(U&&(i=CK.call(i),i.push(U)),Y){var me={depth:a.depth};return zi(a,"quoteStyle")&&(me.quoteStyle=a.quoteStyle),t(B,me,n+1,i)}return t(B,a,n+1,i)}if(typeof e=="function"&&!tj(e)){var f=FK(e),h=km(e,p);return"[Function"+(f?": "+f:" (anonymous)")+"]"+(h.length>0?" { "+fi.call(h,", ")+" }":"")}if(sj(e)){var _=As?ha.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):DS.call(e);return typeof e=="object"&&!As?jl(_):_}if(WK(e)){for(var g="<"+WN.call(String(e.nodeName)),m=e.attributes||[],y=0;y",g}if(US(e)){if(e.length===0)return"[]";var v=km(e,p);return d&&!JK(v)?"["+qS(v,d)+"]":"[ "+fi.call(v,", ")+" ]"}if(MK(e)){var b=km(e,p);return!("cause"in Error.prototype)&&"cause"in e&&!ij.call(e,"cause")?"{ ["+String(e)+"] "+fi.call(KN.call("[cause]: "+p(e.cause),b),", ")+" }":b.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+fi.call(b,", ")+" }"}if(typeof e=="object"&&o){if(ej&&typeof e[ej]=="function"&&zS)return zS(e,{depth:l-n});if(o!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(ZK(e)){var S=[];return BN&&BN.call(e,function(B,U){S.push(p(U,e,!0)+" => "+p(B,e))}),rj("Map",Tm.call(e),S,d)}if(VK(e)){var x=[];return VN&&VN.call(e,function(B){x.push(p(B,e))}),rj("Set",Im.call(e),x,d)}if(HK(e))return AS("WeakMap");if(GK(e))return AS("WeakSet");if(BK(e))return AS("WeakRef");if(zK(e))return jl(p(Number(e)));if(qK(e))return jl(p(MS.call(e)));if(UK(e))return jl(TK.call(e));if(DK(e))return jl(p(String(e)));if(typeof window<"u"&&e===window)return"{ [object Window] }";if(typeof globalThis<"u"&&e===globalThis||typeof global<"u"&&e===global)return"{ [object globalThis] }";if(!AK(e)&&!tj(e)){var w=km(e,p),E=XN?XN(e)===Object.prototype:e instanceof Object||e.constructor===Object,O=e instanceof Object?"":"null prototype",A=!E&&Dl&&Object(e)===e&&Dl in e?ZS.call(ga(e),8,-1):O?"Object":"",M=E||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",q=M+(A||O?"["+fi.call(KN.call([],A||[],O||[]),": ")+"] ":"");return w.length===0?q+"{}":d?q+"{"+qS(w,d)+"}":q+"{ "+fi.call(w,", ")+" }"}return String(e)};function oj(t,e,r){var n=r.quoteStyle||e,i=aj[n];return i+t+i}function jK(t){return ha.call(String(t),/"/g,""")}function co(t){return!Dl||!(typeof t=="object"&&(Dl in t||typeof t[Dl]<"u"))}function US(t){return ga(t)==="[object Array]"&&co(t)}function AK(t){return ga(t)==="[object Date]"&&co(t)}function tj(t){return ga(t)==="[object RegExp]"&&co(t)}function MK(t){return ga(t)==="[object Error]"&&co(t)}function DK(t){return ga(t)==="[object String]"&&co(t)}function zK(t){return ga(t)==="[object Number]"&&co(t)}function UK(t){return ga(t)==="[object Boolean]"&&co(t)}function sj(t){if(As)return t&&typeof t=="object"&&t instanceof Symbol;if(typeof t=="symbol")return!0;if(!t||typeof t!="object"||!DS)return!1;try{return DS.call(t),!0}catch{}return!1}function qK(t){if(!t||typeof t!="object"||!MS)return!1;try{return MS.call(t),!0}catch{}return!1}var LK=Object.prototype.hasOwnProperty||function(t){return t in this};function zi(t,e){return LK.call(t,e)}function ga(t){return IK.call(t)}function FK(t){if(t.name)return t.name;var e=OK.call(PK.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function cj(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;re.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return uj(ZS.call(t,0,e.maxStringLength),e)+n}var i=NK[e.quoteStyle||"single"];i.lastIndex=0;var a=ha.call(ha.call(t,i,"\\$1"),/[\x00-\x1f]/g,KK);return oj(a,"single",e)}function KK(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+RK.call(e.toString(16))}function jl(t){return"Object("+t+")"}function AS(t){return t+" { ? }"}function rj(t,e,r,n){var i=n?qS(r,n):fi.call(r,", ");return t+" ("+e+") {"+i+"}"}function JK(t){for(var e=0;e=0)return!1;return!0}function XK(t,e){var r;if(t.indent===" ")r=" ";else if(typeof t.indent=="number"&&t.indent>0)r=fi.call(Array(t.indent+1)," ");else return null;return{base:r,prev:fi.call(Array(e+1),r)}}function qS(t,e){if(t.length===0)return"";var r=` -`+e.prev+e.base;return r+fi.call(t,","+r)+` -`+e.prev}function km(t,e){var r=US(t),n=[];if(r){n.length=t.length;for(var i=0;i{"use strict";var YK=zl(),QK=so(),Pm=function(t,e,r){for(var n=t,i;(i=n.next)!=null;n=i)if(i.key===e)return n.next=i.next,r||(i.next=t.next,t.next=i),i},eJ=function(t,e){if(t){var r=Pm(t,e);return r&&r.value}},tJ=function(t,e,r){var n=Pm(t,e);n?n.value=r:t.next={key:e,next:t.next,value:r}},rJ=function(t,e){return t?!!Pm(t,e):!1},nJ=function(t,e){if(t)return Pm(t,e,!0)};dj.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new QK("Side channel does not contain "+YK(n))},delete:function(n){var i=e&&e.next,a=nJ(e,n);return a&&i&&i===a&&(e=void 0),!!a},get:function(n){return eJ(e,n)},has:function(n){return rJ(e,n)},set:function(n,i){e||(e={next:void 0}),tJ(e,n,i)}};return r}});var HS=j((yEe,fj)=>{"use strict";fj.exports=Object});var hj=j((_Ee,mj)=>{"use strict";mj.exports=Error});var vj=j((bEe,gj)=>{"use strict";gj.exports=EvalError});var _j=j((xEe,yj)=>{"use strict";yj.exports=RangeError});var xj=j((SEe,bj)=>{"use strict";bj.exports=ReferenceError});var wj=j((wEe,Sj)=>{"use strict";Sj.exports=SyntaxError});var Ej=j(($Ee,$j)=>{"use strict";$j.exports=URIError});var Tj=j((EEe,kj)=>{"use strict";kj.exports=Math.abs});var Pj=j((kEe,Ij)=>{"use strict";Ij.exports=Math.floor});var Rj=j((TEe,Oj)=>{"use strict";Oj.exports=Math.max});var Nj=j((IEe,Cj)=>{"use strict";Cj.exports=Math.min});var Aj=j((PEe,jj)=>{"use strict";jj.exports=Math.pow});var Dj=j((OEe,Mj)=>{"use strict";Mj.exports=Math.round});var Uj=j((REe,zj)=>{"use strict";zj.exports=Number.isNaN||function(e){return e!==e}});var Lj=j((CEe,qj)=>{"use strict";var iJ=Uj();qj.exports=function(e){return iJ(e)||e===0?e:e<0?-1:1}});var Zj=j((NEe,Fj)=>{"use strict";Fj.exports=Object.getOwnPropertyDescriptor});var BS=j((jEe,Hj)=>{"use strict";var Om=Zj();if(Om)try{Om([],"length")}catch{Om=null}Hj.exports=Om});var Vj=j((AEe,Bj)=>{"use strict";var Rm=Object.defineProperty||!1;if(Rm)try{Rm({},"a",{value:1})}catch{Rm=!1}Bj.exports=Rm});var Wj=j((MEe,Gj)=>{"use strict";Gj.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;e[r]=i;for(var a in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var o=Object.getOwnPropertySymbols(e);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(e,r);if(s.value!==i||s.enumerable!==!0)return!1}return!0}});var Xj=j((DEe,Jj)=>{"use strict";var Kj=typeof Symbol<"u"&&Symbol,aJ=Wj();Jj.exports=function(){return typeof Kj!="function"||typeof Symbol!="function"||typeof Kj("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:aJ()}});var VS=j((zEe,Yj)=>{"use strict";Yj.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var GS=j((UEe,Qj)=>{"use strict";var oJ=HS();Qj.exports=oJ.getPrototypeOf||null});var rA=j((qEe,tA)=>{"use strict";var sJ="Function.prototype.bind called on incompatible ",cJ=Object.prototype.toString,uJ=Math.max,lJ="[object Function]",eA=function(e,r){for(var n=[],i=0;i{"use strict";var fJ=rA();nA.exports=Function.prototype.bind||fJ});var Cm=j((FEe,iA)=>{"use strict";iA.exports=Function.prototype.call});var WS=j((ZEe,aA)=>{"use strict";aA.exports=Function.prototype.apply});var sA=j((HEe,oA)=>{"use strict";oA.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var uA=j((BEe,cA)=>{"use strict";var mJ=Ul(),hJ=WS(),gJ=Cm(),vJ=sA();cA.exports=vJ||mJ.call(gJ,hJ)});var KS=j((VEe,lA)=>{"use strict";var yJ=Ul(),_J=so(),bJ=Cm(),xJ=uA();lA.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new _J("a function is required");return xJ(yJ,bJ,e)}});var gA=j((GEe,hA)=>{"use strict";var SJ=KS(),dA=BS(),fA;try{fA=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var JS=!!fA&&dA&&dA(Object.prototype,"__proto__"),mA=Object,pA=mA.getPrototypeOf;hA.exports=JS&&typeof JS.get=="function"?SJ([JS.get]):typeof pA=="function"?function(e){return pA(e==null?e:mA(e))}:!1});var xA=j((WEe,bA)=>{"use strict";var vA=VS(),yA=GS(),_A=gA();bA.exports=vA?function(e){return vA(e)}:yA?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return yA(e)}:_A?function(e){return _A(e)}:null});var wA=j((KEe,SA)=>{"use strict";var wJ=Function.prototype.call,$J=Object.prototype.hasOwnProperty,EJ=Ul();SA.exports=EJ.call(wJ,$J)});var Am=j((JEe,PA)=>{"use strict";var Ke,kJ=HS(),TJ=hj(),IJ=vj(),PJ=_j(),OJ=xj(),Us=wj(),zs=so(),RJ=Ej(),CJ=Tj(),NJ=Pj(),jJ=Rj(),AJ=Nj(),MJ=Aj(),DJ=Dj(),zJ=Lj(),TA=Function,XS=function(t){try{return TA('"use strict"; return ('+t+").constructor;")()}catch{}},ql=BS(),UJ=Vj(),YS=function(){throw new zs},qJ=ql?(function(){try{return arguments.callee,YS}catch{try{return ql(arguments,"callee").get}catch{return YS}}})():YS,Ms=Xj()(),or=xA(),LJ=GS(),FJ=VS(),IA=WS(),Ll=Cm(),Ds={},ZJ=typeof Uint8Array>"u"||!or?Ke:or(Uint8Array),uo={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?Ke:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Ke:ArrayBuffer,"%ArrayIteratorPrototype%":Ms&&or?or([][Symbol.iterator]()):Ke,"%AsyncFromSyncIteratorPrototype%":Ke,"%AsyncFunction%":Ds,"%AsyncGenerator%":Ds,"%AsyncGeneratorFunction%":Ds,"%AsyncIteratorPrototype%":Ds,"%Atomics%":typeof Atomics>"u"?Ke:Atomics,"%BigInt%":typeof BigInt>"u"?Ke:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Ke:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Ke:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Ke:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":TJ,"%eval%":eval,"%EvalError%":IJ,"%Float16Array%":typeof Float16Array>"u"?Ke:Float16Array,"%Float32Array%":typeof Float32Array>"u"?Ke:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Ke:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Ke:FinalizationRegistry,"%Function%":TA,"%GeneratorFunction%":Ds,"%Int8Array%":typeof Int8Array>"u"?Ke:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Ke:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Ke:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Ms&&or?or(or([][Symbol.iterator]())):Ke,"%JSON%":typeof JSON=="object"?JSON:Ke,"%Map%":typeof Map>"u"?Ke:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Ms||!or?Ke:or(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":kJ,"%Object.getOwnPropertyDescriptor%":ql,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Ke:Promise,"%Proxy%":typeof Proxy>"u"?Ke:Proxy,"%RangeError%":PJ,"%ReferenceError%":OJ,"%Reflect%":typeof Reflect>"u"?Ke:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Ke:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Ms||!or?Ke:or(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Ke:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Ms&&or?or(""[Symbol.iterator]()):Ke,"%Symbol%":Ms?Symbol:Ke,"%SyntaxError%":Us,"%ThrowTypeError%":qJ,"%TypedArray%":ZJ,"%TypeError%":zs,"%Uint8Array%":typeof Uint8Array>"u"?Ke:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Ke:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Ke:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Ke:Uint32Array,"%URIError%":RJ,"%WeakMap%":typeof WeakMap>"u"?Ke:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Ke:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Ke:WeakSet,"%Function.prototype.call%":Ll,"%Function.prototype.apply%":IA,"%Object.defineProperty%":UJ,"%Object.getPrototypeOf%":LJ,"%Math.abs%":CJ,"%Math.floor%":NJ,"%Math.max%":jJ,"%Math.min%":AJ,"%Math.pow%":MJ,"%Math.round%":DJ,"%Math.sign%":zJ,"%Reflect.getPrototypeOf%":FJ};if(or)try{null.error}catch(t){$A=or(or(t)),uo["%Error.prototype%"]=$A}var $A,HJ=function t(e){var r;if(e==="%AsyncFunction%")r=XS("async function () {}");else if(e==="%GeneratorFunction%")r=XS("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=XS("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var i=t("%AsyncGenerator%");i&&or&&(r=or(i.prototype))}return uo[e]=r,r},EA={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Fl=Ul(),Nm=wA(),BJ=Fl.call(Ll,Array.prototype.concat),VJ=Fl.call(IA,Array.prototype.splice),kA=Fl.call(Ll,String.prototype.replace),jm=Fl.call(Ll,String.prototype.slice),GJ=Fl.call(Ll,RegExp.prototype.exec),WJ=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,KJ=/\\(\\)?/g,JJ=function(e){var r=jm(e,0,1),n=jm(e,-1);if(r==="%"&&n!=="%")throw new Us("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new Us("invalid intrinsic syntax, expected opening `%`");var i=[];return kA(e,WJ,function(a,o,s,c){i[i.length]=s?kA(c,KJ,"$1"):o||a}),i},XJ=function(e,r){var n=e,i;if(Nm(EA,n)&&(i=EA[n],n="%"+i[0]+"%"),Nm(uo,n)){var a=uo[n];if(a===Ds&&(a=HJ(n)),typeof a>"u"&&!r)throw new zs("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:a}}throw new Us("intrinsic "+e+" does not exist!")};PA.exports=function(e,r){if(typeof e!="string"||e.length===0)throw new zs("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new zs('"allowMissing" argument must be a boolean');if(GJ(/^%?[^%]*%?$/,e)===null)throw new Us("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=JJ(e),i=n.length>0?n[0]:"",a=XJ("%"+i+"%",r),o=a.name,s=a.value,c=!1,u=a.alias;u&&(i=u[0],VJ(n,BJ([0,1],u)));for(var l=1,d=!0;l=n.length){var _=ql(s,p);d=!!_,d&&"get"in _&&!("originalValue"in _.get)?s=_.get:s=s[p]}else d=Nm(s,p),s=s[p];d&&!c&&(uo[o]=s)}}return s}});var QS=j((XEe,CA)=>{"use strict";var OA=Am(),RA=KS(),YJ=RA([OA("%String.prototype.indexOf%")]);CA.exports=function(e,r){var n=OA(e,!!r);return typeof n=="function"&&YJ(e,".prototype.")>-1?RA([n]):n}});var ew=j((YEe,jA)=>{"use strict";var QJ=Am(),Zl=QS(),eX=zl(),tX=so(),NA=QJ("%Map%",!0),rX=Zl("Map.prototype.get",!0),nX=Zl("Map.prototype.set",!0),iX=Zl("Map.prototype.has",!0),aX=Zl("Map.prototype.delete",!0),oX=Zl("Map.prototype.size",!0);jA.exports=!!NA&&function(){var e,r={assert:function(n){if(!r.has(n))throw new tX("Side channel does not contain "+eX(n))},delete:function(n){if(e){var i=aX(e,n);return oX(e)===0&&(e=void 0),i}return!1},get:function(n){if(e)return rX(e,n)},has:function(n){return e?iX(e,n):!1},set:function(n,i){e||(e=new NA),nX(e,n,i)}};return r}});var MA=j((QEe,AA)=>{"use strict";var sX=Am(),Dm=QS(),cX=zl(),Mm=ew(),uX=so(),qs=sX("%WeakMap%",!0),lX=Dm("WeakMap.prototype.get",!0),dX=Dm("WeakMap.prototype.set",!0),pX=Dm("WeakMap.prototype.has",!0),fX=Dm("WeakMap.prototype.delete",!0);AA.exports=qs?function(){var e,r,n={assert:function(i){if(!n.has(i))throw new uX("Side channel does not contain "+cX(i))},delete:function(i){if(qs&&i&&(typeof i=="object"||typeof i=="function")){if(e)return fX(e,i)}else if(Mm&&r)return r.delete(i);return!1},get:function(i){return qs&&i&&(typeof i=="object"||typeof i=="function")&&e?lX(e,i):r&&r.get(i)},has:function(i){return qs&&i&&(typeof i=="object"||typeof i=="function")&&e?pX(e,i):!!r&&r.has(i)},set:function(i,a){qs&&i&&(typeof i=="object"||typeof i=="function")?(e||(e=new qs),dX(e,i,a)):Mm&&(r||(r=Mm()),r.set(i,a))}};return n}:Mm});var tw=j((eke,DA)=>{"use strict";var mX=so(),hX=zl(),gX=pj(),vX=ew(),yX=MA(),_X=yX||vX||gX;DA.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new mX("Side channel does not contain "+hX(n))},delete:function(n){return!!e&&e.delete(n)},get:function(n){return e&&e.get(n)},has:function(n){return!!e&&e.has(n)},set:function(n,i){e||(e=_X()),e.set(n,i)}};return r}});var zm=j((tke,zA)=>{"use strict";var bX=String.prototype.replace,xX=/%20/g,rw={RFC1738:"RFC1738",RFC3986:"RFC3986"};zA.exports={default:rw.RFC3986,formatters:{RFC1738:function(t){return bX.call(t,xX,"+")},RFC3986:function(t){return String(t)}},RFC1738:rw.RFC1738,RFC3986:rw.RFC3986}});var sw=j((rke,LA)=>{"use strict";var SX=zm(),wX=tw(),nw=Object.prototype.hasOwnProperty,lo=Array.isArray,qm=wX(),UA=function(e,r){return qm.set(e,r),e},Um=function(e){return qm.has(e)},aw=function(e){return qm.get(e)},qA=function(e,r){qm.set(e,r)},mi=(function(){for(var t=[],e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t})(),$X=function(e){for(;e.length>1;){var r=e.pop(),n=r.obj[r.prop];if(lo(n)){for(var i=[],a=0;a=iw?o.slice(c,c+iw):o,l=[],d=0;d=48&&p<=57||p>=65&&p<=90||p>=97&&p<=122||a===SX.RFC1738&&(p===40||p===41)){l[l.length]=u.charAt(d);continue}if(p<128){l[l.length]=mi[p];continue}if(p<2048){l[l.length]=mi[192|p>>6]+mi[128|p&63];continue}if(p<55296||p>=57344){l[l.length]=mi[224|p>>12]+mi[128|p>>6&63]+mi[128|p&63];continue}d+=1,p=65536+((p&1023)<<10|u.charCodeAt(d)&1023),l[l.length]=mi[240|p>>18]+mi[128|p>>12&63]+mi[128|p>>6&63]+mi[128|p&63]}s+=l.join("")}return s},PX=function(e){for(var r=[{obj:{o:e},prop:"o"}],n=[],i=0;in?UA(ow(o,{plainObjects:i}),o.length-1):o},NX=function(e,r){if(lo(e)){for(var n=[],i=0;i{"use strict";var ZA=tw(),Lm=sw(),Hl=zm(),jX=Object.prototype.hasOwnProperty,HA={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,r){return e+"["+r+"]"},repeat:function(e){return e}},hi=Array.isArray,AX=Array.prototype.push,BA=function(t,e){AX.apply(t,hi(e)?e:[e])},MX=Date.prototype.toISOString,FA=Hl.default,rr={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:Lm.encode,encodeValuesOnly:!1,filter:void 0,format:FA,formatter:Hl.formatters[FA],indices:!1,serializeDate:function(e){return MX.call(e)},skipNulls:!1,strictNullHandling:!1},DX=function(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="symbol"||typeof e=="bigint"},cw={},zX=function t(e,r,n,i,a,o,s,c,u,l,d,p,f,h,_,g,m,y){for(var v=e,b=y,S=0,x=!1;(b=b.get(cw))!==void 0&&!x;){var w=b.get(e);if(S+=1,typeof w<"u"){if(w===S)throw new RangeError("Cyclic object value");x=!0}typeof b.get(cw)>"u"&&(S=0)}if(typeof l=="function"?v=l(r,v):v instanceof Date?v=f(v):n==="comma"&&hi(v)&&(v=Lm.maybeMap(v,function(F){return F instanceof Date?f(F):F})),v===null){if(o)return u&&!g?u(r,rr.encoder,m,"key",h):r;v=""}if(DX(v)||Lm.isBuffer(v)){if(u){var E=g?r:u(r,rr.encoder,m,"key",h);return[_(E)+"="+_(u(v,rr.encoder,m,"value",h))]}return[_(r)+"="+_(String(v))]}var O=[];if(typeof v>"u")return O;var A;if(n==="comma"&&hi(v))g&&u&&(v=Lm.maybeMap(v,u)),A=[{value:v.length>0?v.join(",")||null:void 0}];else if(hi(l))A=l;else{var M=Object.keys(v);A=d?M.sort(d):M}var q=c?String(r).replace(/\./g,"%2E"):String(r),B=i&&hi(v)&&v.length===1?q+"[]":q;if(a&&hi(v)&&v.length===0)return B+"[]";for(var U=0;U"u"?e.encodeDotInKeys===!0?!0:rr.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix=="boolean"?e.addQueryPrefix:rr.addQueryPrefix,allowDots:s,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:rr.allowEmptyArrays,arrayFormat:o,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:rr.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?rr.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:rr.encode,encodeDotInKeys:typeof e.encodeDotInKeys=="boolean"?e.encodeDotInKeys:rr.encodeDotInKeys,encoder:typeof e.encoder=="function"?e.encoder:rr.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:rr.encodeValuesOnly,filter:a,format:n,formatter:i,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:rr.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:rr.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:rr.strictNullHandling}};VA.exports=function(t,e){var r=t,n=UX(e),i,a;typeof n.filter=="function"?(a=n.filter,r=a("",r)):hi(n.filter)&&(a=n.filter,i=a);var o=[];if(typeof r!="object"||r===null)return"";var s=HA[n.arrayFormat],c=s==="comma"&&n.commaRoundTrip;i||(i=Object.keys(r)),n.sort&&i.sort(n.sort);for(var u=ZA(),l=0;l0?h+f:""}});var XA=j((ike,JA)=>{"use strict";var va=sw(),Fm=Object.prototype.hasOwnProperty,WA=Array.isArray,Kt={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:va.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},qX=function(t){return t.replace(/&#(\d+);/g,function(e,r){return String.fromCharCode(parseInt(r,10))})},KA=function(t,e,r){if(t&&typeof t=="string"&&e.comma&&t.indexOf(",")>-1)return t.split(",");if(e.throwOnLimitExceeded&&r>=e.arrayLimit)throw new RangeError("Array limit exceeded. Only "+e.arrayLimit+" element"+(e.arrayLimit===1?"":"s")+" allowed in an array.");return t},LX="utf8=%26%2310003%3B",FX="utf8=%E2%9C%93",ZX=function(e,r){var n={__proto__:null},i=r.ignoreQueryPrefix?e.replace(/^\?/,""):e;i=i.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var a=r.parameterLimit===1/0?void 0:r.parameterLimit,o=i.split(r.delimiter,r.throwOnLimitExceeded?a+1:a);if(r.throwOnLimitExceeded&&o.length>a)throw new RangeError("Parameter limit exceeded. Only "+a+" parameter"+(a===1?"":"s")+" allowed.");var s=-1,c,u=r.charset;if(r.charsetSentinel)for(c=0;c-1&&(h=WA(h)?[h]:h),f!==null){var _=Fm.call(n,f);_&&r.duplicates==="combine"?n[f]=va.combine(n[f],h,r.arrayLimit,r.plainObjects):(!_||r.duplicates==="last")&&(n[f]=h)}}return n},HX=function(t,e,r,n){var i=0;if(t.length>0&&t[t.length-1]==="[]"){var a=t.slice(0,-1).join("");i=Array.isArray(e)&&e[a]?e[a].length:0}for(var o=n?e:KA(e,r,i),s=t.length-1;s>=0;--s){var c,u=t[s];if(u==="[]"&&r.parseArrays)va.isOverflow(o)?c=o:c=r.allowEmptyArrays&&(o===""||r.strictNullHandling&&o===null)?[]:va.combine([],o,r.arrayLimit,r.plainObjects);else{c=r.plainObjects?{__proto__:null}:{};var l=u.charAt(0)==="["&&u.charAt(u.length-1)==="]"?u.slice(1,-1):u,d=r.decodeDotInKeys?l.replace(/%2E/g,"."):l,p=parseInt(d,10);!r.parseArrays&&d===""?c={0:o}:!isNaN(p)&&u!==d&&String(p)===d&&p>=0&&r.parseArrays&&p<=r.arrayLimit?(c=[],c[p]=o):d!=="__proto__"&&(c[d]=o)}o=c}return o},BX=function(e,r){var n=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e;if(r.depth<=0)return!r.plainObjects&&Fm.call(Object.prototype,n)&&!r.allowPrototypes?void 0:[n];var i=/(\[[^[\]]*])/,a=/(\[[^[\]]*])/g,o=i.exec(n),s=o?n.slice(0,o.index):n,c=[];if(s){if(!r.plainObjects&&Fm.call(Object.prototype,s)&&!r.allowPrototypes)return;c.push(s)}for(var u=0;(o=a.exec(n))!==null&&u"u"?Kt.charset:e.charset,n=typeof e.duplicates>"u"?Kt.duplicates:e.duplicates;if(n!=="combine"&&n!=="first"&&n!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var i=typeof e.allowDots>"u"?e.decodeDotInKeys===!0?!0:Kt.allowDots:!!e.allowDots;return{allowDots:i,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:Kt.allowEmptyArrays,allowPrototypes:typeof e.allowPrototypes=="boolean"?e.allowPrototypes:Kt.allowPrototypes,allowSparse:typeof e.allowSparse=="boolean"?e.allowSparse:Kt.allowSparse,arrayLimit:typeof e.arrayLimit=="number"?e.arrayLimit:Kt.arrayLimit,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:Kt.charsetSentinel,comma:typeof e.comma=="boolean"?e.comma:Kt.comma,decodeDotInKeys:typeof e.decodeDotInKeys=="boolean"?e.decodeDotInKeys:Kt.decodeDotInKeys,decoder:typeof e.decoder=="function"?e.decoder:Kt.decoder,delimiter:typeof e.delimiter=="string"||va.isRegExp(e.delimiter)?e.delimiter:Kt.delimiter,depth:typeof e.depth=="number"||e.depth===!1?+e.depth:Kt.depth,duplicates:n,ignoreQueryPrefix:e.ignoreQueryPrefix===!0,interpretNumericEntities:typeof e.interpretNumericEntities=="boolean"?e.interpretNumericEntities:Kt.interpretNumericEntities,parameterLimit:typeof e.parameterLimit=="number"?e.parameterLimit:Kt.parameterLimit,parseArrays:e.parseArrays!==!1,plainObjects:typeof e.plainObjects=="boolean"?e.plainObjects:Kt.plainObjects,strictDepth:typeof e.strictDepth=="boolean"?!!e.strictDepth:Kt.strictDepth,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:Kt.strictNullHandling,throwOnLimitExceeded:typeof e.throwOnLimitExceeded=="boolean"?e.throwOnLimitExceeded:!1}};JA.exports=function(t,e){var r=GX(e);if(t===""||t===null||typeof t>"u")return r.plainObjects?{__proto__:null}:{};for(var n=typeof t=="string"?ZX(t,r):t,i=r.plainObjects?{__proto__:null}:{},a=Object.keys(n),o=0;o{"use strict";var WX=GA(),KX=XA(),JX=zm();YA.exports={formats:JX,parse:KX,stringify:WX}});var iM=j((oke,nM)=>{"use strict";var XX=Es(),YX=_l(),Hm=to(),Hn=bn()("body-parser:urlencoded"),QX=li()("body-parser"),eY=Rl(),eM=js();nM.exports=tY;var QA=Object.create(null);function tY(t){var e=t||{};e.extended===void 0&&QX("undefined extended: provide extended option");var r=e.extended!==!1,n=e.inflate!==!1,i=typeof e.limit!="number"?XX.parse(e.limit||"100kb"):e.limit,a=e.type||"application/x-www-form-urlencoded",o=e.verify||!1;if(o!==!1&&typeof o!="function")throw new TypeError("option verify must be function");var s=r?rY(e):iY(e),c=typeof a!="function"?aY(a):a;function u(l){return l.length?s(l):{}}return function(d,p,f){if(d._body){Hn("body already parsed"),f();return}if(d.body=d.body||{},!eM.hasBody(d)){Hn("skip empty body"),f();return}if(Hn("content-type %j",d.headers["content-type"]),!c(d)){Hn("skip parsing"),f();return}var h=nY(d)||"utf-8";if(h!=="utf-8"){Hn("invalid charset"),f(Hm(415,'unsupported charset "'+h.toUpperCase()+'"',{charset:h,type:"charset.unsupported"}));return}eY(d,p,f,u,Hn,{debug:Hn,encoding:h,inflate:n,limit:i,verify:o})}}function rY(t){var e=t.parameterLimit!==void 0?t.parameterLimit:1e3,r=t.depth!==void 0?t.depth:32,n=rM("qs");if(isNaN(e)||e<1)throw new TypeError("option parameterLimit must be a positive number");if(isNaN(r)||r<0)throw new TypeError("option depth must be a zero or a positive number");return isFinite(e)&&(e=e|0),function(a){var o=tM(a,e);if(o===void 0)throw Hn("too many parameters"),Hm(413,"too many parameters",{type:"parameters.too.many"});var s=Math.max(100,o);Hn("parse extended urlencoding");try{return n(a,{allowPrototypes:!0,arrayLimit:s,depth:r,strictDepth:!0,parameterLimit:e})}catch(c){throw c instanceof RangeError?Hm(400,"The input exceeded the depth",{type:"querystring.parse.rangeError"}):c}}}function nY(t){try{return(YX.parse(t).parameters.charset||"").toLowerCase()}catch{return}}function tM(t,e){for(var r=0,n=0;(n=t.indexOf("&",n))!==-1;)if(r++,n++,r===e)return;return r}function rM(t){var e=QA[t];if(e!==void 0)return e.parse;switch(t){case"qs":e=Zm();break;case"querystring":e=require("querystring");break}return QA[t]=e,e.parse}function iY(t){var e=t.parameterLimit!==void 0?t.parameterLimit:1e3,r=rM("querystring");if(isNaN(e)||e<1)throw new TypeError("option parameterLimit must be a positive number");return isFinite(e)&&(e=e|0),function(i){var a=tM(i,e);if(a===void 0)throw Hn("too many parameters"),Hm(413,"too many parameters",{type:"parameters.too.many"});return Hn("parse urlencoding"),r(i,void 0,void 0,{maxKeys:e})}}function aY(t){return function(r){return!!eM(r,t)}}});var sM=j((ya,oM)=>{"use strict";var oY=li()("body-parser"),aM=Object.create(null);ya=oM.exports=oY.function(sY,"bodyParser: use individual json/urlencoded middlewares");Object.defineProperty(ya,"json",{configurable:!0,enumerable:!0,get:Bm("json")});Object.defineProperty(ya,"raw",{configurable:!0,enumerable:!0,get:Bm("raw")});Object.defineProperty(ya,"text",{configurable:!0,enumerable:!0,get:Bm("text")});Object.defineProperty(ya,"urlencoded",{configurable:!0,enumerable:!0,get:Bm("urlencoded")});function sY(t){var e=Object.create(t||null,{type:{configurable:!0,enumerable:!0,value:void 0,writable:!0}}),r=ya.urlencoded(e),n=ya.json(e);return function(a,o,s){n(a,o,function(c){if(c)return s(c);r(a,o,s)})}}function Bm(t){return function(){return cY(t)}}function cY(t){var e=aM[t];if(e!==void 0)return e;switch(t){case"json":e=AN();break;case"raw":e=zN();break;case"text":e=LN();break;case"urlencoded":e=iM();break}return aM[t]=e}});var uM=j((ske,cM)=>{"use strict";cM.exports=lY;var uY=Object.prototype.hasOwnProperty;function lY(t,e,r){if(!t)throw new TypeError("argument dest is required");if(!e)throw new TypeError("argument src is required");return r===void 0&&(r=!0),Object.getOwnPropertyNames(e).forEach(function(i){if(!(!r&&uY.call(t,i))){var a=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,a)}}),t}});var Bl=j((cke,lM)=>{"use strict";lM.exports=mY;var dY=/(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g,pY=/(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g,fY="$1\uFFFD$2";function mY(t){return String(t).replace(pY,fY).replace(dY,encodeURI)}});var Vl=j((uke,dM)=>{"use strict";var hY=/["'&<>]/;dM.exports=gY;function gY(t){var e=""+t,r=hY.exec(e);if(!r)return e;var n,i="",a=0,o=0;for(a=r.index;a{"use strict";var fM=require("url"),pM=fM.parse,Vm=fM.Url;uw.exports=mM;uw.exports.original=vY;function mM(t){var e=t.url;if(e!==void 0){var r=t._parsedUrl;return gM(e,r)?r:(r=hM(e),r._raw=e,t._parsedUrl=r)}}function vY(t){var e=t.originalUrl;if(typeof e!="string")return mM(t);var r=t._parsedOriginalUrl;return gM(e,r)?r:(r=hM(e),r._raw=e,t._parsedOriginalUrl=r)}function hM(t){if(typeof t!="string"||t.charCodeAt(0)!==47)return pM(t);for(var e=t,r=null,n=null,i=1;i{"use strict";var lw=bn()("finalhandler"),yY=Bl(),_Y=Vl(),yM=Ol(),bY=Ls(),_M=xl(),xY=$m(),SY=/\x20{2}/g,wY=/\n/g,$Y=typeof setImmediate=="function"?setImmediate:function(t){process.nextTick(t.bind.apply(t,arguments))},EY=yM.isFinished;function kY(t){var e=_Y(t).replace(wY,"
").replace(SY,"  ");return` +\v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},hproman8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD"},macintosh:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},ascii:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},tis620:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"}}});var ZC=j(FC=>{"use strict";var Rs=io().Buffer;FC._dbcs=zi;var Fr=-1,qC=-2,wn=-10,fi=-1e3,Os=new Array(256),Pl=-1;for(ym=0;ym<256;ym++)Os[ym]=Fr;var ym;function zi(t,e){if(this.encodingName=t.encodingName,!t)throw new Error("DBCS codec is called without the data.");if(!t.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var r=t.table();this.decodeTables=[],this.decodeTables[0]=Os.slice(0),this.decodeTableSeq=[];for(var n=0;n0;t>>=8)e.push(t&255);e.length==0&&e.push(0);for(var r=this.decodeTables[0],n=e.length-1;n>0;n--){var i=r[e[n]];if(i==Fr)r[e[n]]=fi-this.decodeTables.length,this.decodeTables.push(r=Os.slice(0));else if(i<=fi)r=this.decodeTables[fi-i];else throw new Error("Overwrite byte in "+this.encodingName+", addr: "+t.toString(16))}return r};zi.prototype._addDecodeChunk=function(t){var e=parseInt(t[0],16),r=this._getDecodeTrieNode(e);e=e&255;for(var n=1;n255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+t[0]+": too long"+e)};zi.prototype._getEncodeBucket=function(t){var e=t>>8;return this.encodeTable[e]===void 0&&(this.encodeTable[e]=Os.slice(0)),this.encodeTable[e]};zi.prototype._setEncodeChar=function(t,e){var r=this._getEncodeBucket(t),n=t&255;r[n]<=wn?this.encodeTableSeq[wn-r[n]][Pl]=e:r[n]==Fr&&(r[n]=e)};zi.prototype._setEncodeSequence=function(t,e){var r=t[0],n=this._getEncodeBucket(r),i=r&255,a;n[i]<=wn?a=this.encodeTableSeq[wn-n[i]]:(a={},n[i]!==Fr&&(a[Pl]=n[i]),n[i]=wn-this.encodeTableSeq.length,this.encodeTableSeq.push(a));for(var o=1;o=0?this._setEncodeChar(a,o):a<=fi?this._fillEncodeTable(fi-a,o<<8,r):a<=wn&&this._setEncodeSequence(this.decodeTableSeq[wn-a],o))}};function _m(t,e){this.leadSurrogate=-1,this.seqObj=void 0,this.encodeTable=e.encodeTable,this.encodeTableSeq=e.encodeTableSeq,this.defaultCharSingleByte=e.defCharSB,this.gb18030=e.gb18030}_m.prototype.write=function(t){for(var e=Rs.alloc(t.length*(this.gb18030?4:3)),r=this.leadSurrogate,n=this.seqObj,i=-1,a=0,o=0;;){if(i===-1){if(a==t.length)break;var s=t.charCodeAt(a++)}else{var s=i;i=-1}if(55296<=s&&s<57344)if(s<56320)if(r===-1){r=s;continue}else r=s,s=Fr;else r!==-1?(s=65536+(r-55296)*1024+(s-56320),r=-1):s=Fr;else r!==-1&&(i=s,s=Fr,r=-1);var c=Fr;if(n!==void 0&&s!=Fr){var u=n[s];if(typeof u=="object"){n=u;continue}else typeof u=="number"?c=u:u==null&&(u=n[Pl],u!==void 0&&(c=u,i=s));n=void 0}else if(s>=0){var l=this.encodeTable[s>>8];if(l!==void 0&&(c=l[s&255]),c<=wn){n=this.encodeTableSeq[wn-c];continue}if(c==Fr&&this.gb18030){var d=ES(this.gb18030.uChars,s);if(d!=-1){var c=this.gb18030.gbChars[d]+(s-this.gb18030.uChars[d]);e[o++]=129+Math.floor(c/12600),c=c%12600,e[o++]=48+Math.floor(c/1260),c=c%1260,e[o++]=129+Math.floor(c/10),c=c%10,e[o++]=48+c;continue}}}c===Fr&&(c=this.defaultCharSingleByte),c<256?e[o++]=c:c<65536?(e[o++]=c>>8,e[o++]=c&255):(e[o++]=c>>16,e[o++]=c>>8&255,e[o++]=c&255)}return this.seqObj=n,this.leadSurrogate=r,e.slice(0,o)};_m.prototype.end=function(){if(!(this.leadSurrogate===-1&&this.seqObj===void 0)){var t=Rs.alloc(10),e=0;if(this.seqObj){var r=this.seqObj[Pl];r!==void 0&&(r<256?t[e++]=r:(t[e++]=r>>8,t[e++]=r&255)),this.seqObj=void 0}return this.leadSurrogate!==-1&&(t[e++]=this.defaultCharSingleByte,this.leadSurrogate=-1),t.slice(0,e)}};_m.prototype.findIdx=ES;function $S(t,e){this.nodeIdx=0,this.prevBuf=Rs.alloc(0),this.decodeTables=e.decodeTables,this.decodeTableSeq=e.decodeTableSeq,this.defaultCharUnicode=e.defaultCharUnicode,this.gb18030=e.gb18030}$S.prototype.write=function(t){var e=Rs.alloc(t.length*2),r=this.nodeIdx,n=this.prevBuf,i=this.prevBuf.length,a=-this.prevBuf.length,o;i>0&&(n=Rs.concat([n,t.slice(0,10)]));for(var s=0,c=0;s=0?t[s]:n[s+i],o=this.decodeTables[r][u];if(!(o>=0))if(o===Fr)s=a,o=this.defaultCharUnicode.charCodeAt(0);else if(o===qC){var l=a>=0?t.slice(a,s+1):n.slice(a+i,s+1+i),d=(l[0]-129)*12600+(l[1]-48)*1260+(l[2]-129)*10+(l[3]-48),p=ES(this.gb18030.gbChars,d);o=this.gb18030.uChars[p]+d-this.gb18030.gbChars[p]}else if(o<=fi){r=fi-o;continue}else if(o<=wn){for(var f=this.decodeTableSeq[wn-o],h=0;h>8;o=f[f.length-1]}else throw new Error("iconv-lite internal error: invalid decoding table value "+o+" at "+r+"/"+u);if(o>65535){o-=65536;var _=55296+Math.floor(o/1024);e[c++]=_&255,e[c++]=_>>8,o=56320+o%1024}e[c++]=o&255,e[c++]=o>>8,r=0,a=s+1}return this.nodeIdx=r,this.prevBuf=a>=0?t.slice(a):n.slice(a+i),e.slice(0,c).toString("ucs2")};$S.prototype.end=function(){for(var t="";this.prevBuf.length>0;){t+=this.defaultCharUnicode;var e=this.prevBuf.slice(1);this.prevBuf=Rs.alloc(0),this.nodeIdx=0,e.length>0&&(t+=this.write(e))}return this.nodeIdx=0,t};function ES(t,e){if(t[0]>e)return-1;for(var r=0,n=t.length;r{tW.exports=[["0","\0",128],["a1","\uFF61",62],["8140","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7"],["8180","\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["81b8","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["81c8","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["81da","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["81f0","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["81fc","\u25EF"],["824f","\uFF10",9],["8260","\uFF21",25],["8281","\uFF41",25],["829f","\u3041",82],["8340","\u30A1",62],["8380","\u30E0",22],["839f","\u0391",16,"\u03A3",6],["83bf","\u03B1",16,"\u03C3",6],["8440","\u0410",5,"\u0401\u0416",25],["8470","\u0430",5,"\u0451\u0436",7],["8480","\u043E",17],["849f","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["8740","\u2460",19,"\u2160",9],["875f","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["877e","\u337B"],["8780","\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["889f","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["8940","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"],["8980","\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["8a40","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"],["8a80","\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["8b40","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"],["8b80","\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["8c40","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"],["8c80","\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["8d40","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"],["8d80","\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["8e40","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"],["8e80","\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["8f40","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"],["8f80","\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["9040","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"],["9080","\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["9140","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"],["9180","\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["9240","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"],["9280","\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["9340","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"],["9380","\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["9440","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"],["9480","\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["9540","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"],["9580","\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["9640","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"],["9680","\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["9740","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"],["9780","\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["9840","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["989f","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["9940","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"],["9980","\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["9a40","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"],["9a80","\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["9b40","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"],["9b80","\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["9c40","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"],["9c80","\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["9d40","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"],["9d80","\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["9e40","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"],["9e80","\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["9f40","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"],["9f80","\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["e040","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"],["e080","\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e140","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"],["e180","\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e240","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"],["e280","\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e340","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"],["e380","\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e440","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"],["e480","\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e540","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"],["e580","\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["e640","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"],["e680","\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["e740","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"],["e780","\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["e840","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"],["e880","\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["e940","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"],["e980","\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["ea40","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"],["ea80","\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"],["ed40","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"],["ed80","\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["ee40","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"],["ee80","\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["eeef","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["f040","\uE000",62],["f080","\uE03F",124],["f140","\uE0BC",62],["f180","\uE0FB",124],["f240","\uE178",62],["f280","\uE1B7",124],["f340","\uE234",62],["f380","\uE273",124],["f440","\uE2F0",62],["f480","\uE32F",124],["f540","\uE3AC",62],["f580","\uE3EB",124],["f640","\uE468",62],["f680","\uE4A7",124],["f740","\uE524",62],["f780","\uE563",124],["f840","\uE5E0",62],["f880","\uE61F",124],["f940","\uE69C"],["fa40","\u2170",9,"\u2160",9,"\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"],["fa80","\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"],["fb40","\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"],["fb80","\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"],["fc40","\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"]]});var BC=j((H$e,rW)=>{rW.exports=[["0","\0",127],["8ea1","\uFF61",62],["a1a1","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"],["a2a1","\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["a2ba","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["a2ca","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["a2dc","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["a2f2","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["a2fe","\u25EF"],["a3b0","\uFF10",9],["a3c1","\uFF21",25],["a3e1","\uFF41",25],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a8a1","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["ada1","\u2460",19,"\u2160",9],["adc0","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["addf","\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["b0a1","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["b1a1","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"],["b2a1","\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["b3a1","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"],["b4a1","\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["b5a1","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"],["b6a1","\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["b7a1","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"],["b8a1","\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["b9a1","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"],["baa1","\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["bba1","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"],["bca1","\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["bda1","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"],["bea1","\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["bfa1","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"],["c0a1","\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["c1a1","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"],["c2a1","\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["c3a1","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"],["c4a1","\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["c5a1","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"],["c6a1","\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["c7a1","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"],["c8a1","\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["c9a1","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"],["caa1","\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["cba1","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"],["cca1","\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["cda1","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"],["cea1","\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["cfa1","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["d0a1","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["d1a1","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"],["d2a1","\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["d3a1","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"],["d4a1","\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["d5a1","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"],["d6a1","\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["d7a1","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"],["d8a1","\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["d9a1","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"],["daa1","\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["dba1","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"],["dca1","\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["dda1","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"],["dea1","\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["dfa1","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"],["e0a1","\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e1a1","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"],["e2a1","\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e3a1","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"],["e4a1","\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e5a1","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"],["e6a1","\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e7a1","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"],["e8a1","\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e9a1","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"],["eaa1","\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["eba1","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"],["eca1","\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["eda1","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"],["eea1","\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["efa1","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"],["f0a1","\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["f1a1","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"],["f2a1","\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["f3a1","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"],["f4a1","\u582F\u69C7\u9059\u7464\u51DC\u7199"],["f9a1","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"],["faa1","\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["fba1","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"],["fca1","\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["fcf1","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["8fa2af","\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"],["8fa2c2","\xA1\xA6\xBF"],["8fa2eb","\xBA\xAA\xA9\xAE\u2122\xA4\u2116"],["8fa6e1","\u0386\u0388\u0389\u038A\u03AA"],["8fa6e7","\u038C"],["8fa6e9","\u038E\u03AB"],["8fa6ec","\u038F"],["8fa6f1","\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"],["8fa7c2","\u0402",10,"\u040E\u040F"],["8fa7f2","\u0452",10,"\u045E\u045F"],["8fa9a1","\xC6\u0110"],["8fa9a4","\u0126"],["8fa9a6","\u0132"],["8fa9a8","\u0141\u013F"],["8fa9ab","\u014A\xD8\u0152"],["8fa9af","\u0166\xDE"],["8fa9c1","\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"],["8faaa1","\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"],["8faaba","\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"],["8faba1","\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"],["8fabbd","\u0121\u0125\xED\xEC\xEF\xEE\u01D0"],["8fabc5","\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"],["8fb0a1","\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"],["8fb1a1","\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"],["8fb2a1","\u5092\u5093\u5094\u5096\u509B\u509C\u509E",4,"\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"],["8fb3a1","\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"],["8fb4a1","\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"],["8fb5a1","\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"],["8fb6a1","\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D",5,"\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4",4,"\u56F1\u56EB\u56ED"],["8fb7a1","\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D",4,"\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"],["8fb8a1","\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"],["8fb9a1","\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"],["8fbaa1","\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6",4,"\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"],["8fbba1","\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"],["8fbca1","\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A",4,"\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"],["8fbda1","\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0",4,"\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"],["8fbea1","\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110",4,"\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"],["8fbfa1","\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"],["8fc0a1","\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"],["8fc1a1","\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"],["8fc2a1","\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"],["8fc3a1","\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E",4,"\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"],["8fc4a1","\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"],["8fc5a1","\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"],["8fc6a1","\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"],["8fc7a1","\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"],["8fc8a1","\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"],["8fc9a1","\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094",4,"\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103",4,"\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"],["8fcaa1","\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"],["8fcba1","\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"],["8fcca1","\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428",9,"\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"],["8fcda1","\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579",5,"\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"],["8fcea1","\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2",6,"\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"],["8fcfa1","\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"],["8fd0a1","\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"],["8fd1a1","\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"],["8fd2a1","\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59",5],["8fd3a1","\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"],["8fd4a1","\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2",4,"\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"],["8fd5a1","\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"],["8fd6a1","\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"],["8fd7a1","\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"],["8fd8a1","\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"],["8fd9a1","\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F",4,"\u8556\u8559\u855C",6,"\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"],["8fdaa1","\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660",4,"\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"],["8fdba1","\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783",6,"\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"],["8fdca1","\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA",4,"\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"],["8fdda1","\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4",4,"\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"],["8fdea1","\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42",4,"\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"],["8fdfa1","\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"],["8fe0a1","\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"],["8fe1a1","\u8F43\u8F47\u8F4F\u8F51",4,"\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"],["8fe2a1","\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"],["8fe3a1","\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC",5,"\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275",4,"\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"],["8fe4a1","\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF",4,"\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"],["8fe5a1","\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9",4,"\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"],["8fe6a1","\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"],["8fe7a1","\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"],["8fe8a1","\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931",4,"\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"],["8fe9a1","\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF",4],["8feaa1","\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A",4,"\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"],["8feba1","\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26",4,"\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"],["8feca1","\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"],["8feda1","\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43",4,"\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D",4,"\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"]]});var bm=j((B$e,nW)=>{nW.exports=[["0","\0",127,"\u20AC"],["8140","\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A",5,"\u4E72\u4E74",9,"\u4E7F",6,"\u4E87\u4E8A"],["8180","\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02",6,"\u4F0B\u4F0C\u4F12",4,"\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E",4,"\u4F44\u4F45\u4F47",5,"\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"],["8240","\u4FA4\u4FAB\u4FAD\u4FB0",4,"\u4FB6",8,"\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2",4,"\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF",11],["8280","\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F",10,"\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050",4,"\u5056\u5057\u5058\u5059\u505B\u505D",7,"\u5066",5,"\u506D",8,"\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E",20,"\u50A4\u50A6\u50AA\u50AB\u50AD",4,"\u50B3",6,"\u50BC"],["8340","\u50BD",17,"\u50D0",5,"\u50D7\u50D8\u50D9\u50DB",10,"\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6",4,"\u50FC",9,"\u5108"],["8380","\u5109\u510A\u510C",5,"\u5113",13,"\u5122",28,"\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D",4,"\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6",4,"\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2",5],["8440","\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5",5,"\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244",5,"\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"],["8480","\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273",9,"\u527E\u5280\u5283",4,"\u5289",6,"\u5291\u5292\u5294",6,"\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4",9,"\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9",5,"\u52E0\u52E1\u52E2\u52E3\u52E5",10,"\u52F1",7,"\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"],["8540","\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F",9,"\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"],["8580","\u5390",4,"\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF",6,"\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3",4,"\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D",4,"\u5463\u5465\u5467\u5469",7,"\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"],["8640","\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0",4,"\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4",5,"\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A",4,"\u5512\u5513\u5515",5,"\u551C\u551D\u551E\u551F\u5521\u5525\u5526"],["8680","\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B",4,"\u5551\u5552\u5553\u5554\u5557",4,"\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F",5,"\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0",6,"\u55A8",8,"\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF",4,"\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7",4,"\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8",4,"\u55FF\u5602\u5603\u5604\u5605"],["8740","\u5606\u5607\u560A\u560B\u560D\u5610",7,"\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640",11,"\u564F",4,"\u5655\u5656\u565A\u565B\u565D",4],["8780","\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D",7,"\u5687",6,"\u5690\u5691\u5692\u5694",14,"\u56A4",10,"\u56B0",6,"\u56B8\u56B9\u56BA\u56BB\u56BD",12,"\u56CB",8,"\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5",5,"\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B",6],["8840","\u5712",9,"\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734",4,"\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752",4,"\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"],["8880","\u5781\u5787\u5788\u5789\u578A\u578D",4,"\u5794",6,"\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9",8,"\u57C4",6,"\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5",7,"\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825",4,"\u582B",4,"\u5831\u5832\u5833\u5834\u5836",7],["8940","\u583E",5,"\u5845",6,"\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859",4,"\u585F",5,"\u5866",4,"\u586D",16,"\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"],["8980","\u588D",4,"\u5894",4,"\u589B\u589C\u589D\u58A0",7,"\u58AA",17,"\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6",10,"\u58D2\u58D3\u58D4\u58D6",13,"\u58E5",5,"\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA",7,"\u5903\u5905\u5906\u5908",4,"\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"],["8a40","\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B",4,"\u5961\u5963\u5964\u5966",12,"\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"],["8a80","\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3",5,"\u59BA\u59BC\u59BD\u59BF",6,"\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE",4,"\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED",11,"\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A",6,"\u5A33\u5A35\u5A37",4,"\u5A3D\u5A3E\u5A3F\u5A41",4,"\u5A47\u5A48\u5A4B",9,"\u5A56\u5A57\u5A58\u5A59\u5A5B",5],["8b40","\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B",8,"\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80",17,"\u5A93",6,"\u5A9C",13,"\u5AAB\u5AAC"],["8b80","\u5AAD",4,"\u5AB4\u5AB6\u5AB7\u5AB9",4,"\u5ABF\u5AC0\u5AC3",5,"\u5ACA\u5ACB\u5ACD",4,"\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC",4,"\u5AF2",22,"\u5B0A",11,"\u5B18",25,"\u5B33\u5B35\u5B36\u5B38",7,"\u5B41",6],["8c40","\u5B48",7,"\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"],["8c80","\u5BD1\u5BD4",8,"\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9",4,"\u5BEF\u5BF1",6,"\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67",6,"\u5C70\u5C72",6,"\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83",4,"\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D",4,"\u5CA4",4],["8d40","\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5",5,"\u5CCC",5,"\u5CD3",5,"\u5CDA",6,"\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1",9,"\u5CFC",4],["8d80","\u5D01\u5D04\u5D05\u5D08",5,"\u5D0F",4,"\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F",4,"\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F",4,"\u5D35",7,"\u5D3F",7,"\u5D48\u5D49\u5D4D",10,"\u5D59\u5D5A\u5D5C\u5D5E",10,"\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75",12,"\u5D83",21,"\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"],["8e40","\u5DA1",21,"\u5DB8",12,"\u5DC6",6,"\u5DCE",12,"\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"],["8e80","\u5DF0\u5DF5\u5DF6\u5DF8",4,"\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E",7,"\u5E28",4,"\u5E2F\u5E30\u5E32",4,"\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46",5,"\u5E4D",6,"\u5E56",4,"\u5E5C\u5E5D\u5E5F\u5E60\u5E63",14,"\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8",4,"\u5EAE",4,"\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF",6],["8f40","\u5EC6\u5EC7\u5EC8\u5ECB",5,"\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC",11,"\u5EE9\u5EEB",8,"\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"],["8f80","\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32",6,"\u5F3B\u5F3D\u5F3E\u5F3F\u5F41",14,"\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2",5,"\u5FA9\u5FAB\u5FAC\u5FAF",5,"\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE",4,"\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"],["9040","\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030",4,"\u6036",4,"\u603D\u603E\u6040\u6044",6,"\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"],["9080","\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD",7,"\u60C7\u60C8\u60C9\u60CC",4,"\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1",4,"\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB",4,"\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110",4,"\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C",18,"\u6140",6],["9140","\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156",6,"\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169",6,"\u6171\u6172\u6173\u6174\u6176\u6178",18,"\u618C\u618D\u618F",4,"\u6195"],["9180","\u6196",6,"\u619E",8,"\u61AA\u61AB\u61AD",9,"\u61B8",5,"\u61BF\u61C0\u61C1\u61C3",4,"\u61C9\u61CC",4,"\u61D3\u61D5",16,"\u61E7",13,"\u61F6",8,"\u6200",5,"\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238",4,"\u6242\u6244\u6245\u6246\u624A"],["9240","\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C",6,"\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B",5,"\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"],["9280","\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333",5,"\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356",7,"\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399",6,"\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"],["9340","\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7",6,"\u63DF\u63E2\u63E4",4,"\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406",4,"\u640D\u640E\u6411\u6412\u6415",5,"\u641D\u641F\u6422\u6423\u6424"],["9380","\u6425\u6427\u6428\u6429\u642B\u642E",5,"\u6435",4,"\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B",6,"\u6453\u6455\u6456\u6457\u6459",4,"\u645F",7,"\u6468\u646A\u646B\u646C\u646E",9,"\u647B",6,"\u6483\u6486\u6488",8,"\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F",4,"\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6",6,"\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"],["9440","\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7",24,"\u6501",7,"\u650A",7,"\u6513",4,"\u6519",8],["9480","\u6522\u6523\u6524\u6526",4,"\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540",4,"\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578",14,"\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1",7,"\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8",7,"\u65E1\u65E3\u65E4\u65EA\u65EB"],["9540","\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB",4,"\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637",4,"\u663D\u663F\u6640\u6642\u6644",6,"\u664D\u664E\u6650\u6651\u6658"],["9580","\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669",4,"\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698",4,"\u669E",8,"\u66A9",4,"\u66AF",4,"\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF",25,"\u66DA\u66DE",7,"\u66E7\u66E8\u66EA",5,"\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"],["9640","\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720",5,"\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757",4,"\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"],["9680","\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9",7,"\u67C2\u67C5",9,"\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5",7,"\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818",4,"\u681E\u681F\u6820\u6822",6,"\u682B",6,"\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856",5],["9740","\u685C\u685D\u685E\u685F\u686A\u686C",7,"\u6875\u6878",8,"\u6882\u6884\u6887",7,"\u6890\u6891\u6892\u6894\u6895\u6896\u6898",9,"\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"],["9780","\u68B9",6,"\u68C1\u68C3",5,"\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB",4,"\u68E1\u68E2\u68E4",9,"\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906",4,"\u690C\u690F\u6911\u6913",11,"\u6921\u6922\u6923\u6925",7,"\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943",16,"\u6955\u6956\u6958\u6959\u695B\u695C\u695F"],["9840","\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972",4,"\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E",5,"\u6996\u6997\u6999\u699A\u699D",9,"\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"],["9880","\u69BE\u69BF\u69C0\u69C2",7,"\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5",5,"\u69DC\u69DD\u69DE\u69E1",11,"\u69EE\u69EF\u69F0\u69F1\u69F3",9,"\u69FE\u6A00",9,"\u6A0B",11,"\u6A19",5,"\u6A20\u6A22",5,"\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36",6,"\u6A3F",4,"\u6A45\u6A46\u6A48",7,"\u6A51",6,"\u6A5A"],["9940","\u6A5C",4,"\u6A62\u6A63\u6A64\u6A66",10,"\u6A72",6,"\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85",8,"\u6A8F\u6A92",4,"\u6A98",7,"\u6AA1",5],["9980","\u6AA7\u6AA8\u6AAA\u6AAD",114,"\u6B25\u6B26\u6B28",6],["9a40","\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D",11,"\u6B5A",7,"\u6B68\u6B69\u6B6B",13,"\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"],["9a80","\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C",4,"\u6BA2",7,"\u6BAB",7,"\u6BB6\u6BB8",6,"\u6BC0\u6BC3\u6BC4\u6BC6",4,"\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC",4,"\u6BE2",7,"\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE",6,"\u6C08",4,"\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B",4,"\u6C51\u6C52\u6C53\u6C56\u6C58"],["9b40","\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B",4,"\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"],["9b80","\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F",5,"\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D",4,"\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96",4,"\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9",5,"\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"],["9c40","\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD",7,"\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"],["9c80","\u6E36\u6E37\u6E39\u6E3B",7,"\u6E45",7,"\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60",10,"\u6E6C\u6E6D\u6E6F",14,"\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A",4,"\u6E91",6,"\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA",5],["9d40","\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA",7,"\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A",4,"\u6F10\u6F11\u6F12\u6F16",9,"\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37",6,"\u6F3F\u6F40\u6F41\u6F42"],["9d80","\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E",9,"\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67",5,"\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D",6,"\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F",12,"\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2",4,"\u6FA8",10,"\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA",5,"\u6FC1\u6FC3",5,"\u6FCA",6,"\u6FD3",10,"\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"],["9e40","\u6FE6",7,"\u6FF0",32,"\u7012",7,"\u701C",6,"\u7024",6],["9e80","\u702B",9,"\u7036\u7037\u7038\u703A",17,"\u704D\u704E\u7050",13,"\u705F",11,"\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E",12,"\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB",12,"\u70DA"],["9f40","\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0",6,"\u70F8\u70FA\u70FB\u70FC\u70FE",10,"\u710B",4,"\u7111\u7112\u7114\u7117\u711B",10,"\u7127",7,"\u7132\u7133\u7134"],["9f80","\u7135\u7137",13,"\u7146\u7147\u7148\u7149\u714B\u714D\u714F",12,"\u715D\u715F",4,"\u7165\u7169",4,"\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E",5,"\u7185",4,"\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A",4,"\u71A1",6,"\u71A9\u71AA\u71AB\u71AD",5,"\u71B4\u71B6\u71B7\u71B8\u71BA",8,"\u71C4",9,"\u71CF",4],["a040","\u71D6",9,"\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8",5,"\u71EF",9,"\u71FA",11,"\u7207",19],["a080","\u721B\u721C\u721E",9,"\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240",6,"\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285",4,"\u728C\u728E\u7290\u7291\u7293",11,"\u72A0",11,"\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA",6,"\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"],["a1a1","\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008",7,"\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"],["a2a1","\u2170",9],["a2b1","\u2488",19,"\u2474",19,"\u2460",9],["a2e5","\u3220",9],["a2f1","\u2160",11],["a3a1","\uFF01\uFF02\uFF03\uFFE5\uFF05",88,"\uFFE3"],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a6e0","\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"],["a6ee","\uFE3B\uFE3C\uFE37\uFE38\uFE31"],["a6f4","\uFE33\uFE34"],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a840","\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550",35,"\u2581",6],["a880","\u2588",7,"\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"],["a8a1","\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"],["a8bd","\u0144\u0148"],["a8c0","\u0261"],["a8c5","\u3105",36],["a940","\u3021",8,"\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"],["a959","\u2121\u3231"],["a95c","\u2010"],["a960","\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49",9,"\uFE54\uFE55\uFE56\uFE57\uFE59",8],["a980","\uFE62",4,"\uFE68\uFE69\uFE6A\uFE6B"],["a996","\u3007"],["a9a4","\u2500",75],["aa40","\u72DC\u72DD\u72DF\u72E2",5,"\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304",5,"\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340",8],["aa80","\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358",7,"\u7361",10,"\u736E\u7370\u7371"],["ab40","\u7372",11,"\u737F",4,"\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3",5,"\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3",4],["ab80","\u73CB\u73CC\u73CE\u73D2",6,"\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3",4],["ac40","\u73F8",10,"\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411",8,"\u741C",5,"\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437",4,"\u743D\u743E\u743F\u7440\u7442",11],["ac80","\u744E",6,"\u7456\u7458\u745D\u7460",12,"\u746E\u746F\u7471",4,"\u7478\u7479\u747A"],["ad40","\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491",10,"\u749D\u749F",7,"\u74AA",15,"\u74BB",12],["ad80","\u74C8",9,"\u74D3",8,"\u74DD\u74DF\u74E1\u74E5\u74E7",6,"\u74F0\u74F1\u74F2"],["ae40","\u74F3\u74F5\u74F8",6,"\u7500\u7501\u7502\u7503\u7505",7,"\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520",4,"\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"],["ae80","\u755D",7,"\u7567\u7568\u7569\u756B",6,"\u7573\u7575\u7576\u7577\u757A",4,"\u7580\u7581\u7582\u7584\u7585\u7587"],["af40","\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6",4,"\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"],["af80","\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"],["b040","\u7645",6,"\u764E",5,"\u7655\u7657",4,"\u765D\u765F\u7660\u7661\u7662\u7664",6,"\u766C\u766D\u766E\u7670",7,"\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"],["b080","\u769C",7,"\u76A5",8,"\u76AF\u76B0\u76B3\u76B5",9,"\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"],["b140","\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0",4,"\u76E6",7,"\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E",10,"\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"],["b180","\u772C\u772E\u7730",4,"\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748",7,"\u7752",7,"\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"],["b240","\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D",11,"\u777A\u777B\u777C\u7781\u7782\u7783\u7786",5,"\u778F\u7790\u7793",11,"\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6",4],["b280","\u77BC\u77BE\u77C0",12,"\u77CE",8,"\u77D8\u77D9\u77DA\u77DD",4,"\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"],["b340","\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803",5,"\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"],["b380","\u785B\u785C\u785E",11,"\u786F",7,"\u7878\u7879\u787A\u787B\u787D",6,"\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"],["b440","\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8",7,"\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA",9],["b480","\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED",4,"\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB",5,"\u7902\u7903\u7904\u7906",6,"\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"],["b540","\u790D",5,"\u7914",9,"\u791F",4,"\u7925",14,"\u7935",4,"\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A",8,"\u7954\u7955\u7958\u7959\u7961\u7963"],["b580","\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970",6,"\u7979\u797B",4,"\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"],["b640","\u7993",6,"\u799B",11,"\u79A8",10,"\u79B4",4,"\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9",5,"\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"],["b680","\u79EC\u79EE\u79F1",6,"\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F",4,"\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"],["b740","\u7A1D\u7A1F\u7A21\u7A22\u7A24",14,"\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40",5,"\u7A47",9,"\u7A52",4,"\u7A58",16],["b780","\u7A69",6,"\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"],["b840","\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE",4,"\u7AB4",10,"\u7AC0",10,"\u7ACC",9,"\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7",5,"\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"],["b880","\u7AF4",4,"\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"],["b940","\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F",5,"\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63",10,"\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86",6,"\u7B8E\u7B8F"],["b980","\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9",7,"\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"],["ba40","\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4",4,"\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2",4,"\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF",7,"\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10",5,"\u7C17\u7C18\u7C19"],["ba80","\u7C1A",4,"\u7C20",5,"\u7C28\u7C29\u7C2B",12,"\u7C39",5,"\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"],["bb40","\u7C43",9,"\u7C4E",36,"\u7C75",5,"\u7C7E",9],["bb80","\u7C88\u7C8A",6,"\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4",4,"\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"],["bc40","\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE",6,"\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1",6,"\u7CE9",5,"\u7CF0",7,"\u7CF9\u7CFA\u7CFC",13,"\u7D0B",5],["bc80","\u7D11",14,"\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30",6,"\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"],["bd40","\u7D37",54,"\u7D6F",7],["bd80","\u7D78",32,"\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"],["be40","\u7D99",12,"\u7DA7",6,"\u7DAF",42],["be80","\u7DDA",32,"\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"],["bf40","\u7DFB",62],["bf80","\u7E3A\u7E3C",4,"\u7E42",4,"\u7E48",21,"\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"],["c040","\u7E5E",35,"\u7E83",23,"\u7E9C\u7E9D\u7E9E"],["c080","\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B",6,"\u7F43\u7F46",9,"\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"],["c140","\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63",4,"\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82",7,"\u7F8B\u7F8D\u7F8F",4,"\u7F95",4,"\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8",6,"\u7FB1"],["c180","\u7FB3",4,"\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF",4,"\u7FD6\u7FD7\u7FD9",5,"\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"],["c240","\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4",6,"\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B",5,"\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"],["c280","\u8059\u805B",13,"\u806B",5,"\u8072",11,"\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"],["c340","\u807E\u8081\u8082\u8085\u8088\u808A\u808D",5,"\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7",4,"\u80CF",6,"\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"],["c380","\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F",12,"\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139",4,"\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"],["c440","\u8140",5,"\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B",4,"\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183",4,"\u8189\u818B\u818C\u818D\u818E\u8190\u8192",5,"\u8199\u819A\u819E",4,"\u81A4\u81A5"],["c480","\u81A7\u81A9\u81AB",7,"\u81B4",5,"\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD",6,"\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"],["c540","\u81D4",14,"\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE",4,"\u81F5",5,"\u81FD\u81FF\u8203\u8207",4,"\u820E\u820F\u8211\u8213\u8215",5,"\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"],["c580","\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250",7,"\u8259\u825B\u825C\u825D\u825E\u8260",7,"\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"],["c640","\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"],["c680","\u82FA\u82FC",4,"\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D",9,"\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"],["c740","\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A",4,"\u8353\u8355",4,"\u835D\u8362\u8370",6,"\u8379\u837A\u837E",6,"\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1",6,"\u83AC\u83AD\u83AE"],["c780","\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"],["c840","\u83EE\u83EF\u83F3",4,"\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412",5,"\u8419\u841A\u841B\u841E",5,"\u8429",7,"\u8432",5,"\u8439\u843A\u843B\u843E",7,"\u8447\u8448\u8449"],["c880","\u844A",6,"\u8452",4,"\u8458\u845D\u845E\u845F\u8460\u8462\u8464",4,"\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"],["c940","\u847D",4,"\u8483\u8484\u8485\u8486\u848A\u848D\u848F",7,"\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2",12,"\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"],["c980","\u84D8",4,"\u84DE\u84E1\u84E2\u84E4\u84E7",4,"\u84ED\u84EE\u84EF\u84F1",10,"\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"],["ca40","\u8503",8,"\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522",8,"\u852D",9,"\u853E",4,"\u8544\u8545\u8546\u8547\u854B",10],["ca80","\u8557\u8558\u855A\u855B\u855C\u855D\u855F",4,"\u8565\u8566\u8567\u8569",8,"\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"],["cb40","\u8582\u8583\u8586\u8588",6,"\u8590",10,"\u859D",6,"\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1",5,"\u85B8\u85BA",6,"\u85C2",6,"\u85CA",4,"\u85D1\u85D2"],["cb80","\u85D4\u85D6",5,"\u85DD",6,"\u85E5\u85E6\u85E7\u85E8\u85EA",14,"\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"],["cc40","\u85F9\u85FA\u85FC\u85FD\u85FE\u8600",4,"\u8606",10,"\u8612\u8613\u8614\u8615\u8617",15,"\u8628\u862A",13,"\u8639\u863A\u863B\u863D\u863E\u863F\u8640"],["cc80","\u8641",11,"\u8652\u8653\u8655",4,"\u865B\u865C\u865D\u865F\u8660\u8661\u8663",7,"\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"],["cd40","\u866D\u866F\u8670\u8672",6,"\u8683",6,"\u868E",4,"\u8694\u8696",5,"\u869E",4,"\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB",4,"\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"],["cd80","\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"],["ce40","\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740",6,"\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A",5,"\u8761\u8762\u8766",7,"\u876F\u8771\u8772\u8773\u8775"],["ce80","\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E",4,"\u8794\u8795\u8796\u8798",6,"\u87A0",4,"\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"],["cf40","\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1",4,"\u87C7\u87C8\u87C9\u87CC",4,"\u87D4",6,"\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF",9],["cf80","\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804",5,"\u880B",7,"\u8814\u8817\u8818\u8819\u881A\u881C",4,"\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"],["d040","\u8824",13,"\u8833",5,"\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846",5,"\u884E",5,"\u8855\u8856\u8858\u885A",6,"\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"],["d080","\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897",4,"\u889D",4,"\u88A3\u88A5",5,"\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"],["d140","\u88AC\u88AE\u88AF\u88B0\u88B2",4,"\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA",4,"\u88E0\u88E1\u88E6\u88E7\u88E9",6,"\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903",5],["d180","\u8909\u890B",4,"\u8911\u8914",4,"\u891C",4,"\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"],["d240","\u8938",8,"\u8942\u8943\u8945",24,"\u8960",5,"\u8967",19,"\u897C"],["d280","\u897D\u897E\u8980\u8982\u8984\u8985\u8987",26,"\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"],["d340","\u89A2",30,"\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4",6],["d380","\u89FB",4,"\u8A01",5,"\u8A08",21,"\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"],["d440","\u8A1E",31,"\u8A3F",8,"\u8A49",21],["d480","\u8A5F",25,"\u8A7A",6,"\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"],["d540","\u8A81",7,"\u8A8B",7,"\u8A94",46],["d580","\u8AC3",32,"\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"],["d640","\u8AE4",34,"\u8B08",27],["d680","\u8B24\u8B25\u8B27",30,"\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"],["d740","\u8B46",31,"\u8B67",4,"\u8B6D",25],["d780","\u8B87",24,"\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"],["d840","\u8C38",8,"\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D",7,"\u8C56\u8C57\u8C58\u8C59\u8C5B",5,"\u8C63",6,"\u8C6C",6,"\u8C74\u8C75\u8C76\u8C77\u8C7B",6,"\u8C83\u8C84\u8C86\u8C87"],["d880","\u8C88\u8C8B\u8C8D",6,"\u8C95\u8C96\u8C97\u8C99",20,"\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"],["d940","\u8CAE",62],["d980","\u8CED",32,"\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"],["da40","\u8D0E",14,"\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78",8,"\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C",4,"\u8D92\u8D93\u8D95",9,"\u8DA0\u8DA1"],["da80","\u8DA2\u8DA4",12,"\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"],["db40","\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE",6,"\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15",7,"\u8E20\u8E21\u8E24",4,"\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"],["db80","\u8E3F\u8E43\u8E45\u8E46\u8E4C",4,"\u8E53",5,"\u8E5A",11,"\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"],["dc40","\u8E73\u8E75\u8E77",4,"\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88",6,"\u8E91\u8E92\u8E93\u8E95",6,"\u8E9D\u8E9F",11,"\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3",6,"\u8EBB",7],["dc80","\u8EC3",10,"\u8ECF",21,"\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"],["dd40","\u8EE5",62],["dd80","\u8F24",32,"\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"],["de40","\u8F45",32,"\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"],["de80","\u8FC9",4,"\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"],["df40","\u9019\u901C\u9023\u9024\u9025\u9027",5,"\u9030",4,"\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048",4,"\u904E\u9054\u9055\u9056\u9059\u905A\u905C",5,"\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F",4,"\u9076",6,"\u907E\u9081"],["df80","\u9084\u9085\u9086\u9087\u9089\u908A\u908C",4,"\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"],["e040","\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105",19,"\u911A\u911B\u911C"],["e080","\u911D\u911F\u9120\u9121\u9124",10,"\u9130\u9132",6,"\u913A",8,"\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"],["e140","\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180",4,"\u9186\u9188\u918A\u918E\u918F\u9193",6,"\u919C",5,"\u91A4",5,"\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"],["e180","\u91BC",10,"\u91C8\u91CB\u91D0\u91D2",9,"\u91DD",8,"\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"],["e240","\u91E6",62],["e280","\u9225",32,"\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967",5,"\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"],["e340","\u9246",45,"\u9275",16],["e380","\u9286",7,"\u928F",24,"\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"],["e440","\u92A8",5,"\u92AF",24,"\u92C9",31],["e480","\u92E9",32,"\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"],["e540","\u930A",51,"\u933F",10],["e580","\u934A",31,"\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"],["e640","\u936C",34,"\u9390",27],["e680","\u93AC",29,"\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"],["e740","\u93CE",7,"\u93D7",54],["e780","\u940E",32,"\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21",6,"\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F",4,"\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"],["e840","\u942F",14,"\u943F",43,"\u946C\u946D\u946E\u946F"],["e880","\u9470",20,"\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"],["e940","\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577",7,"\u9580",42],["e980","\u95AB",32,"\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"],["ea40","\u95CC",27,"\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623",6,"\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"],["ea80","\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D",4,"\u9673\u9678",12,"\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"],["eb40","\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D",9,"\u96A8",7,"\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6",9,"\u96E1",6,"\u96EB"],["eb80","\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717",4,"\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"],["ec40","\u9721",8,"\u972B\u972C\u972E\u972F\u9731\u9733",4,"\u973A\u973B\u973C\u973D\u973F",18,"\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A",7],["ec80","\u9772\u9775\u9777",4,"\u977D",7,"\u9786",4,"\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799",4,"\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"],["ed40","\u979E\u979F\u97A1\u97A2\u97A4",6,"\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5",46],["ed80","\u97E4\u97E5\u97E8\u97EE",4,"\u97F4\u97F7",23,"\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"],["ee40","\u980F",62],["ee80","\u984E",32,"\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6",4,"\u94BC\u94BD\u94BF\u94C4\u94C8",6,"\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"],["ef40","\u986F",5,"\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8",37,"\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0",4],["ef80","\u98E5\u98E6\u98E9",30,"\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512",4,"\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564",8,"\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"],["f040","\u9908",4,"\u990E\u990F\u9911",28,"\u992F",26],["f080","\u994A",9,"\u9956",12,"\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28",4,"\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66",6,"\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"],["f140","\u998C\u998E\u999A",10,"\u99A6\u99A7\u99A9",47],["f180","\u99D9",32,"\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"],["f240","\u99FA",62],["f280","\u9A39",32,"\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"],["f340","\u9A5A",17,"\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9",6,"\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6",4,"\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"],["f380","\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0",8,"\u9AFA\u9AFC",6,"\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"],["f440","\u9B07\u9B09",5,"\u9B10\u9B11\u9B12\u9B14",10,"\u9B20\u9B21\u9B22\u9B24",10,"\u9B30\u9B31\u9B33",7,"\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55",5],["f480","\u9B5B",32,"\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"],["f540","\u9B7C",62],["f580","\u9BBB",32,"\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"],["f640","\u9BDC",62],["f680","\u9C1B",32,"\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85",5,"\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E",5,"\u9CA5",4,"\u9CAB\u9CAD\u9CAE\u9CB0",7,"\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"],["f740","\u9C3C",62],["f780","\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE",4,"\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC",4,"\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"],["f840","\u9CE3",62],["f880","\u9D22",32],["f940","\u9D43",62],["f980","\u9D82",32],["fa40","\u9DA3",62],["fa80","\u9DE2",32],["fb40","\u9E03",27,"\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74",9,"\u9E80"],["fb80","\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C",5,"\u9E94",8,"\u9E9E\u9EA0",5,"\u9EA7\u9EA8\u9EA9\u9EAA"],["fc40","\u9EAB",8,"\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF",4,"\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0",8,"\u9EFA\u9EFD\u9EFF",6],["fc80","\u9F06",4,"\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A",5,"\u9F21\u9F23",8,"\u9F2D\u9F2E\u9F30\u9F31"],["fd40","\u9F32",4,"\u9F38\u9F3A\u9F3C\u9F3F",4,"\u9F45",10,"\u9F52",38],["fd80","\u9F79",5,"\u9F81\u9F82\u9F8D",11,"\u9F9C\u9F9D\u9F9E\u9FA1",4,"\uF92C\uF979\uF995\uF9E7\uF9F1"],["fe40","\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"]]});var kS=j((V$e,iW)=>{iW.exports=[["a140","\uE4C6",62],["a180","\uE505",32],["a240","\uE526",62],["a280","\uE565",32],["a2ab","\uE766",5],["a2e3","\u20AC\uE76D"],["a2ef","\uE76E\uE76F"],["a2fd","\uE770\uE771"],["a340","\uE586",62],["a380","\uE5C5",31,"\u3000"],["a440","\uE5E6",62],["a480","\uE625",32],["a4f4","\uE772",10],["a540","\uE646",62],["a580","\uE685",32],["a5f7","\uE77D",7],["a640","\uE6A6",62],["a680","\uE6E5",32],["a6b9","\uE785",7],["a6d9","\uE78D",6],["a6ec","\uE794\uE795"],["a6f3","\uE796"],["a6f6","\uE797",8],["a740","\uE706",62],["a780","\uE745",32],["a7c2","\uE7A0",14],["a7f2","\uE7AF",12],["a896","\uE7BC",10],["a8bc","\uE7C7"],["a8bf","\u01F9"],["a8c1","\uE7C9\uE7CA\uE7CB\uE7CC"],["a8ea","\uE7CD",20],["a958","\uE7E2"],["a95b","\uE7E3"],["a95d","\uE7E4\uE7E5\uE7E6"],["a989","\u303E\u2FF0",11],["a997","\uE7F4",12],["a9f0","\uE801",14],["aaa1","\uE000",93],["aba1","\uE05E",93],["aca1","\uE0BC",93],["ada1","\uE11A",93],["aea1","\uE178",93],["afa1","\uE1D6",93],["d7fa","\uE810",4],["f8a1","\uE234",93],["f9a1","\uE292",93],["faa1","\uE2F0",93],["fba1","\uE34E",93],["fca1","\uE3AC",93],["fda1","\uE40A",93],["fe50","\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"],["fe80","\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13",6,"\u4DAE\uE864\uE468",93]]});var VC=j((G$e,aW)=>{aW.exports={uChars:[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],gbChars:[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189e3]}});var GC=j((W$e,oW)=>{oW.exports=[["0","\0",127],["8141","\uAC02\uAC03\uAC05\uAC06\uAC0B",4,"\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25",6,"\uAC2E\uAC32\uAC33\uAC34"],["8161","\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41",9,"\uAC4C\uAC4E",5,"\uAC55"],["8181","\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D",18,"\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B",4,"\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95",6,"\uAC9E\uACA2",5,"\uACAB\uACAD\uACAE\uACB1",6,"\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD",7,"\uACD6\uACD8",7,"\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7",4,"\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07",4,"\uAD0E\uAD10\uAD12\uAD13"],["8241","\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21",7,"\uAD2A\uAD2B\uAD2E",5],["8261","\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D",6,"\uAD46\uAD48\uAD4A",5,"\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"],["8281","\uAD59",7,"\uAD62\uAD64",7,"\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83",4,"\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91",10,"\uAD9E",5,"\uADA5",17,"\uADB8",7,"\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9",6,"\uADD2\uADD4",7,"\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5",18],["8341","\uADFA\uADFB\uADFD\uADFE\uAE02",5,"\uAE0A\uAE0C\uAE0E",5,"\uAE15",7],["8361","\uAE1D",18,"\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"],["8381","\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57",4,"\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71",6,"\uAE7A\uAE7E",5,"\uAE86",5,"\uAE8D",46,"\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5",6,"\uAECE\uAED2",5,"\uAEDA\uAEDB\uAEDD",8],["8441","\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE",5,"\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD",8],["8461","\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11",18],["8481","\uAF24",7,"\uAF2E\uAF2F\uAF31\uAF33\uAF35",6,"\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A",5,"\uAF51",10,"\uAF5E",5,"\uAF66",18,"\uAF7A",5,"\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89",6,"\uAF92\uAF93\uAF94\uAF96",5,"\uAF9D",26,"\uAFBA\uAFBB\uAFBD\uAFBE"],["8541","\uAFBF\uAFC1",5,"\uAFCA\uAFCC\uAFCF",4,"\uAFD5",6,"\uAFDD",4],["8561","\uAFE2",5,"\uAFEA",5,"\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9",6,"\uB002\uB003"],["8581","\uB005",6,"\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015",6,"\uB01E",9,"\uB029",26,"\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E",29,"\uB07E\uB07F\uB081\uB082\uB083\uB085",6,"\uB08E\uB090\uB092",5,"\uB09B\uB09D\uB09E\uB0A3\uB0A4"],["8641","\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD",6,"\uB0C6\uB0CA",5,"\uB0D2"],["8661","\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9",6,"\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6",10],["8681","\uB0F1",22,"\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E",4,"\uB126\uB127\uB129\uB12A\uB12B\uB12D",6,"\uB136\uB13A",5,"\uB142\uB143\uB145\uB146\uB147\uB149",6,"\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161",22,"\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183",4,"\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"],["8741","\uB19E",9,"\uB1A9",15],["8761","\uB1B9",18,"\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"],["8781","\uB1D6",5,"\uB1DE\uB1E0",7,"\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1",7,"\uB1FA\uB1FC\uB1FE",5,"\uB206\uB207\uB209\uB20A\uB20D",6,"\uB216\uB218\uB21A",5,"\uB221",18,"\uB235",6,"\uB23D",26,"\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261",6,"\uB26A",4],["8841","\uB26F",4,"\uB276",5,"\uB27D",6,"\uB286\uB287\uB288\uB28A",4],["8861","\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B",4,"\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"],["8881","\uB2B8",15,"\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3",4,"\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309",6,"\uB312\uB316",5,"\uB31D",54,"\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"],["8941","\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379",6,"\uB382\uB386",5,"\uB38D"],["8961","\uB38E\uB38F\uB391\uB392\uB393\uB395",10,"\uB3A2",5,"\uB3A9\uB3AA\uB3AB\uB3AD"],["8981","\uB3AE",21,"\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9",18,"\uB3FD",18,"\uB411",6,"\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421",6,"\uB42A\uB42C",7,"\uB435",15],["8a41","\uB445",10,"\uB452\uB453\uB455\uB456\uB457\uB459",6,"\uB462\uB464\uB466"],["8a61","\uB467",4,"\uB46D",18,"\uB481\uB482"],["8a81","\uB483",4,"\uB489",19,"\uB49E",5,"\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD",7,"\uB4B6\uB4B8\uB4BA",5,"\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9",6,"\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6",5,"\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7",4,"\uB4EE\uB4F0\uB4F2",5,"\uB4F9",26,"\uB516\uB517\uB519\uB51A\uB51D"],["8b41","\uB51E",5,"\uB526\uB52B",4,"\uB532\uB533\uB535\uB536\uB537\uB539",6,"\uB542\uB546"],["8b61","\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555",6,"\uB55E\uB562",8],["8b81","\uB56B",52,"\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6",4,"\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5",6,"\uB5CE\uB5D2",5,"\uB5D9",18,"\uB5ED",18],["8c41","\uB600",15,"\uB612\uB613\uB615\uB616\uB617\uB619",4],["8c61","\uB61E",6,"\uB626",5,"\uB62D",6,"\uB635",5],["8c81","\uB63B",12,"\uB649",26,"\uB665\uB666\uB667\uB669",50,"\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5",5,"\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2",16],["8d41","\uB6C3",16,"\uB6D5",8],["8d61","\uB6DE",17,"\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"],["8d81","\uB6FB",4,"\uB702\uB703\uB704\uB706",33,"\uB72A\uB72B\uB72D\uB72E\uB731",6,"\uB73A\uB73C",7,"\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D",6,"\uB756",9,"\uB761\uB762\uB763\uB765\uB766\uB767\uB769",6,"\uB772\uB774\uB776",5,"\uB77E\uB77F\uB781\uB782\uB783\uB785",6,"\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"],["8e41","\uB79F\uB7A1",6,"\uB7AA\uB7AE",5,"\uB7B6\uB7B7\uB7B9",8],["8e61","\uB7C2",4,"\uB7C8\uB7CA",19],["8e81","\uB7DE",13,"\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5",6,"\uB7FE\uB802",4,"\uB80A\uB80B\uB80D\uB80E\uB80F\uB811",6,"\uB81A\uB81C\uB81E",5,"\uB826\uB827\uB829\uB82A\uB82B\uB82D",6,"\uB836\uB83A",5,"\uB841\uB842\uB843\uB845",11,"\uB852\uB854",7,"\uB85E\uB85F\uB861\uB862\uB863\uB865",6,"\uB86E\uB870\uB872",5,"\uB879\uB87A\uB87B\uB87D",7],["8f41","\uB885",7,"\uB88E",17],["8f61","\uB8A0",7,"\uB8A9",6,"\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9",4],["8f81","\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6",5,"\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5",7,"\uB8DE\uB8E0\uB8E2",5,"\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1",6,"\uB8FA\uB8FC\uB8FE",5,"\uB905",18,"\uB919",6,"\uB921",26,"\uB93E\uB93F\uB941\uB942\uB943\uB945",6,"\uB94D\uB94E\uB950\uB952",5],["9041","\uB95A\uB95B\uB95D\uB95E\uB95F\uB961",6,"\uB96A\uB96C\uB96E",5,"\uB976\uB977\uB979\uB97A\uB97B\uB97D"],["9061","\uB97E",5,"\uB986\uB988\uB98B\uB98C\uB98F",15],["9081","\uB99F",12,"\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5",6,"\uB9BE\uB9C0\uB9C2",5,"\uB9CA\uB9CB\uB9CD\uB9D3",4,"\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED",6,"\uB9F6\uB9FB",4,"\uBA02",5,"\uBA09",11,"\uBA16",33,"\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"],["9141","\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D",6,"\uBA66\uBA6A",5],["9161","\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79",9,"\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D",5],["9181","\uBA93",20,"\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3",4,"\uBABA\uBABC\uBABE",5,"\uBAC5\uBAC6\uBAC7\uBAC9",14,"\uBADA",33,"\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05",7,"\uBB0E\uBB10\uBB12",5,"\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21",6],["9241","\uBB28\uBB2A\uBB2C",7,"\uBB37\uBB39\uBB3A\uBB3F",4,"\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"],["9261","\uBB53\uBB55\uBB56\uBB57\uBB59",7,"\uBB62\uBB64",7,"\uBB6D",4],["9281","\uBB72",21,"\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91",18,"\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD",6,"\uBBB5\uBBB6\uBBB8",7,"\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9",6,"\uBBD1\uBBD2\uBBD4",35,"\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"],["9341","\uBC03",4,"\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"],["9361","\uBC36\uBC37\uBC39",6,"\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51",8],["9381","\uBC5A\uBC5B\uBC5C\uBC5E",37,"\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F",4,"\uBC96\uBC98\uBC9B",4,"\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9",6,"\uBCB2\uBCB6",5,"\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5",7,"\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD",22,"\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"],["9441","\uBCFE",5,"\uBD06\uBD08\uBD0A",5,"\uBD11\uBD12\uBD13\uBD15",8],["9461","\uBD1E",5,"\uBD25",6,"\uBD2D",12],["9481","\uBD3A",5,"\uBD41",6,"\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51",6,"\uBD5A",9,"\uBD65\uBD66\uBD67\uBD69",22,"\uBD82\uBD83\uBD85\uBD86\uBD8B",4,"\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D",6,"\uBDA5",10,"\uBDB1",6,"\uBDB9",24],["9541","\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD",11,"\uBDEA",5,"\uBDF1"],["9561","\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9",6,"\uBE01\uBE02\uBE04\uBE06",5,"\uBE0E\uBE0F\uBE11\uBE12\uBE13"],["9581","\uBE15",6,"\uBE1E\uBE20",35,"\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F",4,"\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B",4,"\uBE72\uBE76",4,"\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85",6,"\uBE8E\uBE92",5,"\uBE9A",13,"\uBEA9",14],["9641","\uBEB8",23,"\uBED2\uBED3"],["9661","\uBED5\uBED6\uBED9",6,"\uBEE1\uBEE2\uBEE6",5,"\uBEED",8],["9681","\uBEF6",10,"\uBF02",5,"\uBF0A",13,"\uBF1A\uBF1E",33,"\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49",6,"\uBF52\uBF53\uBF54\uBF56",44],["9741","\uBF83",16,"\uBF95",8],["9761","\uBF9E",17,"\uBFB1",7],["9781","\uBFB9",11,"\uBFC6",5,"\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5",6,"\uBFDD\uBFDE\uBFE0\uBFE2",89,"\uC03D\uC03E\uC03F"],["9841","\uC040",16,"\uC052",5,"\uC059\uC05A\uC05B"],["9861","\uC05D\uC05E\uC05F\uC061",6,"\uC06A",15],["9881","\uC07A",21,"\uC092\uC093\uC095\uC096\uC097\uC099",6,"\uC0A2\uC0A4\uC0A6",5,"\uC0AE\uC0B1\uC0B2\uC0B7",4,"\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1",6,"\uC0DA\uC0DE",5,"\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED",6,"\uC0F6\uC0F8\uC0FA",5,"\uC101\uC102\uC103\uC105\uC106\uC107\uC109",6,"\uC111\uC112\uC113\uC114\uC116",5,"\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"],["9941","\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141",6,"\uC14A\uC14E",5,"\uC156\uC157"],["9961","\uC159\uC15A\uC15B\uC15D",6,"\uC166\uC16A",5,"\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"],["9981","\uC17C",8,"\uC186",5,"\uC18F\uC191\uC192\uC193\uC195\uC197",4,"\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1",11,"\uC1BE",5,"\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD",6,"\uC1D5\uC1D6\uC1D9",6,"\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9",6,"\uC1F2\uC1F4",7,"\uC1FE\uC1FF\uC201\uC202\uC203\uC205",6,"\uC20E\uC210\uC212",5,"\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"],["9a41","\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235",16],["9a61","\uC246\uC247\uC249",6,"\uC252\uC253\uC255\uC256\uC257\uC259",6,"\uC261\uC262\uC263\uC264\uC266"],["9a81","\uC267",4,"\uC26E\uC26F\uC271\uC272\uC273\uC275",6,"\uC27E\uC280\uC282",5,"\uC28A",5,"\uC291",6,"\uC299\uC29A\uC29C\uC29E",5,"\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE",5,"\uC2B6\uC2B8\uC2BA",33,"\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5",5,"\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301",6,"\uC30A\uC30B\uC30E\uC30F"],["9b41","\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D",6,"\uC326\uC327\uC32A",8],["9b61","\uC333",17,"\uC346",7],["9b81","\uC34E",25,"\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373",4,"\uC37A\uC37B\uC37E",5,"\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D",50,"\uC3C1",22,"\uC3DA"],["9c41","\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3",4,"\uC3EA\uC3EB\uC3EC\uC3EE",5,"\uC3F6\uC3F7\uC3F9",5],["9c61","\uC3FF",8,"\uC409",6,"\uC411",9],["9c81","\uC41B",8,"\uC425",6,"\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435",6,"\uC43E",9,"\uC449",26,"\uC466\uC467\uC469\uC46A\uC46B\uC46D",6,"\uC476\uC477\uC478\uC47A",5,"\uC481",18,"\uC495",6,"\uC49D",12],["9d41","\uC4AA",13,"\uC4B9\uC4BA\uC4BB\uC4BD",8],["9d61","\uC4C6",25],["9d81","\uC4E0",8,"\uC4EA",5,"\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502",9,"\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515",6,"\uC51D",10,"\uC52A\uC52B\uC52D\uC52E\uC52F\uC531",6,"\uC53A\uC53C\uC53E",5,"\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569",6,"\uC572\uC576",5,"\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"],["9e41","\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1",7,"\uC5AA",9,"\uC5B6"],["9e61","\uC5B7\uC5BA\uC5BF",4,"\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9",6,"\uC5E2\uC5E4\uC5E6\uC5E7"],["9e81","\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611",6,"\uC61A\uC61D",6,"\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649",6,"\uC652\uC656",5,"\uC65E\uC65F\uC661",10,"\uC66D\uC66E\uC670\uC672",5,"\uC67A\uC67B\uC67D\uC67E\uC67F\uC681",6,"\uC68A\uC68C\uC68E",5,"\uC696\uC697\uC699\uC69A\uC69B\uC69D",6,"\uC6A6"],["9f41","\uC6A8\uC6AA",5,"\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB",4,"\uC6C2\uC6C4\uC6C6",5,"\uC6CE"],["9f61","\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5",6,"\uC6DE\uC6DF\uC6E2",5,"\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"],["9f81","\uC6F3",4,"\uC6FA\uC6FB\uC6FC\uC6FE",5,"\uC706\uC707\uC709\uC70A\uC70B\uC70D",6,"\uC716\uC718\uC71A",5,"\uC722\uC723\uC725\uC726\uC727\uC729",6,"\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745",4,"\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761",6,"\uC769\uC76A\uC76C",7,"\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B",4,"\uC7A2\uC7A7",4,"\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"],["a041","\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2",5,"\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1",6,"\uC7D9\uC7DA\uC7DB\uC7DC"],["a061","\uC7DE",5,"\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED",13],["a081","\uC7FB",4,"\uC802\uC803\uC805\uC806\uC807\uC809\uC80B",4,"\uC812\uC814\uC817",4,"\uC81E\uC81F\uC821\uC822\uC823\uC825",6,"\uC82E\uC830\uC832",5,"\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841",6,"\uC84A\uC84B\uC84E",5,"\uC855",26,"\uC872\uC873\uC875\uC876\uC877\uC879\uC87B",4,"\uC882\uC884\uC888\uC889\uC88A\uC88E",5,"\uC895",7,"\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"],["a141","\uC8A5\uC8A6\uC8A7\uC8A9",18,"\uC8BE\uC8BF\uC8C0\uC8C1"],["a161","\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD",6,"\uC8D6\uC8D8\uC8DA",5,"\uC8E2\uC8E3\uC8E5"],["a181","\uC8E6",14,"\uC8F6",5,"\uC8FE\uC8FF\uC901\uC902\uC903\uC907",4,"\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008",9,"\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"],["a241","\uC910\uC912",5,"\uC919",18],["a261","\uC92D",6,"\uC935",18],["a281","\uC948",7,"\uC952\uC953\uC955\uC956\uC957\uC959",6,"\uC962\uC964",7,"\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"],["a341","\uC971\uC972\uC973\uC975",6,"\uC97D",10,"\uC98A\uC98B\uC98D\uC98E\uC98F"],["a361","\uC991",6,"\uC99A\uC99C\uC99E",16],["a381","\uC9AF",16,"\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB",4,"\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01",58,"\uFFE6\uFF3D",32,"\uFFE3"],["a441","\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2",5,"\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"],["a461","\uCA05\uCA06\uCA07\uCA0A\uCA0E",5,"\uCA15\uCA16\uCA17\uCA19",12],["a481","\uCA26\uCA27\uCA28\uCA2A",28,"\u3131",93],["a541","\uCA47",4,"\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55",6,"\uCA5E\uCA62",5,"\uCA69\uCA6A"],["a561","\uCA6B",17,"\uCA7E",5,"\uCA85\uCA86"],["a581","\uCA87",16,"\uCA99",14,"\u2170",9],["a5b0","\u2160",9],["a5c1","\u0391",16,"\u03A3",6],["a5e1","\u03B1",16,"\u03C3",6],["a641","\uCAA8",19,"\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"],["a661","\uCAC6",5,"\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA",5,"\uCAE1",6],["a681","\uCAE8\uCAE9\uCAEA\uCAEB\uCAED",6,"\uCAF5",18,"\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543",7],["a741","\uCB0B",4,"\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19",6,"\uCB22",7],["a761","\uCB2A",22,"\uCB42\uCB43\uCB44"],["a781","\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51",6,"\uCB5A\uCB5B\uCB5C\uCB5E",5,"\uCB65",7,"\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399",9,"\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0",9,"\u3380",4,"\u33BA",5,"\u3390",4,"\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"],["a841","\uCB6D",10,"\uCB7A",14],["a861","\uCB89",18,"\uCB9D",6],["a881","\uCBA4",19,"\uCBB9",11,"\xC6\xD0\xAA\u0126"],["a8a6","\u0132"],["a8a8","\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"],["a8b1","\u3260",27,"\u24D0",25,"\u2460",14,"\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"],["a941","\uCBC5",14,"\uCBD5",10],["a961","\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA",18],["a981","\uCBFD",14,"\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15",6,"\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200",27,"\u249C",25,"\u2474",14,"\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"],["aa41","\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31",6,"\uCC3A\uCC3F",4,"\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"],["aa61","\uCC4F",4,"\uCC56\uCC5A",5,"\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69",6,"\uCC71\uCC72"],["aa81","\uCC73\uCC74\uCC76",29,"\u3041",82],["ab41","\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1",6,"\uCCAA\uCCAE",5,"\uCCB6\uCCB7\uCCB9"],["ab61","\uCCBA\uCCBB\uCCBD",6,"\uCCC6\uCCC8\uCCCA",5,"\uCCD1\uCCD2\uCCD3\uCCD5",5],["ab81","\uCCDB",8,"\uCCE5",6,"\uCCED\uCCEE\uCCEF\uCCF1",12,"\u30A1",85],["ac41","\uCCFE\uCCFF\uCD00\uCD02",5,"\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11",6,"\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"],["ac61","\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D",11,"\uCD3A",4],["ac81","\uCD3F",28,"\uCD5D\uCD5E\uCD5F\u0410",5,"\u0401\u0416",25],["acd1","\u0430",5,"\u0451\u0436",25],["ad41","\uCD61\uCD62\uCD63\uCD65",6,"\uCD6E\uCD70\uCD72",5,"\uCD79",7],["ad61","\uCD81",6,"\uCD89",10,"\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"],["ad81","\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA",5,"\uCDB1",18,"\uCDC5"],["ae41","\uCDC6",5,"\uCDCD\uCDCE\uCDCF\uCDD1",16],["ae61","\uCDE2",5,"\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1",6,"\uCDFA\uCDFC\uCDFE",4],["ae81","\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D",6,"\uCE15\uCE16\uCE17\uCE18\uCE1A",5,"\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"],["af41","\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36",19],["af61","\uCE4A",13,"\uCE5A\uCE5B\uCE5D\uCE5E\uCE62",5,"\uCE6A\uCE6C"],["af81","\uCE6E",5,"\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D",6,"\uCE86\uCE88\uCE8A",5,"\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"],["b041","\uCE9A",5,"\uCEA2\uCEA6",5,"\uCEAE",12],["b061","\uCEBB",5,"\uCEC2",19],["b081","\uCED6",13,"\uCEE6\uCEE7\uCEE9\uCEEA\uCEED",6,"\uCEF6\uCEFA",5,"\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10",7,"\uAC19",4,"\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"],["b141","\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09",6,"\uCF12\uCF14\uCF16",5,"\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"],["b161","\uCF25",6,"\uCF2E\uCF32",5,"\uCF39",11],["b181","\uCF45",14,"\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D",6,"\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"],["b241","\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79",6,"\uCF81\uCF82\uCF83\uCF84\uCF86",5,"\uCF8D"],["b261","\uCF8E",18,"\uCFA2",5,"\uCFA9"],["b281","\uCFAA",5,"\uCFB1",18,"\uCFC5",6,"\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"],["b341","\uCFCC",19,"\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"],["b361","\uCFEA",5,"\uCFF2\uCFF4\uCFF6",5,"\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005",5],["b381","\uD00B",5,"\uD012",5,"\uD019",19,"\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB",4,"\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"],["b441","\uD02E",5,"\uD036\uD037\uD039\uD03A\uD03B\uD03D",6,"\uD046\uD048\uD04A",5],["b461","\uD051\uD052\uD053\uD055\uD056\uD057\uD059",6,"\uD061",10,"\uD06E\uD06F"],["b481","\uD071\uD072\uD073\uD075",6,"\uD07E\uD07F\uD080\uD082",18,"\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB",4,"\uB2F3\uB2F4\uB2F5\uB2F7",4,"\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"],["b541","\uD095",14,"\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD",5],["b561","\uD0B3\uD0B6\uD0B8\uD0BA",5,"\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA",5,"\uD0D2\uD0D6",4],["b581","\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5",6,"\uD0EE\uD0F2",5,"\uD0F9",11,"\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"],["b641","\uD105",7,"\uD10E",17],["b661","\uD120",15,"\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"],["b681","\uD13F\uD142\uD146",5,"\uD14E\uD14F\uD151\uD152\uD153\uD155",6,"\uD15E\uD160\uD162",5,"\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"],["b741","\uD16E",13,"\uD17D",6,"\uD185\uD186\uD187\uD189\uD18A"],["b761","\uD18B",20,"\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"],["b781","\uD1A9",6,"\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1",14,"\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"],["b841","\uD1D0",7,"\uD1D9",17],["b861","\uD1EB",8,"\uD1F5\uD1F6\uD1F7\uD1F9",13],["b881","\uD208\uD20A",5,"\uD211",24,"\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE",4,"\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"],["b941","\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235",6,"\uD23E\uD240\uD242",5,"\uD249\uD24A\uD24B\uD24C"],["b961","\uD24D",14,"\uD25D",6,"\uD265\uD266\uD267\uD268"],["b981","\uD269",22,"\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14",4,"\uBC1B",4,"\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"],["ba41","\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296",5,"\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5",6,"\uD2AD"],["ba61","\uD2AE\uD2AF\uD2B0\uD2B2",5,"\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3",4,"\uD2CA\uD2CC",5],["ba81","\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD",6,"\uD2E6",9,"\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"],["bb41","\uD2FB",4,"\uD302\uD304\uD306",5,"\uD30F\uD311\uD312\uD313\uD315\uD317",4,"\uD31E\uD322\uD323"],["bb61","\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331",6,"\uD33A\uD33E",5,"\uD346\uD347\uD348\uD349"],["bb81","\uD34A",31,"\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"],["bc41","\uD36A",17,"\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"],["bc61","\uD388\uD389\uD38A\uD38B\uD38E\uD392",5,"\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1",6,"\uD3AA\uD3AC\uD3AE"],["bc81","\uD3AF",4,"\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD",6,"\uD3C6\uD3C7\uD3CA",5,"\uD3D1",5,"\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C",4,"\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"],["bd41","\uD3D7\uD3D9",7,"\uD3E2\uD3E4",7,"\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"],["bd61","\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402",5,"\uD409",13],["bd81","\uD417",5,"\uD41E",25,"\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"],["be41","\uD438",7,"\uD441\uD442\uD443\uD445",14],["be61","\uD454",7,"\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465",7,"\uD46E\uD470\uD471\uD472"],["be81","\uD473",4,"\uD47A\uD47B\uD47D\uD47E\uD481\uD483",4,"\uD48A\uD48C\uD48E",5,"\uD495",8,"\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4",6,"\uC5CC\uC5CE"],["bf41","\uD49E",10,"\uD4AA",14],["bf61","\uD4B9",18,"\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"],["bf81","\uD4D6",5,"\uD4DD\uD4DE\uD4E0",7,"\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1",6,"\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC",5,"\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"],["c041","\uD4FE",5,"\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D",6,"\uD516\uD518",5],["c061","\uD51E",25],["c081","\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545",6,"\uD54E\uD550\uD552",5,"\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751",7,"\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"],["c141","\uD564\uD566\uD567\uD56A\uD56C\uD56E",5,"\uD576\uD577\uD579\uD57A\uD57B\uD57D",6,"\uD586\uD58A\uD58B"],["c161","\uD58C\uD58D\uD58E\uD58F\uD591",19,"\uD5A6\uD5A7"],["c181","\uD5A8",31,"\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"],["c241","\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3",4,"\uD5DA\uD5DC\uD5DE",5,"\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"],["c261","\uD5EF",4,"\uD5F6\uD5F8\uD5FA",5,"\uD602\uD603\uD605\uD606\uD607\uD609",6,"\uD612"],["c281","\uD616",5,"\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625",7,"\uD62E",9,"\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"],["c341","\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D",4],["c361","\uD662",4,"\uD668\uD66A",5,"\uD672\uD673\uD675",11],["c381","\uD681\uD682\uD684\uD686",5,"\uD68E\uD68F\uD691\uD692\uD693\uD695",7,"\uD69E\uD6A0\uD6A2",5,"\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"],["c441","\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1",7,"\uD6BA\uD6BC",7,"\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"],["c461","\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA",5,"\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9",4],["c481","\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6",5,"\uD6FE\uD6FF\uD701\uD702\uD703\uD705",11,"\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"],["c541","\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721",6,"\uD72A\uD72C\uD72E",5,"\uD736\uD737\uD739"],["c561","\uD73A\uD73B\uD73D",6,"\uD745\uD746\uD748\uD74A",5,"\uD752\uD753\uD755\uD75A",4],["c581","\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775",6,"\uD77E\uD77F\uD780\uD782",5,"\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"],["c641","\uD78D\uD78E\uD78F\uD791",6,"\uD79A\uD79C\uD79E",5],["c6a1","\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"],["c7a1","\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"],["c8a1","\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"],["caa1","\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"],["cba1","\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"],["cca1","\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"],["cda1","\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"],["cea1","\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"],["cfa1","\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"],["d0a1","\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"],["d1a1","\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E",5,"\u90A3\uF914",4,"\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"],["d2a1","\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928",4,"\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933",5,"\u99D1\uF939",10,"\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A",7,"\u5AE9\u8A25\u677B\u7D10\uF952",5,"\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"],["d3a1","\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"],["d4a1","\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"],["d5a1","\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"],["d6a1","\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"],["d7a1","\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"],["d8a1","\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"],["d9a1","\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"],["daa1","\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"],["dba1","\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"],["dca1","\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"],["dda1","\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"],["dea1","\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"],["dfa1","\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"],["e0a1","\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"],["e1a1","\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"],["e2a1","\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"],["e3a1","\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"],["e4a1","\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"],["e5a1","\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"],["e6a1","\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"],["e7a1","\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"],["e8a1","\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"],["e9a1","\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"],["eaa1","\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"],["eba1","\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"],["eca1","\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"],["eda1","\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"],["eea1","\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"],["efa1","\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"],["f0a1","\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"],["f1a1","\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"],["f2a1","\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"],["f3a1","\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"],["f4a1","\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"],["f5a1","\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"],["f6a1","\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"],["f7a1","\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"],["f8a1","\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"],["f9a1","\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"],["faa1","\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"],["fba1","\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"],["fca1","\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"],["fda1","\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"]]});var TS=j((K$e,sW)=>{sW.exports=[["0","\0",127],["a140","\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"],["a1a1","\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62",4,"\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"],["a240","\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581",7,"\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"],["a2a1","\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10",9,"\u2160",9,"\u3021",8,"\u5341\u5344\u5345\uFF21",25,"\uFF41",21],["a340","\uFF57\uFF58\uFF59\uFF5A\u0391",16,"\u03A3",6,"\u03B1",16,"\u03C3",6,"\u3105",10],["a3a1","\u3110",25,"\u02D9\u02C9\u02CA\u02C7\u02CB"],["a3e1","\u20AC"],["a440","\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"],["a4a1","\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"],["a540","\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"],["a5a1","\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"],["a640","\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"],["a6a1","\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"],["a740","\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"],["a7a1","\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"],["a840","\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"],["a8a1","\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"],["a940","\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"],["a9a1","\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"],["aa40","\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"],["aaa1","\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"],["ab40","\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"],["aba1","\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"],["ac40","\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"],["aca1","\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"],["ad40","\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"],["ada1","\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"],["ae40","\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"],["aea1","\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"],["af40","\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"],["afa1","\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"],["b040","\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"],["b0a1","\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"],["b140","\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"],["b1a1","\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"],["b240","\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"],["b2a1","\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"],["b340","\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"],["b3a1","\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"],["b440","\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"],["b4a1","\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"],["b540","\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"],["b5a1","\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"],["b640","\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"],["b6a1","\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"],["b740","\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"],["b7a1","\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"],["b840","\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"],["b8a1","\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"],["b940","\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"],["b9a1","\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"],["ba40","\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"],["baa1","\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"],["bb40","\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"],["bba1","\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"],["bc40","\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"],["bca1","\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"],["bd40","\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"],["bda1","\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"],["be40","\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"],["bea1","\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"],["bf40","\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"],["bfa1","\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"],["c040","\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"],["c0a1","\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"],["c140","\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"],["c1a1","\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"],["c240","\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"],["c2a1","\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"],["c340","\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"],["c3a1","\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"],["c440","\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"],["c4a1","\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"],["c540","\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"],["c5a1","\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"],["c640","\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"],["c940","\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"],["c9a1","\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"],["ca40","\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"],["caa1","\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"],["cb40","\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"],["cba1","\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"],["cc40","\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"],["cca1","\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"],["cd40","\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"],["cda1","\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"],["ce40","\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"],["cea1","\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"],["cf40","\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"],["cfa1","\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"],["d040","\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"],["d0a1","\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"],["d140","\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"],["d1a1","\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"],["d240","\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"],["d2a1","\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"],["d340","\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"],["d3a1","\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"],["d440","\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"],["d4a1","\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"],["d540","\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"],["d5a1","\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"],["d640","\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"],["d6a1","\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"],["d740","\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"],["d7a1","\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"],["d840","\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"],["d8a1","\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"],["d940","\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"],["d9a1","\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"],["da40","\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"],["daa1","\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"],["db40","\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"],["dba1","\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"],["dc40","\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"],["dca1","\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"],["dd40","\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"],["dda1","\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"],["de40","\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"],["dea1","\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"],["df40","\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"],["dfa1","\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"],["e040","\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"],["e0a1","\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"],["e140","\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"],["e1a1","\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"],["e240","\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"],["e2a1","\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"],["e340","\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"],["e3a1","\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"],["e440","\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"],["e4a1","\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"],["e540","\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"],["e5a1","\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"],["e640","\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"],["e6a1","\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"],["e740","\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"],["e7a1","\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"],["e840","\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"],["e8a1","\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"],["e940","\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"],["e9a1","\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"],["ea40","\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"],["eaa1","\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"],["eb40","\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"],["eba1","\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"],["ec40","\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"],["eca1","\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"],["ed40","\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"],["eda1","\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"],["ee40","\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"],["eea1","\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"],["ef40","\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"],["efa1","\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"],["f040","\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"],["f0a1","\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"],["f140","\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"],["f1a1","\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"],["f240","\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"],["f2a1","\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"],["f340","\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"],["f3a1","\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"],["f440","\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"],["f4a1","\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"],["f540","\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"],["f5a1","\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"],["f640","\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"],["f6a1","\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"],["f740","\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"],["f7a1","\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"],["f840","\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"],["f8a1","\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"],["f940","\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"],["f9a1","\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"]]});var WC=j((J$e,cW)=>{cW.exports=[["8740","\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"],["8767","\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"],["87a1","\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"],["8840","\u31C0",4,"\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"],["88a1","\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"],["8940","\u{2A3A9}\u{21145}"],["8943","\u650A"],["8946","\u4E3D\u6EDD\u9D4E\u91DF"],["894c","\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"],["89a1","\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"],["89ab","\u918C\u78B8\u915E\u80BC"],["89b0","\u8D0B\u80F6\u{209E7}"],["89b5","\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"],["89c1","\u6E9A\u823E\u7519"],["89c5","\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"],["8a40","\u{27D84}\u5525"],["8a43","\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"],["8a64","\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"],["8a76","\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"],["8aa1","\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"],["8aac","\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"],["8ab2","\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"],["8abb","\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"],["8ac9","\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"],["8ace","\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"],["8adf","\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"],["8af6","\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"],["8b40","\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"],["8b55","\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"],["8ba1","\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"],["8bde","\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"],["8c40","\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"],["8ca1","\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"],["8ca7","\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"],["8cc9","\u9868\u676B\u4276\u573D"],["8cce","\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"],["8ce6","\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"],["8d40","\u{20B9F}"],["8d42","\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"],["8da1","\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"],["8e40","\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"],["8ea1","\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"],["8f40","\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"],["8fa1","\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"],["9040","\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"],["90a1","\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"],["9140","\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"],["91a1","\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"],["9240","\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"],["92a1","\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"],["9340","\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"],["93a1","\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"],["9440","\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"],["94a1","\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"],["9540","\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"],["95a1","\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"],["9640","\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"],["96a1","\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"],["9740","\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"],["97a1","\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"],["9840","\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"],["98a1","\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"],["9940","\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"],["99a1","\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"],["9a40","\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"],["9aa1","\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"],["9b40","\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"],["9b62","\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"],["9ba1","\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"],["9c40","\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"],["9ca1","\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"],["9d40","\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"],["9da1","\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"],["9e40","\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"],["9ea1","\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"],["9ead","\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"],["9ec5","\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"],["9ef5","\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"],["9f40","\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"],["9f4f","\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"],["9fa1","\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"],["9fae","\u9159\u9681\u915C"],["9fb2","\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"],["9fc1","\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"],["9fc9","\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"],["9fdb","\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"],["9fe7","\u6BFA\u8818\u7F78"],["9feb","\u5620\u{2A64A}\u8E77\u9F53"],["9ff0","\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"],["a040","\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"],["a055","\u{2183B}\u{26E05}"],["a058","\u8A7E\u{2251B}"],["a05b","\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"],["a063","\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"],["a073","\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"],["a0a1","\u5D57\u{28BC2}\u8FDA\u{28E39}"],["a0a6","\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"],["a0ae","\u77FE"],["a0b0","\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"],["a0d4","\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"],["a0e2","\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"],["a3c0","\u2400",31,"\u2421"],["c6a1","\u2460",9,"\u2474",9,"\u2170",9,"\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041",23],["c740","\u3059",58,"\u30A1\u30A2\u30A3\u30A4"],["c7a1","\u30A5",81,"\u0410",5,"\u0401\u0416",4],["c840","\u041B",26,"\u0451\u0436",25,"\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"],["c8a1","\u9FB0\u5188\u9FB1\u{27607}"],["c8cd","\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"],["c8f5","\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"],["f9fe","\uFFED"],["fa40","\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"],["faa1","\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"],["fb40","\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"],["fba1","\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"],["fc40","\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"],["fca1","\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"],["fd40","\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"],["fda1","\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"],["fe40","\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"],["fea1","\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"]]});var JC=j((X$e,KC)=>{"use strict";KC.exports={shiftjis:{type:"_dbcs",table:function(){return HC()},encodeAdd:{"\xA5":92,"\u203E":126},encodeSkipVals:[{from:60736,to:63808}]},csshiftjis:"shiftjis",mskanji:"shiftjis",sjis:"shiftjis",windows31j:"shiftjis",ms31j:"shiftjis",xsjis:"shiftjis",windows932:"shiftjis",ms932:"shiftjis",932:"shiftjis",cp932:"shiftjis",eucjp:{type:"_dbcs",table:function(){return BC()},encodeAdd:{"\xA5":92,"\u203E":126}},gb2312:"cp936",gb231280:"cp936",gb23121980:"cp936",csgb2312:"cp936",csiso58gb231280:"cp936",euccn:"cp936",windows936:"cp936",ms936:"cp936",936:"cp936",cp936:{type:"_dbcs",table:function(){return bm()}},gbk:{type:"_dbcs",table:function(){return bm().concat(kS())}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return bm().concat(kS())},gb18030:function(){return VC()},encodeSkipVals:[128],encodeAdd:{"\u20AC":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return GC()}},cseuckr:"cp949",csksc56011987:"cp949",euckr:"cp949",isoir149:"cp949",korean:"cp949",ksc56011987:"cp949",ksc56011989:"cp949",ksc5601:"cp949",windows950:"cp950",ms950:"cp950",950:"cp950",cp950:{type:"_dbcs",table:function(){return TS()}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return TS().concat(WC())},encodeSkipVals:[41676]},cnbig5:"big5hkscs",csbig5:"big5hkscs",xxbig5:"big5hkscs"}});var QC=j((YC,Cs)=>{"use strict";var XC=[OC(),CC(),jC(),MC(),zC(),LC(),ZC(),JC()];for(xm=0;xm{"use strict";var eN=require("buffer").Buffer,wm=require("stream").Transform;tN.exports=function(t){t.encodeStream=function(r,n){return new oo(t.getEncoder(r,n),n)},t.decodeStream=function(r,n){return new fa(t.getDecoder(r,n),n)},t.supportsStreams=!0,t.IconvLiteEncoderStream=oo,t.IconvLiteDecoderStream=fa,t._collect=fa.prototype.collect};function oo(t,e){this.conv=t,e=e||{},e.decodeStrings=!1,wm.call(this,e)}oo.prototype=Object.create(wm.prototype,{constructor:{value:oo}});oo.prototype._transform=function(t,e,r){if(typeof t!="string")return r(new Error("Iconv encoding stream needs strings as its input."));try{var n=this.conv.write(t);n&&n.length&&this.push(n),r()}catch(i){r(i)}};oo.prototype._flush=function(t){try{var e=this.conv.end();e&&e.length&&this.push(e),t()}catch(r){t(r)}};oo.prototype.collect=function(t){var e=[];return this.on("error",t),this.on("data",function(r){e.push(r)}),this.on("end",function(){t(null,eN.concat(e))}),this};function fa(t,e){this.conv=t,e=e||{},e.encoding=this.encoding="utf8",wm.call(this,e)}fa.prototype=Object.create(wm.prototype,{constructor:{value:fa}});fa.prototype._transform=function(t,e,r){if(!eN.isBuffer(t))return r(new Error("Iconv decoding stream needs buffers as its input."));try{var n=this.conv.write(t);n&&n.length&&this.push(n,this.encoding),r()}catch(i){r(i)}};fa.prototype._flush=function(t){try{var e=this.conv.end();e&&e.length&&this.push(e,this.encoding),t()}catch(r){t(r)}};fa.prototype.collect=function(t){var e="";return this.on("error",t),this.on("data",function(r){e+=r}),this.on("end",function(){t(null,e)}),this}});var iN=j((Q$e,nN)=>{"use strict";var Wt=require("buffer").Buffer;nN.exports=function(t){var e=void 0;t.supportsNodeEncodingsExtension=!(Wt.from||new Wt(0)instanceof Uint8Array),t.extendNodeEncodings=function(){if(!e){if(e={},!t.supportsNodeEncodingsExtension){console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node"),console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility");return}var n={hex:!0,utf8:!0,"utf-8":!0,ascii:!0,binary:!0,base64:!0,ucs2:!0,"ucs-2":!0,utf16le:!0,"utf-16le":!0};Wt.isNativeEncoding=function(o){return o&&n[o.toLowerCase()]};var i=require("buffer").SlowBuffer;if(e.SlowBufferToString=i.prototype.toString,i.prototype.toString=function(o,s,c){return o=String(o||"utf8").toLowerCase(),Wt.isNativeEncoding(o)?e.SlowBufferToString.call(this,o,s,c):(typeof s>"u"&&(s=0),typeof c>"u"&&(c=this.length),t.decode(this.slice(s,c),o))},e.SlowBufferWrite=i.prototype.write,i.prototype.write=function(o,s,c,u){if(isFinite(s))isFinite(c)||(u=c,c=void 0);else{var l=u;u=s,s=c,c=l}s=+s||0;var d=this.length-s;if(c?(c=+c,c>d&&(c=d)):c=d,u=String(u||"utf8").toLowerCase(),Wt.isNativeEncoding(u))return e.SlowBufferWrite.call(this,o,s,c,u);if(o.length>0&&(c<0||s<0))throw new RangeError("attempt to write beyond buffer bounds");var p=t.encode(o,u);return p.length"u"&&(s=0),typeof c>"u"&&(c=this.length),t.decode(this.slice(s,c),o))},e.BufferWrite=Wt.prototype.write,Wt.prototype.write=function(o,s,c,u){var l=s,d=c,p=u;if(isFinite(s))isFinite(c)||(u=c,c=void 0);else{var f=u;u=s,s=c,c=f}if(u=String(u||"utf8").toLowerCase(),Wt.isNativeEncoding(u))return e.BufferWrite.call(this,o,l,d,p);s=+s||0;var h=this.length-s;if(c?(c=+c,c>h&&(c=h)):c=h,o.length>0&&(c<0||s<0))throw new RangeError("attempt to write beyond buffer bounds");var _=t.encode(o,u);return _.length{"use strict";var oN=io().Buffer,sN=TC(),ft=cN.exports;ft.encodings=null;ft.defaultCharUnicode="\uFFFD";ft.defaultCharSingleByte="?";ft.encode=function(e,r,n){e=""+(e||"");var i=ft.getEncoder(r,n),a=i.write(e),o=i.end();return o&&o.length>0?oN.concat([a,o]):a};ft.decode=function(e,r,n){typeof e=="string"&&(ft.skipDecodeWarning||(console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"),ft.skipDecodeWarning=!0),e=oN.from(""+(e||""),"binary"));var i=ft.getDecoder(r,n),a=i.write(e),o=i.end();return o?a+o:a};ft.encodingExists=function(e){try{return ft.getCodec(e),!0}catch{return!1}};ft.toEncoding=ft.encode;ft.fromEncoding=ft.decode;ft._codecDataCache={};ft.getCodec=function(e){ft.encodings||(ft.encodings=QC());for(var r=ft._canonicalizeEncoding(e),n={};;){var i=ft._codecDataCache[r];if(i)return i;var a=ft.encodings[r];switch(typeof a){case"string":r=a;break;case"object":for(var o in a)n[o]=a[o];n.encodingName||(n.encodingName=r),r=a.type;break;case"function":return n.encodingName||(n.encodingName=r),i=new a(n,ft),ft._codecDataCache[n.encodingName]=i,i;default:throw new Error("Encoding not recognized: '"+e+"' (searched as: '"+r+"')")}}};ft._canonicalizeEncoding=function(t){return(""+t).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")};ft.getEncoder=function(e,r){var n=ft.getCodec(e),i=new n.encoder(r,n);return n.bomAware&&r&&r.addBOM&&(i=new sN.PrependBOM(i,r)),i};ft.getDecoder=function(e,r){var n=ft.getCodec(e),i=new n.decoder(r,n);return n.bomAware&&!(r&&r.stripBOM===!1)&&(i=new sN.StripBOM(i,r)),i};var aN=typeof process<"u"&&process.versions&&process.versions.node;aN&&(IS=aN.split(".").map(Number),(IS[0]>0||IS[1]>=10)&&rN()(ft),iN()(ft));var IS});var $m=j((tEe,uN)=>{"use strict";uN.exports=lW;function uW(t){for(var e=t.listeners("data"),r=0;r{"use strict";var lN=yW(),dW=Es(),so=ro(),pW=PS(),fW=$m();pN.exports=gW;var mW=/^Encoding not recognized: /;function hW(t){if(!t)return null;try{return pW.getDecoder(t)}catch(e){throw mW.test(e.message)?so(415,"specified encoding unsupported",{encoding:t,type:"encoding.unsupported"}):e}}function gW(t,e,r){var n=r,i=e||{};if(t===void 0)throw new TypeError("argument stream is required");if(typeof t!="object"||t===null||typeof t.on!="function")throw new TypeError("argument stream must be a stream");if((e===!0||typeof e=="string")&&(i={encoding:e}),typeof e=="function"&&(n=e,i={}),n!==void 0&&typeof n!="function")throw new TypeError("argument callback must be a function");if(!n&&!global.Promise)throw new TypeError("argument callback is required");var a=i.encoding!==!0?i.encoding:"utf-8",o=dW.parse(i.limit),s=i.length!=null&&!isNaN(i.length)?parseInt(i.length,10):null;return n?dN(t,a,s,o,_W(n)):new Promise(function(u,l){dN(t,a,s,o,function(p,f){if(p)return l(p);u(f)})})}function vW(t){fW(t),typeof t.pause=="function"&&t.pause()}function dN(t,e,r,n,i){var a=!1,o=!0;if(n!==null&&r!==null&&r>n)return d(so(413,"request entity too large",{expected:r,length:r,limit:n,type:"entity.too.large"}));var s=t._readableState;if(t._decoder||s&&(s.encoding||s.decoder))return d(so(500,"stream encoding should not be set",{type:"stream.encoding.set"}));if(typeof t.readable<"u"&&!t.readable)return d(so(500,"stream is not readable",{type:"stream.not.readable"}));var c=0,u;try{u=hW(e)}catch(g){return d(g)}var l=u?"":[];t.on("aborted",p),t.on("close",_),t.on("data",f),t.on("end",h),t.on("error",h),o=!1;function d(){for(var g=new Array(arguments.length),m=0;mn?d(so(413,"request entity too large",{limit:n,received:c,type:"entity.too.large"})):u?l+=u.write(g):l.push(g))}function h(g){if(!a){if(g)return d(g);if(r!==null&&c!==r)d(so(400,"request size did not match content length",{expected:r,length:r,received:c,type:"request.size.invalid"}));else{var m=u?l+(u.end()||""):Buffer.concat(l);d(null,m)}}}function _(){l=null,t.removeListener("aborted",p),t.removeListener("data",f),t.removeListener("end",h),t.removeListener("error",h),t.removeListener("close",_)}}function yW(){try{return require("async_hooks")}catch{return{}}}function _W(t){var e;return lN.AsyncResource&&(e=new lN.AsyncResource(t.name||"bound-anonymous-fn")),!e||!e.runInAsyncScope?t:e.runInAsyncScope.bind(e,t,null)}});var hN=j((nEe,mN)=>{"use strict";mN.exports=bW;function bW(t,e){if(!Array.isArray(t))throw new TypeError("arg must be an array of [ee, events...] arrays");for(var r=[],n=0;n{"use strict";OS.exports=wW;OS.exports.isFinished=yN;var gN=IW(),vN=hN(),SW=typeof setImmediate=="function"?setImmediate:function(t){process.nextTick(t.bind.apply(t,arguments))};function wW(t,e){return yN(t)!==!1?(SW(e,null,t),t):(EW(t,PW(e)),t)}function yN(t){var e=t.socket;if(typeof t.finished=="boolean")return!!(t.finished||e&&!e.writable);if(typeof t.complete=="boolean")return!!(t.upgrade||!e||!e.readable||t.complete&&!t.readable)}function $W(t,e){var r,n,i=!1;function a(s){r.cancel(),n.cancel(),i=!0,e(s)}r=n=vN([[t,"end","finish"]],a);function o(s){t.removeListener("socket",o),!i&&r===n&&(n=vN([[s,"error","close"]],a))}if(t.socket){o(t.socket);return}t.on("socket",o),t.socket===void 0&&TW(t,o)}function EW(t,e){var r=t.__onFinished;(!r||!r.queue)&&(r=t.__onFinished=kW(t),$W(t,r)),r.queue.push(e)}function kW(t){function e(r){if(t.__onFinished===e&&(t.__onFinished=null),!!e.queue){var n=e.queue;e.queue=null;for(var i=0;i{"use strict";var ma=ro(),OW=eS(),RW=fN(),_N=PS(),bN=Ol(),CW=$m(),xN=require("zlib");SN.exports=NW;function NW(t,e,r,n,i,a){var o,s=a,c;t._body=!0;var u=s.encoding!==null?s.encoding:null,l=s.verify;try{c=jW(t,i,s.inflate),o=c.length,c.length=void 0}catch(d){return r(d)}if(s.length=o,s.encoding=l?null:u,s.encoding===null&&u!==null&&!_N.encodingExists(u))return r(ma(415,'unsupported charset "'+u.toUpperCase()+'"',{charset:u.toLowerCase(),type:"charset.unsupported"}));i("read body"),RW(c,s,function(d,p){if(d){var f;d.type==="encoding.unsupported"?f=ma(415,'unsupported charset "'+u.toUpperCase()+'"',{charset:u.toLowerCase(),type:"charset.unsupported"}):f=ma(400,d),c!==t&&(CW(t),OW(c,!0)),AW(t,function(){r(ma(400,f))});return}if(l)try{i("verify body"),l(t,e,p,u)}catch(_){r(ma(403,_,{body:p,type:_.type||"entity.verify.failed"}));return}var h=p;try{i("parse body"),h=typeof p!="string"&&u!==null?_N.decode(p,u):p,t.body=n(h)}catch(_){r(ma(400,_,{body:h,type:_.type||"entity.parse.failed"}));return}r()})}function jW(t,e,r){var n=(t.headers["content-encoding"]||"identity").toLowerCase(),i=t.headers["content-length"],a;if(e('content-encoding "%s"',n),r===!1&&n!=="identity")throw ma(415,"content encoding unsupported",{encoding:n,type:"encoding.unsupported"});switch(n){case"deflate":a=xN.createInflate(),e("inflate body"),t.pipe(a);break;case"gzip":a=xN.createGunzip(),e("gunzip body"),t.pipe(a);break;case"identity":a=t,a.length=i;break;default:throw ma(415,'unsupported content encoding "'+n+'"',{encoding:n,type:"encoding.unsupported"})}return a}function AW(t,e){bN.isFinished(t)?e(null):(bN(t,e),t.resume())}});var kN=j(RS=>{var wN=/; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u0020-\u007e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g,MW=/^[\u0020-\u007e\u0080-\u00ff]+$/,EN=/^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/,DW=/\\([\u0000-\u007f])/g,zW=/([\\"])/g,UW=/^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/,$N=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/,LW=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;RS.format=qW;RS.parse=FW;function qW(t){if(!t||typeof t!="object")throw new TypeError("argument obj is required");var e=t.parameters,r=t.subtype,n=t.suffix,i=t.type;if(!i||!$N.test(i))throw new TypeError("invalid type");if(!r||!UW.test(r))throw new TypeError("invalid subtype");var a=i+"/"+r;if(n){if(!$N.test(n))throw new TypeError("invalid suffix");a+="+"+n}if(e&&typeof e=="object")for(var o,s=Object.keys(e).sort(),c=0;c0&&!MW.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(zW,"\\$1")+'"'}function BW(t){var e=LW.exec(t.toLowerCase());if(!e)throw new TypeError("invalid media type");var r=e[1],n=e[2],i,a=n.lastIndexOf("+");a!==-1&&(i=n.substr(a+1),n=n.substr(0,a));var o={type:r,subtype:n,suffix:i};return o}});var TN=j((sEe,VW)=>{VW.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var PN=j((cEe,IN)=>{IN.exports=TN()});var CS=j(Zr=>{"use strict";var Em=PN(),GW=require("path").extname,ON=/^\s*([^;\s]*)(?:;|\s|$)/,WW=/^text\//i;Zr.charset=RN;Zr.charsets={lookup:RN};Zr.contentType=KW;Zr.extension=JW;Zr.extensions=Object.create(null);Zr.lookup=XW;Zr.types=Object.create(null);YW(Zr.extensions,Zr.types);function RN(t){if(!t||typeof t!="string")return!1;var e=ON.exec(t),r=e&&Em[e[1].toLowerCase()];return r&&r.charset?r.charset:e&&WW.test(e[1])?"UTF-8":!1}function KW(t){if(!t||typeof t!="string")return!1;var e=t.indexOf("/")===-1?Zr.lookup(t):t;if(!e)return!1;if(e.indexOf("charset")===-1){var r=Zr.charset(e);r&&(e+="; charset="+r.toLowerCase())}return e}function JW(t){if(!t||typeof t!="string")return!1;var e=ON.exec(t),r=e&&Zr.extensions[e[1].toLowerCase()];return!r||!r.length?!1:r[0]}function XW(t){if(!t||typeof t!="string")return!1;var e=GW("x."+t).toLowerCase().substr(1);return e&&Zr.types[e]||!1}function YW(t,e){var r=["nginx","apache",void 0,"iana"];Object.keys(Em).forEach(function(i){var a=Em[i],o=a.extensions;if(!(!o||!o.length)){t[i]=o;for(var s=0;sl||u===l&&e[c].substr(0,12)==="application/"))continue}e[c]=i}}})}});var js=j((lEe,Ns)=>{"use strict";var CN=kN(),QW=CS();Ns.exports=eK;Ns.exports.is=NN;Ns.exports.hasBody=jN;Ns.exports.normalize=AN;Ns.exports.match=MN;function NN(t,e){var r,n=e,i=rK(t);if(!i)return!1;if(n&&!Array.isArray(n))for(n=new Array(arguments.length-1),r=0;r2){r=new Array(arguments.length-1);for(var n=0;n{"use strict";var nK=Es(),iK=_l(),aK=ro(),ha=bn()("body-parser:json"),oK=Rl(),zN=js();LN.exports=uK;var sK=/^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/,DN="#",cK=/#+/g;function uK(t){var e=t||{},r=typeof e.limit!="number"?nK.parse(e.limit||"100kb"):e.limit,n=e.inflate!==!1,i=e.reviver,a=e.strict!==!1,o=e.type||"application/json",s=e.verify||!1;if(s!==!1&&typeof s!="function")throw new TypeError("option verify must be function");var c=typeof o!="function"?fK(o):o;function u(l){if(l.length===0)return{};if(a){var d=dK(l);if(d!=="{"&&d!=="[")throw ha("strict violation"),lK(l,d)}try{return ha("parse json"),JSON.parse(l,i)}catch(p){throw UN(p,{message:p.message,stack:p.stack})}}return function(d,p,f){if(d._body){ha("body already parsed"),f();return}if(d.body=d.body||{},!zN.hasBody(d)){ha("skip empty body"),f();return}if(ha("content-type %j",d.headers["content-type"]),!c(d)){ha("skip parsing"),f();return}var h=pK(d)||"utf-8";if(h.slice(0,4)!=="utf-"){ha("invalid charset"),f(aK(415,'unsupported charset "'+h.toUpperCase()+'"',{charset:h,type:"charset.unsupported"}));return}oK(d,p,f,u,ha,{encoding:h,inflate:n,limit:r,verify:s})}}function lK(t,e){var r=t.indexOf(e),n="";if(r!==-1){n=t.substring(0,r)+DN;for(var i=r+1;i{"use strict";var mK=Es(),Cl=bn()("body-parser:raw"),hK=Rl(),FN=js();ZN.exports=gK;function gK(t){var e=t||{},r=e.inflate!==!1,n=typeof e.limit!="number"?mK.parse(e.limit||"100kb"):e.limit,i=e.type||"application/octet-stream",a=e.verify||!1;if(a!==!1&&typeof a!="function")throw new TypeError("option verify must be function");var o=typeof i!="function"?vK(i):i;function s(c){return c}return function(u,l,d){if(u._body){Cl("body already parsed"),d();return}if(u.body=u.body||{},!FN.hasBody(u)){Cl("skip empty body"),d();return}if(Cl("content-type %j",u.headers["content-type"]),!o(u)){Cl("skip parsing"),d();return}hK(u,l,d,s,Cl,{encoding:null,inflate:r,limit:n,verify:a})}}function vK(t){return function(r){return!!FN(r,t)}}});var GN=j((fEe,VN)=>{"use strict";var yK=Es(),_K=_l(),Nl=bn()("body-parser:text"),bK=Rl(),BN=js();VN.exports=xK;function xK(t){var e=t||{},r=e.defaultCharset||"utf-8",n=e.inflate!==!1,i=typeof e.limit!="number"?yK.parse(e.limit||"100kb"):e.limit,a=e.type||"text/plain",o=e.verify||!1;if(o!==!1&&typeof o!="function")throw new TypeError("option verify must be function");var s=typeof a!="function"?wK(a):a;function c(u){return u}return function(l,d,p){if(l._body){Nl("body already parsed"),p();return}if(l.body=l.body||{},!BN.hasBody(l)){Nl("skip empty body"),p();return}if(Nl("content-type %j",l.headers["content-type"]),!s(l)){Nl("skip parsing"),p();return}var f=SK(l)||r;bK(l,d,p,c,Nl,{encoding:f,inflate:n,limit:i,verify:o})}}function SK(t){try{return(_K.parse(t).parameters.charset||"").toLowerCase()}catch{return}}function wK(t){return function(r){return!!BN(r,t)}}});var co=j((mEe,WN)=>{"use strict";WN.exports=TypeError});var JN=j((hEe,KN)=>{KN.exports=require("util").inspect});var zl=j((gEe,gj)=>{var FS=typeof Map=="function"&&Map.prototype,NS=Object.getOwnPropertyDescriptor&&FS?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Tm=FS&&NS&&typeof NS.get=="function"?NS.get:null,XN=FS&&Map.prototype.forEach,ZS=typeof Set=="function"&&Set.prototype,jS=Object.getOwnPropertyDescriptor&&ZS?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,Im=ZS&&jS&&typeof jS.get=="function"?jS.get:null,YN=ZS&&Set.prototype.forEach,$K=typeof WeakMap=="function"&&WeakMap.prototype,Al=$K?WeakMap.prototype.has:null,EK=typeof WeakSet=="function"&&WeakSet.prototype,Ml=EK?WeakSet.prototype.has:null,kK=typeof WeakRef=="function"&&WeakRef.prototype,QN=kK?WeakRef.prototype.deref:null,TK=Boolean.prototype.valueOf,IK=Object.prototype.toString,PK=Function.prototype.toString,OK=String.prototype.match,HS=String.prototype.slice,ga=String.prototype.replace,RK=String.prototype.toUpperCase,ej=String.prototype.toLowerCase,uj=RegExp.prototype.test,tj=Array.prototype.concat,mi=Array.prototype.join,CK=Array.prototype.slice,rj=Math.floor,DS=typeof BigInt=="function"?BigInt.prototype.valueOf:null,AS=Object.getOwnPropertySymbols,zS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,As=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Dl=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===As||!0)?Symbol.toStringTag:null,lj=Object.prototype.propertyIsEnumerable,nj=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function ij(t,e){if(t===1/0||t===-1/0||t!==t||t&&t>-1e3&&t<1e3||uj.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof t=="number"){var n=t<0?-rj(-t):rj(t);if(n!==t){var i=String(n),a=HS.call(e,i.length+1);return ga.call(i,r,"$&_")+"."+ga.call(ga.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return ga.call(e,r,"$&_")}var US=JN(),aj=US.custom,oj=fj(aj)?aj:null,dj={__proto__:null,double:'"',single:"'"},NK={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};gj.exports=function t(e,r,n,i){var a=r||{};if(Ui(a,"quoteStyle")&&!Ui(dj,a.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Ui(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var o=Ui(a,"customInspect")?a.customInspect:!0;if(typeof o!="boolean"&&o!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Ui(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Ui(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var s=a.numericSeparator;if(typeof e>"u")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return hj(e,a);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var c=String(e);return s?ij(e,c):c}if(typeof e=="bigint"){var u=String(e)+"n";return s?ij(e,u):u}var l=typeof a.depth>"u"?5:a.depth;if(typeof n>"u"&&(n=0),n>=l&&l>0&&typeof e=="object")return LS(e)?"[Array]":"[Object]";var d=XK(a,n);if(typeof i>"u")i=[];else if(mj(i,e)>=0)return"[Circular]";function p(B,U,Y){if(U&&(i=CK.call(i),i.push(U)),Y){var me={depth:a.depth};return Ui(a,"quoteStyle")&&(me.quoteStyle=a.quoteStyle),t(B,me,n+1,i)}return t(B,a,n+1,i)}if(typeof e=="function"&&!sj(e)){var f=FK(e),h=km(e,p);return"[Function"+(f?": "+f:" (anonymous)")+"]"+(h.length>0?" { "+mi.call(h,", ")+" }":"")}if(fj(e)){var _=As?ga.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):zS.call(e);return typeof e=="object"&&!As?jl(_):_}if(WK(e)){for(var g="<"+ej.call(String(e.nodeName)),m=e.attributes||[],y=0;y",g}if(LS(e)){if(e.length===0)return"[]";var v=km(e,p);return d&&!JK(v)?"["+qS(v,d)+"]":"[ "+mi.call(v,", ")+" ]"}if(MK(e)){var b=km(e,p);return!("cause"in Error.prototype)&&"cause"in e&&!lj.call(e,"cause")?"{ ["+String(e)+"] "+mi.call(tj.call("[cause]: "+p(e.cause),b),", ")+" }":b.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+mi.call(b,", ")+" }"}if(typeof e=="object"&&o){if(oj&&typeof e[oj]=="function"&&US)return US(e,{depth:l-n});if(o!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(ZK(e)){var S=[];return XN&&XN.call(e,function(B,U){S.push(p(U,e,!0)+" => "+p(B,e))}),cj("Map",Tm.call(e),S,d)}if(VK(e)){var x=[];return YN&&YN.call(e,function(B){x.push(p(B,e))}),cj("Set",Im.call(e),x,d)}if(HK(e))return MS("WeakMap");if(GK(e))return MS("WeakSet");if(BK(e))return MS("WeakRef");if(zK(e))return jl(p(Number(e)));if(LK(e))return jl(p(DS.call(e)));if(UK(e))return jl(TK.call(e));if(DK(e))return jl(p(String(e)));if(typeof window<"u"&&e===window)return"{ [object Window] }";if(typeof globalThis<"u"&&e===globalThis||typeof global<"u"&&e===global)return"{ [object globalThis] }";if(!AK(e)&&!sj(e)){var w=km(e,p),E=nj?nj(e)===Object.prototype:e instanceof Object||e.constructor===Object,O=e instanceof Object?"":"null prototype",A=!E&&Dl&&Object(e)===e&&Dl in e?HS.call(va(e),8,-1):O?"Object":"",M=E||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",L=M+(A||O?"["+mi.call(tj.call([],A||[],O||[]),": ")+"] ":"");return w.length===0?L+"{}":d?L+"{"+qS(w,d)+"}":L+"{ "+mi.call(w,", ")+" }"}return String(e)};function pj(t,e,r){var n=r.quoteStyle||e,i=dj[n];return i+t+i}function jK(t){return ga.call(String(t),/"/g,""")}function uo(t){return!Dl||!(typeof t=="object"&&(Dl in t||typeof t[Dl]<"u"))}function LS(t){return va(t)==="[object Array]"&&uo(t)}function AK(t){return va(t)==="[object Date]"&&uo(t)}function sj(t){return va(t)==="[object RegExp]"&&uo(t)}function MK(t){return va(t)==="[object Error]"&&uo(t)}function DK(t){return va(t)==="[object String]"&&uo(t)}function zK(t){return va(t)==="[object Number]"&&uo(t)}function UK(t){return va(t)==="[object Boolean]"&&uo(t)}function fj(t){if(As)return t&&typeof t=="object"&&t instanceof Symbol;if(typeof t=="symbol")return!0;if(!t||typeof t!="object"||!zS)return!1;try{return zS.call(t),!0}catch{}return!1}function LK(t){if(!t||typeof t!="object"||!DS)return!1;try{return DS.call(t),!0}catch{}return!1}var qK=Object.prototype.hasOwnProperty||function(t){return t in this};function Ui(t,e){return qK.call(t,e)}function va(t){return IK.call(t)}function FK(t){if(t.name)return t.name;var e=OK.call(PK.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function mj(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;re.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return hj(HS.call(t,0,e.maxStringLength),e)+n}var i=NK[e.quoteStyle||"single"];i.lastIndex=0;var a=ga.call(ga.call(t,i,"\\$1"),/[\x00-\x1f]/g,KK);return pj(a,"single",e)}function KK(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+RK.call(e.toString(16))}function jl(t){return"Object("+t+")"}function MS(t){return t+" { ? }"}function cj(t,e,r,n){var i=n?qS(r,n):mi.call(r,", ");return t+" ("+e+") {"+i+"}"}function JK(t){for(var e=0;e=0)return!1;return!0}function XK(t,e){var r;if(t.indent===" ")r=" ";else if(typeof t.indent=="number"&&t.indent>0)r=mi.call(Array(t.indent+1)," ");else return null;return{base:r,prev:mi.call(Array(e+1),r)}}function qS(t,e){if(t.length===0)return"";var r=` +`+e.prev+e.base;return r+mi.call(t,","+r)+` +`+e.prev}function km(t,e){var r=LS(t),n=[];if(r){n.length=t.length;for(var i=0;i{"use strict";var YK=zl(),QK=co(),Pm=function(t,e,r){for(var n=t,i;(i=n.next)!=null;n=i)if(i.key===e)return n.next=i.next,r||(i.next=t.next,t.next=i),i},eJ=function(t,e){if(t){var r=Pm(t,e);return r&&r.value}},tJ=function(t,e,r){var n=Pm(t,e);n?n.value=r:t.next={key:e,next:t.next,value:r}},rJ=function(t,e){return t?!!Pm(t,e):!1},nJ=function(t,e){if(t)return Pm(t,e,!0)};vj.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new QK("Side channel does not contain "+YK(n))},delete:function(n){var i=e&&e.next,a=nJ(e,n);return a&&i&&i===a&&(e=void 0),!!a},get:function(n){return eJ(e,n)},has:function(n){return rJ(e,n)},set:function(n,i){e||(e={next:void 0}),tJ(e,n,i)}};return r}});var BS=j((yEe,_j)=>{"use strict";_j.exports=Object});var xj=j((_Ee,bj)=>{"use strict";bj.exports=Error});var wj=j((bEe,Sj)=>{"use strict";Sj.exports=EvalError});var Ej=j((xEe,$j)=>{"use strict";$j.exports=RangeError});var Tj=j((SEe,kj)=>{"use strict";kj.exports=ReferenceError});var Pj=j((wEe,Ij)=>{"use strict";Ij.exports=SyntaxError});var Rj=j(($Ee,Oj)=>{"use strict";Oj.exports=URIError});var Nj=j((EEe,Cj)=>{"use strict";Cj.exports=Math.abs});var Aj=j((kEe,jj)=>{"use strict";jj.exports=Math.floor});var Dj=j((TEe,Mj)=>{"use strict";Mj.exports=Math.max});var Uj=j((IEe,zj)=>{"use strict";zj.exports=Math.min});var qj=j((PEe,Lj)=>{"use strict";Lj.exports=Math.pow});var Zj=j((OEe,Fj)=>{"use strict";Fj.exports=Math.round});var Bj=j((REe,Hj)=>{"use strict";Hj.exports=Number.isNaN||function(e){return e!==e}});var Gj=j((CEe,Vj)=>{"use strict";var iJ=Bj();Vj.exports=function(e){return iJ(e)||e===0?e:e<0?-1:1}});var Kj=j((NEe,Wj)=>{"use strict";Wj.exports=Object.getOwnPropertyDescriptor});var VS=j((jEe,Jj)=>{"use strict";var Om=Kj();if(Om)try{Om([],"length")}catch{Om=null}Jj.exports=Om});var Yj=j((AEe,Xj)=>{"use strict";var Rm=Object.defineProperty||!1;if(Rm)try{Rm({},"a",{value:1})}catch{Rm=!1}Xj.exports=Rm});var eA=j((MEe,Qj)=>{"use strict";Qj.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;e[r]=i;for(var a in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var o=Object.getOwnPropertySymbols(e);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(e,r);if(s.value!==i||s.enumerable!==!0)return!1}return!0}});var nA=j((DEe,rA)=>{"use strict";var tA=typeof Symbol<"u"&&Symbol,aJ=eA();rA.exports=function(){return typeof tA!="function"||typeof Symbol!="function"||typeof tA("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:aJ()}});var GS=j((zEe,iA)=>{"use strict";iA.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var WS=j((UEe,aA)=>{"use strict";var oJ=BS();aA.exports=oJ.getPrototypeOf||null});var cA=j((LEe,sA)=>{"use strict";var sJ="Function.prototype.bind called on incompatible ",cJ=Object.prototype.toString,uJ=Math.max,lJ="[object Function]",oA=function(e,r){for(var n=[],i=0;i{"use strict";var fJ=cA();uA.exports=Function.prototype.bind||fJ});var Cm=j((FEe,lA)=>{"use strict";lA.exports=Function.prototype.call});var KS=j((ZEe,dA)=>{"use strict";dA.exports=Function.prototype.apply});var fA=j((HEe,pA)=>{"use strict";pA.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var hA=j((BEe,mA)=>{"use strict";var mJ=Ul(),hJ=KS(),gJ=Cm(),vJ=fA();mA.exports=vJ||mJ.call(gJ,hJ)});var JS=j((VEe,gA)=>{"use strict";var yJ=Ul(),_J=co(),bJ=Cm(),xJ=hA();gA.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new _J("a function is required");return xJ(yJ,bJ,e)}});var SA=j((GEe,xA)=>{"use strict";var SJ=JS(),vA=VS(),_A;try{_A=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var XS=!!_A&&vA&&vA(Object.prototype,"__proto__"),bA=Object,yA=bA.getPrototypeOf;xA.exports=XS&&typeof XS.get=="function"?SJ([XS.get]):typeof yA=="function"?function(e){return yA(e==null?e:bA(e))}:!1});var TA=j((WEe,kA)=>{"use strict";var wA=GS(),$A=WS(),EA=SA();kA.exports=wA?function(e){return wA(e)}:$A?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return $A(e)}:EA?function(e){return EA(e)}:null});var PA=j((KEe,IA)=>{"use strict";var wJ=Function.prototype.call,$J=Object.prototype.hasOwnProperty,EJ=Ul();IA.exports=EJ.call(wJ,$J)});var Am=j((JEe,AA)=>{"use strict";var Ke,kJ=BS(),TJ=xj(),IJ=wj(),PJ=Ej(),OJ=Tj(),Us=Pj(),zs=co(),RJ=Rj(),CJ=Nj(),NJ=Aj(),jJ=Dj(),AJ=Uj(),MJ=qj(),DJ=Zj(),zJ=Gj(),NA=Function,YS=function(t){try{return NA('"use strict"; return ('+t+").constructor;")()}catch{}},Ll=VS(),UJ=Yj(),QS=function(){throw new zs},LJ=Ll?(function(){try{return arguments.callee,QS}catch{try{return Ll(arguments,"callee").get}catch{return QS}}})():QS,Ms=nA()(),or=TA(),qJ=WS(),FJ=GS(),jA=KS(),ql=Cm(),Ds={},ZJ=typeof Uint8Array>"u"||!or?Ke:or(Uint8Array),lo={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?Ke:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Ke:ArrayBuffer,"%ArrayIteratorPrototype%":Ms&&or?or([][Symbol.iterator]()):Ke,"%AsyncFromSyncIteratorPrototype%":Ke,"%AsyncFunction%":Ds,"%AsyncGenerator%":Ds,"%AsyncGeneratorFunction%":Ds,"%AsyncIteratorPrototype%":Ds,"%Atomics%":typeof Atomics>"u"?Ke:Atomics,"%BigInt%":typeof BigInt>"u"?Ke:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Ke:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Ke:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Ke:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":TJ,"%eval%":eval,"%EvalError%":IJ,"%Float16Array%":typeof Float16Array>"u"?Ke:Float16Array,"%Float32Array%":typeof Float32Array>"u"?Ke:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Ke:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Ke:FinalizationRegistry,"%Function%":NA,"%GeneratorFunction%":Ds,"%Int8Array%":typeof Int8Array>"u"?Ke:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Ke:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Ke:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Ms&&or?or(or([][Symbol.iterator]())):Ke,"%JSON%":typeof JSON=="object"?JSON:Ke,"%Map%":typeof Map>"u"?Ke:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Ms||!or?Ke:or(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":kJ,"%Object.getOwnPropertyDescriptor%":Ll,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Ke:Promise,"%Proxy%":typeof Proxy>"u"?Ke:Proxy,"%RangeError%":PJ,"%ReferenceError%":OJ,"%Reflect%":typeof Reflect>"u"?Ke:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Ke:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Ms||!or?Ke:or(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Ke:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Ms&&or?or(""[Symbol.iterator]()):Ke,"%Symbol%":Ms?Symbol:Ke,"%SyntaxError%":Us,"%ThrowTypeError%":LJ,"%TypedArray%":ZJ,"%TypeError%":zs,"%Uint8Array%":typeof Uint8Array>"u"?Ke:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Ke:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Ke:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Ke:Uint32Array,"%URIError%":RJ,"%WeakMap%":typeof WeakMap>"u"?Ke:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Ke:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Ke:WeakSet,"%Function.prototype.call%":ql,"%Function.prototype.apply%":jA,"%Object.defineProperty%":UJ,"%Object.getPrototypeOf%":qJ,"%Math.abs%":CJ,"%Math.floor%":NJ,"%Math.max%":jJ,"%Math.min%":AJ,"%Math.pow%":MJ,"%Math.round%":DJ,"%Math.sign%":zJ,"%Reflect.getPrototypeOf%":FJ};if(or)try{null.error}catch(t){OA=or(or(t)),lo["%Error.prototype%"]=OA}var OA,HJ=function t(e){var r;if(e==="%AsyncFunction%")r=YS("async function () {}");else if(e==="%GeneratorFunction%")r=YS("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=YS("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var i=t("%AsyncGenerator%");i&&or&&(r=or(i.prototype))}return lo[e]=r,r},RA={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Fl=Ul(),Nm=PA(),BJ=Fl.call(ql,Array.prototype.concat),VJ=Fl.call(jA,Array.prototype.splice),CA=Fl.call(ql,String.prototype.replace),jm=Fl.call(ql,String.prototype.slice),GJ=Fl.call(ql,RegExp.prototype.exec),WJ=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,KJ=/\\(\\)?/g,JJ=function(e){var r=jm(e,0,1),n=jm(e,-1);if(r==="%"&&n!=="%")throw new Us("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new Us("invalid intrinsic syntax, expected opening `%`");var i=[];return CA(e,WJ,function(a,o,s,c){i[i.length]=s?CA(c,KJ,"$1"):o||a}),i},XJ=function(e,r){var n=e,i;if(Nm(RA,n)&&(i=RA[n],n="%"+i[0]+"%"),Nm(lo,n)){var a=lo[n];if(a===Ds&&(a=HJ(n)),typeof a>"u"&&!r)throw new zs("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:a}}throw new Us("intrinsic "+e+" does not exist!")};AA.exports=function(e,r){if(typeof e!="string"||e.length===0)throw new zs("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new zs('"allowMissing" argument must be a boolean');if(GJ(/^%?[^%]*%?$/,e)===null)throw new Us("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=JJ(e),i=n.length>0?n[0]:"",a=XJ("%"+i+"%",r),o=a.name,s=a.value,c=!1,u=a.alias;u&&(i=u[0],VJ(n,BJ([0,1],u)));for(var l=1,d=!0;l=n.length){var _=Ll(s,p);d=!!_,d&&"get"in _&&!("originalValue"in _.get)?s=_.get:s=s[p]}else d=Nm(s,p),s=s[p];d&&!c&&(lo[o]=s)}}return s}});var ew=j((XEe,zA)=>{"use strict";var MA=Am(),DA=JS(),YJ=DA([MA("%String.prototype.indexOf%")]);zA.exports=function(e,r){var n=MA(e,!!r);return typeof n=="function"&&YJ(e,".prototype.")>-1?DA([n]):n}});var tw=j((YEe,LA)=>{"use strict";var QJ=Am(),Zl=ew(),eX=zl(),tX=co(),UA=QJ("%Map%",!0),rX=Zl("Map.prototype.get",!0),nX=Zl("Map.prototype.set",!0),iX=Zl("Map.prototype.has",!0),aX=Zl("Map.prototype.delete",!0),oX=Zl("Map.prototype.size",!0);LA.exports=!!UA&&function(){var e,r={assert:function(n){if(!r.has(n))throw new tX("Side channel does not contain "+eX(n))},delete:function(n){if(e){var i=aX(e,n);return oX(e)===0&&(e=void 0),i}return!1},get:function(n){if(e)return rX(e,n)},has:function(n){return e?iX(e,n):!1},set:function(n,i){e||(e=new UA),nX(e,n,i)}};return r}});var FA=j((QEe,qA)=>{"use strict";var sX=Am(),Dm=ew(),cX=zl(),Mm=tw(),uX=co(),Ls=sX("%WeakMap%",!0),lX=Dm("WeakMap.prototype.get",!0),dX=Dm("WeakMap.prototype.set",!0),pX=Dm("WeakMap.prototype.has",!0),fX=Dm("WeakMap.prototype.delete",!0);qA.exports=Ls?function(){var e,r,n={assert:function(i){if(!n.has(i))throw new uX("Side channel does not contain "+cX(i))},delete:function(i){if(Ls&&i&&(typeof i=="object"||typeof i=="function")){if(e)return fX(e,i)}else if(Mm&&r)return r.delete(i);return!1},get:function(i){return Ls&&i&&(typeof i=="object"||typeof i=="function")&&e?lX(e,i):r&&r.get(i)},has:function(i){return Ls&&i&&(typeof i=="object"||typeof i=="function")&&e?pX(e,i):!!r&&r.has(i)},set:function(i,a){Ls&&i&&(typeof i=="object"||typeof i=="function")?(e||(e=new Ls),dX(e,i,a)):Mm&&(r||(r=Mm()),r.set(i,a))}};return n}:Mm});var rw=j((eke,ZA)=>{"use strict";var mX=co(),hX=zl(),gX=yj(),vX=tw(),yX=FA(),_X=yX||vX||gX;ZA.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new mX("Side channel does not contain "+hX(n))},delete:function(n){return!!e&&e.delete(n)},get:function(n){return e&&e.get(n)},has:function(n){return!!e&&e.has(n)},set:function(n,i){e||(e=_X()),e.set(n,i)}};return r}});var zm=j((tke,HA)=>{"use strict";var bX=String.prototype.replace,xX=/%20/g,nw={RFC1738:"RFC1738",RFC3986:"RFC3986"};HA.exports={default:nw.RFC3986,formatters:{RFC1738:function(t){return bX.call(t,xX,"+")},RFC3986:function(t){return String(t)}},RFC1738:nw.RFC1738,RFC3986:nw.RFC3986}});var cw=j((rke,GA)=>{"use strict";var SX=zm(),wX=rw(),iw=Object.prototype.hasOwnProperty,po=Array.isArray,Lm=wX(),BA=function(e,r){return Lm.set(e,r),e},Um=function(e){return Lm.has(e)},ow=function(e){return Lm.get(e)},VA=function(e,r){Lm.set(e,r)},hi=(function(){for(var t=[],e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t})(),$X=function(e){for(;e.length>1;){var r=e.pop(),n=r.obj[r.prop];if(po(n)){for(var i=[],a=0;a=aw?o.slice(c,c+aw):o,l=[],d=0;d=48&&p<=57||p>=65&&p<=90||p>=97&&p<=122||a===SX.RFC1738&&(p===40||p===41)){l[l.length]=u.charAt(d);continue}if(p<128){l[l.length]=hi[p];continue}if(p<2048){l[l.length]=hi[192|p>>6]+hi[128|p&63];continue}if(p<55296||p>=57344){l[l.length]=hi[224|p>>12]+hi[128|p>>6&63]+hi[128|p&63];continue}d+=1,p=65536+((p&1023)<<10|u.charCodeAt(d)&1023),l[l.length]=hi[240|p>>18]+hi[128|p>>12&63]+hi[128|p>>6&63]+hi[128|p&63]}s+=l.join("")}return s},PX=function(e){for(var r=[{obj:{o:e},prop:"o"}],n=[],i=0;in?BA(sw(o,{plainObjects:i}),o.length-1):o},NX=function(e,r){if(po(e)){for(var n=[],i=0;i{"use strict";var KA=rw(),qm=cw(),Hl=zm(),jX=Object.prototype.hasOwnProperty,JA={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,r){return e+"["+r+"]"},repeat:function(e){return e}},gi=Array.isArray,AX=Array.prototype.push,XA=function(t,e){AX.apply(t,gi(e)?e:[e])},MX=Date.prototype.toISOString,WA=Hl.default,rr={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:qm.encode,encodeValuesOnly:!1,filter:void 0,format:WA,formatter:Hl.formatters[WA],indices:!1,serializeDate:function(e){return MX.call(e)},skipNulls:!1,strictNullHandling:!1},DX=function(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="symbol"||typeof e=="bigint"},uw={},zX=function t(e,r,n,i,a,o,s,c,u,l,d,p,f,h,_,g,m,y){for(var v=e,b=y,S=0,x=!1;(b=b.get(uw))!==void 0&&!x;){var w=b.get(e);if(S+=1,typeof w<"u"){if(w===S)throw new RangeError("Cyclic object value");x=!0}typeof b.get(uw)>"u"&&(S=0)}if(typeof l=="function"?v=l(r,v):v instanceof Date?v=f(v):n==="comma"&&gi(v)&&(v=qm.maybeMap(v,function(F){return F instanceof Date?f(F):F})),v===null){if(o)return u&&!g?u(r,rr.encoder,m,"key",h):r;v=""}if(DX(v)||qm.isBuffer(v)){if(u){var E=g?r:u(r,rr.encoder,m,"key",h);return[_(E)+"="+_(u(v,rr.encoder,m,"value",h))]}return[_(r)+"="+_(String(v))]}var O=[];if(typeof v>"u")return O;var A;if(n==="comma"&&gi(v))g&&u&&(v=qm.maybeMap(v,u)),A=[{value:v.length>0?v.join(",")||null:void 0}];else if(gi(l))A=l;else{var M=Object.keys(v);A=d?M.sort(d):M}var L=c?String(r).replace(/\./g,"%2E"):String(r),B=i&&gi(v)&&v.length===1?L+"[]":L;if(a&&gi(v)&&v.length===0)return B+"[]";for(var U=0;U"u"?e.encodeDotInKeys===!0?!0:rr.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix=="boolean"?e.addQueryPrefix:rr.addQueryPrefix,allowDots:s,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:rr.allowEmptyArrays,arrayFormat:o,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:rr.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?rr.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:rr.encode,encodeDotInKeys:typeof e.encodeDotInKeys=="boolean"?e.encodeDotInKeys:rr.encodeDotInKeys,encoder:typeof e.encoder=="function"?e.encoder:rr.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:rr.encodeValuesOnly,filter:a,format:n,formatter:i,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:rr.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:rr.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:rr.strictNullHandling}};YA.exports=function(t,e){var r=t,n=UX(e),i,a;typeof n.filter=="function"?(a=n.filter,r=a("",r)):gi(n.filter)&&(a=n.filter,i=a);var o=[];if(typeof r!="object"||r===null)return"";var s=JA[n.arrayFormat],c=s==="comma"&&n.commaRoundTrip;i||(i=Object.keys(r)),n.sort&&i.sort(n.sort);for(var u=KA(),l=0;l0?h+f:""}});var nM=j((ike,rM)=>{"use strict";var ya=cw(),Fm=Object.prototype.hasOwnProperty,eM=Array.isArray,Kt={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:ya.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},LX=function(t){return t.replace(/&#(\d+);/g,function(e,r){return String.fromCharCode(parseInt(r,10))})},tM=function(t,e,r){if(t&&typeof t=="string"&&e.comma&&t.indexOf(",")>-1)return t.split(",");if(e.throwOnLimitExceeded&&r>=e.arrayLimit)throw new RangeError("Array limit exceeded. Only "+e.arrayLimit+" element"+(e.arrayLimit===1?"":"s")+" allowed in an array.");return t},qX="utf8=%26%2310003%3B",FX="utf8=%E2%9C%93",ZX=function(e,r){var n={__proto__:null},i=r.ignoreQueryPrefix?e.replace(/^\?/,""):e;i=i.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var a=r.parameterLimit===1/0?void 0:r.parameterLimit,o=i.split(r.delimiter,r.throwOnLimitExceeded?a+1:a);if(r.throwOnLimitExceeded&&o.length>a)throw new RangeError("Parameter limit exceeded. Only "+a+" parameter"+(a===1?"":"s")+" allowed.");var s=-1,c,u=r.charset;if(r.charsetSentinel)for(c=0;c-1&&(h=eM(h)?[h]:h),f!==null){var _=Fm.call(n,f);_&&r.duplicates==="combine"?n[f]=ya.combine(n[f],h,r.arrayLimit,r.plainObjects):(!_||r.duplicates==="last")&&(n[f]=h)}}return n},HX=function(t,e,r,n){var i=0;if(t.length>0&&t[t.length-1]==="[]"){var a=t.slice(0,-1).join("");i=Array.isArray(e)&&e[a]?e[a].length:0}for(var o=n?e:tM(e,r,i),s=t.length-1;s>=0;--s){var c,u=t[s];if(u==="[]"&&r.parseArrays)ya.isOverflow(o)?c=o:c=r.allowEmptyArrays&&(o===""||r.strictNullHandling&&o===null)?[]:ya.combine([],o,r.arrayLimit,r.plainObjects);else{c=r.plainObjects?{__proto__:null}:{};var l=u.charAt(0)==="["&&u.charAt(u.length-1)==="]"?u.slice(1,-1):u,d=r.decodeDotInKeys?l.replace(/%2E/g,"."):l,p=parseInt(d,10);!r.parseArrays&&d===""?c={0:o}:!isNaN(p)&&u!==d&&String(p)===d&&p>=0&&r.parseArrays&&p<=r.arrayLimit?(c=[],c[p]=o):d!=="__proto__"&&(c[d]=o)}o=c}return o},BX=function(e,r){var n=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e;if(r.depth<=0)return!r.plainObjects&&Fm.call(Object.prototype,n)&&!r.allowPrototypes?void 0:[n];var i=/(\[[^[\]]*])/,a=/(\[[^[\]]*])/g,o=i.exec(n),s=o?n.slice(0,o.index):n,c=[];if(s){if(!r.plainObjects&&Fm.call(Object.prototype,s)&&!r.allowPrototypes)return;c.push(s)}for(var u=0;(o=a.exec(n))!==null&&u"u"?Kt.charset:e.charset,n=typeof e.duplicates>"u"?Kt.duplicates:e.duplicates;if(n!=="combine"&&n!=="first"&&n!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var i=typeof e.allowDots>"u"?e.decodeDotInKeys===!0?!0:Kt.allowDots:!!e.allowDots;return{allowDots:i,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:Kt.allowEmptyArrays,allowPrototypes:typeof e.allowPrototypes=="boolean"?e.allowPrototypes:Kt.allowPrototypes,allowSparse:typeof e.allowSparse=="boolean"?e.allowSparse:Kt.allowSparse,arrayLimit:typeof e.arrayLimit=="number"?e.arrayLimit:Kt.arrayLimit,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:Kt.charsetSentinel,comma:typeof e.comma=="boolean"?e.comma:Kt.comma,decodeDotInKeys:typeof e.decodeDotInKeys=="boolean"?e.decodeDotInKeys:Kt.decodeDotInKeys,decoder:typeof e.decoder=="function"?e.decoder:Kt.decoder,delimiter:typeof e.delimiter=="string"||ya.isRegExp(e.delimiter)?e.delimiter:Kt.delimiter,depth:typeof e.depth=="number"||e.depth===!1?+e.depth:Kt.depth,duplicates:n,ignoreQueryPrefix:e.ignoreQueryPrefix===!0,interpretNumericEntities:typeof e.interpretNumericEntities=="boolean"?e.interpretNumericEntities:Kt.interpretNumericEntities,parameterLimit:typeof e.parameterLimit=="number"?e.parameterLimit:Kt.parameterLimit,parseArrays:e.parseArrays!==!1,plainObjects:typeof e.plainObjects=="boolean"?e.plainObjects:Kt.plainObjects,strictDepth:typeof e.strictDepth=="boolean"?!!e.strictDepth:Kt.strictDepth,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:Kt.strictNullHandling,throwOnLimitExceeded:typeof e.throwOnLimitExceeded=="boolean"?e.throwOnLimitExceeded:!1}};rM.exports=function(t,e){var r=GX(e);if(t===""||t===null||typeof t>"u")return r.plainObjects?{__proto__:null}:{};for(var n=typeof t=="string"?ZX(t,r):t,i=r.plainObjects?{__proto__:null}:{},a=Object.keys(n),o=0;o{"use strict";var WX=QA(),KX=nM(),JX=zm();iM.exports={formats:JX,parse:KX,stringify:WX}});var lM=j((oke,uM)=>{"use strict";var XX=Es(),YX=_l(),Hm=ro(),Hn=bn()("body-parser:urlencoded"),QX=di()("body-parser"),eY=Rl(),oM=js();uM.exports=tY;var aM=Object.create(null);function tY(t){var e=t||{};e.extended===void 0&&QX("undefined extended: provide extended option");var r=e.extended!==!1,n=e.inflate!==!1,i=typeof e.limit!="number"?XX.parse(e.limit||"100kb"):e.limit,a=e.type||"application/x-www-form-urlencoded",o=e.verify||!1;if(o!==!1&&typeof o!="function")throw new TypeError("option verify must be function");var s=r?rY(e):iY(e),c=typeof a!="function"?aY(a):a;function u(l){return l.length?s(l):{}}return function(d,p,f){if(d._body){Hn("body already parsed"),f();return}if(d.body=d.body||{},!oM.hasBody(d)){Hn("skip empty body"),f();return}if(Hn("content-type %j",d.headers["content-type"]),!c(d)){Hn("skip parsing"),f();return}var h=nY(d)||"utf-8";if(h!=="utf-8"){Hn("invalid charset"),f(Hm(415,'unsupported charset "'+h.toUpperCase()+'"',{charset:h,type:"charset.unsupported"}));return}eY(d,p,f,u,Hn,{debug:Hn,encoding:h,inflate:n,limit:i,verify:o})}}function rY(t){var e=t.parameterLimit!==void 0?t.parameterLimit:1e3,r=t.depth!==void 0?t.depth:32,n=cM("qs");if(isNaN(e)||e<1)throw new TypeError("option parameterLimit must be a positive number");if(isNaN(r)||r<0)throw new TypeError("option depth must be a zero or a positive number");return isFinite(e)&&(e=e|0),function(a){var o=sM(a,e);if(o===void 0)throw Hn("too many parameters"),Hm(413,"too many parameters",{type:"parameters.too.many"});var s=Math.max(100,o);Hn("parse extended urlencoding");try{return n(a,{allowPrototypes:!0,arrayLimit:s,depth:r,strictDepth:!0,parameterLimit:e})}catch(c){throw c instanceof RangeError?Hm(400,"The input exceeded the depth",{type:"querystring.parse.rangeError"}):c}}}function nY(t){try{return(YX.parse(t).parameters.charset||"").toLowerCase()}catch{return}}function sM(t,e){for(var r=0,n=0;(n=t.indexOf("&",n))!==-1;)if(r++,n++,r===e)return;return r}function cM(t){var e=aM[t];if(e!==void 0)return e.parse;switch(t){case"qs":e=Zm();break;case"querystring":e=require("querystring");break}return aM[t]=e,e.parse}function iY(t){var e=t.parameterLimit!==void 0?t.parameterLimit:1e3,r=cM("querystring");if(isNaN(e)||e<1)throw new TypeError("option parameterLimit must be a positive number");return isFinite(e)&&(e=e|0),function(i){var a=sM(i,e);if(a===void 0)throw Hn("too many parameters"),Hm(413,"too many parameters",{type:"parameters.too.many"});return Hn("parse urlencoding"),r(i,void 0,void 0,{maxKeys:e})}}function aY(t){return function(r){return!!oM(r,t)}}});var fM=j((_a,pM)=>{"use strict";var oY=di()("body-parser"),dM=Object.create(null);_a=pM.exports=oY.function(sY,"bodyParser: use individual json/urlencoded middlewares");Object.defineProperty(_a,"json",{configurable:!0,enumerable:!0,get:Bm("json")});Object.defineProperty(_a,"raw",{configurable:!0,enumerable:!0,get:Bm("raw")});Object.defineProperty(_a,"text",{configurable:!0,enumerable:!0,get:Bm("text")});Object.defineProperty(_a,"urlencoded",{configurable:!0,enumerable:!0,get:Bm("urlencoded")});function sY(t){var e=Object.create(t||null,{type:{configurable:!0,enumerable:!0,value:void 0,writable:!0}}),r=_a.urlencoded(e),n=_a.json(e);return function(a,o,s){n(a,o,function(c){if(c)return s(c);r(a,o,s)})}}function Bm(t){return function(){return cY(t)}}function cY(t){var e=dM[t];if(e!==void 0)return e;switch(t){case"json":e=qN();break;case"raw":e=HN();break;case"text":e=GN();break;case"urlencoded":e=lM();break}return dM[t]=e}});var hM=j((ske,mM)=>{"use strict";mM.exports=lY;var uY=Object.prototype.hasOwnProperty;function lY(t,e,r){if(!t)throw new TypeError("argument dest is required");if(!e)throw new TypeError("argument src is required");return r===void 0&&(r=!0),Object.getOwnPropertyNames(e).forEach(function(i){if(!(!r&&uY.call(t,i))){var a=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,a)}}),t}});var Bl=j((cke,gM)=>{"use strict";gM.exports=mY;var dY=/(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g,pY=/(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g,fY="$1\uFFFD$2";function mY(t){return String(t).replace(pY,fY).replace(dY,encodeURI)}});var Vl=j((uke,vM)=>{"use strict";var hY=/["'&<>]/;vM.exports=gY;function gY(t){var e=""+t,r=hY.exec(e);if(!r)return e;var n,i="",a=0,o=0;for(a=r.index;a{"use strict";var _M=require("url"),yM=_M.parse,Vm=_M.Url;lw.exports=bM;lw.exports.original=vY;function bM(t){var e=t.url;if(e!==void 0){var r=t._parsedUrl;return SM(e,r)?r:(r=xM(e),r._raw=e,t._parsedUrl=r)}}function vY(t){var e=t.originalUrl;if(typeof e!="string")return bM(t);var r=t._parsedOriginalUrl;return SM(e,r)?r:(r=xM(e),r._raw=e,t._parsedOriginalUrl=r)}function xM(t){if(typeof t!="string"||t.charCodeAt(0)!==47)return yM(t);for(var e=t,r=null,n=null,i=1;i{"use strict";var dw=bn()("finalhandler"),yY=Bl(),_Y=Vl(),$M=Ol(),bY=qs(),EM=xl(),xY=$m(),SY=/\x20{2}/g,wY=/\n/g,$Y=typeof setImmediate=="function"?setImmediate:function(t){process.nextTick(t.bind.apply(t,arguments))},EY=$M.isFinished;function kY(t){var e=_Y(t).replace(wY,"
").replace(SY,"  ");return` @@ -43,7 +43,7 @@ return fn.apply(this, arguments)
`+e+`
-`}bM.exports=TY;function TY(t,e,r){var n=r||{},i=n.env||process.env.NODE_ENV||"development",a=n.onerror;return function(o){var s,c,u;if(!o&&vM(e)){lw("cannot 404 after headers sent");return}if(o?(u=OY(o),u===void 0?u=CY(e):s=IY(o),c=PY(o,u,i)):(u=404,c="Cannot "+t.method+" "+yY(RY(t))),lw("default %s",u),o&&a&&$Y(a,o,t,e),vM(e)){lw("cannot %d after headers sent",u),t.socket&&t.socket.destroy();return}NY(t,e,u,s,c)}}function IY(t){if(!(!t.headers||typeof t.headers!="object")){for(var e=Object.create(null),r=Object.keys(t.headers),n=0;n=400&&t.status<600)return t.status;if(typeof t.statusCode=="number"&&t.statusCode>=400&&t.statusCode<600)return t.statusCode}function RY(t){try{return bY.original(t).pathname}catch{return"resource"}}function CY(t){var e=t.statusCode;return(typeof e!="number"||e<400||e>599)&&(e=500),e}function vM(t){return typeof t.headersSent!="boolean"?!!t._header:t.headersSent}function NY(t,e,r,n,i){function a(){var o=kY(i);if(e.statusCode=r,t.httpVersionMajor<2&&(e.statusMessage=_M.message[r]),e.removeHeader("Content-Encoding"),e.removeHeader("Content-Language"),e.removeHeader("Content-Range"),jY(e,n),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Content-Type","text/html; charset=utf-8"),e.setHeader("Content-Length",Buffer.byteLength(o,"utf8")),t.method==="HEAD"){e.end();return}e.end(o,"utf8")}if(EY(t)){a();return}xY(t),yM(t,a),t.resume()}function jY(t,e){if(e)for(var r=Object.keys(e),n=0;n{"use strict";$M.exports=AY;function SM(t,e,r){for(var n=0;n0&&Array.isArray(i)?SM(i,e,r-1):e.push(i)}return e}function wM(t,e){for(var r=0;r{TM.exports=kM;var EM=/\\.|\((?:\?<(.*?)>)?(?!\?)/g;function kM(t,e,r){r=r||{},e=e||[];var n=r.strict,i=r.end!==!1,a=r.sensitive?"":"i",o=r.lookahead!==!1,s=0,c=e.length,u=0,l=0,d=0,p="",f;if(t instanceof RegExp){for(;f=EM.exec(t.source);)f[0][0]!=="\\"&&e.push({name:f[1]||l++,optional:!1,offset:f.index});return t}if(Array.isArray(t))return t=t.map(function(h){return kM(h,e,r).source}),new RegExp(t.join("|"),a);if(typeof t!="string")throw new TypeError("path must be a string, array of strings, or regular expression");for(t=t.replace(/\\.|(\/)?(\.)?:(\w+)(\(.*?\))?(\*)?(\?)?|[.*]|\/\(/g,function(h,_,g,m,y,v,b,S){if(h[0]==="\\")return p+=h,d+=2,h;if(h===".")return p+="\\.",s+=1,d+=1,"\\.";if(_||g?p="":p+=t.slice(d,S),d=S+h.length,h==="*")return s+=3,"(.*)";if(h==="/(")return p+="/",s+=2,"/(?:";_=_||"",g=g?"\\.":"",b=b||"",y=y?y.replace(/\\.|\*/,function(w){return w==="*"?"(.*)":w}):p?"((?:(?!/|"+p+").)+?)":"([^/"+g+"]+?)",e.push({name:m,optional:!!b,offset:S+s});var x="(?:"+g+_+y+(v?"((?:[/"+g+"].+?)?)":"")+")"+b;return s+=x.length-h.length,x});f=EM.exec(t);)f[0][0]!=="\\"&&((c+u===e.length||e[c+u].offset>f.index)&&e.splice(c+u,0,{name:l++,optional:!1,offset:f.index}),u++);return t+=n?"":t[t.length-1]==="/"?"?":"/?",i?t+="$":t[t.length-1]!=="/"&&(t+=o?"(?=/|$)":"(?:/|$)"),new RegExp("^"+t,a)}});var dw=j((mke,OM)=>{"use strict";var MY=IM(),DY=bn()("express:router:layer"),zY=Object.prototype.hasOwnProperty;OM.exports=Fs;function Fs(t,e,r){if(!(this instanceof Fs))return new Fs(t,e,r);DY("new %o",t);var n=e||{};this.handle=r,this.name=r.name||"",this.params=void 0,this.path=void 0,this.regexp=MY(t,this.keys=[],n),this.regexp.fast_star=t==="*",this.regexp.fast_slash=t==="/"&&n.end===!1}Fs.prototype.handle_error=function(e,r,n,i){var a=this.handle;if(a.length!==4)return i(e);try{a(e,r,n,i)}catch(o){i(o)}};Fs.prototype.handle_request=function(e,r,n){var i=this.handle;if(i.length>3)return n();try{i(e,r,n)}catch(a){n(a)}};Fs.prototype.match=function(e){var r;if(e!=null){if(this.regexp.fast_slash)return this.params={},this.path="",!0;if(this.regexp.fast_star)return this.params={0:PM(e)},this.path=e,!0;r=this.regexp.exec(e)}if(!r)return this.params=void 0,this.path=void 0,!1;this.params={},this.path=r[0];for(var n=this.keys,i=this.params,a=1;a{"use strict";var RM=require("http");CM.exports=UY()||qY();function UY(){return RM.METHODS&&RM.METHODS.map(function(e){return e.toLowerCase()})}function qY(){return["get","post","put","head","delete","options","trace","copy","lock","mkcol","move","purge","propfind","proppatch","unlock","report","mkactivity","checkout","merge","m-search","notify","subscribe","unsubscribe","patch","search","connect"]}});var pw=j((gke,zM)=>{"use strict";var NM=bn()("express:router:route"),jM=Gl(),AM=dw(),LY=Gm(),MM=Array.prototype.slice,DM=Object.prototype.toString;zM.exports=Zs;function Zs(t){this.path=t,this.stack=[],NM("new %o",t),this.methods={}}Zs.prototype._handles_method=function(e){if(this.methods._all)return!0;var r=typeof e=="string"?e.toLowerCase():e;return r==="head"&&!this.methods.head&&(r="get"),!!this.methods[r]};Zs.prototype._options=function(){var e=Object.keys(this.methods);this.methods.get&&!this.methods.head&&e.push("head");for(var r=0;r100)return setImmediate(c,u);var l=a[i++];if(!l)return n(u);l.method&&l.method!==s?c(u):u?l.handle_error(u,e,r,c):l.handle_request(e,r,c),o=0}};Zs.prototype.all=function(){for(var e=jM(MM.call(arguments)),r=0;r{UM=qM.exports=function(t,e){if(t&&e)for(var r in e)t[r]=e[r];return t}});var mw=j((vke,HM)=>{"use strict";var FY=pw(),FM=dw(),ZY=Gm(),fw=Wl(),Wm=bn()("express:router"),LM=li()("express"),HY=Gl(),BY=Ls(),VY=bl(),GY=/^\[object (\S+)\]$/,ZM=Array.prototype.slice,WY=Object.prototype.toString,po=HM.exports=function(t){var e=t||{};function r(n,i,a){r.handle(n,i,a)}return VY(r,po),r.params={},r._params=[],r.caseSensitive=e.caseSensitive,r.mergeParams=e.mergeParams,r.strict=e.strict,r.stack=[],r};po.param=function(e,r){if(typeof e=="function"){LM("router.param(fn): Refactor to use path params"),this._params.push(e);return}var n=this._params,i=n.length,a;e[0]===":"&&(LM("router.param("+JSON.stringify(e)+", fn): Use router.param("+JSON.stringify(e.slice(1))+", fn) instead"),e=e.slice(1));for(var o=0;o=p.length){setImmediate(_,v);return}if(++u>100)return setImmediate(g,y);var b=JY(e);if(b==null)return _(v);for(var S,x,w;x!==!0&&a=s.length)return a();if(l=0,d=s[c++],u=d.name,p=n.params[u],f=o[u],h=r[u],p===void 0||!f)return _();if(h&&(h.match===p||h.error&&h.error!=="route"))return n.params[u]=h.value,_(h.error);r[u]=h={error:null,match:p,value:p},g()}function g(m){var y=f[l++];if(h.value=n.params[d.name],m){h.error=m,_(m);return}if(!y)return _();try{y(n,i,g,p,d.name)}catch(v){g(v)}}_()};po.use=function(e){var r=0,n="/";if(typeof e!="function"){for(var i=e;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=e)}var a=HY(ZM.call(arguments,r));if(a.length===0)throw new TypeError("Router.use() requires a middleware function");for(var o=0;o");var s=new FM(n,{sensitive:this.caseSensitive,strict:!1,end:!1},e);s.route=void 0,this.stack.push(s)}return this};po.route=function(e){var r=new FY(e),n=new FM(e,{sensitive:this.caseSensitive,strict:this.strict,end:!0},r.dispatch.bind(r));return n.route=r,this.stack.push(n),r};ZY.concat("all").forEach(function(t){po[t]=function(e){var r=this.route(e);return r[t].apply(r,ZM.call(arguments,1)),this}});function KY(t,e){for(var r=0;r=0;n--)t[n+i]=t[n],n{"use strict";var BM=bl();VM.init=function(t){return function(r,n,i){t.enabled("x-powered-by")&&n.setHeader("X-Powered-By","Express"),r.res=n,n.req=r,r.next=i,BM(r,t.request),BM(n,t.response),n.locals=n.locals||Object.create(null),i()}}});var hw=j((_ke,WM)=>{"use strict";var iQ=Wl(),aQ=Ls(),oQ=Zm();WM.exports=function(e){var r=iQ({},e),n=oQ.parse;return typeof e=="function"&&(n=e,r=void 0),r!==void 0&&r.allowPrototypes===void 0&&(r.allowPrototypes=!0),function(a,o,s){if(!a.query){var c=aQ(a).query;a.query=n(c,r)}s()}}});var QM=j((bke,YM)=>{"use strict";var Km=bn()("express:view"),Kl=require("path"),sQ=require("fs"),cQ=Kl.dirname,XM=Kl.basename,uQ=Kl.extname,KM=Kl.join,lQ=Kl.resolve;YM.exports=Jm;function Jm(t,e){var r=e||{};if(this.defaultEngine=r.defaultEngine,this.ext=uQ(t),this.name=t,this.root=r.root,!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");var n=t;if(this.ext||(this.ext=this.defaultEngine[0]!=="."?"."+this.defaultEngine:this.defaultEngine,n+=this.ext),!r.engines[this.ext]){var i=this.ext.slice(1);Km('require "%s"',i);var a=require(i).__express;if(typeof a!="function")throw new Error('Module "'+i+'" does not provide a view engine.');r.engines[this.ext]=a}this.engine=r.engines[this.ext],this.path=this.lookup(n)}Jm.prototype.lookup=function(e){var r,n=[].concat(this.root);Km('lookup "%s"',e);for(var i=0;i{var Xm=require("buffer"),gi=Xm.Buffer;function eD(t,e){for(var r in t)e[r]=t[r]}gi.from&&gi.alloc&&gi.allocUnsafe&&gi.allocUnsafeSlow?tD.exports=Xm:(eD(Xm,gw),gw.Buffer=fo);function fo(t,e,r){return gi(t,e,r)}fo.prototype=Object.create(gi.prototype);eD(gi,fo);fo.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return gi(t,e,r)};fo.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=gi(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};fo.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return gi(t)};fo.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Xm.SlowBuffer(t)}});var yw=j((xke,vw)=>{"use strict";vw.exports=xQ;vw.exports.parse=EQ;var rD=require("path").basename,dQ=Ym().Buffer,pQ=/[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g,fQ=/%[0-9A-Fa-f]{2}/,mQ=/%([0-9A-Fa-f]{2})/g,iD=/[^\x20-\x7e\xa0-\xff]/g,hQ=/\\([\u0000-\u007f])/g,gQ=/([\\"])/g,nD=/;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g,vQ=/^[\x20-\x7e\x80-\xff]+$/,yQ=/^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/,_Q=/^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/,bQ=/^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/;function xQ(t,e){var r=e||{},n=r.type||"attachment",i=SQ(t,r.fallback);return wQ(new oD(n,i))}function SQ(t,e){if(t!==void 0){var r={};if(typeof t!="string")throw new TypeError("filename must be a string");if(e===void 0&&(e=!0),typeof e!="string"&&typeof e!="boolean")throw new TypeError("fallback must be a string or boolean");if(typeof e=="string"&&iD.test(e))throw new TypeError("fallback must be ISO-8859-1 string");var n=rD(t),i=vQ.test(n),a=typeof e!="string"?e&&aD(n):rD(e),o=typeof a=="string"&&a!==n;return(o||!i||fQ.test(n))&&(r["filename*"]=n),(i||o)&&(r.filename=o?a:n),r}}function wQ(t){var e=t.parameters,r=t.type;if(!r||typeof r!="string"||!yQ.test(r))throw new TypeError("invalid type");var n=String(r).toLowerCase();if(e&&typeof e=="object")for(var i,a=Object.keys(e).sort(),o=0;o{"use strict";uD.exports=CQ;var OQ=require("crypto"),sD=require("fs").Stats,cD=Object.prototype.toString;function RQ(t){if(t.length===0)return'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';var e=OQ.createHash("sha1").update(t,"utf8").digest("base64").substring(0,27),r=typeof t=="string"?Buffer.byteLength(t,"utf8"):t.length;return'"'+r.toString(16)+"-"+e+'"'}function CQ(t,e){if(t==null)throw new TypeError("argument entity is required");var r=NQ(t),n=e&&typeof e.weak=="boolean"?e.weak:r;if(!r&&typeof t!="string"&&!Buffer.isBuffer(t))throw new TypeError("argument entity must be string, Buffer, or fs.Stats");var i=r?jQ(t):RQ(t);return n?"W/"+i:i}function NQ(t){return typeof sD=="function"&&t instanceof sD?!0:t&&typeof t=="object"&&"ctime"in t&&cD.call(t.ctime)==="[object Date]"&&"mtime"in t&&cD.call(t.mtime)==="[object Date]"&&"ino"in t&&typeof t.ino=="number"&&"size"in t&&typeof t.size=="number"}function jQ(t){var e=t.mtime.getTime().toString(16),r=t.size.toString(16);return'"'+r+"-"+e+'"'}});var bw=j((wke,dD)=>{"use strict";var AQ=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;dD.exports=MQ;function MQ(t,e){var r=t["if-modified-since"],n=t["if-none-match"];if(!r&&!n)return!1;var i=t["cache-control"];if(i&&AQ.test(i))return!1;if(n&&n!=="*"){var a=e.etag;if(!a)return!1;for(var o=!0,s=DQ(n),c=0;c{zQ.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/bdoc":["bdoc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":[],"application/font-woff2":[],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":[],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":[],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":[],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":[],"application/x-msdownload":["com","bat"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":[],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":[],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp3":[],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/wav":["wav"],"audio/wave":[],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":[],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":[],"audio/x-wav":[],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/apng":["apng"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":[],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":[],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/rtf":[],"text/sgml":["sgml","sgm"],"text/slim":["slim","slm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":[],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":[],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}});var mD=j((kke,fD)=>{var Eke=require("path"),UQ=require("fs");function Bs(){this.types=Object.create(null),this.extensions=Object.create(null)}Bs.prototype.define=function(t){for(var e in t){for(var r=t[e],n=0;n{var Vs=1e3,Gs=Vs*60,Ws=Gs*60,mo=Ws*24,qQ=mo*7,LQ=mo*365.25;hD.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return FQ(t);if(r==="number"&&isFinite(t))return e.long?HQ(t):ZQ(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function FQ(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*LQ;case"weeks":case"week":case"w":return r*qQ;case"days":case"day":case"d":return r*mo;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Ws;case"minutes":case"minute":case"mins":case"min":case"m":return r*Gs;case"seconds":case"second":case"secs":case"sec":case"s":return r*Vs;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function ZQ(t){var e=Math.abs(t);return e>=mo?Math.round(t/mo)+"d":e>=Ws?Math.round(t/Ws)+"h":e>=Gs?Math.round(t/Gs)+"m":e>=Vs?Math.round(t/Vs)+"s":t+"ms"}function HQ(t){var e=Math.abs(t);return e>=mo?Qm(t,e,mo,"day"):e>=Ws?Qm(t,e,Ws,"hour"):e>=Gs?Qm(t,e,Gs,"minute"):e>=Vs?Qm(t,e,Vs,"second"):t+" ms"}function Qm(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var xw=j((Ike,vD)=>{"use strict";vD.exports=BQ;function BQ(t,e,r){if(typeof e!="string")throw new TypeError("argument str must be a string");var n=e.indexOf("=");if(n===-1)return-2;var i=e.slice(n+1).split(","),a=[];a.type=e.slice(0,n);for(var o=0;ot-1&&(u=t-1),!(isNaN(c)||isNaN(u)||c>u||c<0)&&a.push({start:c,end:u})}return a.length<1?-1:r&&r.combine?VQ(a):a}function VQ(t){for(var e=t.map(GQ).sort(JQ),r=0,n=1;na.end+1?e[++r]=i:i.end>a.end&&(a.end=i.end,a.index=Math.min(a.index,i.index))}e.length=r+1;var o=e.sort(KQ).map(WQ);return o.type=t.type,o}function GQ(t,e){return{start:t.start,end:t.end,index:e}}function WQ(t){return{start:t.start,end:t.end}}function KQ(t,e){return t.index-e.index}function JQ(t,e){return t.start-e.start}});var nh=j((Pke,Tw)=>{"use strict";var Sw=to(),Bt=bn()("send"),ho=li()("send"),XQ=Q0(),YQ=Bl(),bD=Vl(),QQ=_w(),eee=bw(),th=require("fs"),$w=mD(),xD=gD(),tee=Ol(),ree=xw(),Jl=require("path"),nee=xl(),SD=require("stream"),iee=require("util"),aee=Jl.extname,wD=Jl.join,ww=Jl.normalize,kw=Jl.resolve,eh=Jl.sep,oee=/^ *bytes=/,$D=3600*24*365*1e3,yD=/(?:^|[\\/])\.\.(?:[\\/]|$)/;Tw.exports=see;Tw.exports.mime=$w;function see(t,e,r){return new gt(t,e,r)}function gt(t,e,r){SD.call(this);var n=r||{};if(this.options=n,this.path=e,this.req=t,this._acceptRanges=n.acceptRanges!==void 0?!!n.acceptRanges:!0,this._cacheControl=n.cacheControl!==void 0?!!n.cacheControl:!0,this._etag=n.etag!==void 0?!!n.etag:!0,this._dotfiles=n.dotfiles!==void 0?n.dotfiles:"ignore",this._dotfiles!=="ignore"&&this._dotfiles!=="allow"&&this._dotfiles!=="deny")throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"');this._hidden=!!n.hidden,n.hidden!==void 0&&ho("hidden: use dotfiles: '"+(this._hidden?"allow":"ignore")+"' instead"),n.dotfiles===void 0&&(this._dotfiles=void 0),this._extensions=n.extensions!==void 0?Ew(n.extensions,"extensions option"):[],this._immutable=n.immutable!==void 0?!!n.immutable:!1,this._index=n.index!==void 0?Ew(n.index,"index option"):["index.html"],this._lastModified=n.lastModified!==void 0?!!n.lastModified:!0,this._maxage=n.maxAge||n.maxage,this._maxage=typeof this._maxage=="string"?xD(this._maxage):Number(this._maxage),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),$D),this._root=n.root?kw(n.root):null,!this._root&&n.from&&this.from(n.from)}iee.inherits(gt,SD);gt.prototype.etag=ho.function(function(e){return this._etag=!!e,Bt("etag %s",this._etag),this},"send.etag: pass etag as option");gt.prototype.hidden=ho.function(function(e){return this._hidden=!!e,this._dotfiles=void 0,Bt("hidden %s",this._hidden),this},"send.hidden: use dotfiles option");gt.prototype.index=ho.function(function(e){var r=e?Ew(e,"paths argument"):[];return Bt("index %o",e),this._index=r,this},"send.index: pass index as option");gt.prototype.root=function(e){return this._root=kw(String(e)),Bt("root %s",this._root),this};gt.prototype.from=ho.function(gt.prototype.root,"send.from: pass root as option");gt.prototype.root=ho.function(gt.prototype.root,"send.root: pass root as option");gt.prototype.maxage=ho.function(function(e){return this._maxage=typeof e=="string"?xD(e):Number(e),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),$D),Bt("max-age %d",this._maxage),this},"send.maxage: pass maxAge as option");gt.prototype.error=function(e,r){if(kD(this,"error"))return this.emit("error",dee(e,r));var n=this.res,i=nee.message[e]||String(e),a=ED("Error",bD(i));cee(n),r&&r.headers&&gee(n,r.headers),n.statusCode=e,n.setHeader("Content-Type","text/html; charset=UTF-8"),n.setHeader("Content-Length",Buffer.byteLength(a)),n.setHeader("Content-Security-Policy","default-src 'none'"),n.setHeader("X-Content-Type-Options","nosniff"),n.end(a)};gt.prototype.hasTrailingSlash=function(){return this.path[this.path.length-1]==="/"};gt.prototype.isConditionalGET=function(){return this.req.headers["if-match"]||this.req.headers["if-unmodified-since"]||this.req.headers["if-none-match"]||this.req.headers["if-modified-since"]};gt.prototype.isPreconditionFailure=function(){var e=this.req,r=this.res,n=e.headers["if-match"];if(n){var i=r.getHeader("ETag");return!i||n!=="*"&&hee(n).every(function(s){return s!==i&&s!=="W/"+i&&"W/"+s!==i})}var a=rh(e.headers["if-unmodified-since"]);if(!isNaN(a)){var o=rh(r.getHeader("Last-Modified"));return isNaN(o)||o>a}return!1};gt.prototype.removeContentHeaderFields=function(){var e=this.res;e.removeHeader("Content-Encoding"),e.removeHeader("Content-Language"),e.removeHeader("Content-Length"),e.removeHeader("Content-Range"),e.removeHeader("Content-Type")};gt.prototype.notModified=function(){var e=this.res;Bt("not modified"),this.removeContentHeaderFields(),e.statusCode=304,e.end()};gt.prototype.headersAlreadySent=function(){var e=new Error("Can't set headers after they are sent.");Bt("headers already sent"),this.error(500,e)};gt.prototype.isCachable=function(){var e=this.res.statusCode;return e>=200&&e<300||e===304};gt.prototype.onStatError=function(e){switch(e.code){case"ENAMETOOLONG":case"ENOENT":case"ENOTDIR":this.error(404,e);break;default:this.error(500,e);break}};gt.prototype.isFresh=function(){return eee(this.req.headers,{etag:this.res.getHeader("ETag"),"last-modified":this.res.getHeader("Last-Modified")})};gt.prototype.isRangeFresh=function(){var e=this.req.headers["if-range"];if(!e)return!0;if(e.indexOf('"')!==-1){var r=this.res.getHeader("ETag");return!!(r&&e.indexOf(r)!==-1)}var n=this.res.getHeader("Last-Modified");return rh(n)<=rh(e)};gt.prototype.redirect=function(e){var r=this.res;if(kD(this,"directory")){this.emit("directory",r,e);return}if(this.hasTrailingSlash()){this.error(403);return}var n=YQ(uee(this.path+"/")),i=ED("Redirecting","Redirecting to "+bD(n));r.statusCode=301,r.setHeader("Content-Type","text/html; charset=UTF-8"),r.setHeader("Content-Length",Buffer.byteLength(i)),r.setHeader("Content-Security-Policy","default-src 'none'"),r.setHeader("X-Content-Type-Options","nosniff"),r.setHeader("Location",n),r.end(i)};gt.prototype.pipe=function(e){var r=this._root;this.res=e;var n=pee(this.path);if(n===-1)return this.error(400),e;if(~n.indexOf("\0"))return this.error(400),e;var i;if(r!==null){if(n&&(n=ww("."+eh+n)),yD.test(n))return Bt('malicious path "%s"',n),this.error(403),e;i=n.split(eh),n=ww(wD(r,n))}else{if(yD.test(n))return Bt('malicious path "%s"',n),this.error(403),e;i=ww(n).split(eh),n=kw(n)}if(lee(i)){var a=this._dotfiles;switch(a===void 0&&(a=i[i.length-1][0]==="."?this._hidden?"allow":"ignore":"allow"),Bt('%s dotfile "%s"',a,n),a){case"allow":break;case"deny":return this.error(403),e;default:return this.error(404),e}}return this._index.length&&this.hasTrailingSlash()?(this.sendIndex(n),e):(this.sendFile(n),e)};gt.prototype.send=function(e,r){var n=r.size,i=this.options,a={},o=this.res,s=this.req,c=s.headers.range,u=i.start||0;if(mee(o)){this.headersAlreadySent();return}if(Bt('pipe "%s"',e),this.setHeader(e,r),this.type(e),this.isConditionalGET()){if(this.isPreconditionFailure()){this.error(412);return}if(this.isCachable()&&this.isFresh()){this.notModified();return}}if(n=Math.max(0,n-u),i.end!==void 0){var l=i.end-u+1;n>l&&(n=l)}if(this._acceptRanges&&oee.test(c)){if(c=ree(n,c,{combine:!0}),this.isRangeFresh()||(Bt("range stale"),c=-2),c===-1)return Bt("range unsatisfiable"),o.setHeader("Content-Range",_D("bytes",n)),this.error(416,{headers:{"Content-Range":o.getHeader("Content-Range")}});c!==-2&&c.length===1&&(Bt("range %j",c),o.statusCode=206,o.setHeader("Content-Range",_D("bytes",n,c[0])),u+=c[0].start,n=c[0].end-c[0].start+1)}for(var d in i)a[d]=i[d];if(a.start=u,a.end=Math.max(u,u+n-1),o.setHeader("Content-Length",n),s.method==="HEAD"){o.end();return}this.stream(e,a)};gt.prototype.sendFile=function(e){var r=0,n=this;Bt('stat "%s"',e),th.stat(e,function(o,s){if(o&&o.code==="ENOENT"&&!aee(e)&&e[e.length-1]!==eh)return i(o);if(o)return n.onStatError(o);if(s.isDirectory())return n.redirect(e);n.emit("file",e,s),n.send(e,s)});function i(a){if(n._extensions.length<=r)return a?n.onStatError(a):n.error(404);var o=e+"."+n._extensions[r++];Bt('stat "%s"',o),th.stat(o,function(s,c){if(s)return i(s);if(c.isDirectory())return i();n.emit("file",o,c),n.send(o,c)})}};gt.prototype.sendIndex=function(e){var r=-1,n=this;function i(a){if(++r>=n._index.length)return a?n.onStatError(a):n.error(404);var o=wD(e,n._index[r]);Bt('stat "%s"',o),th.stat(o,function(s,c){if(s)return i(s);if(c.isDirectory())return i();n.emit("file",o,c),n.send(o,c)})}i()};gt.prototype.stream=function(e,r){var n=this,i=this.res,a=th.createReadStream(e,r);this.emit("stream",a),a.pipe(i);function o(){XQ(a,!0)}tee(i,o),a.on("error",function(c){o(),n.onStatError(c)}),a.on("end",function(){n.emit("end")})};gt.prototype.type=function(e){var r=this.res;if(!r.getHeader("Content-Type")){var n=$w.lookup(e);if(!n){Bt("no content-type");return}var i=$w.charsets.lookup(n);Bt("content-type %s",n),r.setHeader("Content-Type",n+(i?"; charset="+i:""))}};gt.prototype.setHeader=function(e,r){var n=this.res;if(this.emit("headers",n,e,r),this._acceptRanges&&!n.getHeader("Accept-Ranges")&&(Bt("accept ranges"),n.setHeader("Accept-Ranges","bytes")),this._cacheControl&&!n.getHeader("Cache-Control")){var i="public, max-age="+Math.floor(this._maxage/1e3);this._immutable&&(i+=", immutable"),Bt("cache-control %s",i),n.setHeader("Cache-Control",i)}if(this._lastModified&&!n.getHeader("Last-Modified")){var a=r.mtime.toUTCString();Bt("modified %s",a),n.setHeader("Last-Modified",a)}if(this._etag&&!n.getHeader("ETag")){var o=QQ(r);Bt("etag %s",o),n.setHeader("ETag",o)}};function cee(t){for(var e=fee(t),r=0;r1?"/"+t.substr(e):t}function lee(t){for(var e=0;e1&&r[0]===".")return!0}return!1}function _D(t,e,r){return t+" "+(r?r.start+"-"+r.end:"*")+"/"+e}function ED(t,e){return` +`}kM.exports=TY;function TY(t,e,r){var n=r||{},i=n.env||process.env.NODE_ENV||"development",a=n.onerror;return function(o){var s,c,u;if(!o&&wM(e)){dw("cannot 404 after headers sent");return}if(o?(u=OY(o),u===void 0?u=CY(e):s=IY(o),c=PY(o,u,i)):(u=404,c="Cannot "+t.method+" "+yY(RY(t))),dw("default %s",u),o&&a&&$Y(a,o,t,e),wM(e)){dw("cannot %d after headers sent",u),t.socket&&t.socket.destroy();return}NY(t,e,u,s,c)}}function IY(t){if(!(!t.headers||typeof t.headers!="object")){for(var e=Object.create(null),r=Object.keys(t.headers),n=0;n=400&&t.status<600)return t.status;if(typeof t.statusCode=="number"&&t.statusCode>=400&&t.statusCode<600)return t.statusCode}function RY(t){try{return bY.original(t).pathname}catch{return"resource"}}function CY(t){var e=t.statusCode;return(typeof e!="number"||e<400||e>599)&&(e=500),e}function wM(t){return typeof t.headersSent!="boolean"?!!t._header:t.headersSent}function NY(t,e,r,n,i){function a(){var o=kY(i);if(e.statusCode=r,t.httpVersionMajor<2&&(e.statusMessage=EM.message[r]),e.removeHeader("Content-Encoding"),e.removeHeader("Content-Language"),e.removeHeader("Content-Range"),jY(e,n),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Content-Type","text/html; charset=utf-8"),e.setHeader("Content-Length",Buffer.byteLength(o,"utf8")),t.method==="HEAD"){e.end();return}e.end(o,"utf8")}if(EY(t)){a();return}xY(t),$M(t,a),t.resume()}function jY(t,e){if(e)for(var r=Object.keys(e),n=0;n{"use strict";OM.exports=AY;function IM(t,e,r){for(var n=0;n0&&Array.isArray(i)?IM(i,e,r-1):e.push(i)}return e}function PM(t,e){for(var r=0;r{NM.exports=CM;var RM=/\\.|\((?:\?<(.*?)>)?(?!\?)/g;function CM(t,e,r){r=r||{},e=e||[];var n=r.strict,i=r.end!==!1,a=r.sensitive?"":"i",o=r.lookahead!==!1,s=0,c=e.length,u=0,l=0,d=0,p="",f;if(t instanceof RegExp){for(;f=RM.exec(t.source);)f[0][0]!=="\\"&&e.push({name:f[1]||l++,optional:!1,offset:f.index});return t}if(Array.isArray(t))return t=t.map(function(h){return CM(h,e,r).source}),new RegExp(t.join("|"),a);if(typeof t!="string")throw new TypeError("path must be a string, array of strings, or regular expression");for(t=t.replace(/\\.|(\/)?(\.)?:(\w+)(\(.*?\))?(\*)?(\?)?|[.*]|\/\(/g,function(h,_,g,m,y,v,b,S){if(h[0]==="\\")return p+=h,d+=2,h;if(h===".")return p+="\\.",s+=1,d+=1,"\\.";if(_||g?p="":p+=t.slice(d,S),d=S+h.length,h==="*")return s+=3,"(.*)";if(h==="/(")return p+="/",s+=2,"/(?:";_=_||"",g=g?"\\.":"",b=b||"",y=y?y.replace(/\\.|\*/,function(w){return w==="*"?"(.*)":w}):p?"((?:(?!/|"+p+").)+?)":"([^/"+g+"]+?)",e.push({name:m,optional:!!b,offset:S+s});var x="(?:"+g+_+y+(v?"((?:[/"+g+"].+?)?)":"")+")"+b;return s+=x.length-h.length,x});f=RM.exec(t);)f[0][0]!=="\\"&&((c+u===e.length||e[c+u].offset>f.index)&&e.splice(c+u,0,{name:l++,optional:!1,offset:f.index}),u++);return t+=n?"":t[t.length-1]==="/"?"?":"/?",i?t+="$":t[t.length-1]!=="/"&&(t+=o?"(?=/|$)":"(?:/|$)"),new RegExp("^"+t,a)}});var pw=j((mke,MM)=>{"use strict";var MY=jM(),DY=bn()("express:router:layer"),zY=Object.prototype.hasOwnProperty;MM.exports=Fs;function Fs(t,e,r){if(!(this instanceof Fs))return new Fs(t,e,r);DY("new %o",t);var n=e||{};this.handle=r,this.name=r.name||"",this.params=void 0,this.path=void 0,this.regexp=MY(t,this.keys=[],n),this.regexp.fast_star=t==="*",this.regexp.fast_slash=t==="/"&&n.end===!1}Fs.prototype.handle_error=function(e,r,n,i){var a=this.handle;if(a.length!==4)return i(e);try{a(e,r,n,i)}catch(o){i(o)}};Fs.prototype.handle_request=function(e,r,n){var i=this.handle;if(i.length>3)return n();try{i(e,r,n)}catch(a){n(a)}};Fs.prototype.match=function(e){var r;if(e!=null){if(this.regexp.fast_slash)return this.params={},this.path="",!0;if(this.regexp.fast_star)return this.params={0:AM(e)},this.path=e,!0;r=this.regexp.exec(e)}if(!r)return this.params=void 0,this.path=void 0,!1;this.params={},this.path=r[0];for(var n=this.keys,i=this.params,a=1;a{"use strict";var DM=require("http");zM.exports=UY()||LY();function UY(){return DM.METHODS&&DM.METHODS.map(function(e){return e.toLowerCase()})}function LY(){return["get","post","put","head","delete","options","trace","copy","lock","mkcol","move","purge","propfind","proppatch","unlock","report","mkactivity","checkout","merge","m-search","notify","subscribe","unsubscribe","patch","search","connect"]}});var fw=j((gke,HM)=>{"use strict";var UM=bn()("express:router:route"),LM=Gl(),qM=pw(),qY=Gm(),FM=Array.prototype.slice,ZM=Object.prototype.toString;HM.exports=Zs;function Zs(t){this.path=t,this.stack=[],UM("new %o",t),this.methods={}}Zs.prototype._handles_method=function(e){if(this.methods._all)return!0;var r=typeof e=="string"?e.toLowerCase():e;return r==="head"&&!this.methods.head&&(r="get"),!!this.methods[r]};Zs.prototype._options=function(){var e=Object.keys(this.methods);this.methods.get&&!this.methods.head&&e.push("head");for(var r=0;r100)return setImmediate(c,u);var l=a[i++];if(!l)return n(u);l.method&&l.method!==s?c(u):u?l.handle_error(u,e,r,c):l.handle_request(e,r,c),o=0}};Zs.prototype.all=function(){for(var e=LM(FM.call(arguments)),r=0;r{BM=VM.exports=function(t,e){if(t&&e)for(var r in e)t[r]=e[r];return t}});var hw=j((vke,JM)=>{"use strict";var FY=fw(),WM=pw(),ZY=Gm(),mw=Wl(),Wm=bn()("express:router"),GM=di()("express"),HY=Gl(),BY=qs(),VY=bl(),GY=/^\[object (\S+)\]$/,KM=Array.prototype.slice,WY=Object.prototype.toString,fo=JM.exports=function(t){var e=t||{};function r(n,i,a){r.handle(n,i,a)}return VY(r,fo),r.params={},r._params=[],r.caseSensitive=e.caseSensitive,r.mergeParams=e.mergeParams,r.strict=e.strict,r.stack=[],r};fo.param=function(e,r){if(typeof e=="function"){GM("router.param(fn): Refactor to use path params"),this._params.push(e);return}var n=this._params,i=n.length,a;e[0]===":"&&(GM("router.param("+JSON.stringify(e)+", fn): Use router.param("+JSON.stringify(e.slice(1))+", fn) instead"),e=e.slice(1));for(var o=0;o=p.length){setImmediate(_,v);return}if(++u>100)return setImmediate(g,y);var b=JY(e);if(b==null)return _(v);for(var S,x,w;x!==!0&&a=s.length)return a();if(l=0,d=s[c++],u=d.name,p=n.params[u],f=o[u],h=r[u],p===void 0||!f)return _();if(h&&(h.match===p||h.error&&h.error!=="route"))return n.params[u]=h.value,_(h.error);r[u]=h={error:null,match:p,value:p},g()}function g(m){var y=f[l++];if(h.value=n.params[d.name],m){h.error=m,_(m);return}if(!y)return _();try{y(n,i,g,p,d.name)}catch(v){g(v)}}_()};fo.use=function(e){var r=0,n="/";if(typeof e!="function"){for(var i=e;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=e)}var a=HY(KM.call(arguments,r));if(a.length===0)throw new TypeError("Router.use() requires a middleware function");for(var o=0;o");var s=new WM(n,{sensitive:this.caseSensitive,strict:!1,end:!1},e);s.route=void 0,this.stack.push(s)}return this};fo.route=function(e){var r=new FY(e),n=new WM(e,{sensitive:this.caseSensitive,strict:this.strict,end:!0},r.dispatch.bind(r));return n.route=r,this.stack.push(n),r};ZY.concat("all").forEach(function(t){fo[t]=function(e){var r=this.route(e);return r[t].apply(r,KM.call(arguments,1)),this}});function KY(t,e){for(var r=0;r=0;n--)t[n+i]=t[n],n{"use strict";var XM=bl();YM.init=function(t){return function(r,n,i){t.enabled("x-powered-by")&&n.setHeader("X-Powered-By","Express"),r.res=n,n.req=r,r.next=i,XM(r,t.request),XM(n,t.response),n.locals=n.locals||Object.create(null),i()}}});var gw=j((_ke,eD)=>{"use strict";var iQ=Wl(),aQ=qs(),oQ=Zm();eD.exports=function(e){var r=iQ({},e),n=oQ.parse;return typeof e=="function"&&(n=e,r=void 0),r!==void 0&&r.allowPrototypes===void 0&&(r.allowPrototypes=!0),function(a,o,s){if(!a.query){var c=aQ(a).query;a.query=n(c,r)}s()}}});var aD=j((bke,iD)=>{"use strict";var Km=bn()("express:view"),Kl=require("path"),sQ=require("fs"),cQ=Kl.dirname,nD=Kl.basename,uQ=Kl.extname,tD=Kl.join,lQ=Kl.resolve;iD.exports=Jm;function Jm(t,e){var r=e||{};if(this.defaultEngine=r.defaultEngine,this.ext=uQ(t),this.name=t,this.root=r.root,!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");var n=t;if(this.ext||(this.ext=this.defaultEngine[0]!=="."?"."+this.defaultEngine:this.defaultEngine,n+=this.ext),!r.engines[this.ext]){var i=this.ext.slice(1);Km('require "%s"',i);var a=require(i).__express;if(typeof a!="function")throw new Error('Module "'+i+'" does not provide a view engine.');r.engines[this.ext]=a}this.engine=r.engines[this.ext],this.path=this.lookup(n)}Jm.prototype.lookup=function(e){var r,n=[].concat(this.root);Km('lookup "%s"',e);for(var i=0;i{var Xm=require("buffer"),vi=Xm.Buffer;function oD(t,e){for(var r in t)e[r]=t[r]}vi.from&&vi.alloc&&vi.allocUnsafe&&vi.allocUnsafeSlow?sD.exports=Xm:(oD(Xm,vw),vw.Buffer=mo);function mo(t,e,r){return vi(t,e,r)}mo.prototype=Object.create(vi.prototype);oD(vi,mo);mo.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return vi(t,e,r)};mo.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=vi(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};mo.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return vi(t)};mo.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Xm.SlowBuffer(t)}});var _w=j((xke,yw)=>{"use strict";yw.exports=xQ;yw.exports.parse=EQ;var cD=require("path").basename,dQ=Ym().Buffer,pQ=/[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g,fQ=/%[0-9A-Fa-f]{2}/,mQ=/%([0-9A-Fa-f]{2})/g,lD=/[^\x20-\x7e\xa0-\xff]/g,hQ=/\\([\u0000-\u007f])/g,gQ=/([\\"])/g,uD=/;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g,vQ=/^[\x20-\x7e\x80-\xff]+$/,yQ=/^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/,_Q=/^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/,bQ=/^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/;function xQ(t,e){var r=e||{},n=r.type||"attachment",i=SQ(t,r.fallback);return wQ(new pD(n,i))}function SQ(t,e){if(t!==void 0){var r={};if(typeof t!="string")throw new TypeError("filename must be a string");if(e===void 0&&(e=!0),typeof e!="string"&&typeof e!="boolean")throw new TypeError("fallback must be a string or boolean");if(typeof e=="string"&&lD.test(e))throw new TypeError("fallback must be ISO-8859-1 string");var n=cD(t),i=vQ.test(n),a=typeof e!="string"?e&&dD(n):cD(e),o=typeof a=="string"&&a!==n;return(o||!i||fQ.test(n))&&(r["filename*"]=n),(i||o)&&(r.filename=o?a:n),r}}function wQ(t){var e=t.parameters,r=t.type;if(!r||typeof r!="string"||!yQ.test(r))throw new TypeError("invalid type");var n=String(r).toLowerCase();if(e&&typeof e=="object")for(var i,a=Object.keys(e).sort(),o=0;o{"use strict";hD.exports=CQ;var OQ=require("crypto"),fD=require("fs").Stats,mD=Object.prototype.toString;function RQ(t){if(t.length===0)return'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';var e=OQ.createHash("sha1").update(t,"utf8").digest("base64").substring(0,27),r=typeof t=="string"?Buffer.byteLength(t,"utf8"):t.length;return'"'+r.toString(16)+"-"+e+'"'}function CQ(t,e){if(t==null)throw new TypeError("argument entity is required");var r=NQ(t),n=e&&typeof e.weak=="boolean"?e.weak:r;if(!r&&typeof t!="string"&&!Buffer.isBuffer(t))throw new TypeError("argument entity must be string, Buffer, or fs.Stats");var i=r?jQ(t):RQ(t);return n?"W/"+i:i}function NQ(t){return typeof fD=="function"&&t instanceof fD?!0:t&&typeof t=="object"&&"ctime"in t&&mD.call(t.ctime)==="[object Date]"&&"mtime"in t&&mD.call(t.mtime)==="[object Date]"&&"ino"in t&&typeof t.ino=="number"&&"size"in t&&typeof t.size=="number"}function jQ(t){var e=t.mtime.getTime().toString(16),r=t.size.toString(16);return'"'+r+"-"+e+'"'}});var xw=j((wke,vD)=>{"use strict";var AQ=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;vD.exports=MQ;function MQ(t,e){var r=t["if-modified-since"],n=t["if-none-match"];if(!r&&!n)return!1;var i=t["cache-control"];if(i&&AQ.test(i))return!1;if(n&&n!=="*"){var a=e.etag;if(!a)return!1;for(var o=!0,s=DQ(n),c=0;c{zQ.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/bdoc":["bdoc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":[],"application/font-woff2":[],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":[],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":[],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":[],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":[],"application/x-msdownload":["com","bat"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":[],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":[],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp3":[],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/wav":["wav"],"audio/wave":[],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":[],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":[],"audio/x-wav":[],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/apng":["apng"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":[],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":[],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/rtf":[],"text/sgml":["sgml","sgm"],"text/slim":["slim","slm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":[],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":[],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}});var bD=j((kke,_D)=>{var Eke=require("path"),UQ=require("fs");function Bs(){this.types=Object.create(null),this.extensions=Object.create(null)}Bs.prototype.define=function(t){for(var e in t){for(var r=t[e],n=0;n{var Vs=1e3,Gs=Vs*60,Ws=Gs*60,ho=Ws*24,LQ=ho*7,qQ=ho*365.25;xD.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return FQ(t);if(r==="number"&&isFinite(t))return e.long?HQ(t):ZQ(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function FQ(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*qQ;case"weeks":case"week":case"w":return r*LQ;case"days":case"day":case"d":return r*ho;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Ws;case"minutes":case"minute":case"mins":case"min":case"m":return r*Gs;case"seconds":case"second":case"secs":case"sec":case"s":return r*Vs;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function ZQ(t){var e=Math.abs(t);return e>=ho?Math.round(t/ho)+"d":e>=Ws?Math.round(t/Ws)+"h":e>=Gs?Math.round(t/Gs)+"m":e>=Vs?Math.round(t/Vs)+"s":t+"ms"}function HQ(t){var e=Math.abs(t);return e>=ho?Qm(t,e,ho,"day"):e>=Ws?Qm(t,e,Ws,"hour"):e>=Gs?Qm(t,e,Gs,"minute"):e>=Vs?Qm(t,e,Vs,"second"):t+" ms"}function Qm(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Sw=j((Ike,wD)=>{"use strict";wD.exports=BQ;function BQ(t,e,r){if(typeof e!="string")throw new TypeError("argument str must be a string");var n=e.indexOf("=");if(n===-1)return-2;var i=e.slice(n+1).split(","),a=[];a.type=e.slice(0,n);for(var o=0;ot-1&&(u=t-1),!(isNaN(c)||isNaN(u)||c>u||c<0)&&a.push({start:c,end:u})}return a.length<1?-1:r&&r.combine?VQ(a):a}function VQ(t){for(var e=t.map(GQ).sort(JQ),r=0,n=1;na.end+1?e[++r]=i:i.end>a.end&&(a.end=i.end,a.index=Math.min(a.index,i.index))}e.length=r+1;var o=e.sort(KQ).map(WQ);return o.type=t.type,o}function GQ(t,e){return{start:t.start,end:t.end,index:e}}function WQ(t){return{start:t.start,end:t.end}}function KQ(t,e){return t.index-e.index}function JQ(t,e){return t.start-e.start}});var nh=j((Pke,Iw)=>{"use strict";var ww=ro(),Bt=bn()("send"),go=di()("send"),XQ=eS(),YQ=Bl(),kD=Vl(),QQ=bw(),eee=xw(),th=require("fs"),Ew=bD(),TD=SD(),tee=Ol(),ree=Sw(),Jl=require("path"),nee=xl(),ID=require("stream"),iee=require("util"),aee=Jl.extname,PD=Jl.join,$w=Jl.normalize,Tw=Jl.resolve,eh=Jl.sep,oee=/^ *bytes=/,OD=3600*24*365*1e3,$D=/(?:^|[\\/])\.\.(?:[\\/]|$)/;Iw.exports=see;Iw.exports.mime=Ew;function see(t,e,r){return new gt(t,e,r)}function gt(t,e,r){ID.call(this);var n=r||{};if(this.options=n,this.path=e,this.req=t,this._acceptRanges=n.acceptRanges!==void 0?!!n.acceptRanges:!0,this._cacheControl=n.cacheControl!==void 0?!!n.cacheControl:!0,this._etag=n.etag!==void 0?!!n.etag:!0,this._dotfiles=n.dotfiles!==void 0?n.dotfiles:"ignore",this._dotfiles!=="ignore"&&this._dotfiles!=="allow"&&this._dotfiles!=="deny")throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"');this._hidden=!!n.hidden,n.hidden!==void 0&&go("hidden: use dotfiles: '"+(this._hidden?"allow":"ignore")+"' instead"),n.dotfiles===void 0&&(this._dotfiles=void 0),this._extensions=n.extensions!==void 0?kw(n.extensions,"extensions option"):[],this._immutable=n.immutable!==void 0?!!n.immutable:!1,this._index=n.index!==void 0?kw(n.index,"index option"):["index.html"],this._lastModified=n.lastModified!==void 0?!!n.lastModified:!0,this._maxage=n.maxAge||n.maxage,this._maxage=typeof this._maxage=="string"?TD(this._maxage):Number(this._maxage),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),OD),this._root=n.root?Tw(n.root):null,!this._root&&n.from&&this.from(n.from)}iee.inherits(gt,ID);gt.prototype.etag=go.function(function(e){return this._etag=!!e,Bt("etag %s",this._etag),this},"send.etag: pass etag as option");gt.prototype.hidden=go.function(function(e){return this._hidden=!!e,this._dotfiles=void 0,Bt("hidden %s",this._hidden),this},"send.hidden: use dotfiles option");gt.prototype.index=go.function(function(e){var r=e?kw(e,"paths argument"):[];return Bt("index %o",e),this._index=r,this},"send.index: pass index as option");gt.prototype.root=function(e){return this._root=Tw(String(e)),Bt("root %s",this._root),this};gt.prototype.from=go.function(gt.prototype.root,"send.from: pass root as option");gt.prototype.root=go.function(gt.prototype.root,"send.root: pass root as option");gt.prototype.maxage=go.function(function(e){return this._maxage=typeof e=="string"?TD(e):Number(e),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),OD),Bt("max-age %d",this._maxage),this},"send.maxage: pass maxAge as option");gt.prototype.error=function(e,r){if(CD(this,"error"))return this.emit("error",dee(e,r));var n=this.res,i=nee.message[e]||String(e),a=RD("Error",kD(i));cee(n),r&&r.headers&&gee(n,r.headers),n.statusCode=e,n.setHeader("Content-Type","text/html; charset=UTF-8"),n.setHeader("Content-Length",Buffer.byteLength(a)),n.setHeader("Content-Security-Policy","default-src 'none'"),n.setHeader("X-Content-Type-Options","nosniff"),n.end(a)};gt.prototype.hasTrailingSlash=function(){return this.path[this.path.length-1]==="/"};gt.prototype.isConditionalGET=function(){return this.req.headers["if-match"]||this.req.headers["if-unmodified-since"]||this.req.headers["if-none-match"]||this.req.headers["if-modified-since"]};gt.prototype.isPreconditionFailure=function(){var e=this.req,r=this.res,n=e.headers["if-match"];if(n){var i=r.getHeader("ETag");return!i||n!=="*"&&hee(n).every(function(s){return s!==i&&s!=="W/"+i&&"W/"+s!==i})}var a=rh(e.headers["if-unmodified-since"]);if(!isNaN(a)){var o=rh(r.getHeader("Last-Modified"));return isNaN(o)||o>a}return!1};gt.prototype.removeContentHeaderFields=function(){var e=this.res;e.removeHeader("Content-Encoding"),e.removeHeader("Content-Language"),e.removeHeader("Content-Length"),e.removeHeader("Content-Range"),e.removeHeader("Content-Type")};gt.prototype.notModified=function(){var e=this.res;Bt("not modified"),this.removeContentHeaderFields(),e.statusCode=304,e.end()};gt.prototype.headersAlreadySent=function(){var e=new Error("Can't set headers after they are sent.");Bt("headers already sent"),this.error(500,e)};gt.prototype.isCachable=function(){var e=this.res.statusCode;return e>=200&&e<300||e===304};gt.prototype.onStatError=function(e){switch(e.code){case"ENAMETOOLONG":case"ENOENT":case"ENOTDIR":this.error(404,e);break;default:this.error(500,e);break}};gt.prototype.isFresh=function(){return eee(this.req.headers,{etag:this.res.getHeader("ETag"),"last-modified":this.res.getHeader("Last-Modified")})};gt.prototype.isRangeFresh=function(){var e=this.req.headers["if-range"];if(!e)return!0;if(e.indexOf('"')!==-1){var r=this.res.getHeader("ETag");return!!(r&&e.indexOf(r)!==-1)}var n=this.res.getHeader("Last-Modified");return rh(n)<=rh(e)};gt.prototype.redirect=function(e){var r=this.res;if(CD(this,"directory")){this.emit("directory",r,e);return}if(this.hasTrailingSlash()){this.error(403);return}var n=YQ(uee(this.path+"/")),i=RD("Redirecting","Redirecting to "+kD(n));r.statusCode=301,r.setHeader("Content-Type","text/html; charset=UTF-8"),r.setHeader("Content-Length",Buffer.byteLength(i)),r.setHeader("Content-Security-Policy","default-src 'none'"),r.setHeader("X-Content-Type-Options","nosniff"),r.setHeader("Location",n),r.end(i)};gt.prototype.pipe=function(e){var r=this._root;this.res=e;var n=pee(this.path);if(n===-1)return this.error(400),e;if(~n.indexOf("\0"))return this.error(400),e;var i;if(r!==null){if(n&&(n=$w("."+eh+n)),$D.test(n))return Bt('malicious path "%s"',n),this.error(403),e;i=n.split(eh),n=$w(PD(r,n))}else{if($D.test(n))return Bt('malicious path "%s"',n),this.error(403),e;i=$w(n).split(eh),n=Tw(n)}if(lee(i)){var a=this._dotfiles;switch(a===void 0&&(a=i[i.length-1][0]==="."?this._hidden?"allow":"ignore":"allow"),Bt('%s dotfile "%s"',a,n),a){case"allow":break;case"deny":return this.error(403),e;default:return this.error(404),e}}return this._index.length&&this.hasTrailingSlash()?(this.sendIndex(n),e):(this.sendFile(n),e)};gt.prototype.send=function(e,r){var n=r.size,i=this.options,a={},o=this.res,s=this.req,c=s.headers.range,u=i.start||0;if(mee(o)){this.headersAlreadySent();return}if(Bt('pipe "%s"',e),this.setHeader(e,r),this.type(e),this.isConditionalGET()){if(this.isPreconditionFailure()){this.error(412);return}if(this.isCachable()&&this.isFresh()){this.notModified();return}}if(n=Math.max(0,n-u),i.end!==void 0){var l=i.end-u+1;n>l&&(n=l)}if(this._acceptRanges&&oee.test(c)){if(c=ree(n,c,{combine:!0}),this.isRangeFresh()||(Bt("range stale"),c=-2),c===-1)return Bt("range unsatisfiable"),o.setHeader("Content-Range",ED("bytes",n)),this.error(416,{headers:{"Content-Range":o.getHeader("Content-Range")}});c!==-2&&c.length===1&&(Bt("range %j",c),o.statusCode=206,o.setHeader("Content-Range",ED("bytes",n,c[0])),u+=c[0].start,n=c[0].end-c[0].start+1)}for(var d in i)a[d]=i[d];if(a.start=u,a.end=Math.max(u,u+n-1),o.setHeader("Content-Length",n),s.method==="HEAD"){o.end();return}this.stream(e,a)};gt.prototype.sendFile=function(e){var r=0,n=this;Bt('stat "%s"',e),th.stat(e,function(o,s){if(o&&o.code==="ENOENT"&&!aee(e)&&e[e.length-1]!==eh)return i(o);if(o)return n.onStatError(o);if(s.isDirectory())return n.redirect(e);n.emit("file",e,s),n.send(e,s)});function i(a){if(n._extensions.length<=r)return a?n.onStatError(a):n.error(404);var o=e+"."+n._extensions[r++];Bt('stat "%s"',o),th.stat(o,function(s,c){if(s)return i(s);if(c.isDirectory())return i();n.emit("file",o,c),n.send(o,c)})}};gt.prototype.sendIndex=function(e){var r=-1,n=this;function i(a){if(++r>=n._index.length)return a?n.onStatError(a):n.error(404);var o=PD(e,n._index[r]);Bt('stat "%s"',o),th.stat(o,function(s,c){if(s)return i(s);if(c.isDirectory())return i();n.emit("file",o,c),n.send(o,c)})}i()};gt.prototype.stream=function(e,r){var n=this,i=this.res,a=th.createReadStream(e,r);this.emit("stream",a),a.pipe(i);function o(){XQ(a,!0)}tee(i,o),a.on("error",function(c){o(),n.onStatError(c)}),a.on("end",function(){n.emit("end")})};gt.prototype.type=function(e){var r=this.res;if(!r.getHeader("Content-Type")){var n=Ew.lookup(e);if(!n){Bt("no content-type");return}var i=Ew.charsets.lookup(n);Bt("content-type %s",n),r.setHeader("Content-Type",n+(i?"; charset="+i:""))}};gt.prototype.setHeader=function(e,r){var n=this.res;if(this.emit("headers",n,e,r),this._acceptRanges&&!n.getHeader("Accept-Ranges")&&(Bt("accept ranges"),n.setHeader("Accept-Ranges","bytes")),this._cacheControl&&!n.getHeader("Cache-Control")){var i="public, max-age="+Math.floor(this._maxage/1e3);this._immutable&&(i+=", immutable"),Bt("cache-control %s",i),n.setHeader("Cache-Control",i)}if(this._lastModified&&!n.getHeader("Last-Modified")){var a=r.mtime.toUTCString();Bt("modified %s",a),n.setHeader("Last-Modified",a)}if(this._etag&&!n.getHeader("ETag")){var o=QQ(r);Bt("etag %s",o),n.setHeader("ETag",o)}};function cee(t){for(var e=fee(t),r=0;r1?"/"+t.substr(e):t}function lee(t){for(var e=0;e1&&r[0]===".")return!0}return!1}function ED(t,e,r){return t+" "+(r?r.start+"-"+r.end:"*")+"/"+e}function RD(t,e){return` @@ -53,8 +53,8 @@ return fn.apply(this, arguments)
`+e+`
-`}function dee(t,e){return e?e instanceof Error?Sw(t,e,{expose:!1}):Sw(t,e):Sw(t)}function pee(t){try{return decodeURIComponent(t)}catch{return-1}}function fee(t){return typeof t.getHeaderNames!="function"?Object.keys(t._headers||{}):t.getHeaderNames()}function kD(t,e){var r=typeof t.listenerCount!="function"?t.listeners(e).length:t.listenerCount(e);return r>0}function mee(t){return typeof t.headersSent!="boolean"?!!t._header:t.headersSent}function Ew(t,e){for(var r=[].concat(t||[]),n=0;n{"use strict";TD.exports=vee;function vee(t){if(!t)throw new TypeError("argument req is required");var e=_ee(t.headers["x-forwarded-for"]||""),r=yee(t),n=[r].concat(e);return n}function yee(t){return t.socket?t.socket.remoteAddress:t.connection.remoteAddress}function _ee(t){for(var e=t.length,r=[],n=t.length,i=t.length-1;i>=0;i--)switch(t.charCodeAt(i)){case 32:n===e&&(n=e=i);break;case 44:n!==e&&r.push(t.substring(n,e)),n=e=i;break;default:n=i;break}return n!==e&&r.push(t.substring(n,e)),r}});var OD=j((PD,Xl)=>{(function(){var t,e,r,n,i,a,o,s,c;e={},s=this,typeof Xl<"u"&&Xl!==null&&Xl.exports?Xl.exports=e:s.ipaddr=e,o=function(u,l,d,p){var f,h;if(u.length!==l.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(f=0;p>0;){if(h=d-p,h<0&&(h=0),u[f]>>h!==l[f]>>h)return!1;p-=d,f+=1}return!0},e.subnetMatch=function(u,l,d){var p,f,h,_,g;d==null&&(d="unicast");for(h in l)for(_=l[h],_[0]&&!(_[0]instanceof Array)&&(_=[_]),p=0,f=_.length;p=0;d=p+=-1)if(f=this.octets[d],f in g){if(_=g[f],h&&_!==0)return null;_!==8&&(h=!0),l+=_}else return null;return 32-l},u})(),r="(0?\\d+|0x[a-f0-9]+)",n={fourOctet:new RegExp("^"+r+"\\."+r+"\\."+r+"\\."+r+"$","i"),longValue:new RegExp("^"+r+"$","i")},e.IPv4.parser=function(u){var l,d,p,f,h;if(d=function(_){return _[0]==="0"&&_[1]!=="x"?parseInt(_,8):parseInt(_)},l=u.match(n.fourOctet))return(function(){var _,g,m,y;for(m=l.slice(1,6),y=[],_=0,g=m.length;_4294967295||h<0)throw new Error("ipaddr: address outside defined range");return(function(){var _,g;for(g=[],f=_=0;_<=24;f=_+=8)g.push(h>>f&255);return g})().reverse()}else return null},e.IPv6=(function(){function u(l,d){var p,f,h,_,g,m;if(l.length===16)for(this.parts=[],p=f=0;f<=14;p=f+=2)this.parts.push(l[p]<<8|l[p+1]);else if(l.length===8)this.parts=l;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(m=this.parts,h=0,_=m.length;h<_;h++)if(g=m[h],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");d&&(this.zoneId=d)}return u.prototype.kind=function(){return"ipv6"},u.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},u.prototype.toRFC5952String=function(){var l,d,p,f,h;for(f=/((^|:)(0(:|$)){2,})/g,h=this.toNormalizedString(),l=0,d=-1;p=f.exec(h);)p[0].length>d&&(l=p.index,d=p[0].length);return d<0?h:h.substring(0,l)+"::"+h.substring(l+d)},u.prototype.toByteArray=function(){var l,d,p,f,h;for(l=[],h=this.parts,d=0,p=h.length;d>8),l.push(f&255);return l},u.prototype.toNormalizedString=function(){var l,d,p;return l=(function(){var f,h,_,g;for(_=this.parts,g=[],f=0,h=_.length;f>8,l&255,d>>8,d&255])},u.prototype.prefixLengthFromSubnetMask=function(){var l,d,p,f,h,_,g;for(g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},l=0,h=!1,d=p=7;p>=0;d=p+=-1)if(f=this.parts[d],f in g){if(_=g[f],h&&_!==0)return null;_!==16&&(h=!0),l+=_}else return null;return 128-l},u})(),i="(?:[0-9a-f]+::?)+",c="%[0-9a-z]{1,}",a={zoneIndex:new RegExp(c,"i"),native:new RegExp("^(::)?("+i+")?([0-9a-f]+)?(::)?("+c+")?$","i"),transitional:new RegExp("^((?:"+i+")|(?:::)(?:"+i+")?)"+(r+"\\."+r+"\\."+r+"\\."+r)+("("+c+")?$"),"i")},t=function(u,l){var d,p,f,h,_,g;if(u.indexOf("::")!==u.lastIndexOf("::"))return null;for(g=(u.match(a.zoneIndex)||[])[0],g&&(g=g.substring(1),u=u.replace(/%.+$/,"")),d=0,p=-1;(p=u.indexOf(":",p+1))>=0;)d++;if(u.substr(0,2)==="::"&&d--,u.substr(-2,2)==="::"&&d--,d>l)return null;for(_=l-d,h=":";_--;)h+="0:";return u=u.replace("::",h),u[0]===":"&&(u=u.slice(1)),u[u.length-1]===":"&&(u=u.slice(0,-1)),l=(function(){var m,y,v,b;for(v=u.split(":"),b=[],m=0,y=v.length;m=0&&l<=32))return p=[this.parse(d[1]),l],Object.defineProperty(p,"toString",{value:function(){return this.join("/")}}),p;throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},e.IPv4.subnetMaskFromPrefixLength=function(u){var l,d,p;if(u=parseInt(u),u<0||u>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(p=[0,0,0,0],d=0,l=Math.floor(u/8);d=0&&l<=128))return p=[this.parse(d[1]),l],Object.defineProperty(p,"toString",{value:function(){return this.join("/")}}),p;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},e.isValid=function(u){return e.IPv6.isValid(u)||e.IPv4.isValid(u)},e.parse=function(u){if(e.IPv6.isValid(u))return e.IPv6.parse(u);if(e.IPv4.isValid(u))return e.IPv4.parse(u);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},e.parseCIDR=function(u){var l;try{return e.IPv6.parseCIDR(u)}catch(d){l=d;try{return e.IPv4.parseCIDR(u)}catch(p){throw l=p,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},e.fromByteArray=function(u){var l;if(l=u.length,l===4)return new e.IPv4(u);if(l===16)return new e.IPv6(u);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},e.process=function(u){var l;return l=this.parse(u),l.kind()==="ipv6"&&l.isIPv4MappedAddress()?l.toIPv4Address():l}}).call(PD)});var Iw=j((Rke,oh)=>{"use strict";oh.exports=kee;oh.exports.all=ND;oh.exports.compile=jD;var bee=ID(),CD=OD(),xee=/^[0-9]+$/,ih=CD.isValid,ah=CD.parse,RD={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function ND(t,e){var r=bee(t);if(!e)return r;typeof e!="function"&&(e=jD(e));for(var n=0;ni)throw new TypeError("invalid range on address: "+t);return[n,a]}function Eee(t){var e=ah(t),r=e.kind();return r==="ipv4"?e.prefixLengthFromSubnetMask():null}function kee(t,e){if(!t)throw new TypeError("req argument is required");if(!e)throw new TypeError("trust argument is required");var r=ND(t,e),n=r[r.length-1];return n}function Tee(){return!1}function Iee(t){return function(r){if(!ih(r))return!1;for(var n=ah(r),i,a=n.kind(),o=0;o{"use strict";var AD=Ym().Buffer,Oee=yw(),MD=_l(),DD=li()("express"),Ree=Gl(),Cee=nh().mime,Nee=_w(),jee=Iw(),Aee=Zm(),Mee=require("querystring");Cr.etag=zD({weak:!1});Cr.wetag=zD({weak:!0});Cr.isAbsolute=function(t){if(t[0]==="/"||t[1]===":"&&(t[2]==="\\"||t[2]==="/")||t.substring(0,2)==="\\\\")return!0};Cr.flatten=DD.function(Ree,"utils.flatten: use array-flatten npm module instead");Cr.normalizeType=function(t){return~t.indexOf("/")?Dee(t):{value:Cee.lookup(t),params:{}}};Cr.normalizeTypes=function(t){for(var e=[],r=0;r{"use strict";var qee=xM(),Lee=mw(),Ow=Gm(),Fee=GM(),Zee=hw(),sh=bn()("express:application"),Hee=QM(),Bee=require("http"),Vee=_a().compileETag,Gee=_a().compileQueryParser,Wee=_a().compileTrust,Kee=li()("express"),Jee=Gl(),Pw=Wl(),Xee=require("path").resolve,Ks=bl(),Yee=Object.prototype.hasOwnProperty,Cw=Array.prototype.slice,er=UD=qD.exports={},Rw="@@symbol:trust_proxy_default";er.init=function(){this.cache={},this.engines={},this.settings={},this.defaultConfiguration()};er.defaultConfiguration=function(){var e=process.env.NODE_ENV||"development";this.enable("x-powered-by"),this.set("etag","weak"),this.set("env",e),this.set("query parser","extended"),this.set("subdomain offset",2),this.set("trust proxy",!1),Object.defineProperty(this.settings,Rw,{configurable:!0,value:!0}),sh("booting in %s mode",e),this.on("mount",function(n){this.settings[Rw]===!0&&typeof n.settings["trust proxy fn"]=="function"&&(delete this.settings["trust proxy"],delete this.settings["trust proxy fn"]),Ks(this.request,n.request),Ks(this.response,n.response),Ks(this.engines,n.engines),Ks(this.settings,n.settings)}),this.locals=Object.create(null),this.mountpath="/",this.locals.settings=this.settings,this.set("view",Hee),this.set("views",Xee("views")),this.set("jsonp callback name","callback"),e==="production"&&this.enable("view cache"),Object.defineProperty(this,"router",{get:function(){throw new Error(`'app.router' is deprecated! -Please see the 3.x to 4.x migration guide for details on how to update your app.`)}})};er.lazyrouter=function(){this._router||(this._router=new Lee({caseSensitive:this.enabled("case sensitive routing"),strict:this.enabled("strict routing")}),this._router.use(Zee(this.get("query parser fn"))),this._router.use(Fee.init(this)))};er.handle=function(e,r,n){var i=this._router,a=n||qee(e,r,{env:this.get("env"),onerror:Qee.bind(this)});if(!i){sh("no routes defined on app"),a();return}i.handle(e,r,a)};er.use=function(e){var r=0,n="/";if(typeof e!="function"){for(var i=e;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=e)}var a=Jee(Cw.call(arguments,r));if(a.length===0)throw new TypeError("app.use() requires a middleware function");this.lazyrouter();var o=this._router;return a.forEach(function(s){if(!s||!s.handle||!s.set)return o.use(n,s);sh(".use app under %s",n),s.mountpath=n,s.parent=this,o.use(n,function(u,l,d){var p=u.app;s.handle(u,l,function(f){Ks(u,p.request),Ks(l,p.response),d(f)})}),s.emit("mount",this)},this),this};er.route=function(e){return this.lazyrouter(),this._router.route(e)};er.engine=function(e,r){if(typeof r!="function")throw new Error("callback function required");var n=e[0]!=="."?"."+e:e;return this.engines[n]=r,this};er.param=function(e,r){if(this.lazyrouter(),Array.isArray(e)){for(var n=0;n1?'directories "'+u.root.slice(0,-1).join('", "')+'" or "'+u.root[u.root.length-1]+'"':'directory "'+u.root+'"',p=new Error('Failed to lookup view "'+e+'" in views '+d);return p.view=u,a(p)}c.cache&&(i[e]=u)}ete(u,c,a)};er.listen=function(){var e=Bee.createServer(this);return e.listen.apply(e,arguments)};function Qee(t){this.get("env")!=="test"&&console.error(t.stack||t.toString())}function ete(t,e,r){try{t.render(e,r)}catch(n){r(n)}}});var BD=j((Nke,Nw)=>{"use strict";Nw.exports=HD;Nw.exports.preferredCharsets=HD;var tte=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function rte(t){for(var e=t.split(","),r=0,n=0;r0}});var JD=j((jke,jw)=>{"use strict";jw.exports=KD;jw.exports.preferredEncodings=KD;var ste=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function cte(t){for(var e=t.split(","),r=!1,n=1,i=0,a=0;i0}});var tz=j((Ake,Aw)=>{"use strict";Aw.exports=ez;Aw.exports.preferredLanguages=ez;var pte=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function fte(t){for(var e=t.split(","),r=0,n=0;r0}});var sz=j((Mke,Mw)=>{"use strict";Mw.exports=az;Mw.exports.preferredMediaTypes=az;var vte=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function yte(t){for(var e=wte(t),r=0,n=0;r0)if(a.every(function(o){return e.params[o]=="*"||(e.params[o]||"").toLowerCase()==(n.params[o]||"").toLowerCase()}))i|=1;else return null;return{i:r,o:e.i,q:e.q,s:i}}function az(t,e){var r=yte(t===void 0?"*/*":t||"");if(!e)return r.filter(nz).sort(rz).map(xte);var n=e.map(function(a,o){return _te(a,r,o)});return n.filter(nz).sort(rz).map(function(a){return e[n.indexOf(a)]})}function rz(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function xte(t){return t.type+"/"+t.subtype}function nz(t){return t.q>0}function oz(t){for(var e=0,r=0;(r=t.indexOf('"',r))!==-1;)e++,r++;return e}function Ste(t){var e=t.indexOf("="),r,n;return e===-1?r=t:(r=t.substr(0,e),n=t.substr(e+1)),[r,n]}function wte(t){for(var e=t.split(","),r=1,n=0;r{"use strict";var Ete=BD(),kte=JD(),Tte=tz(),Ite=sz();Dw.exports=St;Dw.exports.Negotiator=St;function St(t){if(!(this instanceof St))return new St(t);this.request=t}St.prototype.charset=function(e){var r=this.charsets(e);return r&&r[0]};St.prototype.charsets=function(e){return Ete(this.request.headers["accept-charset"],e)};St.prototype.encoding=function(e){var r=this.encodings(e);return r&&r[0]};St.prototype.encodings=function(e){return kte(this.request.headers["accept-encoding"],e)};St.prototype.language=function(e){var r=this.languages(e);return r&&r[0]};St.prototype.languages=function(e){return Tte(this.request.headers["accept-language"],e)};St.prototype.mediaType=function(e){var r=this.mediaTypes(e);return r&&r[0]};St.prototype.mediaTypes=function(e){return Ite(this.request.headers.accept,e)};St.prototype.preferredCharset=St.prototype.charset;St.prototype.preferredCharsets=St.prototype.charsets;St.prototype.preferredEncoding=St.prototype.encoding;St.prototype.preferredEncodings=St.prototype.encodings;St.prototype.preferredLanguage=St.prototype.language;St.prototype.preferredLanguages=St.prototype.languages;St.prototype.preferredMediaType=St.prototype.mediaType;St.prototype.preferredMediaTypes=St.prototype.mediaTypes});var lz=j((zke,uz)=>{"use strict";var Pte=cz(),Ote=RS();uz.exports=sn;function sn(t){if(!(this instanceof sn))return new sn(t);this.headers=t.headers,this.negotiator=new Pte(t)}sn.prototype.type=sn.prototype.types=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r{"use strict";var ch=lz(),Yl=li()("express"),Nte=require("net").isIP,jte=js(),Ate=require("http"),Mte=bw(),Dte=xw(),zte=Ls(),dz=Iw(),Tt=Object.create(Ate.IncomingMessage.prototype);pz.exports=Tt;Tt.get=Tt.header=function(e){if(!e)throw new TypeError("name argument is required to req.get");if(typeof e!="string")throw new TypeError("name must be a string to req.get");var r=e.toLowerCase();switch(r){case"referer":case"referrer":return this.headers.referrer||this.headers.referer;default:return this.headers[r]}};Tt.accepts=function(){var t=ch(this);return t.types.apply(t,arguments)};Tt.acceptsEncodings=function(){var t=ch(this);return t.encodings.apply(t,arguments)};Tt.acceptsEncoding=Yl.function(Tt.acceptsEncodings,"req.acceptsEncoding: Use acceptsEncodings instead");Tt.acceptsCharsets=function(){var t=ch(this);return t.charsets.apply(t,arguments)};Tt.acceptsCharset=Yl.function(Tt.acceptsCharsets,"req.acceptsCharset: Use acceptsCharsets instead");Tt.acceptsLanguages=function(){var t=ch(this);return t.languages.apply(t,arguments)};Tt.acceptsLanguage=Yl.function(Tt.acceptsLanguages,"req.acceptsLanguage: Use acceptsLanguages instead");Tt.range=function(e,r){var n=this.get("Range");if(n)return Dte(e,n,r)};Tt.param=function(e,r){var n=this.params||{},i=this.body||{},a=this.query||{},o=arguments.length===1?"name":"name, default";return Yl("req.param("+o+"): Use req.params, req.body, or req.query instead"),n[e]!=null&&n.hasOwnProperty(e)?n[e]:i[e]!=null?i[e]:a[e]!=null?a[e]:r};Tt.is=function(e){var r=e;if(!Array.isArray(e)){r=new Array(arguments.length);for(var n=0;n=200&&r<300||r===304?Mte(this.headers,{etag:e.get("ETag"),"last-modified":e.get("Last-Modified")}):!1});Bn(Tt,"stale",function(){return!this.fresh});Bn(Tt,"xhr",function(){var e=this.get("X-Requested-With")||"";return e.toLowerCase()==="xmlhttprequest"});function Bn(t,e,r){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:r})}});var gz=j(uh=>{var hz=require("crypto");uh.sign=function(t,e){if(typeof t!="string")throw new TypeError("Cookie value must be provided as a string.");if(e==null)throw new TypeError("Secret key must be provided.");return t+"."+hz.createHmac("sha256",e).update(t).digest("base64").replace(/\=+$/,"")};uh.unsign=function(t,e){if(typeof t!="string")throw new TypeError("Signed cookie string must be provided.");if(e==null)throw new TypeError("Secret key must be provided.");var r=t.slice(0,t.lastIndexOf(".")),n=uh.sign(r,e);return mz(n)==mz(t)?r:!1};function mz(t){return hz.createHash("sha1").update(t).digest("hex")}});var _z=j(zw=>{"use strict";zw.parse=Bte;zw.serialize=Vte;var Ute=Object.prototype.toString,qte=Object.prototype.hasOwnProperty,Lte=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Fte=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,Zte=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Hte=/^[\u0020-\u003A\u003D-\u007E]*$/;function Bte(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");var r={},n=t.length;if(n<2)return r;var i=e&&e.decode||Gte,a=0,o=0,s=0;do{if(o=t.indexOf("=",a),o===-1)break;if(s=t.indexOf(";",a),s===-1)s=n;else if(o>s){a=t.lastIndexOf(";",o-1)+1;continue}var c=vz(t,a,o),u=yz(t,o,c),l=t.slice(c,u);if(!qte.call(r,l)){var d=vz(t,o+1,s),p=yz(t,s,d);t.charCodeAt(d)===34&&t.charCodeAt(p-1)===34&&(d++,p--);var f=t.slice(d,p);r[l]=Kte(f,i)}a=s+1}while(ar;){var n=t.charCodeAt(--e);if(n!==32&&n!==9)return e+1}return r}function Vte(t,e,r){var n=r&&r.encode||encodeURIComponent;if(typeof n!="function")throw new TypeError("option encode is invalid");if(!Lte.test(t))throw new TypeError("argument name is invalid");var i=n(e);if(!Fte.test(i))throw new TypeError("argument val is invalid");var a=t+"="+i;if(!r)return a;if(r.maxAge!=null){var o=Math.floor(r.maxAge);if(!isFinite(o))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+o}if(r.domain){if(!Zte.test(r.domain))throw new TypeError("option domain is invalid");a+="; Domain="+r.domain}if(r.path){if(!Hte.test(r.path))throw new TypeError("option path is invalid");a+="; Path="+r.path}if(r.expires){var s=r.expires;if(!Wte(s)||isNaN(s.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+s.toUTCString()}if(r.httpOnly&&(a+="; HttpOnly"),r.secure&&(a+="; Secure"),r.partitioned&&(a+="; Partitioned"),r.priority){var c=typeof r.priority=="string"?r.priority.toLowerCase():r.priority;switch(c){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(r.sameSite){var u=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(u){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function Gte(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}function Wte(t){return Ute.call(t)==="[object Date]"}function Kte(t,e){try{return e(t)}catch{return t}}});var qw=j((Fke,Uw)=>{"use strict";Uw.exports=Xte;Uw.exports.append=xz;var Jte=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function xz(t,e){if(typeof t!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var r=Array.isArray(e)?e:bz(String(e)),n=0;n{"use strict";var Ql=Ym().Buffer,Sz=yw(),Yte=to(),Hr=li()("express"),Qte=Bl(),ere=Vl(),tre=require("http"),rre=_a().isAbsolute,nre=Ol(),wz=require("path"),lh=xl(),$z=Wl(),ire=gz().sign,are=_a().normalizeType,ore=_a().normalizeTypes,sre=_a().setCharset,cre=_z(),Lw=nh(),ure=wz.extname,Ez=Lw.mime,lre=wz.resolve,dre=qw(),Ot=Object.create(tre.ServerResponse.prototype);Iz.exports=Ot;var pre=/;\s*charset\s*=/;Ot.status=function(e){return(typeof e=="string"||Math.floor(e)!==e)&&e>99&&e<1e3&&Hr("res.status("+JSON.stringify(e)+"): use res.status("+Math.floor(e)+") instead"),this.statusCode=e,this};Ot.links=function(t){var e=this.get("Link")||"";return e&&(e+=", "),this.set("Link",e+Object.keys(t).map(function(r){return"<"+t[r]+'>; rel="'+r+'"'}).join(", "))};Ot.send=function(e){var r=e,n,i=this.req,a,o=this.app;switch(arguments.length===2&&(typeof arguments[0]!="number"&&typeof arguments[1]=="number"?(Hr("res.send(body, status): Use res.status(status).send(body) instead"),this.statusCode=arguments[1]):(Hr("res.send(status, body): Use res.status(status).send(body) instead"),this.statusCode=arguments[0],r=arguments[1])),typeof r=="number"&&arguments.length===1&&(this.get("Content-Type")||this.type("txt"),Hr("res.send(status): Use res.sendStatus(status) instead"),this.statusCode=r,r=lh.message[r]),typeof r){case"string":this.get("Content-Type")||this.type("html");break;case"boolean":case"number":case"object":if(r===null)r="";else if(Ql.isBuffer(r))this.get("Content-Type")||this.type("bin");else return this.json(r);break}typeof r=="string"&&(n="utf8",a=this.get("Content-Type"),typeof a=="string"&&this.set("Content-Type",sre(a,"utf-8")));var s=o.get("etag fn"),c=!this.get("ETag")&&typeof s=="function",u;r!==void 0&&(Ql.isBuffer(r)?u=r.length:!c&&r.length<1e3?u=Ql.byteLength(r,n):(r=Ql.from(r,n),n=void 0,u=r.length),this.set("Content-Length",u));var l;return c&&u!==void 0&&(l=s(r,n))&&this.set("ETag",l),i.fresh&&(this.statusCode=304),(this.statusCode===204||this.statusCode===304)&&(this.removeHeader("Content-Type"),this.removeHeader("Content-Length"),this.removeHeader("Transfer-Encoding"),r=""),this.statusCode===205&&(this.set("Content-Length","0"),this.removeHeader("Transfer-Encoding"),r=""),i.method==="HEAD"?this.end():this.end(r,n),this};Ot.json=function(e){var r=e;arguments.length===2&&(typeof arguments[1]=="number"?(Hr("res.json(obj, status): Use res.status(status).json(obj) instead"),this.statusCode=arguments[1]):(Hr("res.json(status, obj): Use res.status(status).json(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),a=n.get("json replacer"),o=n.get("json spaces"),s=Tz(r,a,o,i);return this.get("Content-Type")||this.set("Content-Type","application/json"),this.send(s)};Ot.jsonp=function(e){var r=e;arguments.length===2&&(typeof arguments[1]=="number"?(Hr("res.jsonp(obj, status): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[1]):(Hr("res.jsonp(status, obj): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),a=n.get("json replacer"),o=n.get("json spaces"),s=Tz(r,a,o,i),c=this.req.query[n.get("jsonp callback name")];return this.get("Content-Type")||(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","application/json")),Array.isArray(c)&&(c=c[0]),typeof c=="string"&&c.length!==0&&(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","text/javascript"),c=c.replace(/[^\[\]\w$.]/g,""),s===void 0?s="":typeof s=="string"&&(s=s.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")),s="/**/ typeof "+c+" === 'function' && "+c+"("+s+");"),this.send(s)};Ot.sendStatus=function(e){var r=lh.message[e]||String(e);return this.statusCode=e,this.type("txt"),this.send(r)};Ot.sendFile=function(e,r,n){var i=n,a=this.req,o=this,s=a.next,c=r||{};if(!e)throw new TypeError("path argument is required to res.sendFile");if(typeof e!="string")throw new TypeError("path must be a string to res.sendFile");if(typeof r=="function"&&(i=r,c={}),!c.root&&!rre(e))throw new TypeError("path must be absolute or specify root to res.sendFile");var u=encodeURI(e),l=Lw(a,u,c);kz(o,l,c,function(d){if(i)return i(d);if(d&&d.code==="EISDIR")return s();d&&d.code!=="ECONNABORTED"&&d.syscall!=="write"&&s(d)})};Ot.sendfile=function(t,e,r){var n=r,i=this.req,a=this,o=i.next,s=e||{};typeof e=="function"&&(n=e,s={});var c=Lw(i,t,s);kz(a,c,s,function(u){if(n)return n(u);if(u&&u.code==="EISDIR")return o();u&&u.code!=="ECONNABORTED"&&u.syscall!=="write"&&o(u)})};Ot.sendfile=Hr.function(Ot.sendfile,"res.sendfile: Use res.sendFile instead");Ot.download=function(e,r,n,i){var a=i,o=r,s=n||null;typeof r=="function"?(a=r,o=null,s=null):typeof n=="function"&&(a=n,s=null),typeof r=="object"&&(typeof n=="function"||n===void 0)&&(o=null,s=r);var c={"Content-Disposition":Sz(o||e)};if(s&&s.headers)for(var u=Object.keys(s.headers),l=0;l0?e.accepts(n):!1;return this.vary("Accept"),i?(this.set("Content-Type",are(i).value),t[i](e,this,r)):t.default?t.default(e,this,r):r(Yte(406,{types:ore(n).map(function(a){return a.value})})),this};Ot.attachment=function(e){return e&&this.type(ure(e)),this.set("Content-Disposition",Sz(e)),this};Ot.append=function(e,r){var n=this.get(e),i=r;return n&&(i=Array.isArray(n)?n.concat(r):Array.isArray(r)?[n].concat(r):[n,r]),this.set(e,i)};Ot.set=Ot.header=function(e,r){if(arguments.length===2){var n=Array.isArray(r)?r.map(String):String(r);if(e.toLowerCase()==="content-type"){if(Array.isArray(n))throw new TypeError("Content-Type cannot be set to an Array");if(!pre.test(n)){var i=Ez.charsets.lookup(n.split(";")[0]);i&&(n+="; charset="+i.toLowerCase())}}this.setHeader(e,n)}else for(var a in e)this.set(a,e[a]);return this};Ot.get=function(t){return this.getHeader(t)};Ot.clearCookie=function(e,r){r&&(r.maxAge&&Hr('res.clearCookie: Passing "options.maxAge" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'),r.expires&&Hr('res.clearCookie: Passing "options.expires" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'));var n=$z({expires:new Date(1),path:"/"},r);return this.cookie(e,"",n)};Ot.cookie=function(t,e,r){var n=$z({},r),i=this.req.secret,a=n.signed;if(a&&!i)throw new Error('cookieParser("secret") required for signed cookies');var o=typeof e=="object"?"j:"+JSON.stringify(e):String(e);if(a&&(o="s:"+ire(o,i)),n.maxAge!=null){var s=n.maxAge-0;isNaN(s)||(n.expires=new Date(Date.now()+s),n.maxAge=Math.floor(s/1e3))}return n.path==null&&(n.path="/"),this.append("Set-Cookie",cre.serialize(t,String(o),n)),this};Ot.location=function(e){var r;return e==="back"?(Hr('res.location("back"): use res.location(req.get("Referrer") || "/") and refer to https://dub.sh/security-redirect for best practices'),r=this.req.get("Referrer")||"/"):r=String(e),this.set("Location",Qte(r))};Ot.redirect=function(e){var r=e,n,i=302;arguments.length===2&&(typeof arguments[0]=="number"?(i=arguments[0],r=arguments[1]):(Hr("res.redirect(url, status): Use res.redirect(status, url) instead"),i=arguments[1])),r=this.location(r).get("Location"),this.format({text:function(){n=lh.message[i]+". Redirecting to "+r},html:function(){var a=ere(r);n="

"+lh.message[i]+". Redirecting to "+a+"

"},default:function(){n=""}}),this.statusCode=i,this.set("Content-Length",Ql.byteLength(n)),this.req.method==="HEAD"?this.end():this.end(n)};Ot.vary=function(t){return!t||Array.isArray(t)&&!t.length?(Hr("res.vary(): Provide a field name"),this):(dre(this,t),this)};Ot.render=function(e,r,n){var i=this.req.app,a=n,o=r||{},s=this.req,c=this;typeof r=="function"&&(a=r,o={}),o._locals=c.locals,a=a||function(u,l){if(u)return s.next(u);c.send(l)},i.render(e,o,a)};function kz(t,e,r,n){var i=!1,a;function o(){if(!i){i=!0;var f=new Error("Request aborted");f.code="ECONNABORTED",n(f)}}function s(){if(!i){i=!0;var f=new Error("EISDIR, read");f.code="EISDIR",n(f)}}function c(f){i||(i=!0,n(f))}function u(){i||(i=!0,n())}function l(){a=!1}function d(f){if(f&&f.code==="ECONNRESET")return o();if(f)return c(f);i||setImmediate(function(){if(a!==!1&&!i){o();return}i||(i=!0,n())})}function p(){a=!0}e.on("directory",s),e.on("end",u),e.on("error",c),e.on("file",l),e.on("stream",p),nre(t,d),r.headers&&e.on("headers",function(h){for(var _=r.headers,g=Object.keys(_),m=0;m&]/g,function(a){switch(a.charCodeAt(0)){case 60:return"\\u003c";case 62:return"\\u003e";case 38:return"\\u0026";default:return a}})),i}});var Rz=j((Hke,Zw)=>{"use strict";var fre=Bl(),mre=Vl(),Fw=Ls(),hre=require("path").resolve,Oz=nh(),gre=require("url");Zw.exports=vre;Zw.exports.mime=Oz.mime;function vre(t,e){if(!t)throw new TypeError("root path required");if(typeof t!="string")throw new TypeError("root path must be a string");var r=Object.create(e||null),n=r.fallthrough!==!1,i=r.redirect!==!1,a=r.setHeaders;if(a&&typeof a!="function")throw new TypeError("option setHeaders must be function");r.maxage=r.maxage||r.maxAge||0,r.root=hre(t);var o=i?xre():bre();return function(c,u,l){if(c.method!=="GET"&&c.method!=="HEAD"){if(n)return l();u.statusCode=405,u.setHeader("Allow","GET, HEAD"),u.setHeader("Content-Length","0"),u.end();return}var d=!n,p=Fw.original(c),f=Fw(c).pathname;f==="/"&&p.pathname.substr(-1)!=="/"&&(f="");var h=Oz(c,f,r);h.on("directory",o),a&&h.on("headers",a),n&&h.on("file",function(){d=!0}),h.on("error",function(g){if(d||!(g.statusCode<500)){l(g);return}l()}),h.pipe(u)}}function yre(t){for(var e=0;e1?"/"+t.substr(e):t}function _re(t,e){return` +`}function dee(t,e){return e?e instanceof Error?ww(t,e,{expose:!1}):ww(t,e):ww(t)}function pee(t){try{return decodeURIComponent(t)}catch{return-1}}function fee(t){return typeof t.getHeaderNames!="function"?Object.keys(t._headers||{}):t.getHeaderNames()}function CD(t,e){var r=typeof t.listenerCount!="function"?t.listeners(e).length:t.listenerCount(e);return r>0}function mee(t){return typeof t.headersSent!="boolean"?!!t._header:t.headersSent}function kw(t,e){for(var r=[].concat(t||[]),n=0;n{"use strict";ND.exports=vee;function vee(t){if(!t)throw new TypeError("argument req is required");var e=_ee(t.headers["x-forwarded-for"]||""),r=yee(t),n=[r].concat(e);return n}function yee(t){return t.socket?t.socket.remoteAddress:t.connection.remoteAddress}function _ee(t){for(var e=t.length,r=[],n=t.length,i=t.length-1;i>=0;i--)switch(t.charCodeAt(i)){case 32:n===e&&(n=e=i);break;case 44:n!==e&&r.push(t.substring(n,e)),n=e=i;break;default:n=i;break}return n!==e&&r.push(t.substring(n,e)),r}});var MD=j((AD,Xl)=>{(function(){var t,e,r,n,i,a,o,s,c;e={},s=this,typeof Xl<"u"&&Xl!==null&&Xl.exports?Xl.exports=e:s.ipaddr=e,o=function(u,l,d,p){var f,h;if(u.length!==l.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(f=0;p>0;){if(h=d-p,h<0&&(h=0),u[f]>>h!==l[f]>>h)return!1;p-=d,f+=1}return!0},e.subnetMatch=function(u,l,d){var p,f,h,_,g;d==null&&(d="unicast");for(h in l)for(_=l[h],_[0]&&!(_[0]instanceof Array)&&(_=[_]),p=0,f=_.length;p=0;d=p+=-1)if(f=this.octets[d],f in g){if(_=g[f],h&&_!==0)return null;_!==8&&(h=!0),l+=_}else return null;return 32-l},u})(),r="(0?\\d+|0x[a-f0-9]+)",n={fourOctet:new RegExp("^"+r+"\\."+r+"\\."+r+"\\."+r+"$","i"),longValue:new RegExp("^"+r+"$","i")},e.IPv4.parser=function(u){var l,d,p,f,h;if(d=function(_){return _[0]==="0"&&_[1]!=="x"?parseInt(_,8):parseInt(_)},l=u.match(n.fourOctet))return(function(){var _,g,m,y;for(m=l.slice(1,6),y=[],_=0,g=m.length;_4294967295||h<0)throw new Error("ipaddr: address outside defined range");return(function(){var _,g;for(g=[],f=_=0;_<=24;f=_+=8)g.push(h>>f&255);return g})().reverse()}else return null},e.IPv6=(function(){function u(l,d){var p,f,h,_,g,m;if(l.length===16)for(this.parts=[],p=f=0;f<=14;p=f+=2)this.parts.push(l[p]<<8|l[p+1]);else if(l.length===8)this.parts=l;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(m=this.parts,h=0,_=m.length;h<_;h++)if(g=m[h],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");d&&(this.zoneId=d)}return u.prototype.kind=function(){return"ipv6"},u.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},u.prototype.toRFC5952String=function(){var l,d,p,f,h;for(f=/((^|:)(0(:|$)){2,})/g,h=this.toNormalizedString(),l=0,d=-1;p=f.exec(h);)p[0].length>d&&(l=p.index,d=p[0].length);return d<0?h:h.substring(0,l)+"::"+h.substring(l+d)},u.prototype.toByteArray=function(){var l,d,p,f,h;for(l=[],h=this.parts,d=0,p=h.length;d>8),l.push(f&255);return l},u.prototype.toNormalizedString=function(){var l,d,p;return l=(function(){var f,h,_,g;for(_=this.parts,g=[],f=0,h=_.length;f>8,l&255,d>>8,d&255])},u.prototype.prefixLengthFromSubnetMask=function(){var l,d,p,f,h,_,g;for(g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},l=0,h=!1,d=p=7;p>=0;d=p+=-1)if(f=this.parts[d],f in g){if(_=g[f],h&&_!==0)return null;_!==16&&(h=!0),l+=_}else return null;return 128-l},u})(),i="(?:[0-9a-f]+::?)+",c="%[0-9a-z]{1,}",a={zoneIndex:new RegExp(c,"i"),native:new RegExp("^(::)?("+i+")?([0-9a-f]+)?(::)?("+c+")?$","i"),transitional:new RegExp("^((?:"+i+")|(?:::)(?:"+i+")?)"+(r+"\\."+r+"\\."+r+"\\."+r)+("("+c+")?$"),"i")},t=function(u,l){var d,p,f,h,_,g;if(u.indexOf("::")!==u.lastIndexOf("::"))return null;for(g=(u.match(a.zoneIndex)||[])[0],g&&(g=g.substring(1),u=u.replace(/%.+$/,"")),d=0,p=-1;(p=u.indexOf(":",p+1))>=0;)d++;if(u.substr(0,2)==="::"&&d--,u.substr(-2,2)==="::"&&d--,d>l)return null;for(_=l-d,h=":";_--;)h+="0:";return u=u.replace("::",h),u[0]===":"&&(u=u.slice(1)),u[u.length-1]===":"&&(u=u.slice(0,-1)),l=(function(){var m,y,v,b;for(v=u.split(":"),b=[],m=0,y=v.length;m=0&&l<=32))return p=[this.parse(d[1]),l],Object.defineProperty(p,"toString",{value:function(){return this.join("/")}}),p;throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},e.IPv4.subnetMaskFromPrefixLength=function(u){var l,d,p;if(u=parseInt(u),u<0||u>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(p=[0,0,0,0],d=0,l=Math.floor(u/8);d=0&&l<=128))return p=[this.parse(d[1]),l],Object.defineProperty(p,"toString",{value:function(){return this.join("/")}}),p;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},e.isValid=function(u){return e.IPv6.isValid(u)||e.IPv4.isValid(u)},e.parse=function(u){if(e.IPv6.isValid(u))return e.IPv6.parse(u);if(e.IPv4.isValid(u))return e.IPv4.parse(u);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},e.parseCIDR=function(u){var l;try{return e.IPv6.parseCIDR(u)}catch(d){l=d;try{return e.IPv4.parseCIDR(u)}catch(p){throw l=p,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},e.fromByteArray=function(u){var l;if(l=u.length,l===4)return new e.IPv4(u);if(l===16)return new e.IPv6(u);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},e.process=function(u){var l;return l=this.parse(u),l.kind()==="ipv6"&&l.isIPv4MappedAddress()?l.toIPv4Address():l}}).call(AD)});var Pw=j((Rke,oh)=>{"use strict";oh.exports=kee;oh.exports.all=UD;oh.exports.compile=LD;var bee=jD(),zD=MD(),xee=/^[0-9]+$/,ih=zD.isValid,ah=zD.parse,DD={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function UD(t,e){var r=bee(t);if(!e)return r;typeof e!="function"&&(e=LD(e));for(var n=0;ni)throw new TypeError("invalid range on address: "+t);return[n,a]}function Eee(t){var e=ah(t),r=e.kind();return r==="ipv4"?e.prefixLengthFromSubnetMask():null}function kee(t,e){if(!t)throw new TypeError("req argument is required");if(!e)throw new TypeError("trust argument is required");var r=UD(t,e),n=r[r.length-1];return n}function Tee(){return!1}function Iee(t){return function(r){if(!ih(r))return!1;for(var n=ah(r),i,a=n.kind(),o=0;o{"use strict";var qD=Ym().Buffer,Oee=_w(),FD=_l(),ZD=di()("express"),Ree=Gl(),Cee=nh().mime,Nee=bw(),jee=Pw(),Aee=Zm(),Mee=require("querystring");Cr.etag=HD({weak:!1});Cr.wetag=HD({weak:!0});Cr.isAbsolute=function(t){if(t[0]==="/"||t[1]===":"&&(t[2]==="\\"||t[2]==="/")||t.substring(0,2)==="\\\\")return!0};Cr.flatten=ZD.function(Ree,"utils.flatten: use array-flatten npm module instead");Cr.normalizeType=function(t){return~t.indexOf("/")?Dee(t):{value:Cee.lookup(t),params:{}}};Cr.normalizeTypes=function(t){for(var e=[],r=0;r{"use strict";var Lee=TM(),qee=hw(),Rw=Gm(),Fee=QM(),Zee=gw(),sh=bn()("express:application"),Hee=aD(),Bee=require("http"),Vee=ba().compileETag,Gee=ba().compileQueryParser,Wee=ba().compileTrust,Kee=di()("express"),Jee=Gl(),Ow=Wl(),Xee=require("path").resolve,Ks=bl(),Yee=Object.prototype.hasOwnProperty,Nw=Array.prototype.slice,er=BD=VD.exports={},Cw="@@symbol:trust_proxy_default";er.init=function(){this.cache={},this.engines={},this.settings={},this.defaultConfiguration()};er.defaultConfiguration=function(){var e=process.env.NODE_ENV||"development";this.enable("x-powered-by"),this.set("etag","weak"),this.set("env",e),this.set("query parser","extended"),this.set("subdomain offset",2),this.set("trust proxy",!1),Object.defineProperty(this.settings,Cw,{configurable:!0,value:!0}),sh("booting in %s mode",e),this.on("mount",function(n){this.settings[Cw]===!0&&typeof n.settings["trust proxy fn"]=="function"&&(delete this.settings["trust proxy"],delete this.settings["trust proxy fn"]),Ks(this.request,n.request),Ks(this.response,n.response),Ks(this.engines,n.engines),Ks(this.settings,n.settings)}),this.locals=Object.create(null),this.mountpath="/",this.locals.settings=this.settings,this.set("view",Hee),this.set("views",Xee("views")),this.set("jsonp callback name","callback"),e==="production"&&this.enable("view cache"),Object.defineProperty(this,"router",{get:function(){throw new Error(`'app.router' is deprecated! +Please see the 3.x to 4.x migration guide for details on how to update your app.`)}})};er.lazyrouter=function(){this._router||(this._router=new qee({caseSensitive:this.enabled("case sensitive routing"),strict:this.enabled("strict routing")}),this._router.use(Zee(this.get("query parser fn"))),this._router.use(Fee.init(this)))};er.handle=function(e,r,n){var i=this._router,a=n||Lee(e,r,{env:this.get("env"),onerror:Qee.bind(this)});if(!i){sh("no routes defined on app"),a();return}i.handle(e,r,a)};er.use=function(e){var r=0,n="/";if(typeof e!="function"){for(var i=e;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=e)}var a=Jee(Nw.call(arguments,r));if(a.length===0)throw new TypeError("app.use() requires a middleware function");this.lazyrouter();var o=this._router;return a.forEach(function(s){if(!s||!s.handle||!s.set)return o.use(n,s);sh(".use app under %s",n),s.mountpath=n,s.parent=this,o.use(n,function(u,l,d){var p=u.app;s.handle(u,l,function(f){Ks(u,p.request),Ks(l,p.response),d(f)})}),s.emit("mount",this)},this),this};er.route=function(e){return this.lazyrouter(),this._router.route(e)};er.engine=function(e,r){if(typeof r!="function")throw new Error("callback function required");var n=e[0]!=="."?"."+e:e;return this.engines[n]=r,this};er.param=function(e,r){if(this.lazyrouter(),Array.isArray(e)){for(var n=0;n1?'directories "'+u.root.slice(0,-1).join('", "')+'" or "'+u.root[u.root.length-1]+'"':'directory "'+u.root+'"',p=new Error('Failed to lookup view "'+e+'" in views '+d);return p.view=u,a(p)}c.cache&&(i[e]=u)}ete(u,c,a)};er.listen=function(){var e=Bee.createServer(this);return e.listen.apply(e,arguments)};function Qee(t){this.get("env")!=="test"&&console.error(t.stack||t.toString())}function ete(t,e,r){try{t.render(e,r)}catch(n){r(n)}}});var XD=j((Nke,jw)=>{"use strict";jw.exports=JD;jw.exports.preferredCharsets=JD;var tte=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function rte(t){for(var e=t.split(","),r=0,n=0;r0}});var rz=j((jke,Aw)=>{"use strict";Aw.exports=tz;Aw.exports.preferredEncodings=tz;var ste=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function cte(t){for(var e=t.split(","),r=!1,n=1,i=0,a=0;i0}});var sz=j((Ake,Mw)=>{"use strict";Mw.exports=oz;Mw.exports.preferredLanguages=oz;var pte=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function fte(t){for(var e=t.split(","),r=0,n=0;r0}});var fz=j((Mke,Dw)=>{"use strict";Dw.exports=dz;Dw.exports.preferredMediaTypes=dz;var vte=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function yte(t){for(var e=wte(t),r=0,n=0;r0)if(a.every(function(o){return e.params[o]=="*"||(e.params[o]||"").toLowerCase()==(n.params[o]||"").toLowerCase()}))i|=1;else return null;return{i:r,o:e.i,q:e.q,s:i}}function dz(t,e){var r=yte(t===void 0?"*/*":t||"");if(!e)return r.filter(uz).sort(cz).map(xte);var n=e.map(function(a,o){return _te(a,r,o)});return n.filter(uz).sort(cz).map(function(a){return e[n.indexOf(a)]})}function cz(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function xte(t){return t.type+"/"+t.subtype}function uz(t){return t.q>0}function pz(t){for(var e=0,r=0;(r=t.indexOf('"',r))!==-1;)e++,r++;return e}function Ste(t){var e=t.indexOf("="),r,n;return e===-1?r=t:(r=t.substr(0,e),n=t.substr(e+1)),[r,n]}function wte(t){for(var e=t.split(","),r=1,n=0;r{"use strict";var Ete=XD(),kte=rz(),Tte=sz(),Ite=fz();zw.exports=St;zw.exports.Negotiator=St;function St(t){if(!(this instanceof St))return new St(t);this.request=t}St.prototype.charset=function(e){var r=this.charsets(e);return r&&r[0]};St.prototype.charsets=function(e){return Ete(this.request.headers["accept-charset"],e)};St.prototype.encoding=function(e){var r=this.encodings(e);return r&&r[0]};St.prototype.encodings=function(e){return kte(this.request.headers["accept-encoding"],e)};St.prototype.language=function(e){var r=this.languages(e);return r&&r[0]};St.prototype.languages=function(e){return Tte(this.request.headers["accept-language"],e)};St.prototype.mediaType=function(e){var r=this.mediaTypes(e);return r&&r[0]};St.prototype.mediaTypes=function(e){return Ite(this.request.headers.accept,e)};St.prototype.preferredCharset=St.prototype.charset;St.prototype.preferredCharsets=St.prototype.charsets;St.prototype.preferredEncoding=St.prototype.encoding;St.prototype.preferredEncodings=St.prototype.encodings;St.prototype.preferredLanguage=St.prototype.language;St.prototype.preferredLanguages=St.prototype.languages;St.prototype.preferredMediaType=St.prototype.mediaType;St.prototype.preferredMediaTypes=St.prototype.mediaTypes});var gz=j((zke,hz)=>{"use strict";var Pte=mz(),Ote=CS();hz.exports=sn;function sn(t){if(!(this instanceof sn))return new sn(t);this.headers=t.headers,this.negotiator=new Pte(t)}sn.prototype.type=sn.prototype.types=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r{"use strict";var ch=gz(),Yl=di()("express"),Nte=require("net").isIP,jte=js(),Ate=require("http"),Mte=xw(),Dte=Sw(),zte=qs(),vz=Pw(),Tt=Object.create(Ate.IncomingMessage.prototype);yz.exports=Tt;Tt.get=Tt.header=function(e){if(!e)throw new TypeError("name argument is required to req.get");if(typeof e!="string")throw new TypeError("name must be a string to req.get");var r=e.toLowerCase();switch(r){case"referer":case"referrer":return this.headers.referrer||this.headers.referer;default:return this.headers[r]}};Tt.accepts=function(){var t=ch(this);return t.types.apply(t,arguments)};Tt.acceptsEncodings=function(){var t=ch(this);return t.encodings.apply(t,arguments)};Tt.acceptsEncoding=Yl.function(Tt.acceptsEncodings,"req.acceptsEncoding: Use acceptsEncodings instead");Tt.acceptsCharsets=function(){var t=ch(this);return t.charsets.apply(t,arguments)};Tt.acceptsCharset=Yl.function(Tt.acceptsCharsets,"req.acceptsCharset: Use acceptsCharsets instead");Tt.acceptsLanguages=function(){var t=ch(this);return t.languages.apply(t,arguments)};Tt.acceptsLanguage=Yl.function(Tt.acceptsLanguages,"req.acceptsLanguage: Use acceptsLanguages instead");Tt.range=function(e,r){var n=this.get("Range");if(n)return Dte(e,n,r)};Tt.param=function(e,r){var n=this.params||{},i=this.body||{},a=this.query||{},o=arguments.length===1?"name":"name, default";return Yl("req.param("+o+"): Use req.params, req.body, or req.query instead"),n[e]!=null&&n.hasOwnProperty(e)?n[e]:i[e]!=null?i[e]:a[e]!=null?a[e]:r};Tt.is=function(e){var r=e;if(!Array.isArray(e)){r=new Array(arguments.length);for(var n=0;n=200&&r<300||r===304?Mte(this.headers,{etag:e.get("ETag"),"last-modified":e.get("Last-Modified")}):!1});Bn(Tt,"stale",function(){return!this.fresh});Bn(Tt,"xhr",function(){var e=this.get("X-Requested-With")||"";return e.toLowerCase()==="xmlhttprequest"});function Bn(t,e,r){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:r})}});var Sz=j(uh=>{var xz=require("crypto");uh.sign=function(t,e){if(typeof t!="string")throw new TypeError("Cookie value must be provided as a string.");if(e==null)throw new TypeError("Secret key must be provided.");return t+"."+xz.createHmac("sha256",e).update(t).digest("base64").replace(/\=+$/,"")};uh.unsign=function(t,e){if(typeof t!="string")throw new TypeError("Signed cookie string must be provided.");if(e==null)throw new TypeError("Secret key must be provided.");var r=t.slice(0,t.lastIndexOf(".")),n=uh.sign(r,e);return bz(n)==bz(t)?r:!1};function bz(t){return xz.createHash("sha1").update(t).digest("hex")}});var Ez=j(Uw=>{"use strict";Uw.parse=Bte;Uw.serialize=Vte;var Ute=Object.prototype.toString,Lte=Object.prototype.hasOwnProperty,qte=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Fte=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,Zte=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Hte=/^[\u0020-\u003A\u003D-\u007E]*$/;function Bte(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");var r={},n=t.length;if(n<2)return r;var i=e&&e.decode||Gte,a=0,o=0,s=0;do{if(o=t.indexOf("=",a),o===-1)break;if(s=t.indexOf(";",a),s===-1)s=n;else if(o>s){a=t.lastIndexOf(";",o-1)+1;continue}var c=wz(t,a,o),u=$z(t,o,c),l=t.slice(c,u);if(!Lte.call(r,l)){var d=wz(t,o+1,s),p=$z(t,s,d);t.charCodeAt(d)===34&&t.charCodeAt(p-1)===34&&(d++,p--);var f=t.slice(d,p);r[l]=Kte(f,i)}a=s+1}while(ar;){var n=t.charCodeAt(--e);if(n!==32&&n!==9)return e+1}return r}function Vte(t,e,r){var n=r&&r.encode||encodeURIComponent;if(typeof n!="function")throw new TypeError("option encode is invalid");if(!qte.test(t))throw new TypeError("argument name is invalid");var i=n(e);if(!Fte.test(i))throw new TypeError("argument val is invalid");var a=t+"="+i;if(!r)return a;if(r.maxAge!=null){var o=Math.floor(r.maxAge);if(!isFinite(o))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+o}if(r.domain){if(!Zte.test(r.domain))throw new TypeError("option domain is invalid");a+="; Domain="+r.domain}if(r.path){if(!Hte.test(r.path))throw new TypeError("option path is invalid");a+="; Path="+r.path}if(r.expires){var s=r.expires;if(!Wte(s)||isNaN(s.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+s.toUTCString()}if(r.httpOnly&&(a+="; HttpOnly"),r.secure&&(a+="; Secure"),r.partitioned&&(a+="; Partitioned"),r.priority){var c=typeof r.priority=="string"?r.priority.toLowerCase():r.priority;switch(c){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(r.sameSite){var u=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(u){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function Gte(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}function Wte(t){return Ute.call(t)==="[object Date]"}function Kte(t,e){try{return e(t)}catch{return t}}});var qw=j((Fke,Lw)=>{"use strict";Lw.exports=Xte;Lw.exports.append=Tz;var Jte=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function Tz(t,e){if(typeof t!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var r=Array.isArray(e)?e:kz(String(e)),n=0;n{"use strict";var Ql=Ym().Buffer,Iz=_w(),Yte=ro(),Hr=di()("express"),Qte=Bl(),ere=Vl(),tre=require("http"),rre=ba().isAbsolute,nre=Ol(),Pz=require("path"),lh=xl(),Oz=Wl(),ire=Sz().sign,are=ba().normalizeType,ore=ba().normalizeTypes,sre=ba().setCharset,cre=Ez(),Fw=nh(),ure=Pz.extname,Rz=Fw.mime,lre=Pz.resolve,dre=qw(),Ot=Object.create(tre.ServerResponse.prototype);jz.exports=Ot;var pre=/;\s*charset\s*=/;Ot.status=function(e){return(typeof e=="string"||Math.floor(e)!==e)&&e>99&&e<1e3&&Hr("res.status("+JSON.stringify(e)+"): use res.status("+Math.floor(e)+") instead"),this.statusCode=e,this};Ot.links=function(t){var e=this.get("Link")||"";return e&&(e+=", "),this.set("Link",e+Object.keys(t).map(function(r){return"<"+t[r]+'>; rel="'+r+'"'}).join(", "))};Ot.send=function(e){var r=e,n,i=this.req,a,o=this.app;switch(arguments.length===2&&(typeof arguments[0]!="number"&&typeof arguments[1]=="number"?(Hr("res.send(body, status): Use res.status(status).send(body) instead"),this.statusCode=arguments[1]):(Hr("res.send(status, body): Use res.status(status).send(body) instead"),this.statusCode=arguments[0],r=arguments[1])),typeof r=="number"&&arguments.length===1&&(this.get("Content-Type")||this.type("txt"),Hr("res.send(status): Use res.sendStatus(status) instead"),this.statusCode=r,r=lh.message[r]),typeof r){case"string":this.get("Content-Type")||this.type("html");break;case"boolean":case"number":case"object":if(r===null)r="";else if(Ql.isBuffer(r))this.get("Content-Type")||this.type("bin");else return this.json(r);break}typeof r=="string"&&(n="utf8",a=this.get("Content-Type"),typeof a=="string"&&this.set("Content-Type",sre(a,"utf-8")));var s=o.get("etag fn"),c=!this.get("ETag")&&typeof s=="function",u;r!==void 0&&(Ql.isBuffer(r)?u=r.length:!c&&r.length<1e3?u=Ql.byteLength(r,n):(r=Ql.from(r,n),n=void 0,u=r.length),this.set("Content-Length",u));var l;return c&&u!==void 0&&(l=s(r,n))&&this.set("ETag",l),i.fresh&&(this.statusCode=304),(this.statusCode===204||this.statusCode===304)&&(this.removeHeader("Content-Type"),this.removeHeader("Content-Length"),this.removeHeader("Transfer-Encoding"),r=""),this.statusCode===205&&(this.set("Content-Length","0"),this.removeHeader("Transfer-Encoding"),r=""),i.method==="HEAD"?this.end():this.end(r,n),this};Ot.json=function(e){var r=e;arguments.length===2&&(typeof arguments[1]=="number"?(Hr("res.json(obj, status): Use res.status(status).json(obj) instead"),this.statusCode=arguments[1]):(Hr("res.json(status, obj): Use res.status(status).json(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),a=n.get("json replacer"),o=n.get("json spaces"),s=Nz(r,a,o,i);return this.get("Content-Type")||this.set("Content-Type","application/json"),this.send(s)};Ot.jsonp=function(e){var r=e;arguments.length===2&&(typeof arguments[1]=="number"?(Hr("res.jsonp(obj, status): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[1]):(Hr("res.jsonp(status, obj): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),a=n.get("json replacer"),o=n.get("json spaces"),s=Nz(r,a,o,i),c=this.req.query[n.get("jsonp callback name")];return this.get("Content-Type")||(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","application/json")),Array.isArray(c)&&(c=c[0]),typeof c=="string"&&c.length!==0&&(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","text/javascript"),c=c.replace(/[^\[\]\w$.]/g,""),s===void 0?s="":typeof s=="string"&&(s=s.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")),s="/**/ typeof "+c+" === 'function' && "+c+"("+s+");"),this.send(s)};Ot.sendStatus=function(e){var r=lh.message[e]||String(e);return this.statusCode=e,this.type("txt"),this.send(r)};Ot.sendFile=function(e,r,n){var i=n,a=this.req,o=this,s=a.next,c=r||{};if(!e)throw new TypeError("path argument is required to res.sendFile");if(typeof e!="string")throw new TypeError("path must be a string to res.sendFile");if(typeof r=="function"&&(i=r,c={}),!c.root&&!rre(e))throw new TypeError("path must be absolute or specify root to res.sendFile");var u=encodeURI(e),l=Fw(a,u,c);Cz(o,l,c,function(d){if(i)return i(d);if(d&&d.code==="EISDIR")return s();d&&d.code!=="ECONNABORTED"&&d.syscall!=="write"&&s(d)})};Ot.sendfile=function(t,e,r){var n=r,i=this.req,a=this,o=i.next,s=e||{};typeof e=="function"&&(n=e,s={});var c=Fw(i,t,s);Cz(a,c,s,function(u){if(n)return n(u);if(u&&u.code==="EISDIR")return o();u&&u.code!=="ECONNABORTED"&&u.syscall!=="write"&&o(u)})};Ot.sendfile=Hr.function(Ot.sendfile,"res.sendfile: Use res.sendFile instead");Ot.download=function(e,r,n,i){var a=i,o=r,s=n||null;typeof r=="function"?(a=r,o=null,s=null):typeof n=="function"&&(a=n,s=null),typeof r=="object"&&(typeof n=="function"||n===void 0)&&(o=null,s=r);var c={"Content-Disposition":Iz(o||e)};if(s&&s.headers)for(var u=Object.keys(s.headers),l=0;l0?e.accepts(n):!1;return this.vary("Accept"),i?(this.set("Content-Type",are(i).value),t[i](e,this,r)):t.default?t.default(e,this,r):r(Yte(406,{types:ore(n).map(function(a){return a.value})})),this};Ot.attachment=function(e){return e&&this.type(ure(e)),this.set("Content-Disposition",Iz(e)),this};Ot.append=function(e,r){var n=this.get(e),i=r;return n&&(i=Array.isArray(n)?n.concat(r):Array.isArray(r)?[n].concat(r):[n,r]),this.set(e,i)};Ot.set=Ot.header=function(e,r){if(arguments.length===2){var n=Array.isArray(r)?r.map(String):String(r);if(e.toLowerCase()==="content-type"){if(Array.isArray(n))throw new TypeError("Content-Type cannot be set to an Array");if(!pre.test(n)){var i=Rz.charsets.lookup(n.split(";")[0]);i&&(n+="; charset="+i.toLowerCase())}}this.setHeader(e,n)}else for(var a in e)this.set(a,e[a]);return this};Ot.get=function(t){return this.getHeader(t)};Ot.clearCookie=function(e,r){r&&(r.maxAge&&Hr('res.clearCookie: Passing "options.maxAge" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'),r.expires&&Hr('res.clearCookie: Passing "options.expires" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'));var n=Oz({expires:new Date(1),path:"/"},r);return this.cookie(e,"",n)};Ot.cookie=function(t,e,r){var n=Oz({},r),i=this.req.secret,a=n.signed;if(a&&!i)throw new Error('cookieParser("secret") required for signed cookies');var o=typeof e=="object"?"j:"+JSON.stringify(e):String(e);if(a&&(o="s:"+ire(o,i)),n.maxAge!=null){var s=n.maxAge-0;isNaN(s)||(n.expires=new Date(Date.now()+s),n.maxAge=Math.floor(s/1e3))}return n.path==null&&(n.path="/"),this.append("Set-Cookie",cre.serialize(t,String(o),n)),this};Ot.location=function(e){var r;return e==="back"?(Hr('res.location("back"): use res.location(req.get("Referrer") || "/") and refer to https://dub.sh/security-redirect for best practices'),r=this.req.get("Referrer")||"/"):r=String(e),this.set("Location",Qte(r))};Ot.redirect=function(e){var r=e,n,i=302;arguments.length===2&&(typeof arguments[0]=="number"?(i=arguments[0],r=arguments[1]):(Hr("res.redirect(url, status): Use res.redirect(status, url) instead"),i=arguments[1])),r=this.location(r).get("Location"),this.format({text:function(){n=lh.message[i]+". Redirecting to "+r},html:function(){var a=ere(r);n="

"+lh.message[i]+". Redirecting to "+a+"

"},default:function(){n=""}}),this.statusCode=i,this.set("Content-Length",Ql.byteLength(n)),this.req.method==="HEAD"?this.end():this.end(n)};Ot.vary=function(t){return!t||Array.isArray(t)&&!t.length?(Hr("res.vary(): Provide a field name"),this):(dre(this,t),this)};Ot.render=function(e,r,n){var i=this.req.app,a=n,o=r||{},s=this.req,c=this;typeof r=="function"&&(a=r,o={}),o._locals=c.locals,a=a||function(u,l){if(u)return s.next(u);c.send(l)},i.render(e,o,a)};function Cz(t,e,r,n){var i=!1,a;function o(){if(!i){i=!0;var f=new Error("Request aborted");f.code="ECONNABORTED",n(f)}}function s(){if(!i){i=!0;var f=new Error("EISDIR, read");f.code="EISDIR",n(f)}}function c(f){i||(i=!0,n(f))}function u(){i||(i=!0,n())}function l(){a=!1}function d(f){if(f&&f.code==="ECONNRESET")return o();if(f)return c(f);i||setImmediate(function(){if(a!==!1&&!i){o();return}i||(i=!0,n())})}function p(){a=!0}e.on("directory",s),e.on("end",u),e.on("error",c),e.on("file",l),e.on("stream",p),nre(t,d),r.headers&&e.on("headers",function(h){for(var _=r.headers,g=Object.keys(_),m=0;m&]/g,function(a){switch(a.charCodeAt(0)){case 60:return"\\u003c";case 62:return"\\u003e";case 38:return"\\u0026";default:return a}})),i}});var Dz=j((Hke,Hw)=>{"use strict";var fre=Bl(),mre=Vl(),Zw=qs(),hre=require("path").resolve,Mz=nh(),gre=require("url");Hw.exports=vre;Hw.exports.mime=Mz.mime;function vre(t,e){if(!t)throw new TypeError("root path required");if(typeof t!="string")throw new TypeError("root path must be a string");var r=Object.create(e||null),n=r.fallthrough!==!1,i=r.redirect!==!1,a=r.setHeaders;if(a&&typeof a!="function")throw new TypeError("option setHeaders must be function");r.maxage=r.maxage||r.maxAge||0,r.root=hre(t);var o=i?xre():bre();return function(c,u,l){if(c.method!=="GET"&&c.method!=="HEAD"){if(n)return l();u.statusCode=405,u.setHeader("Allow","GET, HEAD"),u.setHeader("Content-Length","0"),u.end();return}var d=!n,p=Zw.original(c),f=Zw(c).pathname;f==="/"&&p.pathname.substr(-1)!=="/"&&(f="");var h=Mz(c,f,r);h.on("directory",o),a&&h.on("headers",a),n&&h.on("file",function(){d=!0}),h.on("error",function(g){if(d||!(g.statusCode<500)){l(g);return}l()}),h.pipe(u)}}function yre(t){for(var e=0;e1?"/"+t.substr(e):t}function _re(t,e){return` @@ -64,7 +64,7 @@ Please see the 3.x to 4.x migration guide for details on how to update your app.
`+e+`
-`}function bre(){return function(){this.error(404)}}function xre(){return function(e){if(this.hasTrailingSlash()){this.error(404);return}var r=Fw.original(this.req);r.path=null,r.pathname=yre(r.pathname+"/");var n=fre(gre.format(r)),i=_re("Redirecting","Redirecting to "+mre(n));e.statusCode=301,e.setHeader("Content-Type","text/html; charset=UTF-8"),e.setHeader("Content-Length",Buffer.byteLength(i)),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Location",n),e.end(i)}}});var Dz=j((Br,Mz)=>{"use strict";var dh=sM(),Sre=require("events").EventEmitter,Cz=uM(),Nz=LD(),wre=pw(),$re=mw(),jz=fz(),Az=Pz();Br=Mz.exports=Ere;function Ere(){var t=function(e,r,n){t.handle(e,r,n)};return Cz(t,Sre.prototype,!1),Cz(t,Nz,!1),t.request=Object.create(jz,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.response=Object.create(Az,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.init(),t}Br.application=Nz;Br.request=jz;Br.response=Az;Br.Route=wre;Br.Router=$re;Br.json=dh.json;Br.query=hw();Br.raw=dh.raw;Br.static=Rz();Br.text=dh.text;Br.urlencoded=dh.urlencoded;var kre=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];kre.forEach(function(t){Object.defineProperty(Br,t,{get:function(){throw new Error("Most middleware (like "+t+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var ph=j((Bke,zz)=>{"use strict";zz.exports=Dz()});var Lz=j((Vke,qz)=>{"use strict";var Uz=Object.getOwnPropertySymbols,Tre=Object.prototype.hasOwnProperty,Ire=Object.prototype.propertyIsEnumerable;function Pre(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function Ore(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(e).map(function(a){return e[a]});if(n.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}qz.exports=Ore()?Object.assign:function(t,e){for(var r,n=Pre(t),i,a=1;a{(function(){"use strict";var t=Lz(),e=qw(),r={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function n(h){return typeof h=="string"||h instanceof String}function i(h,_){if(Array.isArray(_)){for(var g=0;g<_.length;++g)if(i(h,_[g]))return!0;return!1}else return n(_)?h===_:_ instanceof RegExp?_.test(h):!!_}function a(h,_){var g=_.headers.origin,m=[],y;return!h.origin||h.origin==="*"?m.push([{key:"Access-Control-Allow-Origin",value:"*"}]):n(h.origin)?(m.push([{key:"Access-Control-Allow-Origin",value:h.origin}]),m.push([{key:"Vary",value:"Origin"}])):(y=i(g,h.origin),m.push([{key:"Access-Control-Allow-Origin",value:y?g:!1}]),m.push([{key:"Vary",value:"Origin"}])),m}function o(h){var _=h.methods;return _.join&&(_=h.methods.join(",")),{key:"Access-Control-Allow-Methods",value:_}}function s(h){return h.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function c(h,_){var g=h.allowedHeaders||h.headers,m=[];return g?g.join&&(g=g.join(",")):(g=_.headers["access-control-request-headers"],m.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),g&&g.length&&m.push([{key:"Access-Control-Allow-Headers",value:g}]),m}function u(h){var _=h.exposedHeaders;if(_)_.join&&(_=_.join(","));else return null;return _&&_.length?{key:"Access-Control-Expose-Headers",value:_}:null}function l(h){var _=(typeof h.maxAge=="number"||h.maxAge)&&h.maxAge.toString();return _&&_.length?{key:"Access-Control-Max-Age",value:_}:null}function d(h,_){for(var g=0,m=h.length;gHw,BACKUPS_DIR:()=>Jz,CLAUDE_COMMANDS_DIR:()=>Xz,CLAUDE_CONFIG_DIR:()=>ed,CLAUDE_MD_PATH:()=>Are,CLAUDE_SETTINGS_PATH:()=>jre,DATA_DIR:()=>Nr,DB_PATH:()=>td,LOGS_DIR:()=>Wz,MODES_DIR:()=>Bw,TRASH_DIR:()=>Kz,USER_SETTINGS_PATH:()=>$n,VECTOR_DB_DIR:()=>Nre,createBackupFilename:()=>Zre,ensureAllClaudeDirs:()=>qre,ensureAllDataDirs:()=>zre,ensureDir:()=>Vr,ensureModesDir:()=>Ure,getCurrentProjectName:()=>Lre,getPackageCommandsDir:()=>Fre,getPackageRoot:()=>Gr,getProjectArchiveDir:()=>Mre,getWorkerSocketPath:()=>Dre});function Rre(){return typeof __dirname<"u"?__dirname:(0,Jt.dirname)((0,Gz.fileURLToPath)(Hre.url))}function Mre(t){return(0,Jt.join)(Hw,t)}function Dre(t){return(0,Jt.join)(Nr,`worker-${t}.sock`)}function Vr(t){(0,Bz.mkdirSync)(t,{recursive:!0})}function zre(){Vr(Nr),Vr(Hw),Vr(Wz),Vr(Kz),Vr(Jz),Vr(Bw)}function Ure(){Vr(Bw)}function qre(){Vr(ed),Vr(Xz)}function Lre(){try{let t=(0,Vz.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),encoding:"utf8",stdio:["pipe","pipe","ignore"],windowsHide:!0}).trim();return(0,Jt.basename)(t)}catch(t){return k.debug("SYSTEM","Git root detection failed, using cwd basename",{cwd:process.cwd()},t),(0,Jt.basename)(process.cwd())}}function Gr(){return(0,Jt.join)(Cre,"..")}function Fre(){let t=Gr();return(0,Jt.join)(t,"commands")}function Zre(t){let e=new Date().toISOString().replace(/[:.]/g,"-").replace("T","_").slice(0,19);return`${t}.backup.${e}`}var Jt,Hz,Bz,Vz,Gz,Hre,Cre,Nr,ed,Hw,Wz,Kz,Jz,Bw,$n,td,Nre,jre,Xz,Are,cn=Ht(()=>{"use strict";Jt=require("path"),Hz=require("os"),Bz=require("fs"),Vz=require("child_process"),Gz=require("url");on();Re();Hre={};Cre=Rre(),Nr=Ye.get("CLAUDE_MEM_DATA_DIR"),ed=process.env.CLAUDE_CONFIG_DIR||(0,Jt.join)((0,Hz.homedir)(),".claude"),Hw=(0,Jt.join)(Nr,"archives"),Wz=(0,Jt.join)(Nr,"logs"),Kz=(0,Jt.join)(Nr,"trash"),Jz=(0,Jt.join)(Nr,"backups"),Bw=(0,Jt.join)(Nr,"modes"),$n=(0,Jt.join)(Nr,"settings.json"),td=(0,Jt.join)(Nr,"claude-mem.db"),Nre=(0,Jt.join)(Nr,"vector-db"),jre=(0,Jt.join)(ed,"settings.json"),Xz=(0,Jt.join)(ed,"commands"),Are=(0,Jt.join)(ed,"CLAUDE.md")});var h4,ba,gh=Ht(()=>{"use strict";h4=require("bun:sqlite");cn();Re();ba=class{db;constructor(e=td){e!==":memory:"&&Vr(Nr),this.db=new h4.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable(),this.createUserPromptsTable(),this.ensureDiscoveryTokensColumn(),this.createPendingMessagesTable(),this.renameSessionIdColumns(),this.repairSessionIdColumnRename(),this.addFailedAtEpochColumn()}initializeSchema(){this.db.run(` +`}function bre(){return function(){this.error(404)}}function xre(){return function(e){if(this.hasTrailingSlash()){this.error(404);return}var r=Zw.original(this.req);r.path=null,r.pathname=yre(r.pathname+"/");var n=fre(gre.format(r)),i=_re("Redirecting","Redirecting to "+mre(n));e.statusCode=301,e.setHeader("Content-Type","text/html; charset=UTF-8"),e.setHeader("Content-Length",Buffer.byteLength(i)),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Location",n),e.end(i)}}});var Zz=j((Br,Fz)=>{"use strict";var dh=fM(),Sre=require("events").EventEmitter,zz=hM(),Uz=GD(),wre=fw(),$re=hw(),Lz=_z(),qz=Az();Br=Fz.exports=Ere;function Ere(){var t=function(e,r,n){t.handle(e,r,n)};return zz(t,Sre.prototype,!1),zz(t,Uz,!1),t.request=Object.create(Lz,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.response=Object.create(qz,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.init(),t}Br.application=Uz;Br.request=Lz;Br.response=qz;Br.Route=wre;Br.Router=$re;Br.json=dh.json;Br.query=gw();Br.raw=dh.raw;Br.static=Dz();Br.text=dh.text;Br.urlencoded=dh.urlencoded;var kre=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];kre.forEach(function(t){Object.defineProperty(Br,t,{get:function(){throw new Error("Most middleware (like "+t+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var ph=j((Bke,Hz)=>{"use strict";Hz.exports=Zz()});var Gz=j((Vke,Vz)=>{"use strict";var Bz=Object.getOwnPropertySymbols,Tre=Object.prototype.hasOwnProperty,Ire=Object.prototype.propertyIsEnumerable;function Pre(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function Ore(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(e).map(function(a){return e[a]});if(n.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Vz.exports=Ore()?Object.assign:function(t,e){for(var r,n=Pre(t),i,a=1;a{(function(){"use strict";var t=Gz(),e=qw(),r={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function n(h){return typeof h=="string"||h instanceof String}function i(h,_){if(Array.isArray(_)){for(var g=0;g<_.length;++g)if(i(h,_[g]))return!0;return!1}else return n(_)?h===_:_ instanceof RegExp?_.test(h):!!_}function a(h,_){var g=_.headers.origin,m=[],y;return!h.origin||h.origin==="*"?m.push([{key:"Access-Control-Allow-Origin",value:"*"}]):n(h.origin)?(m.push([{key:"Access-Control-Allow-Origin",value:h.origin}]),m.push([{key:"Vary",value:"Origin"}])):(y=i(g,h.origin),m.push([{key:"Access-Control-Allow-Origin",value:y?g:!1}]),m.push([{key:"Vary",value:"Origin"}])),m}function o(h){var _=h.methods;return _.join&&(_=h.methods.join(",")),{key:"Access-Control-Allow-Methods",value:_}}function s(h){return h.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function c(h,_){var g=h.allowedHeaders||h.headers,m=[];return g?g.join&&(g=g.join(",")):(g=_.headers["access-control-request-headers"],m.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),g&&g.length&&m.push([{key:"Access-Control-Allow-Headers",value:g}]),m}function u(h){var _=h.exposedHeaders;if(_)_.join&&(_=_.join(","));else return null;return _&&_.length?{key:"Access-Control-Expose-Headers",value:_}:null}function l(h){var _=(typeof h.maxAge=="number"||h.maxAge)&&h.maxAge.toString();return _&&_.length?{key:"Access-Control-Max-Age",value:_}:null}function d(h,_){for(var g=0,m=h.length;gBw,BACKUPS_DIR:()=>r4,CLAUDE_COMMANDS_DIR:()=>n4,CLAUDE_CONFIG_DIR:()=>ed,CLAUDE_MD_PATH:()=>Are,CLAUDE_SETTINGS_PATH:()=>jre,DATA_DIR:()=>Nr,DB_PATH:()=>td,LOGS_DIR:()=>e4,MODES_DIR:()=>Vw,TRASH_DIR:()=>t4,USER_SETTINGS_PATH:()=>$n,VECTOR_DB_DIR:()=>Nre,createBackupFilename:()=>Zre,ensureAllClaudeDirs:()=>Lre,ensureAllDataDirs:()=>zre,ensureDir:()=>Vr,ensureModesDir:()=>Ure,getCurrentProjectName:()=>qre,getPackageCommandsDir:()=>Fre,getPackageRoot:()=>Gr,getProjectArchiveDir:()=>Mre,getWorkerSocketPath:()=>Dre});function Rre(){return typeof __dirname<"u"?__dirname:(0,Jt.dirname)((0,Qz.fileURLToPath)(Hre.url))}function Mre(t){return(0,Jt.join)(Bw,t)}function Dre(t){return(0,Jt.join)(Nr,`worker-${t}.sock`)}function Vr(t){(0,Xz.mkdirSync)(t,{recursive:!0})}function zre(){Vr(Nr),Vr(Bw),Vr(e4),Vr(t4),Vr(r4),Vr(Vw)}function Ure(){Vr(Vw)}function Lre(){Vr(ed),Vr(n4)}function qre(){try{let t=(0,Yz.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),encoding:"utf8",stdio:["pipe","pipe","ignore"],windowsHide:!0}).trim();return(0,Jt.basename)(t)}catch(t){return k.debug("SYSTEM","Git root detection failed, using cwd basename",{cwd:process.cwd()},t),(0,Jt.basename)(process.cwd())}}function Gr(){return(0,Jt.join)(Cre,"..")}function Fre(){let t=Gr();return(0,Jt.join)(t,"commands")}function Zre(t){let e=new Date().toISOString().replace(/[:.]/g,"-").replace("T","_").slice(0,19);return`${t}.backup.${e}`}var Jt,Jz,Xz,Yz,Qz,Hre,Cre,Nr,ed,Bw,e4,t4,r4,Vw,$n,td,Nre,jre,n4,Are,cn=Ht(()=>{"use strict";Jt=require("path"),Jz=require("os"),Xz=require("fs"),Yz=require("child_process"),Qz=require("url");on();Re();Hre={};Cre=Rre(),Nr=Ye.get("CLAUDE_MEM_DATA_DIR"),ed=process.env.CLAUDE_CONFIG_DIR||(0,Jt.join)((0,Jz.homedir)(),".claude"),Bw=(0,Jt.join)(Nr,"archives"),e4=(0,Jt.join)(Nr,"logs"),t4=(0,Jt.join)(Nr,"trash"),r4=(0,Jt.join)(Nr,"backups"),Vw=(0,Jt.join)(Nr,"modes"),$n=(0,Jt.join)(Nr,"settings.json"),td=(0,Jt.join)(Nr,"claude-mem.db"),Nre=(0,Jt.join)(Nr,"vector-db"),jre=(0,Jt.join)(ed,"settings.json"),n4=(0,Jt.join)(ed,"commands"),Are=(0,Jt.join)(ed,"CLAUDE.md")});var x4,xa,gh=Ht(()=>{"use strict";x4=require("bun:sqlite");cn();Re();xa=class{db;constructor(e=td){e!==":memory:"&&Vr(Nr),this.db=new x4.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable(),this.createUserPromptsTable(),this.ensureDiscoveryTokensColumn(),this.createPendingMessagesTable(),this.renameSessionIdColumns(),this.repairSessionIdColumnRename(),this.addFailedAtEpochColumn()}initializeSchema(){this.db.run(` CREATE TABLE IF NOT EXISTS schema_versions ( id INTEGER PRIMARY KEY, version INTEGER UNIQUE NOT NULL, @@ -549,7 +549,7 @@ Please see the 3.x to 4.x migration guide for details on how to update your app. content_session_id, prompt_number, prompt_text, created_at, created_at_epoch ) VALUES (?, ?, ?, ?, ?) - `).run(e.content_session_id,e.prompt_number,e.prompt_text,e.created_at,e.created_at_epoch).lastInsertRowid}}}});var Xs={};Cn(Xs,{PendingMessageStore:()=>id});var id,go=Ht(()=>{"use strict";Re();id=class{db;maxRetries;constructor(e,r=3){this.db=e,this.maxRetries=r}enqueue(e,r,n){let i=Date.now();return this.db.prepare(` + `).run(e.content_session_id,e.prompt_number,e.prompt_text,e.created_at,e.created_at_epoch).lastInsertRowid}}}});var Xs={};Cn(Xs,{PendingMessageStore:()=>id});var id,vo=Ht(()=>{"use strict";Re();id=class{db;maxRetries;constructor(e,r=3){this.db=e,this.maxRetries=r}enqueue(e,r,n){let i=Date.now();return this.db.prepare(` INSERT INTO pending_messages ( session_db_id, content_session_id, message_type, tool_name, tool_input, tool_response, cwd, @@ -632,7 +632,7 @@ Please see the 3.x to 4.x migration guide for details on how to update your app. `).run().changes}clearAll(){return this.db.prepare(` DELETE FROM pending_messages WHERE status IN ('pending', 'processing', 'failed') - `).run().changes}toPendingMessage(e){return{type:e.message_type,tool_name:e.tool_name||void 0,tool_input:e.tool_input?JSON.parse(e.tool_input):void 0,tool_response:e.tool_response?JSON.parse(e.tool_response):void 0,prompt_number:e.prompt_number||void 0,cwd:e.cwd||void 0,last_assistant_message:e.last_assistant_message||void 0}}}});var b4={};Cn(b4,{ModeManager:()=>He});var ad,wh,He,jr=Ht(()=>{"use strict";ad=require("fs"),wh=require("path");Re();cn();He=class t{static instance=null;activeMode=null;modesDir;constructor(){let e=Gr(),r=[(0,wh.join)(e,"modes"),(0,wh.join)(e,"..","plugin","modes")],n=r.find(i=>(0,ad.existsSync)(i));this.modesDir=n||r[0]}static getInstance(){return t.instance||(t.instance=new t),t.instance}parseInheritance(e){let r=e.split("--");if(r.length===1)return{hasParent:!1,parentId:"",overrideId:""};if(r.length>2)throw new Error(`Invalid mode inheritance: ${e}. Only one level of inheritance supported (parent--override)`);return{hasParent:!0,parentId:r[0],overrideId:e}}isPlainObject(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}deepMerge(e,r){let n={...e};for(let i in r){let a=r[i],o=e[i];this.isPlainObject(a)&&this.isPlainObject(o)?n[i]=this.deepMerge(o,a):n[i]=a}return n}loadModeFile(e){let r=(0,wh.join)(this.modesDir,`${e}.json`);if(!(0,ad.existsSync)(r))throw new Error(`Mode file not found: ${r}`);let n=(0,ad.readFileSync)(r,"utf-8");return JSON.parse(n)}loadMode(e){let r=this.parseInheritance(e);if(!r.hasParent)try{let c=this.loadModeFile(e);return this.activeMode=c,k.debug("SYSTEM",`Loaded mode: ${c.name} (${e})`,void 0,{types:c.observation_types.map(u=>u.id),concepts:c.observation_concepts.map(u=>u.id)}),c}catch{if(k.warn("SYSTEM",`Mode file not found: ${e}, falling back to 'code'`),e==="code")throw new Error("Critical: code.json mode file missing");return this.loadMode("code")}let{parentId:n,overrideId:i}=r,a;try{a=this.loadMode(n)}catch{k.warn("SYSTEM",`Parent mode '${n}' not found for ${e}, falling back to 'code'`),a=this.loadMode("code")}let o;try{o=this.loadModeFile(i),k.debug("SYSTEM",`Loaded override file: ${i} for parent ${n}`)}catch{return k.warn("SYSTEM",`Override file '${i}' not found, using parent mode '${n}' only`),this.activeMode=a,a}if(!o)return k.warn("SYSTEM",`Invalid override file: ${i}, using parent mode '${n}' only`),this.activeMode=a,a;let s=this.deepMerge(a,o);return this.activeMode=s,k.debug("SYSTEM",`Loaded mode with inheritance: ${s.name} (${e} = ${n} + ${i})`,void 0,{parent:n,override:i,types:s.observation_types.map(c=>c.id),concepts:s.observation_concepts.map(c=>c.id)}),s}getActiveMode(){if(!this.activeMode)throw new Error("No mode loaded. Call loadMode() first.");return this.activeMode}getObservationTypes(){return this.getActiveMode().observation_types}getObservationConcepts(){return this.getActiveMode().observation_concepts}getTypeIcon(e){return this.getObservationTypes().find(n=>n.id===e)?.emoji||"\u{1F4DD}"}getWorkEmoji(e){return this.getObservationTypes().find(n=>n.id===e)?.work_emoji||"\u{1F4DD}"}validateType(e){return this.getObservationTypes().some(r=>r.id===e)}getTypeLabel(e){return this.getObservationTypes().find(n=>n.id===e)?.label||e}}});function Eh(t){if(!t)return[];try{let e=JSON.parse(t);return Array.isArray(e)?e:[]}catch(e){return k.debug("PARSER","Failed to parse JSON array, using empty fallback",{preview:t?.substring(0,50)},e),[]}}function kn(t){return new Date(t).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}function Ar(t){return new Date(t).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}function Ui(t){return new Date(t).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}function w4(t,e){return t$.default.isAbsolute(t)?t$.default.relative(e,t):t}function Vn(t,e,r){let n=Eh(t);if(n.length>0)return w4(n[0],e);if(r){let i=Eh(r);if(i.length>0)return w4(i[0],e)}return"General"}function rc(t){return t?Math.ceil(t.length/4):0}function vo(t,e){let r=new Map;for(let i of t){let a=e(i),o=Ui(a);r.has(o)||r.set(o,[]),r.get(o).push(i)}let n=Array.from(r.entries()).sort((i,a)=>{let o=new Date(i[0]).getTime(),s=new Date(a[0]).getTime();return o-s});return new Map(n)}var t$,nc=Ht(()=>{"use strict";t$=dt(require("path"),1);Re()});var lU=Ht(()=>{"use strict"});function pU(t){if(!t||t.trim()==="")return k.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:t}),"unknown-project";let e=dU.default.basename(t);if(e===""){if(process.platform==="win32"){let n=t.match(/^([A-Z]):\\/i);if(n){let a=`drive-${n[1].toUpperCase()}`;return k.info("PROJECT_NAME","Drive root detected",{cwd:t,projectName:a}),a}}return k.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:t}),"unknown-project"}return e}var dU,fU=Ht(()=>{"use strict";dU=dt(require("path"),1);Re();lU()});function nE(){let t=mU.default.join((0,hU.homedir)(),".claude-mem","settings.json"),e=Ye.loadFromFile(t),r=e.CLAUDE_MEM_MODE,n=r==="code"||r.startsWith("code--"),i,a;if(n)i=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES.split(",").map(o=>o.trim()).filter(Boolean)),a=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS.split(",").map(o=>o.trim()).filter(Boolean));else{let o=He.getInstance().getActiveMode();i=new Set(o.observation_types.map(s=>s.id)),a=new Set(o.observation_concepts.map(s=>s.id))}return{totalObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10),fullObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_FULL_COUNT,10),sessionCount:parseInt(e.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10),showReadTokens:e.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",showWorkTokens:e.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",showSavingsAmount:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",showSavingsPercent:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT==="true",observationTypes:i,observationConcepts:a,fullObservationField:e.CLAUDE_MEM_CONTEXT_FULL_FIELD,showLastSummary:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",showLastMessage:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true"}}var mU,hU,iE=Ht(()=>{"use strict";mU=dt(require("path"),1),hU=require("os");on();jr()});var ne,gU,aE,Dd=Ht(()=>{"use strict";ne={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",cyan:"\x1B[36m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",gray:"\x1B[90m",red:"\x1B[31m"},gU=4,aE=1});function oE(t){let e=(t.title?.length||0)+(t.subtitle?.length||0)+(t.narrative?.length||0)+JSON.stringify(t.facts||[]).length;return Math.ceil(e/gU)}function sE(t){let e=t.length,r=t.reduce((o,s)=>o+oE(s),0),n=t.reduce((o,s)=>o+(s.discovery_tokens||0),0),i=n-r,a=n>0?Math.round(i/n*100):0;return{totalObservations:e,totalReadTokens:r,totalDiscoveryTokens:n,savings:i,savingsPercent:a}}function Rfe(t){return He.getInstance().getWorkEmoji(t)}function Ic(t,e){let r=oE(t),n=t.discovery_tokens||0,i=Rfe(t.type),a=n>0?`${i} ${n.toLocaleString()}`:"-";return{readTokens:r,discoveryTokens:n,discoveryDisplay:a,workEmoji:i}}function wg(t){return t.showReadTokens||t.showWorkTokens||t.showSavingsAmount||t.showSavingsPercent}var ko=Ht(()=>{"use strict";Dd();jr()});function cE(t,e,r){let n=Array.from(r.observationTypes),i=n.map(()=>"?").join(","),a=Array.from(r.observationConcepts),o=a.map(()=>"?").join(",");return t.db.prepare(` + `).run().changes}toPendingMessage(e){return{type:e.message_type,tool_name:e.tool_name||void 0,tool_input:e.tool_input?JSON.parse(e.tool_input):void 0,tool_response:e.tool_response?JSON.parse(e.tool_response):void 0,prompt_number:e.prompt_number||void 0,cwd:e.cwd||void 0,last_assistant_message:e.last_assistant_message||void 0}}}});var k4={};Cn(k4,{ModeManager:()=>He});var ad,wh,He,jr=Ht(()=>{"use strict";ad=require("fs"),wh=require("path");Re();cn();He=class t{static instance=null;activeMode=null;modesDir;constructor(){let e=Gr(),r=[(0,wh.join)(e,"modes"),(0,wh.join)(e,"..","plugin","modes")],n=r.find(i=>(0,ad.existsSync)(i));this.modesDir=n||r[0]}static getInstance(){return t.instance||(t.instance=new t),t.instance}parseInheritance(e){let r=e.split("--");if(r.length===1)return{hasParent:!1,parentId:"",overrideId:""};if(r.length>2)throw new Error(`Invalid mode inheritance: ${e}. Only one level of inheritance supported (parent--override)`);return{hasParent:!0,parentId:r[0],overrideId:e}}isPlainObject(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}deepMerge(e,r){let n={...e};for(let i in r){let a=r[i],o=e[i];this.isPlainObject(a)&&this.isPlainObject(o)?n[i]=this.deepMerge(o,a):n[i]=a}return n}loadModeFile(e){let r=(0,wh.join)(this.modesDir,`${e}.json`);if(!(0,ad.existsSync)(r))throw new Error(`Mode file not found: ${r}`);let n=(0,ad.readFileSync)(r,"utf-8");return JSON.parse(n)}loadMode(e){let r=this.parseInheritance(e);if(!r.hasParent)try{let c=this.loadModeFile(e);return this.activeMode=c,k.debug("SYSTEM",`Loaded mode: ${c.name} (${e})`,void 0,{types:c.observation_types.map(u=>u.id),concepts:c.observation_concepts.map(u=>u.id)}),c}catch{if(k.warn("SYSTEM",`Mode file not found: ${e}, falling back to 'code'`),e==="code")throw new Error("Critical: code.json mode file missing");return this.loadMode("code")}let{parentId:n,overrideId:i}=r,a;try{a=this.loadMode(n)}catch{k.warn("SYSTEM",`Parent mode '${n}' not found for ${e}, falling back to 'code'`),a=this.loadMode("code")}let o;try{o=this.loadModeFile(i),k.debug("SYSTEM",`Loaded override file: ${i} for parent ${n}`)}catch{return k.warn("SYSTEM",`Override file '${i}' not found, using parent mode '${n}' only`),this.activeMode=a,a}if(!o)return k.warn("SYSTEM",`Invalid override file: ${i}, using parent mode '${n}' only`),this.activeMode=a,a;let s=this.deepMerge(a,o);return this.activeMode=s,k.debug("SYSTEM",`Loaded mode with inheritance: ${s.name} (${e} = ${n} + ${i})`,void 0,{parent:n,override:i,types:s.observation_types.map(c=>c.id),concepts:s.observation_concepts.map(c=>c.id)}),s}getActiveMode(){if(!this.activeMode)throw new Error("No mode loaded. Call loadMode() first.");return this.activeMode}getObservationTypes(){return this.getActiveMode().observation_types}getObservationConcepts(){return this.getActiveMode().observation_concepts}getTypeIcon(e){return this.getObservationTypes().find(n=>n.id===e)?.emoji||"\u{1F4DD}"}getWorkEmoji(e){return this.getObservationTypes().find(n=>n.id===e)?.work_emoji||"\u{1F4DD}"}validateType(e){return this.getObservationTypes().some(r=>r.id===e)}getTypeLabel(e){return this.getObservationTypes().find(n=>n.id===e)?.label||e}}});function Eh(t){if(!t)return[];try{let e=JSON.parse(t);return Array.isArray(e)?e:[]}catch(e){return k.debug("PARSER","Failed to parse JSON array, using empty fallback",{preview:t?.substring(0,50)},e),[]}}function kn(t){return new Date(t).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}function Ar(t){return new Date(t).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}function Li(t){return new Date(t).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}function P4(t,e){return r$.default.isAbsolute(t)?r$.default.relative(e,t):t}function Vn(t,e,r){let n=Eh(t);if(n.length>0)return P4(n[0],e);if(r){let i=Eh(r);if(i.length>0)return P4(i[0],e)}return"General"}function rc(t){return t?Math.ceil(t.length/4):0}function yo(t,e){let r=new Map;for(let i of t){let a=e(i),o=Li(a);r.has(o)||r.set(o,[]),r.get(o).push(i)}let n=Array.from(r.entries()).sort((i,a)=>{let o=new Date(i[0]).getTime(),s=new Date(a[0]).getTime();return o-s});return new Map(n)}var r$,nc=Ht(()=>{"use strict";r$=dt(require("path"),1);Re()});var gU=Ht(()=>{"use strict"});function yU(t){if(!t||t.trim()==="")return k.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:t}),"unknown-project";let e=vU.default.basename(t);if(e===""){if(process.platform==="win32"){let n=t.match(/^([A-Z]):\\/i);if(n){let a=`drive-${n[1].toUpperCase()}`;return k.info("PROJECT_NAME","Drive root detected",{cwd:t,projectName:a}),a}}return k.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:t}),"unknown-project"}return e}var vU,_U=Ht(()=>{"use strict";vU=dt(require("path"),1);Re();gU()});function iE(){let t=bU.default.join((0,xU.homedir)(),".claude-mem","settings.json"),e=Ye.loadFromFile(t),r=e.CLAUDE_MEM_MODE,n=r==="code"||r.startsWith("code--"),i,a;if(n)i=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES.split(",").map(o=>o.trim()).filter(Boolean)),a=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS.split(",").map(o=>o.trim()).filter(Boolean));else{let o=He.getInstance().getActiveMode();i=new Set(o.observation_types.map(s=>s.id)),a=new Set(o.observation_concepts.map(s=>s.id))}return{totalObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10),fullObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_FULL_COUNT,10),sessionCount:parseInt(e.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10),showReadTokens:e.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",showWorkTokens:e.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",showSavingsAmount:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",showSavingsPercent:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT==="true",observationTypes:i,observationConcepts:a,fullObservationField:e.CLAUDE_MEM_CONTEXT_FULL_FIELD,showLastSummary:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",showLastMessage:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true"}}var bU,xU,aE=Ht(()=>{"use strict";bU=dt(require("path"),1),xU=require("os");on();jr()});var ne,SU,oE,Dd=Ht(()=>{"use strict";ne={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",cyan:"\x1B[36m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",gray:"\x1B[90m",red:"\x1B[31m"},SU=4,oE=1});function sE(t){let e=(t.title?.length||0)+(t.subtitle?.length||0)+(t.narrative?.length||0)+JSON.stringify(t.facts||[]).length;return Math.ceil(e/SU)}function cE(t){let e=t.length,r=t.reduce((o,s)=>o+sE(s),0),n=t.reduce((o,s)=>o+(s.discovery_tokens||0),0),i=n-r,a=n>0?Math.round(i/n*100):0;return{totalObservations:e,totalReadTokens:r,totalDiscoveryTokens:n,savings:i,savingsPercent:a}}function Cfe(t){return He.getInstance().getWorkEmoji(t)}function Ic(t,e){let r=sE(t),n=t.discovery_tokens||0,i=Cfe(t.type),a=n>0?`${i} ${n.toLocaleString()}`:"-";return{readTokens:r,discoveryTokens:n,discoveryDisplay:a,workEmoji:i}}function wg(t){return t.showReadTokens||t.showWorkTokens||t.showSavingsAmount||t.showSavingsPercent}var ko=Ht(()=>{"use strict";Dd();jr()});function uE(t,e,r){let n=Array.from(r.observationTypes),i=n.map(()=>"?").join(","),a=Array.from(r.observationConcepts),o=a.map(()=>"?").join(",");return t.db.prepare(` SELECT id, memory_session_id, type, title, subtitle, narrative, facts, concepts, files_read, files_modified, discovery_tokens, @@ -646,13 +646,13 @@ Please see the 3.x to 4.x migration guide for details on how to update your app. ) ORDER BY created_at_epoch DESC LIMIT ? - `).all(e,...n,...a,r.totalObservationCount)}function uE(t,e,r){return t.db.prepare(` + `).all(e,...n,...a,r.totalObservationCount)}function lE(t,e,r){return t.db.prepare(` SELECT id, memory_session_id, request, investigated, learned, completed, next_steps, created_at, created_at_epoch FROM session_summaries WHERE project = ? ORDER BY created_at_epoch DESC LIMIT ? - `).all(e,r.sessionCount+aE)}function _U(t,e,r){let n=Array.from(r.observationTypes),i=n.map(()=>"?").join(","),a=Array.from(r.observationConcepts),o=a.map(()=>"?").join(","),s=e.map(()=>"?").join(",");return t.db.prepare(` + `).all(e,r.sessionCount+oE)}function EU(t,e,r){let n=Array.from(r.observationTypes),i=n.map(()=>"?").join(","),a=Array.from(r.observationConcepts),o=a.map(()=>"?").join(","),s=e.map(()=>"?").join(",");return t.db.prepare(` SELECT id, memory_session_id, type, title, subtitle, narrative, facts, concepts, files_read, files_modified, discovery_tokens, @@ -666,25 +666,25 @@ Please see the 3.x to 4.x migration guide for details on how to update your app. ) ORDER BY created_at_epoch DESC LIMIT ? - `).all(...e,...n,...a,r.totalObservationCount)}function bU(t,e,r){let n=e.map(()=>"?").join(",");return t.db.prepare(` + `).all(...e,...n,...a,r.totalObservationCount)}function kU(t,e,r){let n=e.map(()=>"?").join(",");return t.db.prepare(` SELECT id, memory_session_id, request, investigated, learned, completed, next_steps, created_at, created_at_epoch, project FROM session_summaries WHERE project IN (${n}) ORDER BY created_at_epoch DESC LIMIT ? - `).all(...e,r.sessionCount+aE)}function Cfe(t){return t.replace(/\//g,"-")}function Nfe(t){try{if(!(0,$g.existsSync)(t))return{userMessage:"",assistantMessage:""};let e=(0,$g.readFileSync)(t,"utf-8").trim();if(!e)return{userMessage:"",assistantMessage:""};let r=e.split(` -`).filter(i=>i.trim()),n="";for(let i=r.length-1;i>=0;i--)try{let a=r[i];if(!a.includes('"type":"assistant"'))continue;let o=JSON.parse(a);if(o.type==="assistant"&&o.message?.content&&Array.isArray(o.message.content)){let s="";for(let c of o.message.content)c.type==="text"&&(s+=c.text);if(s=s.replace(/[\s\S]*?<\/system-reminder>/g,"").trim(),s){n=s;break}}}catch(a){k.debug("PARSER","Skipping malformed transcript line",{lineIndex:i},a);continue}return{userMessage:"",assistantMessage:n}}catch(e){return k.failure("WORKER","Failed to extract prior messages from transcript",{transcriptPath:t},e),{userMessage:"",assistantMessage:""}}}function lE(t,e,r,n){if(!e.showLastMessage||t.length===0)return{userMessage:"",assistantMessage:""};let i=t.find(c=>c.memory_session_id!==r);if(!i)return{userMessage:"",assistantMessage:""};let a=i.memory_session_id,o=Cfe(n),s=vU.default.join((0,yU.homedir)(),".claude","projects",o,`${a}.jsonl`);return Nfe(s)}function xU(t,e){let r=e[0]?.id;return t.map((n,i)=>{let a=i===0?null:e[i+1];return{...n,displayEpoch:a?a.created_at_epoch:n.created_at_epoch,displayTime:a?a.created_at:n.created_at,shouldShowLink:n.id!==r}})}function dE(t,e){let r=[...t.map(n=>({type:"observation",data:n})),...e.map(n=>({type:"summary",data:n}))];return r.sort((n,i)=>{let a=n.type==="observation"?n.data.created_at_epoch:n.data.displayEpoch,o=i.type==="observation"?i.data.created_at_epoch:i.data.displayEpoch;return a-o}),r}function SU(t,e){return new Set(t.slice(0,e).map(r=>r.id))}var vU,yU,$g,pE=Ht(()=>{"use strict";vU=dt(require("path"),1),yU=require("os"),$g=require("fs");Re();Dd()});function wU(){let t=new Date,e=t.toLocaleDateString("en-CA"),r=t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}).toLowerCase().replace(" ",""),n=t.toLocaleTimeString("en-US",{timeZoneName:"short"}).split(" ").pop();return`${e} ${r} ${n}`}function $U(t){return[`# [${t}] recent context, ${wU()}`,""]}function EU(){return[`**Legend:** session-request | ${He.getInstance().getActiveMode().observation_types.map(r=>`${r.emoji} ${r.id}`).join(" | ")}`,""]}function kU(){return["**Column Key**:","- **Read**: Tokens to read this observation (cost to learn it now)","- **Work**: Tokens spent on work that produced this record ( research, building, deciding)",""]}function TU(){return["**Context Index:** This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.","","When you need implementation details, rationale, or debugging context:","- Use MCP tools (search, get_observations) to fetch full observations on-demand","- Critical types ( bugfix, decision) often need detailed fetching","- Trust this index over re-reading code for past decisions and learnings",""]}function IU(t,e){let r=[];if(r.push("**Context Economics**:"),r.push(`- Loading: ${t.totalObservations} observations (${t.totalReadTokens.toLocaleString()} tokens to read)`),r.push(`- Work investment: ${t.totalDiscoveryTokens.toLocaleString()} tokens spent on research, building, and decisions`),t.totalDiscoveryTokens>0&&(e.showSavingsAmount||e.showSavingsPercent)){let n="- Your savings: ";e.showSavingsAmount&&e.showSavingsPercent?n+=`${t.savings.toLocaleString()} tokens (${t.savingsPercent}% reduction from reuse)`:e.showSavingsAmount?n+=`${t.savings.toLocaleString()} tokens`:n+=`${t.savingsPercent}% reduction from reuse`,r.push(n)}return r.push(""),r}function PU(t){return[`### ${t}`,""]}function OU(t){return[`**${t}**`,"| ID | Time | T | Title | Read | Work |","|----|------|---|-------|------|------|"]}function RU(t,e,r){let n=t.title||"Untitled",i=He.getInstance().getTypeIcon(t.type),{readTokens:a,discoveryDisplay:o}=Ic(t,r),s=r.showReadTokens?`~${a}`:"",c=r.showWorkTokens?o:"";return`| #${t.id} | ${e||'"'} | ${i} | ${n} | ${s} | ${c} |`}function CU(t,e,r,n){let i=[],a=t.title||"Untitled",o=He.getInstance().getTypeIcon(t.type),{readTokens:s,discoveryDisplay:c}=Ic(t,n);i.push(`**#${t.id}** ${e||'"'} ${o} **${a}**`),r&&(i.push(""),i.push(r),i.push(""));let u=[];return n.showReadTokens&&u.push(`Read: ~${s}`),n.showWorkTokens&&u.push(`Work: ${c}`),u.length>0&&i.push(u.join(", ")),i.push(""),i}function NU(t,e){let r=`${t.request||"Session started"} (${e})`;return[`**#S${t.id}** ${r}`,""]}function zd(t,e){return e?[`**${t}**: ${e}`,""]:[]}function jU(t){return t.assistantMessage?["","---","","**Previously**","",`A: ${t.assistantMessage}`,""]:[]}function AU(t,e){return["",`Access ${Math.round(t/1e3)}k tokens of past research & decisions for just ${e.toLocaleString()}t. Use MCP search tools to access memories by ID.`]}function MU(t){return`# [${t}] recent context, ${wU()} + `).all(...e,r.sessionCount+oE)}function Nfe(t){return t.replace(/\//g,"-")}function jfe(t){try{if(!(0,$g.existsSync)(t))return{userMessage:"",assistantMessage:""};let e=(0,$g.readFileSync)(t,"utf-8").trim();if(!e)return{userMessage:"",assistantMessage:""};let r=e.split(` +`).filter(i=>i.trim()),n="";for(let i=r.length-1;i>=0;i--)try{let a=r[i];if(!a.includes('"type":"assistant"'))continue;let o=JSON.parse(a);if(o.type==="assistant"&&o.message?.content&&Array.isArray(o.message.content)){let s="";for(let c of o.message.content)c.type==="text"&&(s+=c.text);if(s=s.replace(/[\s\S]*?<\/system-reminder>/g,"").trim(),s){n=s;break}}}catch(a){k.debug("PARSER","Skipping malformed transcript line",{lineIndex:i},a);continue}return{userMessage:"",assistantMessage:n}}catch(e){return k.failure("WORKER","Failed to extract prior messages from transcript",{transcriptPath:t},e),{userMessage:"",assistantMessage:""}}}function dE(t,e,r,n){if(!e.showLastMessage||t.length===0)return{userMessage:"",assistantMessage:""};let i=t.find(c=>c.memory_session_id!==r);if(!i)return{userMessage:"",assistantMessage:""};let a=i.memory_session_id,o=Nfe(n),s=wU.default.join((0,$U.homedir)(),".claude","projects",o,`${a}.jsonl`);return jfe(s)}function TU(t,e){let r=e[0]?.id;return t.map((n,i)=>{let a=i===0?null:e[i+1];return{...n,displayEpoch:a?a.created_at_epoch:n.created_at_epoch,displayTime:a?a.created_at:n.created_at,shouldShowLink:n.id!==r}})}function pE(t,e){let r=[...t.map(n=>({type:"observation",data:n})),...e.map(n=>({type:"summary",data:n}))];return r.sort((n,i)=>{let a=n.type==="observation"?n.data.created_at_epoch:n.data.displayEpoch,o=i.type==="observation"?i.data.created_at_epoch:i.data.displayEpoch;return a-o}),r}function IU(t,e){return new Set(t.slice(0,e).map(r=>r.id))}var wU,$U,$g,fE=Ht(()=>{"use strict";wU=dt(require("path"),1),$U=require("os"),$g=require("fs");Re();Dd()});function PU(){let t=new Date,e=t.toLocaleDateString("en-CA"),r=t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}).toLowerCase().replace(" ",""),n=t.toLocaleTimeString("en-US",{timeZoneName:"short"}).split(" ").pop();return`${e} ${r} ${n}`}function OU(t){return[`# [${t}] recent context, ${PU()}`,""]}function RU(){return[`**Legend:** session-request | ${He.getInstance().getActiveMode().observation_types.map(r=>`${r.emoji} ${r.id}`).join(" | ")}`,""]}function CU(){return["**Column Key**:","- **Read**: Tokens to read this observation (cost to learn it now)","- **Work**: Tokens spent on work that produced this record ( research, building, deciding)",""]}function NU(){return["**Context Index:** This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.","","When you need implementation details, rationale, or debugging context:","- Use MCP tools (search, get_observations) to fetch full observations on-demand","- Critical types ( bugfix, decision) often need detailed fetching","- Trust this index over re-reading code for past decisions and learnings",""]}function jU(t,e){let r=[];if(r.push("**Context Economics**:"),r.push(`- Loading: ${t.totalObservations} observations (${t.totalReadTokens.toLocaleString()} tokens to read)`),r.push(`- Work investment: ${t.totalDiscoveryTokens.toLocaleString()} tokens spent on research, building, and decisions`),t.totalDiscoveryTokens>0&&(e.showSavingsAmount||e.showSavingsPercent)){let n="- Your savings: ";e.showSavingsAmount&&e.showSavingsPercent?n+=`${t.savings.toLocaleString()} tokens (${t.savingsPercent}% reduction from reuse)`:e.showSavingsAmount?n+=`${t.savings.toLocaleString()} tokens`:n+=`${t.savingsPercent}% reduction from reuse`,r.push(n)}return r.push(""),r}function AU(t){return[`### ${t}`,""]}function MU(t){return[`**${t}**`,"| ID | Time | T | Title | Read | Work |","|----|------|---|-------|------|------|"]}function DU(t,e,r){let n=t.title||"Untitled",i=He.getInstance().getTypeIcon(t.type),{readTokens:a,discoveryDisplay:o}=Ic(t,r),s=r.showReadTokens?`~${a}`:"",c=r.showWorkTokens?o:"";return`| #${t.id} | ${e||'"'} | ${i} | ${n} | ${s} | ${c} |`}function zU(t,e,r,n){let i=[],a=t.title||"Untitled",o=He.getInstance().getTypeIcon(t.type),{readTokens:s,discoveryDisplay:c}=Ic(t,n);i.push(`**#${t.id}** ${e||'"'} ${o} **${a}**`),r&&(i.push(""),i.push(r),i.push(""));let u=[];return n.showReadTokens&&u.push(`Read: ~${s}`),n.showWorkTokens&&u.push(`Work: ${c}`),u.length>0&&i.push(u.join(", ")),i.push(""),i}function UU(t,e){let r=`${t.request||"Session started"} (${e})`;return[`**#S${t.id}** ${r}`,""]}function zd(t,e){return e?[`**${t}**: ${e}`,""]:[]}function LU(t){return t.assistantMessage?["","---","","**Previously**","",`A: ${t.assistantMessage}`,""]:[]}function qU(t,e){return["",`Access ${Math.round(t/1e3)}k tokens of past research & decisions for just ${e.toLocaleString()}t. Use MCP search tools to access memories by ID.`]}function FU(t){return`# [${t}] recent context, ${PU()} -No previous sessions found for this project yet.`}var Pc=Ht(()=>{"use strict";jr();ko()});function DU(){let t=new Date,e=t.toLocaleDateString("en-CA"),r=t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}).toLowerCase().replace(" ",""),n=t.toLocaleTimeString("en-US",{timeZoneName:"short"}).split(" ").pop();return`${e} ${r} ${n}`}function zU(t){return["",`${ne.bright}${ne.cyan}[${t}] recent context, ${DU()}${ne.reset}`,`${ne.gray}${"\u2500".repeat(60)}${ne.reset}`,""]}function UU(){let e=He.getInstance().getActiveMode().observation_types.map(r=>`${r.emoji} ${r.id}`).join(" | ");return[`${ne.dim}Legend: session-request | ${e}${ne.reset}`,""]}function qU(){return[`${ne.bright}Column Key${ne.reset}`,`${ne.dim} Read: Tokens to read this observation (cost to learn it now)${ne.reset}`,`${ne.dim} Work: Tokens spent on work that produced this record ( research, building, deciding)${ne.reset}`,""]}function LU(){return[`${ne.dim}Context Index: This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.${ne.reset}`,"",`${ne.dim}When you need implementation details, rationale, or debugging context:${ne.reset}`,`${ne.dim} - Use MCP tools (search, get_observations) to fetch full observations on-demand${ne.reset}`,`${ne.dim} - Critical types ( bugfix, decision) often need detailed fetching${ne.reset}`,`${ne.dim} - Trust this index over re-reading code for past decisions and learnings${ne.reset}`,""]}function FU(t,e){let r=[];if(r.push(`${ne.bright}${ne.cyan}Context Economics${ne.reset}`),r.push(`${ne.dim} Loading: ${t.totalObservations} observations (${t.totalReadTokens.toLocaleString()} tokens to read)${ne.reset}`),r.push(`${ne.dim} Work investment: ${t.totalDiscoveryTokens.toLocaleString()} tokens spent on research, building, and decisions${ne.reset}`),t.totalDiscoveryTokens>0&&(e.showSavingsAmount||e.showSavingsPercent)){let n=" Your savings: ";e.showSavingsAmount&&e.showSavingsPercent?n+=`${t.savings.toLocaleString()} tokens (${t.savingsPercent}% reduction from reuse)`:e.showSavingsAmount?n+=`${t.savings.toLocaleString()} tokens`:n+=`${t.savingsPercent}% reduction from reuse`,r.push(`${ne.green}${n}${ne.reset}`)}return r.push(""),r}function ZU(t){return[`${ne.bright}${ne.cyan}${t}${ne.reset}`,""]}function HU(t){return[`${ne.dim}${t}${ne.reset}`]}function BU(t,e,r,n){let i=t.title||"Untitled",a=He.getInstance().getTypeIcon(t.type),{readTokens:o,discoveryTokens:s,workEmoji:c}=Ic(t,n),u=r?`${ne.dim}${e}${ne.reset}`:" ".repeat(e.length),l=n.showReadTokens&&o>0?`${ne.dim}(~${o}t)${ne.reset}`:"",d=n.showWorkTokens&&s>0?`${ne.dim}(${c} ${s.toLocaleString()}t)${ne.reset}`:"";return` ${ne.dim}#${t.id}${ne.reset} ${u} ${a} ${i} ${l} ${d}`}function VU(t,e,r,n,i){let a=[],o=t.title||"Untitled",s=He.getInstance().getTypeIcon(t.type),{readTokens:c,discoveryTokens:u,workEmoji:l}=Ic(t,i),d=r?`${ne.dim}${e}${ne.reset}`:" ".repeat(e.length),p=i.showReadTokens&&c>0?`${ne.dim}(~${c}t)${ne.reset}`:"",f=i.showWorkTokens&&u>0?`${ne.dim}(${l} ${u.toLocaleString()}t)${ne.reset}`:"";return a.push(` ${ne.dim}#${t.id}${ne.reset} ${d} ${s} ${ne.bright}${o}${ne.reset}`),n&&a.push(` ${ne.dim}${n}${ne.reset}`),(p||f)&&a.push(` ${p} ${f}`),a.push(""),a}function GU(t,e){let r=`${t.request||"Session started"} (${e})`;return[`${ne.yellow}#S${t.id}${ne.reset} ${r}`,""]}function Ud(t,e,r){return e?[`${r}${t}:${ne.reset} ${e}`,""]:[]}function WU(t){return t.assistantMessage?["","---","",`${ne.bright}${ne.magenta}Previously${ne.reset}`,"",`${ne.dim}A: ${t.assistantMessage}${ne.reset}`,""]:[]}function KU(t,e){let r=Math.round(t/1e3);return["",`${ne.dim}Access ${r}k tokens of past research & decisions for just ${e.toLocaleString()}t. Use MCP search tools to access memories by ID.${ne.reset}`]}function JU(t){return` -${ne.bright}${ne.cyan}[${t}] recent context, ${DU()}${ne.reset} +No previous sessions found for this project yet.`}var Pc=Ht(()=>{"use strict";jr();ko()});function ZU(){let t=new Date,e=t.toLocaleDateString("en-CA"),r=t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}).toLowerCase().replace(" ",""),n=t.toLocaleTimeString("en-US",{timeZoneName:"short"}).split(" ").pop();return`${e} ${r} ${n}`}function HU(t){return["",`${ne.bright}${ne.cyan}[${t}] recent context, ${ZU()}${ne.reset}`,`${ne.gray}${"\u2500".repeat(60)}${ne.reset}`,""]}function BU(){let e=He.getInstance().getActiveMode().observation_types.map(r=>`${r.emoji} ${r.id}`).join(" | ");return[`${ne.dim}Legend: session-request | ${e}${ne.reset}`,""]}function VU(){return[`${ne.bright}Column Key${ne.reset}`,`${ne.dim} Read: Tokens to read this observation (cost to learn it now)${ne.reset}`,`${ne.dim} Work: Tokens spent on work that produced this record ( research, building, deciding)${ne.reset}`,""]}function GU(){return[`${ne.dim}Context Index: This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.${ne.reset}`,"",`${ne.dim}When you need implementation details, rationale, or debugging context:${ne.reset}`,`${ne.dim} - Use MCP tools (search, get_observations) to fetch full observations on-demand${ne.reset}`,`${ne.dim} - Critical types ( bugfix, decision) often need detailed fetching${ne.reset}`,`${ne.dim} - Trust this index over re-reading code for past decisions and learnings${ne.reset}`,""]}function WU(t,e){let r=[];if(r.push(`${ne.bright}${ne.cyan}Context Economics${ne.reset}`),r.push(`${ne.dim} Loading: ${t.totalObservations} observations (${t.totalReadTokens.toLocaleString()} tokens to read)${ne.reset}`),r.push(`${ne.dim} Work investment: ${t.totalDiscoveryTokens.toLocaleString()} tokens spent on research, building, and decisions${ne.reset}`),t.totalDiscoveryTokens>0&&(e.showSavingsAmount||e.showSavingsPercent)){let n=" Your savings: ";e.showSavingsAmount&&e.showSavingsPercent?n+=`${t.savings.toLocaleString()} tokens (${t.savingsPercent}% reduction from reuse)`:e.showSavingsAmount?n+=`${t.savings.toLocaleString()} tokens`:n+=`${t.savingsPercent}% reduction from reuse`,r.push(`${ne.green}${n}${ne.reset}`)}return r.push(""),r}function KU(t){return[`${ne.bright}${ne.cyan}${t}${ne.reset}`,""]}function JU(t){return[`${ne.dim}${t}${ne.reset}`]}function XU(t,e,r,n){let i=t.title||"Untitled",a=He.getInstance().getTypeIcon(t.type),{readTokens:o,discoveryTokens:s,workEmoji:c}=Ic(t,n),u=r?`${ne.dim}${e}${ne.reset}`:" ".repeat(e.length),l=n.showReadTokens&&o>0?`${ne.dim}(~${o}t)${ne.reset}`:"",d=n.showWorkTokens&&s>0?`${ne.dim}(${c} ${s.toLocaleString()}t)${ne.reset}`:"";return` ${ne.dim}#${t.id}${ne.reset} ${u} ${a} ${i} ${l} ${d}`}function YU(t,e,r,n,i){let a=[],o=t.title||"Untitled",s=He.getInstance().getTypeIcon(t.type),{readTokens:c,discoveryTokens:u,workEmoji:l}=Ic(t,i),d=r?`${ne.dim}${e}${ne.reset}`:" ".repeat(e.length),p=i.showReadTokens&&c>0?`${ne.dim}(~${c}t)${ne.reset}`:"",f=i.showWorkTokens&&u>0?`${ne.dim}(${l} ${u.toLocaleString()}t)${ne.reset}`:"";return a.push(` ${ne.dim}#${t.id}${ne.reset} ${d} ${s} ${ne.bright}${o}${ne.reset}`),n&&a.push(` ${ne.dim}${n}${ne.reset}`),(p||f)&&a.push(` ${p} ${f}`),a.push(""),a}function QU(t,e){let r=`${t.request||"Session started"} (${e})`;return[`${ne.yellow}#S${t.id}${ne.reset} ${r}`,""]}function Ud(t,e,r){return e?[`${r}${t}:${ne.reset} ${e}`,""]:[]}function eL(t){return t.assistantMessage?["","---","",`${ne.bright}${ne.magenta}Previously${ne.reset}`,"",`${ne.dim}A: ${t.assistantMessage}${ne.reset}`,""]:[]}function tL(t,e){let r=Math.round(t/1e3);return["",`${ne.dim}Access ${r}k tokens of past research & decisions for just ${e.toLocaleString()}t. Use MCP search tools to access memories by ID.${ne.reset}`]}function rL(t){return` +${ne.bright}${ne.cyan}[${t}] recent context, ${ZU()}${ne.reset} ${ne.gray}${"\u2500".repeat(60)}${ne.reset} ${ne.dim}No previous sessions found for this project yet.${ne.reset} -`}var Oc=Ht(()=>{"use strict";Dd();jr();ko()});function XU(t,e,r,n){let i=[];return n?i.push(...zU(t)):i.push(...$U(t)),n?i.push(...UU()):i.push(...EU()),n?i.push(...qU()):i.push(...kU()),n?i.push(...LU()):i.push(...TU()),wg(r)&&(n?i.push(...FU(e,r)):i.push(...IU(e,r))),i}var YU=Ht(()=>{"use strict";ko();Pc();Oc()});function jfe(t){let e=new Map;for(let n of t){let i=n.type==="observation"?n.data.created_at:n.data.displayTime,a=Ui(i);e.has(a)||e.set(a,[]),e.get(a).push(n)}let r=Array.from(e.entries()).sort((n,i)=>{let a=new Date(n[0]).getTime(),o=new Date(i[0]).getTime();return a-o});return new Map(r)}function Afe(t,e){return e.fullObservationField==="narrative"?t.narrative:t.facts?Eh(t.facts).join(` -`):null}function Mfe(t,e,r,n,i,a){let o=[];a?o.push(...ZU(t)):o.push(...PU(t));let s=null,c="",u=!1;for(let l of e)if(l.type==="summary"){u&&(o.push(""),u=!1,s=null,c="");let d=l.data,p=kn(d.displayTime);a?o.push(...GU(d,p)):o.push(...NU(d,p))}else{let d=l.data,p=Vn(d.files_modified,i,d.files_read),f=Ar(d.created_at),h=f!==c,_=h?f:"";c=f;let g=r.has(d.id);if(p!==s&&(u&&o.push(""),a?o.push(...HU(p)):o.push(...OU(p)),s=p,u=!0),g){let m=Afe(d,n);a?o.push(...VU(d,f,h,m,n)):(u&&!a&&(o.push(""),u=!1),o.push(...CU(d,_,m,n)),s=null)}else a?o.push(BU(d,f,h,n)):o.push(RU(d,_,n))}return u&&o.push(""),o}function QU(t,e,r,n,i){let a=[],o=jfe(t);for(let[s,c]of o)a.push(...Mfe(s,c,e,r,n,i));return a}var eq=Ht(()=>{"use strict";nc();Pc();Oc()});function tq(t,e,r){return!(!t.showLastSummary||!e||!!!(e.investigated||e.learned||e.completed||e.next_steps)||r&&e.created_at_epoch<=r.created_at_epoch)}function rq(t,e){let r=[];return e?(r.push(...Ud("Investigated",t.investigated,ne.blue)),r.push(...Ud("Learned",t.learned,ne.yellow)),r.push(...Ud("Completed",t.completed,ne.green)),r.push(...Ud("Next Steps",t.next_steps,ne.magenta))):(r.push(...zd("Investigated",t.investigated)),r.push(...zd("Learned",t.learned)),r.push(...zd("Completed",t.completed)),r.push(...zd("Next Steps",t.next_steps))),r}var nq=Ht(()=>{"use strict";Dd();Pc();Oc()});function iq(t,e){return e?WU(t):jU(t)}function aq(t,e,r){return!wg(e)||t.totalDiscoveryTokens<=0||t.savings<=0?[]:r?KU(t.totalDiscoveryTokens,t.totalReadTokens):AU(t.totalDiscoveryTokens,t.totalReadTokens)}var oq=Ht(()=>{"use strict";ko();Pc();Oc()});function zfe(){try{return new ba}catch(t){if(t.code==="ERR_DLOPEN_FAILED"){try{(0,uq.unlinkSync)(Dfe)}catch(e){k.debug("SYSTEM","Marker file cleanup failed (may not exist)",{},e)}return k.error("SYSTEM","Native module rebuild needed - restart Claude Code to auto-fix"),null}throw t}}function Ufe(t,e){return e?JU(t):MU(t)}function qfe(t,e,r,n,i,a,o){let s=[],c=sE(e);s.push(...XU(t,c,n,o));let u=r.slice(0,n.sessionCount),l=xU(u,r),d=dE(e,l),p=SU(e,n.fullObservationCount);s.push(...QU(d,p,n,i,o));let f=r[0],h=e[0];tq(n,f,h)&&s.push(...rq(f,o));let _=lE(e,n,a,i);return s.push(...iq(_,o)),s.push(...aq(c,n,o)),s.join(` -`).trimEnd()}async function fE(t,e=!1){let r=nE(),n=t?.cwd??process.cwd(),i=pU(n),a=t?.projects||[i],o=zfe();if(!o)return"";try{let s=a.length>1?_U(o,a,r):cE(o,i,r),c=a.length>1?bU(o,a,r):uE(o,i,r);return s.length===0&&c.length===0?Ufe(i,e):qfe(i,s,c,r,n,t?.session_id,e)}finally{o.close()}}var sq,cq,uq,Dfe,lq=Ht(()=>{"use strict";sq=dt(require("path"),1),cq=require("os"),uq=require("fs");gh();Re();fU();iE();ko();pE();YU();eq();nq();oq();Pc();Oc();Dfe=sq.default.join((0,cq.homedir)(),".claude","plugins","marketplaces","thedotmack","plugin",".install-version")});var dq=Ht(()=>{"use strict";lq();iE();ko();pE()});var mE={};Cn(mE,{generateContext:()=>fE});var hE=Ht(()=>{"use strict";dq()});var Hfe={};Cn(Hfe,{WorkerService:()=>Cg,updateCursorContextForProject:()=>hh});module.exports=Zd(Hfe);var gq=dt(require("path"),1);var Xe;(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function r(i){throw new Error}t.assertNever=r,t.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},t.getValidEnumValues=i=>{let a=t.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return t.objectValues(o)},t.objectValues=i=>t.objectKeys(i).map(function(a){return i[a]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},t.find=(i,a)=>{for(let o of i)if(a(o))return o},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}t.joinValues=n,t.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(Xe||(Xe={}));var xE;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(xE||(xE={}));var ue=Xe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),bi=t=>{switch(typeof t){case"undefined":return ue.undefined;case"string":return ue.string;case"number":return Number.isNaN(t)?ue.nan:ue.number;case"boolean":return ue.boolean;case"function":return ue.function;case"bigint":return ue.bigint;case"symbol":return ue.symbol;case"object":return Array.isArray(t)?ue.array:t===null?ue.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?ue.promise:typeof Map<"u"&&t instanceof Map?ue.map:typeof Set<"u"&&t instanceof Set?ue.set:typeof Date<"u"&&t instanceof Date?ue.date:ue.object;default:return ue.unknown}};var Q=Xe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var Qr=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,c=0;for(;cr.message){let r=Object.create(null),n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(e(i))}else n.push(e(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Qr.create=t=>new Qr(t);var Sq=(t,e)=>{let r;switch(t.code){case Q.invalid_type:t.received===ue.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case Q.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Xe.jsonStringifyReplacer)}`;break;case Q.unrecognized_keys:r=`Unrecognized key(s) in object: ${Xe.joinValues(t.keys,", ")}`;break;case Q.invalid_union:r="Invalid input";break;case Q.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Xe.joinValues(t.options)}`;break;case Q.invalid_enum_value:r=`Invalid enum value. Expected ${Xe.joinValues(t.options)}, received '${t.received}'`;break;case Q.invalid_arguments:r="Invalid function arguments";break;case Q.invalid_return_type:r="Invalid function return type";break;case Q.invalid_date:r="Invalid date";break;case Q.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:Xe.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case Q.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case Q.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case Q.custom:r="Invalid input";break;case Q.invalid_intersection_types:r="Intersection results could not be merged";break;case Q.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case Q.not_finite:r="Number must be finite";break;default:r=e.defaultError,Xe.assertNever(t)}return{message:r}},Gi=Sq;var wq=Gi;function Nc(){return wq}var Hd=t=>{let{data:e,path:r,errorMaps:n,issueData:i}=t,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)s=u(o,{data:e,defaultError:s}).message;return{...i,path:a,message:s}};function ae(t,e){let r=Nc(),n=Hd({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Gi?void 0:Gi].filter(i=>!!i)});t.common.issues.push(n)}var hr=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let i of r){if(i.status==="aborted")return Te;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return Te;a.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:e.value,value:n}}},Te=Object.freeze({status:"aborted"}),Oo=t=>({status:"dirty",value:t}),$r=t=>({status:"valid",value:t}),jg=t=>t.status==="aborted",Ag=t=>t.status==="dirty",Ra=t=>t.status==="valid",jc=t=>typeof Promise<"u"&&t instanceof Promise;var he;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(he||(he={}));var ln=class{constructor(e,r,n,i){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},SE=(t,e)=>{if(Ra(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Qr(t.common.issues);return this._error=r,this._error}}};function Me(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:i}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,s)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??s.defaultError}:typeof s.data>"u"?{message:c??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:c??r??s.defaultError}},description:i}}var Fe=class{get description(){return this._def.description}_getType(e){return bi(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:bi(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new hr,ctx:{common:e.parent.common,data:e.data,parsedType:bi(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(jc(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:bi(e)},i=this._parseSync({data:e,path:n.path,parent:n});return SE(n,i)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:bi(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Ra(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>Ra(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:bi(e)},i=this._parse({data:e,path:n.path,parent:n}),a=await(jc(i)?i:Promise.resolve(i));return SE(n,a)}refine(e,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=e(i),s=()=>a.addIssue({code:Q.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(e,r){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(e){return new jn({schema:this,typeName:we.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Nn.create(this,this._def)}nullable(){return wi.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ki.create(this)}promise(){return Ca.create(this,this._def)}or(e){return Ao.create([this,e],this._def)}and(e){return Mo.create(this,e,this._def)}transform(e){return new jn({...Me(this._def),schema:this,typeName:we.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Lo({...Me(this._def),innerType:this,defaultValue:r,typeName:we.ZodDefault})}brand(){return new Bd({typeName:we.ZodBranded,type:this,...Me(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Fo({...Me(this._def),innerType:this,catchValue:r,typeName:we.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Vd.create(this,e)}readonly(){return Zo.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},$q=/^c[^\s-]{8,}$/i,Eq=/^[0-9a-z]+$/,kq=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Tq=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Iq=/^[a-z0-9_-]{21}$/i,Pq=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Oq=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rq=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Cq="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Mg,Nq=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,jq=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Aq=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Mq=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Dq=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,zq=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,wE="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Uq=new RegExp(`^${wE}$`);function $E(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function qq(t){return new RegExp(`^${$E(t)}$`)}function Lq(t){let e=`${wE}T${$E(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Fq(t,e){return!!((e==="v4"||!e)&&Nq.test(t)||(e==="v6"||!e)&&Aq.test(t))}function Zq(t,e){if(!Pq.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function Hq(t,e){return!!((e==="v4"||!e)&&jq.test(t)||(e==="v6"||!e)&&Mq.test(t))}var Co=class t extends Fe{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ue.string){let a=this._getOrReturnCtx(e);return ae(a,{code:Q.invalid_type,expected:ue.string,received:a.parsedType}),Te}let n=new hr,i;for(let a of this._def.checks)if(a.kind==="min")e.data.lengtha.value&&(i=this._getOrReturnCtx(e,i),ae(i,{code:Q.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=e.data.length>a.value,s=e.data.lengthe.test(i),{validation:r,code:Q.invalid_string,...he.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...he.errToObj(e)})}url(e){return this._addCheck({kind:"url",...he.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...he.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...he.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...he.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...he.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...he.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...he.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...he.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...he.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...he.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...he.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...he.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...he.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...he.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...he.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...he.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...he.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...he.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...he.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...he.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...he.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...he.errToObj(r)})}nonempty(e){return this.min(1,he.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Co({checks:[],typeName:we.ZodString,coerce:t?.coerce??!1,...Me(t)});function Bq(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}var Ac=class t extends Fe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==ue.number){let a=this._getOrReturnCtx(e);return ae(a,{code:Q.invalid_type,expected:ue.number,received:a.parsedType}),Te}let n,i=new hr;for(let a of this._def.checks)a.kind==="int"?Xe.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?Bq(e.data,a.value)!==0&&(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.not_finite,message:a.message}),i.dirty()):Xe.assertNever(a);return{status:i.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,he.toString(r))}gt(e,r){return this.setLimit("min",e,!1,he.toString(r))}lte(e,r){return this.setLimit("max",e,!0,he.toString(r))}lt(e,r){return this.setLimit("max",e,!1,he.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:he.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:he.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:he.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:he.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:he.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:he.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:he.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:he.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:he.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:he.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&Xe.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew Ac({checks:[],typeName:we.ZodNumber,coerce:t?.coerce||!1,...Me(t)});var Mc=class t extends Fe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==ue.bigint)return this._getInvalidInput(e);let n,i=new hr;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):Xe.assertNever(a);return{status:i.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return ae(r,{code:Q.invalid_type,expected:ue.bigint,received:r.parsedType}),Te}gte(e,r){return this.setLimit("min",e,!0,he.toString(r))}gt(e,r){return this.setLimit("min",e,!1,he.toString(r))}lte(e,r){return this.setLimit("max",e,!0,he.toString(r))}lt(e,r){return this.setLimit("max",e,!1,he.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:he.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:he.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:he.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:he.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:he.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:he.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Mc({checks:[],typeName:we.ZodBigInt,coerce:t?.coerce??!1,...Me(t)});var Dc=class extends Fe{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==ue.boolean){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.boolean,received:n.parsedType}),Te}return $r(e.data)}};Dc.create=t=>new Dc({typeName:we.ZodBoolean,coerce:t?.coerce||!1,...Me(t)});var zc=class t extends Fe{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ue.date){let a=this._getOrReturnCtx(e);return ae(a,{code:Q.invalid_type,expected:ue.date,received:a.parsedType}),Te}if(Number.isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return ae(a,{code:Q.invalid_date}),Te}let n=new hr,i;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()a.value&&(i=this._getOrReturnCtx(e,i),ae(i,{code:Q.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):Xe.assertNever(a);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:he.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:he.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew zc({checks:[],coerce:t?.coerce||!1,typeName:we.ZodDate,...Me(t)});var Uc=class extends Fe{_parse(e){if(this._getType(e)!==ue.symbol){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.symbol,received:n.parsedType}),Te}return $r(e.data)}};Uc.create=t=>new Uc({typeName:we.ZodSymbol,...Me(t)});var No=class extends Fe{_parse(e){if(this._getType(e)!==ue.undefined){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.undefined,received:n.parsedType}),Te}return $r(e.data)}};No.create=t=>new No({typeName:we.ZodUndefined,...Me(t)});var jo=class extends Fe{_parse(e){if(this._getType(e)!==ue.null){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.null,received:n.parsedType}),Te}return $r(e.data)}};jo.create=t=>new jo({typeName:we.ZodNull,...Me(t)});var qc=class extends Fe{constructor(){super(...arguments),this._any=!0}_parse(e){return $r(e.data)}};qc.create=t=>new qc({typeName:we.ZodAny,...Me(t)});var Wi=class extends Fe{constructor(){super(...arguments),this._unknown=!0}_parse(e){return $r(e.data)}};Wi.create=t=>new Wi({typeName:we.ZodUnknown,...Me(t)});var ei=class extends Fe{_parse(e){let r=this._getOrReturnCtx(e);return ae(r,{code:Q.invalid_type,expected:ue.never,received:r.parsedType}),Te}};ei.create=t=>new ei({typeName:we.ZodNever,...Me(t)});var Lc=class extends Fe{_parse(e){if(this._getType(e)!==ue.undefined){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.void,received:n.parsedType}),Te}return $r(e.data)}};Lc.create=t=>new Lc({typeName:we.ZodVoid,...Me(t)});var Ki=class t extends Fe{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),i=this._def;if(r.parsedType!==ue.array)return ae(r,{code:Q.invalid_type,expected:ue.array,received:r.parsedType}),Te;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.lengthi.maxLength.value&&(ae(r,{code:Q.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new ln(r,o,r.path,s)))).then(o=>hr.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new ln(r,o,r.path,s)));return hr.mergeArray(n,a)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:he.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:he.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:he.toString(r)}})}nonempty(e){return this.min(1,e)}};Ki.create=(t,e)=>new Ki({type:t,minLength:null,maxLength:null,exactLength:null,typeName:we.ZodArray,...Me(e)});function Ro(t){if(t instanceof en){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Nn.create(Ro(n))}return new en({...t._def,shape:()=>e})}else return t instanceof Ki?new Ki({...t._def,type:Ro(t.element)}):t instanceof Nn?Nn.create(Ro(t.unwrap())):t instanceof wi?wi.create(Ro(t.unwrap())):t instanceof Si?Si.create(t.items.map(e=>Ro(e))):t}var en=class t extends Fe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=Xe.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==ue.object){let u=this._getOrReturnCtx(e);return ae(u,{code:Q.invalid_type,expected:ue.object,received:u.parsedType}),Te}let{status:n,ctx:i}=this._processInputParams(e),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof ei&&this._def.unknownKeys==="strip"))for(let u in i.data)o.includes(u)||s.push(u);let c=[];for(let u of o){let l=a[u],d=i.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new ln(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof ei){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of s)c.push({key:{status:"valid",value:l},value:{status:"valid",value:i.data[l]}});else if(u==="strict")s.length>0&&(ae(i,{code:Q.unrecognized_keys,keys:s}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of s){let d=i.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new ln(i,d,i.path,l)),alwaysSet:l in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,p=await l.value;u.push({key:d,value:p,alwaysSet:l.alwaysSet})}return u}).then(u=>hr.mergeObjectSync(n,u)):hr.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return he.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:he.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:we.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of Xe.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of Xe.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Ro(this)}partial(e){let r={};for(let n of Xe.objectKeys(this.shape)){let i=this.shape[n];e&&!e[n]?r[n]=i:r[n]=i.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of Xe.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof Nn;)a=a._def.innerType;r[n]=a}return new t({...this._def,shape:()=>r})}keyof(){return EE(Xe.objectKeys(this.shape))}};en.create=(t,e)=>new en({shape:()=>t,unknownKeys:"strip",catchall:ei.create(),typeName:we.ZodObject,...Me(e)});en.strictCreate=(t,e)=>new en({shape:()=>t,unknownKeys:"strict",catchall:ei.create(),typeName:we.ZodObject,...Me(e)});en.lazycreate=(t,e)=>new en({shape:t,unknownKeys:"strip",catchall:ei.create(),typeName:we.ZodObject,...Me(e)});var Ao=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new Qr(s.ctx.common.issues));return ae(r,{code:Q.invalid_union,unionErrors:o}),Te}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!a&&(a={result:l,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(c=>new Qr(c));return ae(r,{code:Q.invalid_union,unionErrors:s}),Te}}get options(){return this._def.options}};Ao.create=(t,e)=>new Ao({options:t,typeName:we.ZodUnion,...Me(e)});var xi=t=>t instanceof Do?xi(t.schema):t instanceof jn?xi(t.innerType()):t instanceof zo?[t.value]:t instanceof Uo?t.options:t instanceof qo?Xe.objectValues(t.enum):t instanceof Lo?xi(t._def.innerType):t instanceof No?[void 0]:t instanceof jo?[null]:t instanceof Nn?[void 0,...xi(t.unwrap())]:t instanceof wi?[null,...xi(t.unwrap())]:t instanceof Bd||t instanceof Zo?xi(t.unwrap()):t instanceof Fo?xi(t._def.innerType):[],Dg=class t extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ue.object)return ae(r,{code:Q.invalid_type,expected:ue.object,received:r.parsedType}),Te;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(ae(r,{code:Q.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Te)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let i=new Map;for(let a of r){let o=xi(a.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);i.set(s,a)}}return new t({typeName:we.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:i,...Me(n)})}};function zg(t,e){let r=bi(t),n=bi(e);if(t===e)return{valid:!0,data:t};if(r===ue.object&&n===ue.object){let i=Xe.objectKeys(e),a=Xe.objectKeys(t).filter(s=>i.indexOf(s)!==-1),o={...t,...e};for(let s of a){let c=zg(t[s],e[s]);if(!c.valid)return{valid:!1};o[s]=c.data}return{valid:!0,data:o}}else if(r===ue.array&&n===ue.array){if(t.length!==e.length)return{valid:!1};let i=[];for(let a=0;a{if(jg(a)||jg(o))return Te;let s=zg(a.value,o.value);return s.valid?((Ag(a)||Ag(o))&&r.dirty(),{status:r.value,value:s.data}):(ae(n,{code:Q.invalid_intersection_types}),Te)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Mo.create=(t,e,r)=>new Mo({left:t,right:e,typeName:we.ZodIntersection,...Me(r)});var Si=class t extends Fe{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==ue.array)return ae(n,{code:Q.invalid_type,expected:ue.array,received:n.parsedType}),Te;if(n.data.lengththis._def.items.length&&(ae(n,{code:Q.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let c=this._def.items[s]||this._def.rest;return c?c._parse(new ln(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>hr.mergeArray(r,o)):hr.mergeArray(r,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Si.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Si({items:t,typeName:we.ZodTuple,rest:null,...Me(e)})};var Ug=class t extends Fe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==ue.object)return ae(n,{code:Q.invalid_type,expected:ue.object,received:n.parsedType}),Te;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new ln(n,s,n.path,s)),value:o._parse(new ln(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?hr.mergeObjectAsync(r,i):hr.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof Fe?new t({keyType:e,valueType:r,typeName:we.ZodRecord,...Me(n)}):new t({keyType:Co.create(),valueType:e,typeName:we.ZodRecord,...Me(r)})}},Fc=class extends Fe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==ue.map)return ae(n,{code:Q.invalid_type,expected:ue.map,received:n.parsedType}),Te;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,c],u)=>({key:i._parse(new ln(n,s,n.path,[u,"key"])),value:a._parse(new ln(n,c,n.path,[u,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return Te;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let c of o){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return Te;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}}}};Fc.create=(t,e,r)=>new Fc({valueType:e,keyType:t,typeName:we.ZodMap,...Me(r)});var Zc=class t extends Fe{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==ue.set)return ae(n,{code:Q.invalid_type,expected:ue.set,received:n.parsedType}),Te;let i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(ae(n,{code:Q.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(c){let u=new Set;for(let l of c){if(l.status==="aborted")return Te;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let s=[...n.data.values()].map((c,u)=>a._parse(new ln(n,c,n.path,u)));return n.common.async?Promise.all(s).then(c=>o(c)):o(s)}min(e,r){return new t({...this._def,minSize:{value:e,message:he.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:he.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Zc.create=(t,e)=>new Zc({valueType:t,minSize:null,maxSize:null,typeName:we.ZodSet,...Me(e)});var qg=class t extends Fe{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ue.function)return ae(r,{code:Q.invalid_type,expected:ue.function,received:r.parsedType}),Te;function n(s,c){return Hd({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Nc(),Gi].filter(u=>!!u),issueData:{code:Q.invalid_arguments,argumentsError:c}})}function i(s,c){return Hd({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Nc(),Gi].filter(u=>!!u),issueData:{code:Q.invalid_return_type,returnTypeError:c}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof Ca){let s=this;return $r(async function(...c){let u=new Qr([]),l=await s._def.args.parseAsync(c,a).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(o,this,l);return await s._def.returns._def.type.parseAsync(d,a).catch(f=>{throw u.addIssue(i(d,f)),u})})}else{let s=this;return $r(function(...c){let u=s._def.args.safeParse(c,a);if(!u.success)throw new Qr([n(c,u.error)]);let l=Reflect.apply(o,this,u.data),d=s._def.returns.safeParse(l,a);if(!d.success)throw new Qr([i(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Si.create(e).rest(Wi.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Si.create([]).rest(Wi.create()),returns:r||Wi.create(),typeName:we.ZodFunction,...Me(n)})}},Do=class extends Fe{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Do.create=(t,e)=>new Do({getter:t,typeName:we.ZodLazy,...Me(e)});var zo=class extends Fe{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return ae(r,{received:r.data,code:Q.invalid_literal,expected:this._def.value}),Te}return{status:"valid",value:e.data}}get value(){return this._def.value}};zo.create=(t,e)=>new zo({value:t,typeName:we.ZodLiteral,...Me(e)});function EE(t,e){return new Uo({values:t,typeName:we.ZodEnum,...Me(e)})}var Uo=class t extends Fe{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return ae(r,{expected:Xe.joinValues(n),received:r.parsedType,code:Q.invalid_type}),Te}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return ae(r,{received:r.data,code:Q.invalid_enum_value,options:n}),Te}return $r(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Uo.create=EE;var qo=class extends Fe{_parse(e){let r=Xe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==ue.string&&n.parsedType!==ue.number){let i=Xe.objectValues(r);return ae(n,{expected:Xe.joinValues(i),received:n.parsedType,code:Q.invalid_type}),Te}if(this._cache||(this._cache=new Set(Xe.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=Xe.objectValues(r);return ae(n,{received:n.data,code:Q.invalid_enum_value,options:i}),Te}return $r(e.data)}get enum(){return this._def.values}};qo.create=(t,e)=>new qo({values:t,typeName:we.ZodNativeEnum,...Me(e)});var Ca=class extends Fe{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ue.promise&&r.common.async===!1)return ae(r,{code:Q.invalid_type,expected:ue.promise,received:r.parsedType}),Te;let n=r.parsedType===ue.promise?r.data:Promise.resolve(r.data);return $r(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Ca.create=(t,e)=>new Ca({type:t,typeName:we.ZodPromise,...Me(e)});var jn=class extends Fe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===we.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:o=>{ae(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return Te;let c=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return c.status==="aborted"?Te:c.status==="dirty"?Oo(c.value):r.value==="dirty"?Oo(c.value):c});{if(r.value==="aborted")return Te;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?Te:s.status==="dirty"?Oo(s.value):r.value==="dirty"?Oo(s.value):s}}if(i.type==="refinement"){let o=s=>{let c=i.refinement(s,a);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Te:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?Te:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Ra(o))return Te;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>Ra(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):Te);Xe.assertNever(i)}};jn.create=(t,e,r)=>new jn({schema:t,typeName:we.ZodEffects,effect:e,...Me(r)});jn.createWithPreprocess=(t,e,r)=>new jn({schema:e,effect:{type:"preprocess",transform:t},typeName:we.ZodEffects,...Me(r)});var Nn=class extends Fe{_parse(e){return this._getType(e)===ue.undefined?$r(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Nn.create=(t,e)=>new Nn({innerType:t,typeName:we.ZodOptional,...Me(e)});var wi=class extends Fe{_parse(e){return this._getType(e)===ue.null?$r(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};wi.create=(t,e)=>new wi({innerType:t,typeName:we.ZodNullable,...Me(e)});var Lo=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===ue.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Lo.create=(t,e)=>new Lo({innerType:t,typeName:we.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Me(e)});var Fo=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return jc(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Qr(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Qr(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Fo.create=(t,e)=>new Fo({innerType:t,typeName:we.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Me(e)});var Hc=class extends Fe{_parse(e){if(this._getType(e)!==ue.nan){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.nan,received:n.parsedType}),Te}return{status:"valid",value:e.data}}};Hc.create=t=>new Hc({typeName:we.ZodNaN,...Me(t)});var Bd=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Vd=class t extends Fe{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Te:a.status==="dirty"?(r.dirty(),Oo(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Te:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:we.ZodPipeline})}},Zo=class extends Fe{_parse(e){let r=this._def.innerType._parse(e),n=i=>(Ra(i)&&(i.value=Object.freeze(i.value)),i);return jc(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};Zo.create=(t,e)=>new Zo({innerType:t,typeName:we.ZodReadonly,...Me(e)});var lme={object:en.lazycreate},we;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(we||(we={}));var dme=Co.create,pme=Ac.create,fme=Hc.create,mme=Mc.create,hme=Dc.create,gme=zc.create,vme=Uc.create,yme=No.create,_me=jo.create,bme=qc.create,xme=Wi.create,Sme=ei.create,wme=Lc.create,$me=Ki.create,Vq=en.create,Eme=en.strictCreate,kme=Ao.create,Tme=Dg.create,Ime=Mo.create,Pme=Si.create,Ome=Ug.create,Rme=Fc.create,Cme=Zc.create,Nme=qg.create,jme=Do.create,Ame=zo.create,Mme=Uo.create,Dme=qo.create,zme=Ca.create,Ume=jn.create,qme=Nn.create,Lme=wi.create,Fme=jn.createWithPreprocess,Zme=Vd.create;var kE=Object.freeze({status:"aborted"});function L(t,e,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:o,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let u=o.prototype,l=Object.keys(u);for(let d=0;dr?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(o,"name",{value:t}),o}var ti=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Na=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},Gd={};function tr(t){return t&&Object.assign(Gd,t),Gd}var ee={};Cn(ee,{BIGINT_FORMAT_RANGES:()=>Kg,Class:()=>Fg,NUMBER_FORMAT_RANGES:()=>Wg,aborted:()=>Qi,allowsEval:()=>Bg,assert:()=>Qq,assertEqual:()=>Kq,assertIs:()=>Xq,assertNever:()=>Yq,assertNotEqual:()=>Jq,assignProp:()=>Xi,base64ToUint8Array:()=>PE,base64urlToUint8Array:()=>gL,cached:()=>Bo,captureStackTrace:()=>Kd,cleanEnum:()=>hL,cleanRegex:()=>Gc,clone:()=>Er,cloneDef:()=>tL,createTransparentProxy:()=>sL,defineLazy:()=>qe,esc:()=>Wd,escapeRegex:()=>dn,extend:()=>lL,finalizeIssue:()=>Dr,floatSafeRemainder:()=>Zg,getElementAtPath:()=>rL,getEnumValues:()=>Vc,getLengthableOrigin:()=>Jc,getParsedType:()=>oL,getSizableOrigin:()=>Kc,hexToUint8Array:()=>yL,isObject:()=>ja,isPlainObject:()=>Yi,issue:()=>Vo,joinValues:()=>$e,jsonStringifyReplacer:()=>Ho,merge:()=>pL,mergeDefs:()=>$i,normalizeParams:()=>oe,nullish:()=>Ji,numKeys:()=>aL,objectClone:()=>eL,omit:()=>uL,optionalKeys:()=>Gg,parsedType:()=>Ie,partial:()=>fL,pick:()=>cL,prefixIssues:()=>tn,primitiveTypes:()=>Vg,promiseAllObject:()=>nL,propertyKeyTypes:()=>Wc,randomString:()=>iL,required:()=>mL,safeExtend:()=>dL,shallowClone:()=>IE,slugify:()=>Hg,stringifyPrimitive:()=>Ee,uint8ArrayToBase64:()=>OE,uint8ArrayToBase64url:()=>vL,uint8ArrayToHex:()=>_L,unwrapMessage:()=>Bc});function Kq(t){return t}function Jq(t){return t}function Xq(t){}function Yq(t){throw new Error("Unexpected value in exhaustive check")}function Qq(t){}function Vc(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}function $e(t,e="|"){return t.map(r=>Ee(r)).join(e)}function Ho(t,e){return typeof e=="bigint"?e.toString():e}function Bo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Ji(t){return t==null}function Gc(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Zg(t,e){let r=(t.toString().split(".")[1]||"").length,n=e.toString(),i=(n.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(n)){let c=n.match(/\d?e-(\d?)/);c?.[1]&&(i=Number.parseInt(c[1]))}let a=r>i?r:i,o=Number.parseInt(t.toFixed(a).replace(".","")),s=Number.parseInt(e.toFixed(a).replace(".",""));return o%s/10**a}var TE=Symbol("evaluating");function qe(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==TE)return n===void 0&&(n=TE,n=r()),n},set(i){Object.defineProperty(t,e,{value:i})},configurable:!0})}function eL(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function Xi(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function $i(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function tL(t){return $i(t._zod.def)}function rL(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function nL(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let i={};for(let a=0;a{};function ja(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Bg=Bo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Yi(t){if(ja(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(ja(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function IE(t){return Yi(t)?{...t}:Array.isArray(t)?[...t]:t}function aL(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var oL=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Wc=new Set(["string","number","symbol"]),Vg=new Set(["string","number","bigint","boolean","symbol","undefined"]);function dn(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Er(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function oe(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function sL(t){let e;return new Proxy({},{get(r,n,i){return e??(e=t()),Reflect.get(e,n,i)},set(r,n,i,a){return e??(e=t()),Reflect.set(e,n,i,a)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,i){return e??(e=t()),Reflect.defineProperty(e,n,i)}})}function Ee(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Gg(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Wg={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Kg={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function cL(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let a=$i(t._zod.def,{get shape(){let o={};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(o[s]=r.shape[s])}return Xi(this,"shape",o),o},checks:[]});return Er(t,a)}function uL(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let a=$i(t._zod.def,{get shape(){let o={...t._zod.def.shape};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete o[s]}return Xi(this,"shape",o),o},checks:[]});return Er(t,a)}function lL(t,e){if(!Yi(e))throw new Error("Invalid input to extend: expected a plain object");let r=t._zod.def.checks;if(r&&r.length>0){let a=t._zod.def.shape;for(let o in e)if(Object.getOwnPropertyDescriptor(a,o)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let i=$i(t._zod.def,{get shape(){let a={...t._zod.def.shape,...e};return Xi(this,"shape",a),a}});return Er(t,i)}function dL(t,e){if(!Yi(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=$i(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e};return Xi(this,"shape",n),n}});return Er(t,r)}function pL(t,e){let r=$i(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e._zod.def.shape};return Xi(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:[]});return Er(t,r)}function fL(t,e,r){let i=e._zod.def.checks;if(i&&i.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let o=$i(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(r)for(let u in r){if(!(u in s))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(c[u]=t?new t({type:"optional",innerType:s[u]}):s[u])}else for(let u in s)c[u]=t?new t({type:"optional",innerType:s[u]}):s[u];return Xi(this,"shape",c),c},checks:[]});return Er(e,o)}function mL(t,e,r){let n=$i(e._zod.def,{get shape(){let i=e._zod.def.shape,a={...i};if(r)for(let o in r){if(!(o in a))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(a[o]=new t({type:"nonoptional",innerType:i[o]}))}else for(let o in i)a[o]=new t({type:"nonoptional",innerType:i[o]});return Xi(this,"shape",a),a}});return Er(e,n)}function Qi(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function Bc(t){return typeof t=="string"?t:t?.message}function Dr(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let i=Bc(t.inst?._zod.def?.error?.(t))??Bc(e?.error?.(t))??Bc(r.customError?.(t))??Bc(r.localeError?.(t))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Kc(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Jc(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ie(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function Vo(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function hL(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function PE(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;ne.toString(16).padStart(2,"0")).join("")}var Fg=class{constructor(...e){}};var RE=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,Ho,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Jd=L("$ZodError",RE),Xc=L("$ZodError",RE,{Parent:Error});function Xd(t,e=r=>r.message){let r={},n=[];for(let i of t.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:r}}function Yd(t,e=r=>r.message){let r={_errors:[]},n=i=>{for(let a of i.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(o=>n({issues:o}));else if(a.code==="invalid_key")n({issues:a.issues});else if(a.code==="invalid_element")n({issues:a.issues});else if(a.path.length===0)r._errors.push(e(a));else{let o=r,s=0;for(;s(e,r,n,i)=>{let a=n?Object.assign(n,{async:!1}):{async:!1},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new ti;if(o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>Dr(c,a,tr())));throw Kd(s,i?.callee),s}return o.value},Qc=Yc(Xc),eu=t=>async(e,r,n,i)=>{let a=n?Object.assign(n,{async:!0}):{async:!0},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>Dr(c,a,tr())));throw Kd(s,i?.callee),s}return o.value},tu=eu(Xc),ru=t=>(e,r,n)=>{let i=n?{...n,async:!1}:{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new ti;return a.issues.length?{success:!1,error:new(t??Jd)(a.issues.map(o=>Dr(o,i,tr())))}:{success:!0,data:a.value}},Go=ru(Xc),nu=t=>async(e,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:r,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new t(a.issues.map(o=>Dr(o,i,tr())))}:{success:!0,data:a.value}},iu=nu(Xc),CE=t=>(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Yc(t)(e,r,i)};var NE=t=>(e,r,n)=>Yc(t)(e,r,n);var jE=t=>async(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return eu(t)(e,r,i)};var AE=t=>async(e,r,n)=>eu(t)(e,r,n);var ME=t=>(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return ru(t)(e,r,i)};var DE=t=>(e,r,n)=>ru(t)(e,r,n);var zE=t=>async(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return nu(t)(e,r,i)};var UE=t=>async(e,r,n)=>nu(t)(e,r,n);var pn={};Cn(pn,{base64:()=>dv,base64url:()=>Qd,bigint:()=>vv,boolean:()=>_v,browserEmail:()=>IL,cidrv4:()=>uv,cidrv6:()=>lv,cuid:()=>Jg,cuid2:()=>Xg,date:()=>fv,datetime:()=>hv,domain:()=>RL,duration:()=>rv,e164:()=>pv,email:()=>iv,emoji:()=>av,extendedDuration:()=>xL,guid:()=>nv,hex:()=>CL,hostname:()=>OL,html5Email:()=>EL,idnEmail:()=>TL,integer:()=>yv,ipv4:()=>ov,ipv6:()=>sv,ksuid:()=>ev,lowercase:()=>Sv,mac:()=>cv,md5_base64:()=>jL,md5_base64url:()=>AL,md5_hex:()=>NL,nanoid:()=>tv,null:()=>bv,number:()=>ep,rfc5322Email:()=>kL,sha1_base64:()=>DL,sha1_base64url:()=>zL,sha1_hex:()=>ML,sha256_base64:()=>qL,sha256_base64url:()=>LL,sha256_hex:()=>UL,sha384_base64:()=>ZL,sha384_base64url:()=>HL,sha384_hex:()=>FL,sha512_base64:()=>VL,sha512_base64url:()=>GL,sha512_hex:()=>BL,string:()=>gv,time:()=>mv,ulid:()=>Yg,undefined:()=>xv,unicodeEmail:()=>qE,uppercase:()=>wv,uuid:()=>Aa,uuid4:()=>SL,uuid6:()=>wL,uuid7:()=>$L,xid:()=>Qg});var Jg=/^[cC][^\s-]{8,}$/,Xg=/^[0-9a-z]+$/,Yg=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Qg=/^[0-9a-vA-V]{20}$/,ev=/^[A-Za-z0-9]{27}$/,tv=/^[a-zA-Z0-9_-]{21}$/,rv=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xL=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,nv=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Aa=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,SL=Aa(4),wL=Aa(6),$L=Aa(7),iv=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,EL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,kL=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,qE=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,TL=qE,IL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,PL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function av(){return new RegExp(PL,"u")}var ov=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,sv=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,cv=t=>{let e=dn(t??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},uv=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,lv=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,dv=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Qd=/^[A-Za-z0-9_-]*$/,OL=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,RL=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,pv=/^\+[1-9]\d{6,14}$/,LE="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",fv=new RegExp(`^${LE}$`);function FE(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function mv(t){return new RegExp(`^${FE(t)}$`)}function hv(t){let e=FE({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${LE}T(?:${n})$`)}var gv=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},vv=/^-?\d+n?$/,yv=/^-?\d+$/,ep=/^-?\d+(?:\.\d+)?$/,_v=/^(?:true|false)$/i,bv=/^null$/i;var xv=/^undefined$/i;var Sv=/^[^A-Z]*$/,wv=/^[^a-z]*$/,CL=/^[0-9a-fA-F]*$/;function au(t,e){return new RegExp(`^[A-Za-z0-9+/]{${t}}${e}$`)}function ou(t){return new RegExp(`^[A-Za-z0-9_-]{${t}}$`)}var NL=/^[0-9a-fA-F]{32}$/,jL=au(22,"=="),AL=ou(22),ML=/^[0-9a-fA-F]{40}$/,DL=au(27,"="),zL=ou(27),UL=/^[0-9a-fA-F]{64}$/,qL=au(43,"="),LL=ou(43),FL=/^[0-9a-fA-F]{96}$/,ZL=au(64,""),HL=ou(64),BL=/^[0-9a-fA-F]{128}$/,VL=au(86,"=="),GL=ou(86);var wt=L("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),HE={number:"number",bigint:"bigint",object:"date"},$v=L("$ZodCheckLessThan",(t,e)=>{wt.init(t,e);let r=HE[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{wt.init(t,e);let r=HE[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>a&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),BE=L("$ZodCheckMultipleOf",(t,e)=>{wt.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Zg(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),VE=L("$ZodCheckNumberFormat",(t,e)=>{wt.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[i,a]=Wg[e.format];t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,s.minimum=i,s.maximum=a,r&&(s.pattern=yv)}),t._zod.check=o=>{let s=o.value;if(r){if(!Number.isInteger(s)){o.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):o.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}sa&&o.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inclusive:!0,inst:t,continue:!e.abort})}}),GE=L("$ZodCheckBigIntFormat",(t,e)=>{wt.init(t,e);let[r,n]=Kg[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=r,a.maximum=n}),t._zod.check=i=>{let a=i.value;an&&i.issues.push({origin:"bigint",input:a,code:"too_big",maximum:n,inclusive:!0,inst:t,continue:!e.abort})}}),WE=L("$ZodCheckMaxSize",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Ji(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let i=n.value;i.size<=e.maximum||n.issues.push({origin:Kc(i),code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),KE=L("$ZodCheckMinSize",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Ji(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;i.size>=e.minimum||n.issues.push({origin:Kc(i),code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),JE=L("$ZodCheckSizeEquals",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Ji(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=e.size,i.maximum=e.size,i.size=e.size}),t._zod.check=n=>{let i=n.value,a=i.size;if(a===e.size)return;let o=a>e.size;n.issues.push({origin:Kc(i),...o?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),XE=L("$ZodCheckMaxLength",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Ji(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let i=n.value;if(i.length<=e.maximum)return;let o=Jc(i);n.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),YE=L("$ZodCheckMinLength",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Ji(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;if(i.length>=e.minimum)return;let o=Jc(i);n.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),QE=L("$ZodCheckLengthEquals",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Ji(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=e.length,i.maximum=e.length,i.length=e.length}),t._zod.check=n=>{let i=n.value,a=i.length;if(a===e.length)return;let o=Jc(i),s=a>e.length;n.issues.push({origin:o,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),su=L("$ZodCheckStringFormat",(t,e)=>{var r,n;wt.init(t,e),t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,e.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),ek=L("$ZodCheckRegex",(t,e)=>{su.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),tk=L("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Sv),su.init(t,e)}),rk=L("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=wv),su.init(t,e)}),nk=L("$ZodCheckIncludes",(t,e)=>{wt.init(t,e);let r=dn(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(i=>{let a=i._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(n)}),t._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:t,continue:!e.abort})}}),ik=L("$ZodCheckStartsWith",(t,e)=>{wt.init(t,e);let r=new RegExp(`^${dn(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),ak=L("$ZodCheckEndsWith",(t,e)=>{wt.init(t,e);let r=new RegExp(`.*${dn(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});function ZE(t,e,r){t.issues.length&&e.issues.push(...tn(r,t.issues))}var ok=L("$ZodCheckProperty",(t,e)=>{wt.init(t,e),t._zod.check=r=>{let n=e.schema._zod.run({value:r.value[e.property],issues:[]},{});if(n instanceof Promise)return n.then(i=>ZE(i,r,e.property));ZE(n,r,e.property)}}),sk=L("$ZodCheckMimeType",(t,e)=>{wt.init(t,e);let r=new Set(e.mime);t._zod.onattach.push(n=>{n._zod.bag.mime=e.mime}),t._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:e.mime,input:n.value.type,inst:t,continue:!e.abort})}}),ck=L("$ZodCheckOverwrite",(t,e)=>{wt.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var tp=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` +`}var Oc=Ht(()=>{"use strict";Dd();jr();ko()});function nL(t,e,r,n){let i=[];return n?i.push(...HU(t)):i.push(...OU(t)),n?i.push(...BU()):i.push(...RU()),n?i.push(...VU()):i.push(...CU()),n?i.push(...GU()):i.push(...NU()),wg(r)&&(n?i.push(...WU(e,r)):i.push(...jU(e,r))),i}var iL=Ht(()=>{"use strict";ko();Pc();Oc()});function Afe(t){let e=new Map;for(let n of t){let i=n.type==="observation"?n.data.created_at:n.data.displayTime,a=Li(i);e.has(a)||e.set(a,[]),e.get(a).push(n)}let r=Array.from(e.entries()).sort((n,i)=>{let a=new Date(n[0]).getTime(),o=new Date(i[0]).getTime();return a-o});return new Map(r)}function Mfe(t,e){return e.fullObservationField==="narrative"?t.narrative:t.facts?Eh(t.facts).join(` +`):null}function Dfe(t,e,r,n,i,a){let o=[];a?o.push(...KU(t)):o.push(...AU(t));let s=null,c="",u=!1;for(let l of e)if(l.type==="summary"){u&&(o.push(""),u=!1,s=null,c="");let d=l.data,p=kn(d.displayTime);a?o.push(...QU(d,p)):o.push(...UU(d,p))}else{let d=l.data,p=Vn(d.files_modified,i,d.files_read),f=Ar(d.created_at),h=f!==c,_=h?f:"";c=f;let g=r.has(d.id);if(p!==s&&(u&&o.push(""),a?o.push(...JU(p)):o.push(...MU(p)),s=p,u=!0),g){let m=Mfe(d,n);a?o.push(...YU(d,f,h,m,n)):(u&&!a&&(o.push(""),u=!1),o.push(...zU(d,_,m,n)),s=null)}else a?o.push(XU(d,f,h,n)):o.push(DU(d,_,n))}return u&&o.push(""),o}function aL(t,e,r,n,i){let a=[],o=Afe(t);for(let[s,c]of o)a.push(...Dfe(s,c,e,r,n,i));return a}var oL=Ht(()=>{"use strict";nc();Pc();Oc()});function sL(t,e,r){return!(!t.showLastSummary||!e||!!!(e.investigated||e.learned||e.completed||e.next_steps)||r&&e.created_at_epoch<=r.created_at_epoch)}function cL(t,e){let r=[];return e?(r.push(...Ud("Investigated",t.investigated,ne.blue)),r.push(...Ud("Learned",t.learned,ne.yellow)),r.push(...Ud("Completed",t.completed,ne.green)),r.push(...Ud("Next Steps",t.next_steps,ne.magenta))):(r.push(...zd("Investigated",t.investigated)),r.push(...zd("Learned",t.learned)),r.push(...zd("Completed",t.completed)),r.push(...zd("Next Steps",t.next_steps))),r}var uL=Ht(()=>{"use strict";Dd();Pc();Oc()});function lL(t,e){return e?eL(t):LU(t)}function dL(t,e,r){return!wg(e)||t.totalDiscoveryTokens<=0||t.savings<=0?[]:r?tL(t.totalDiscoveryTokens,t.totalReadTokens):qU(t.totalDiscoveryTokens,t.totalReadTokens)}var pL=Ht(()=>{"use strict";ko();Pc();Oc()});function Ufe(){try{return new xa}catch(t){if(t.code==="ERR_DLOPEN_FAILED"){try{(0,hL.unlinkSync)(zfe)}catch(e){k.debug("SYSTEM","Marker file cleanup failed (may not exist)",{},e)}return k.error("SYSTEM","Native module rebuild needed - restart Claude Code to auto-fix"),null}throw t}}function Lfe(t,e){return e?rL(t):FU(t)}function qfe(t,e,r,n,i,a,o){let s=[],c=cE(e);s.push(...nL(t,c,n,o));let u=r.slice(0,n.sessionCount),l=TU(u,r),d=pE(e,l),p=IU(e,n.fullObservationCount);s.push(...aL(d,p,n,i,o));let f=r[0],h=e[0];sL(n,f,h)&&s.push(...cL(f,o));let _=dE(e,n,a,i);return s.push(...lL(_,o)),s.push(...dL(c,n,o)),s.join(` +`).trimEnd()}async function mE(t,e=!1){let r=iE(),n=t?.cwd??process.cwd(),i=yU(n),a=t?.projects||[i],o=Ufe();if(!o)return"";try{let s=a.length>1?EU(o,a,r):uE(o,i,r),c=a.length>1?kU(o,a,r):lE(o,i,r);return s.length===0&&c.length===0?Lfe(i,e):qfe(i,s,c,r,n,t?.session_id,e)}finally{o.close()}}var fL,mL,hL,zfe,gL=Ht(()=>{"use strict";fL=dt(require("path"),1),mL=require("os"),hL=require("fs");gh();Re();_U();aE();ko();fE();iL();oL();uL();pL();Pc();Oc();zfe=fL.default.join((0,mL.homedir)(),".claude","plugins","marketplaces","thedotmack","plugin",".install-version")});var vL=Ht(()=>{"use strict";gL();aE();ko();fE()});var hE={};Cn(hE,{generateContext:()=>mE});var gE=Ht(()=>{"use strict";vL()});var Bfe={};Cn(Bfe,{WorkerService:()=>Cg,updateCursorContextForProject:()=>hh});module.exports=Zd(Bfe);var SL=dt(require("path"),1);var Xe;(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function r(i){throw new Error}t.assertNever=r,t.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},t.getValidEnumValues=i=>{let a=t.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return t.objectValues(o)},t.objectValues=i=>t.objectKeys(i).map(function(a){return i[a]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},t.find=(i,a)=>{for(let o of i)if(a(o))return o},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}t.joinValues=n,t.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(Xe||(Xe={}));var SE;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(SE||(SE={}));var ue=Xe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),xi=t=>{switch(typeof t){case"undefined":return ue.undefined;case"string":return ue.string;case"number":return Number.isNaN(t)?ue.nan:ue.number;case"boolean":return ue.boolean;case"function":return ue.function;case"bigint":return ue.bigint;case"symbol":return ue.symbol;case"object":return Array.isArray(t)?ue.array:t===null?ue.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?ue.promise:typeof Map<"u"&&t instanceof Map?ue.map:typeof Set<"u"&&t instanceof Set?ue.set:typeof Date<"u"&&t instanceof Date?ue.date:ue.object;default:return ue.unknown}};var Q=Xe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var Qr=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,c=0;for(;cr.message){let r=Object.create(null),n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(e(i))}else n.push(e(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Qr.create=t=>new Qr(t);var IL=(t,e)=>{let r;switch(t.code){case Q.invalid_type:t.received===ue.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case Q.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Xe.jsonStringifyReplacer)}`;break;case Q.unrecognized_keys:r=`Unrecognized key(s) in object: ${Xe.joinValues(t.keys,", ")}`;break;case Q.invalid_union:r="Invalid input";break;case Q.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Xe.joinValues(t.options)}`;break;case Q.invalid_enum_value:r=`Invalid enum value. Expected ${Xe.joinValues(t.options)}, received '${t.received}'`;break;case Q.invalid_arguments:r="Invalid function arguments";break;case Q.invalid_return_type:r="Invalid function return type";break;case Q.invalid_date:r="Invalid date";break;case Q.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:Xe.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case Q.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case Q.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case Q.custom:r="Invalid input";break;case Q.invalid_intersection_types:r="Intersection results could not be merged";break;case Q.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case Q.not_finite:r="Number must be finite";break;default:r=e.defaultError,Xe.assertNever(t)}return{message:r}},Wi=IL;var PL=Wi;function Nc(){return PL}var Hd=t=>{let{data:e,path:r,errorMaps:n,issueData:i}=t,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)s=u(o,{data:e,defaultError:s}).message;return{...i,path:a,message:s}};function ae(t,e){let r=Nc(),n=Hd({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Wi?void 0:Wi].filter(i=>!!i)});t.common.issues.push(n)}var hr=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let i of r){if(i.status==="aborted")return Te;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return Te;a.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:e.value,value:n}}},Te=Object.freeze({status:"aborted"}),Oo=t=>({status:"dirty",value:t}),$r=t=>({status:"valid",value:t}),jg=t=>t.status==="aborted",Ag=t=>t.status==="dirty",Ca=t=>t.status==="valid",jc=t=>typeof Promise<"u"&&t instanceof Promise;var he;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(he||(he={}));var ln=class{constructor(e,r,n,i){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},wE=(t,e)=>{if(Ca(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Qr(t.common.issues);return this._error=r,this._error}}};function Me(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:i}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,s)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??s.defaultError}:typeof s.data>"u"?{message:c??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:c??r??s.defaultError}},description:i}}var Fe=class{get description(){return this._def.description}_getType(e){return xi(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:xi(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new hr,ctx:{common:e.parent.common,data:e.data,parsedType:xi(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(jc(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xi(e)},i=this._parseSync({data:e,path:n.path,parent:n});return wE(n,i)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xi(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Ca(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>Ca(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xi(e)},i=this._parse({data:e,path:n.path,parent:n}),a=await(jc(i)?i:Promise.resolve(i));return wE(n,a)}refine(e,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=e(i),s=()=>a.addIssue({code:Q.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(e,r){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(e){return new jn({schema:this,typeName:we.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Nn.create(this,this._def)}nullable(){return $i.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ji.create(this)}promise(){return Na.create(this,this._def)}or(e){return Ao.create([this,e],this._def)}and(e){return Mo.create(this,e,this._def)}transform(e){return new jn({...Me(this._def),schema:this,typeName:we.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new qo({...Me(this._def),innerType:this,defaultValue:r,typeName:we.ZodDefault})}brand(){return new Bd({typeName:we.ZodBranded,type:this,...Me(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Fo({...Me(this._def),innerType:this,catchValue:r,typeName:we.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Vd.create(this,e)}readonly(){return Zo.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},OL=/^c[^\s-]{8,}$/i,RL=/^[0-9a-z]+$/,CL=/^[0-9A-HJKMNP-TV-Z]{26}$/i,NL=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,jL=/^[a-z0-9_-]{21}$/i,AL=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ML=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,DL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,zL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Mg,UL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,LL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,qL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,FL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ZL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,HL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,$E="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",BL=new RegExp(`^${$E}$`);function EE(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function VL(t){return new RegExp(`^${EE(t)}$`)}function GL(t){let e=`${$E}T${EE(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function WL(t,e){return!!((e==="v4"||!e)&&UL.test(t)||(e==="v6"||!e)&&qL.test(t))}function KL(t,e){if(!AL.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function JL(t,e){return!!((e==="v4"||!e)&&LL.test(t)||(e==="v6"||!e)&&FL.test(t))}var Co=class t extends Fe{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ue.string){let a=this._getOrReturnCtx(e);return ae(a,{code:Q.invalid_type,expected:ue.string,received:a.parsedType}),Te}let n=new hr,i;for(let a of this._def.checks)if(a.kind==="min")e.data.lengtha.value&&(i=this._getOrReturnCtx(e,i),ae(i,{code:Q.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=e.data.length>a.value,s=e.data.lengthe.test(i),{validation:r,code:Q.invalid_string,...he.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...he.errToObj(e)})}url(e){return this._addCheck({kind:"url",...he.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...he.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...he.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...he.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...he.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...he.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...he.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...he.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...he.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...he.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...he.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...he.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...he.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...he.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...he.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...he.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...he.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...he.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...he.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...he.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...he.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...he.errToObj(r)})}nonempty(e){return this.min(1,he.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Co({checks:[],typeName:we.ZodString,coerce:t?.coerce??!1,...Me(t)});function XL(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}var Ac=class t extends Fe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==ue.number){let a=this._getOrReturnCtx(e);return ae(a,{code:Q.invalid_type,expected:ue.number,received:a.parsedType}),Te}let n,i=new hr;for(let a of this._def.checks)a.kind==="int"?Xe.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?XL(e.data,a.value)!==0&&(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.not_finite,message:a.message}),i.dirty()):Xe.assertNever(a);return{status:i.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,he.toString(r))}gt(e,r){return this.setLimit("min",e,!1,he.toString(r))}lte(e,r){return this.setLimit("max",e,!0,he.toString(r))}lt(e,r){return this.setLimit("max",e,!1,he.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:he.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:he.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:he.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:he.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:he.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:he.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:he.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:he.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:he.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:he.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&Xe.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew Ac({checks:[],typeName:we.ZodNumber,coerce:t?.coerce||!1,...Me(t)});var Mc=class t extends Fe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==ue.bigint)return this._getInvalidInput(e);let n,i=new hr;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),ae(n,{code:Q.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):Xe.assertNever(a);return{status:i.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return ae(r,{code:Q.invalid_type,expected:ue.bigint,received:r.parsedType}),Te}gte(e,r){return this.setLimit("min",e,!0,he.toString(r))}gt(e,r){return this.setLimit("min",e,!1,he.toString(r))}lte(e,r){return this.setLimit("max",e,!0,he.toString(r))}lt(e,r){return this.setLimit("max",e,!1,he.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:he.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:he.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:he.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:he.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:he.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:he.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Mc({checks:[],typeName:we.ZodBigInt,coerce:t?.coerce??!1,...Me(t)});var Dc=class extends Fe{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==ue.boolean){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.boolean,received:n.parsedType}),Te}return $r(e.data)}};Dc.create=t=>new Dc({typeName:we.ZodBoolean,coerce:t?.coerce||!1,...Me(t)});var zc=class t extends Fe{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ue.date){let a=this._getOrReturnCtx(e);return ae(a,{code:Q.invalid_type,expected:ue.date,received:a.parsedType}),Te}if(Number.isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return ae(a,{code:Q.invalid_date}),Te}let n=new hr,i;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()a.value&&(i=this._getOrReturnCtx(e,i),ae(i,{code:Q.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):Xe.assertNever(a);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:he.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:he.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew zc({checks:[],coerce:t?.coerce||!1,typeName:we.ZodDate,...Me(t)});var Uc=class extends Fe{_parse(e){if(this._getType(e)!==ue.symbol){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.symbol,received:n.parsedType}),Te}return $r(e.data)}};Uc.create=t=>new Uc({typeName:we.ZodSymbol,...Me(t)});var No=class extends Fe{_parse(e){if(this._getType(e)!==ue.undefined){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.undefined,received:n.parsedType}),Te}return $r(e.data)}};No.create=t=>new No({typeName:we.ZodUndefined,...Me(t)});var jo=class extends Fe{_parse(e){if(this._getType(e)!==ue.null){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.null,received:n.parsedType}),Te}return $r(e.data)}};jo.create=t=>new jo({typeName:we.ZodNull,...Me(t)});var Lc=class extends Fe{constructor(){super(...arguments),this._any=!0}_parse(e){return $r(e.data)}};Lc.create=t=>new Lc({typeName:we.ZodAny,...Me(t)});var Ki=class extends Fe{constructor(){super(...arguments),this._unknown=!0}_parse(e){return $r(e.data)}};Ki.create=t=>new Ki({typeName:we.ZodUnknown,...Me(t)});var ti=class extends Fe{_parse(e){let r=this._getOrReturnCtx(e);return ae(r,{code:Q.invalid_type,expected:ue.never,received:r.parsedType}),Te}};ti.create=t=>new ti({typeName:we.ZodNever,...Me(t)});var qc=class extends Fe{_parse(e){if(this._getType(e)!==ue.undefined){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.void,received:n.parsedType}),Te}return $r(e.data)}};qc.create=t=>new qc({typeName:we.ZodVoid,...Me(t)});var Ji=class t extends Fe{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),i=this._def;if(r.parsedType!==ue.array)return ae(r,{code:Q.invalid_type,expected:ue.array,received:r.parsedType}),Te;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.lengthi.maxLength.value&&(ae(r,{code:Q.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new ln(r,o,r.path,s)))).then(o=>hr.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new ln(r,o,r.path,s)));return hr.mergeArray(n,a)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:he.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:he.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:he.toString(r)}})}nonempty(e){return this.min(1,e)}};Ji.create=(t,e)=>new Ji({type:t,minLength:null,maxLength:null,exactLength:null,typeName:we.ZodArray,...Me(e)});function Ro(t){if(t instanceof en){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Nn.create(Ro(n))}return new en({...t._def,shape:()=>e})}else return t instanceof Ji?new Ji({...t._def,type:Ro(t.element)}):t instanceof Nn?Nn.create(Ro(t.unwrap())):t instanceof $i?$i.create(Ro(t.unwrap())):t instanceof wi?wi.create(t.items.map(e=>Ro(e))):t}var en=class t extends Fe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=Xe.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==ue.object){let u=this._getOrReturnCtx(e);return ae(u,{code:Q.invalid_type,expected:ue.object,received:u.parsedType}),Te}let{status:n,ctx:i}=this._processInputParams(e),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof ti&&this._def.unknownKeys==="strip"))for(let u in i.data)o.includes(u)||s.push(u);let c=[];for(let u of o){let l=a[u],d=i.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new ln(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof ti){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of s)c.push({key:{status:"valid",value:l},value:{status:"valid",value:i.data[l]}});else if(u==="strict")s.length>0&&(ae(i,{code:Q.unrecognized_keys,keys:s}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of s){let d=i.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new ln(i,d,i.path,l)),alwaysSet:l in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,p=await l.value;u.push({key:d,value:p,alwaysSet:l.alwaysSet})}return u}).then(u=>hr.mergeObjectSync(n,u)):hr.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return he.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:he.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:we.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of Xe.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of Xe.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Ro(this)}partial(e){let r={};for(let n of Xe.objectKeys(this.shape)){let i=this.shape[n];e&&!e[n]?r[n]=i:r[n]=i.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of Xe.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof Nn;)a=a._def.innerType;r[n]=a}return new t({...this._def,shape:()=>r})}keyof(){return kE(Xe.objectKeys(this.shape))}};en.create=(t,e)=>new en({shape:()=>t,unknownKeys:"strip",catchall:ti.create(),typeName:we.ZodObject,...Me(e)});en.strictCreate=(t,e)=>new en({shape:()=>t,unknownKeys:"strict",catchall:ti.create(),typeName:we.ZodObject,...Me(e)});en.lazycreate=(t,e)=>new en({shape:t,unknownKeys:"strip",catchall:ti.create(),typeName:we.ZodObject,...Me(e)});var Ao=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new Qr(s.ctx.common.issues));return ae(r,{code:Q.invalid_union,unionErrors:o}),Te}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!a&&(a={result:l,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(c=>new Qr(c));return ae(r,{code:Q.invalid_union,unionErrors:s}),Te}}get options(){return this._def.options}};Ao.create=(t,e)=>new Ao({options:t,typeName:we.ZodUnion,...Me(e)});var Si=t=>t instanceof Do?Si(t.schema):t instanceof jn?Si(t.innerType()):t instanceof zo?[t.value]:t instanceof Uo?t.options:t instanceof Lo?Xe.objectValues(t.enum):t instanceof qo?Si(t._def.innerType):t instanceof No?[void 0]:t instanceof jo?[null]:t instanceof Nn?[void 0,...Si(t.unwrap())]:t instanceof $i?[null,...Si(t.unwrap())]:t instanceof Bd||t instanceof Zo?Si(t.unwrap()):t instanceof Fo?Si(t._def.innerType):[],Dg=class t extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ue.object)return ae(r,{code:Q.invalid_type,expected:ue.object,received:r.parsedType}),Te;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(ae(r,{code:Q.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Te)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let i=new Map;for(let a of r){let o=Si(a.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);i.set(s,a)}}return new t({typeName:we.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:i,...Me(n)})}};function zg(t,e){let r=xi(t),n=xi(e);if(t===e)return{valid:!0,data:t};if(r===ue.object&&n===ue.object){let i=Xe.objectKeys(e),a=Xe.objectKeys(t).filter(s=>i.indexOf(s)!==-1),o={...t,...e};for(let s of a){let c=zg(t[s],e[s]);if(!c.valid)return{valid:!1};o[s]=c.data}return{valid:!0,data:o}}else if(r===ue.array&&n===ue.array){if(t.length!==e.length)return{valid:!1};let i=[];for(let a=0;a{if(jg(a)||jg(o))return Te;let s=zg(a.value,o.value);return s.valid?((Ag(a)||Ag(o))&&r.dirty(),{status:r.value,value:s.data}):(ae(n,{code:Q.invalid_intersection_types}),Te)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Mo.create=(t,e,r)=>new Mo({left:t,right:e,typeName:we.ZodIntersection,...Me(r)});var wi=class t extends Fe{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==ue.array)return ae(n,{code:Q.invalid_type,expected:ue.array,received:n.parsedType}),Te;if(n.data.lengththis._def.items.length&&(ae(n,{code:Q.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let c=this._def.items[s]||this._def.rest;return c?c._parse(new ln(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>hr.mergeArray(r,o)):hr.mergeArray(r,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};wi.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new wi({items:t,typeName:we.ZodTuple,rest:null,...Me(e)})};var Ug=class t extends Fe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==ue.object)return ae(n,{code:Q.invalid_type,expected:ue.object,received:n.parsedType}),Te;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new ln(n,s,n.path,s)),value:o._parse(new ln(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?hr.mergeObjectAsync(r,i):hr.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof Fe?new t({keyType:e,valueType:r,typeName:we.ZodRecord,...Me(n)}):new t({keyType:Co.create(),valueType:e,typeName:we.ZodRecord,...Me(r)})}},Fc=class extends Fe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==ue.map)return ae(n,{code:Q.invalid_type,expected:ue.map,received:n.parsedType}),Te;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,c],u)=>({key:i._parse(new ln(n,s,n.path,[u,"key"])),value:a._parse(new ln(n,c,n.path,[u,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return Te;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let c of o){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return Te;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}}}};Fc.create=(t,e,r)=>new Fc({valueType:e,keyType:t,typeName:we.ZodMap,...Me(r)});var Zc=class t extends Fe{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==ue.set)return ae(n,{code:Q.invalid_type,expected:ue.set,received:n.parsedType}),Te;let i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(ae(n,{code:Q.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(c){let u=new Set;for(let l of c){if(l.status==="aborted")return Te;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let s=[...n.data.values()].map((c,u)=>a._parse(new ln(n,c,n.path,u)));return n.common.async?Promise.all(s).then(c=>o(c)):o(s)}min(e,r){return new t({...this._def,minSize:{value:e,message:he.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:he.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Zc.create=(t,e)=>new Zc({valueType:t,minSize:null,maxSize:null,typeName:we.ZodSet,...Me(e)});var Lg=class t extends Fe{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ue.function)return ae(r,{code:Q.invalid_type,expected:ue.function,received:r.parsedType}),Te;function n(s,c){return Hd({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Nc(),Wi].filter(u=>!!u),issueData:{code:Q.invalid_arguments,argumentsError:c}})}function i(s,c){return Hd({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Nc(),Wi].filter(u=>!!u),issueData:{code:Q.invalid_return_type,returnTypeError:c}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof Na){let s=this;return $r(async function(...c){let u=new Qr([]),l=await s._def.args.parseAsync(c,a).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(o,this,l);return await s._def.returns._def.type.parseAsync(d,a).catch(f=>{throw u.addIssue(i(d,f)),u})})}else{let s=this;return $r(function(...c){let u=s._def.args.safeParse(c,a);if(!u.success)throw new Qr([n(c,u.error)]);let l=Reflect.apply(o,this,u.data),d=s._def.returns.safeParse(l,a);if(!d.success)throw new Qr([i(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:wi.create(e).rest(Ki.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||wi.create([]).rest(Ki.create()),returns:r||Ki.create(),typeName:we.ZodFunction,...Me(n)})}},Do=class extends Fe{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Do.create=(t,e)=>new Do({getter:t,typeName:we.ZodLazy,...Me(e)});var zo=class extends Fe{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return ae(r,{received:r.data,code:Q.invalid_literal,expected:this._def.value}),Te}return{status:"valid",value:e.data}}get value(){return this._def.value}};zo.create=(t,e)=>new zo({value:t,typeName:we.ZodLiteral,...Me(e)});function kE(t,e){return new Uo({values:t,typeName:we.ZodEnum,...Me(e)})}var Uo=class t extends Fe{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return ae(r,{expected:Xe.joinValues(n),received:r.parsedType,code:Q.invalid_type}),Te}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return ae(r,{received:r.data,code:Q.invalid_enum_value,options:n}),Te}return $r(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Uo.create=kE;var Lo=class extends Fe{_parse(e){let r=Xe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==ue.string&&n.parsedType!==ue.number){let i=Xe.objectValues(r);return ae(n,{expected:Xe.joinValues(i),received:n.parsedType,code:Q.invalid_type}),Te}if(this._cache||(this._cache=new Set(Xe.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=Xe.objectValues(r);return ae(n,{received:n.data,code:Q.invalid_enum_value,options:i}),Te}return $r(e.data)}get enum(){return this._def.values}};Lo.create=(t,e)=>new Lo({values:t,typeName:we.ZodNativeEnum,...Me(e)});var Na=class extends Fe{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ue.promise&&r.common.async===!1)return ae(r,{code:Q.invalid_type,expected:ue.promise,received:r.parsedType}),Te;let n=r.parsedType===ue.promise?r.data:Promise.resolve(r.data);return $r(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Na.create=(t,e)=>new Na({type:t,typeName:we.ZodPromise,...Me(e)});var jn=class extends Fe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===we.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:o=>{ae(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return Te;let c=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return c.status==="aborted"?Te:c.status==="dirty"?Oo(c.value):r.value==="dirty"?Oo(c.value):c});{if(r.value==="aborted")return Te;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?Te:s.status==="dirty"?Oo(s.value):r.value==="dirty"?Oo(s.value):s}}if(i.type==="refinement"){let o=s=>{let c=i.refinement(s,a);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Te:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?Te:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Ca(o))return Te;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>Ca(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):Te);Xe.assertNever(i)}};jn.create=(t,e,r)=>new jn({schema:t,typeName:we.ZodEffects,effect:e,...Me(r)});jn.createWithPreprocess=(t,e,r)=>new jn({schema:e,effect:{type:"preprocess",transform:t},typeName:we.ZodEffects,...Me(r)});var Nn=class extends Fe{_parse(e){return this._getType(e)===ue.undefined?$r(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Nn.create=(t,e)=>new Nn({innerType:t,typeName:we.ZodOptional,...Me(e)});var $i=class extends Fe{_parse(e){return this._getType(e)===ue.null?$r(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};$i.create=(t,e)=>new $i({innerType:t,typeName:we.ZodNullable,...Me(e)});var qo=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===ue.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};qo.create=(t,e)=>new qo({innerType:t,typeName:we.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Me(e)});var Fo=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return jc(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Qr(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Qr(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Fo.create=(t,e)=>new Fo({innerType:t,typeName:we.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Me(e)});var Hc=class extends Fe{_parse(e){if(this._getType(e)!==ue.nan){let n=this._getOrReturnCtx(e);return ae(n,{code:Q.invalid_type,expected:ue.nan,received:n.parsedType}),Te}return{status:"valid",value:e.data}}};Hc.create=t=>new Hc({typeName:we.ZodNaN,...Me(t)});var Bd=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Vd=class t extends Fe{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Te:a.status==="dirty"?(r.dirty(),Oo(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Te:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:we.ZodPipeline})}},Zo=class extends Fe{_parse(e){let r=this._def.innerType._parse(e),n=i=>(Ca(i)&&(i.value=Object.freeze(i.value)),i);return jc(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};Zo.create=(t,e)=>new Zo({innerType:t,typeName:we.ZodReadonly,...Me(e)});var dme={object:en.lazycreate},we;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(we||(we={}));var pme=Co.create,fme=Ac.create,mme=Hc.create,hme=Mc.create,gme=Dc.create,vme=zc.create,yme=Uc.create,_me=No.create,bme=jo.create,xme=Lc.create,Sme=Ki.create,wme=ti.create,$me=qc.create,Eme=Ji.create,YL=en.create,kme=en.strictCreate,Tme=Ao.create,Ime=Dg.create,Pme=Mo.create,Ome=wi.create,Rme=Ug.create,Cme=Fc.create,Nme=Zc.create,jme=Lg.create,Ame=Do.create,Mme=zo.create,Dme=Uo.create,zme=Lo.create,Ume=Na.create,Lme=jn.create,qme=Nn.create,Fme=$i.create,Zme=jn.createWithPreprocess,Hme=Vd.create;var TE=Object.freeze({status:"aborted"});function q(t,e,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:o,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let u=o.prototype,l=Object.keys(u);for(let d=0;dr?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(o,"name",{value:t}),o}var ri=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ja=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},Gd={};function tr(t){return t&&Object.assign(Gd,t),Gd}var ee={};Cn(ee,{BIGINT_FORMAT_RANGES:()=>Jg,Class:()=>Fg,NUMBER_FORMAT_RANGES:()=>Kg,aborted:()=>ea,allowsEval:()=>Bg,assert:()=>aq,assertEqual:()=>tq,assertIs:()=>nq,assertNever:()=>iq,assertNotEqual:()=>rq,assignProp:()=>Yi,base64ToUint8Array:()=>AE,base64urlToUint8Array:()=>gq,cached:()=>Bo,captureStackTrace:()=>Kd,cleanEnum:()=>hq,cleanRegex:()=>Gc,clone:()=>Er,cloneDef:()=>sq,createTransparentProxy:()=>fq,defineLazy:()=>ze,esc:()=>Wd,escapeRegex:()=>dn,extend:()=>RE,finalizeIssue:()=>Dr,floatSafeRemainder:()=>Zg,getElementAtPath:()=>cq,getEnumValues:()=>Vc,getLengthableOrigin:()=>Jc,getParsedType:()=>pq,getSizableOrigin:()=>Kc,hexToUint8Array:()=>yq,isObject:()=>Aa,isPlainObject:()=>Qi,issue:()=>Vo,joinValues:()=>$e,jsonStringifyReplacer:()=>Ho,merge:()=>mq,mergeDefs:()=>Ei,normalizeParams:()=>oe,nullish:()=>Xi,numKeys:()=>dq,objectClone:()=>oq,omit:()=>OE,optionalKeys:()=>Wg,parsedType:()=>Ie,partial:()=>NE,pick:()=>PE,prefixIssues:()=>tn,primitiveTypes:()=>Gg,promiseAllObject:()=>uq,propertyKeyTypes:()=>Wc,randomString:()=>lq,required:()=>jE,safeExtend:()=>CE,shallowClone:()=>Vg,slugify:()=>Hg,stringifyPrimitive:()=>Ee,uint8ArrayToBase64:()=>ME,uint8ArrayToBase64url:()=>vq,uint8ArrayToHex:()=>_q,unwrapMessage:()=>Bc});function tq(t){return t}function rq(t){return t}function nq(t){}function iq(t){throw new Error("Unexpected value in exhaustive check")}function aq(t){}function Vc(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}function $e(t,e="|"){return t.map(r=>Ee(r)).join(e)}function Ho(t,e){return typeof e=="bigint"?e.toString():e}function Bo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Xi(t){return t==null}function Gc(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Zg(t,e){let r=(t.toString().split(".")[1]||"").length,n=e.toString(),i=(n.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(n)){let c=n.match(/\d?e-(\d?)/);c?.[1]&&(i=Number.parseInt(c[1]))}let a=r>i?r:i,o=Number.parseInt(t.toFixed(a).replace(".","")),s=Number.parseInt(e.toFixed(a).replace(".",""));return o%s/10**a}var IE=Symbol("evaluating");function ze(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==IE)return n===void 0&&(n=IE,n=r()),n},set(i){Object.defineProperty(t,e,{value:i})},configurable:!0})}function oq(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function Yi(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Ei(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function sq(t){return Ei(t._zod.def)}function cq(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function uq(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let i={};for(let a=0;a{};function Aa(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Bg=Bo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Qi(t){if(Aa(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(Aa(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Vg(t){return Qi(t)?{...t}:Array.isArray(t)?[...t]:t}function dq(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var pq=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Wc=new Set(["string","number","symbol"]),Gg=new Set(["string","number","bigint","boolean","symbol","undefined"]);function dn(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Er(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function oe(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function fq(t){let e;return new Proxy({},{get(r,n,i){return e??(e=t()),Reflect.get(e,n,i)},set(r,n,i,a){return e??(e=t()),Reflect.set(e,n,i,a)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,i){return e??(e=t()),Reflect.defineProperty(e,n,i)}})}function Ee(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Wg(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Kg={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Jg={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function PE(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let a=Ei(t._zod.def,{get shape(){let o={};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(o[s]=r.shape[s])}return Yi(this,"shape",o),o},checks:[]});return Er(t,a)}function OE(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let a=Ei(t._zod.def,{get shape(){let o={...t._zod.def.shape};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete o[s]}return Yi(this,"shape",o),o},checks:[]});return Er(t,a)}function RE(t,e){if(!Qi(e))throw new Error("Invalid input to extend: expected a plain object");let r=t._zod.def.checks;if(r&&r.length>0){let a=t._zod.def.shape;for(let o in e)if(Object.getOwnPropertyDescriptor(a,o)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let i=Ei(t._zod.def,{get shape(){let a={...t._zod.def.shape,...e};return Yi(this,"shape",a),a}});return Er(t,i)}function CE(t,e){if(!Qi(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=Ei(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e};return Yi(this,"shape",n),n}});return Er(t,r)}function mq(t,e){let r=Ei(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e._zod.def.shape};return Yi(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:[]});return Er(t,r)}function NE(t,e,r){let i=e._zod.def.checks;if(i&&i.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let o=Ei(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(r)for(let u in r){if(!(u in s))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(c[u]=t?new t({type:"optional",innerType:s[u]}):s[u])}else for(let u in s)c[u]=t?new t({type:"optional",innerType:s[u]}):s[u];return Yi(this,"shape",c),c},checks:[]});return Er(e,o)}function jE(t,e,r){let n=Ei(e._zod.def,{get shape(){let i=e._zod.def.shape,a={...i};if(r)for(let o in r){if(!(o in a))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(a[o]=new t({type:"nonoptional",innerType:i[o]}))}else for(let o in i)a[o]=new t({type:"nonoptional",innerType:i[o]});return Yi(this,"shape",a),a}});return Er(e,n)}function ea(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function Bc(t){return typeof t=="string"?t:t?.message}function Dr(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let i=Bc(t.inst?._zod.def?.error?.(t))??Bc(e?.error?.(t))??Bc(r.customError?.(t))??Bc(r.localeError?.(t))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Kc(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Jc(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ie(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function Vo(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function hq(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function AE(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;ne.toString(16).padStart(2,"0")).join("")}var Fg=class{constructor(...e){}};var DE=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,Ho,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Jd=q("$ZodError",DE),Xc=q("$ZodError",DE,{Parent:Error});function Xd(t,e=r=>r.message){let r={},n=[];for(let i of t.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:r}}function Yd(t,e=r=>r.message){let r={_errors:[]},n=i=>{for(let a of i.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(o=>n({issues:o}));else if(a.code==="invalid_key")n({issues:a.issues});else if(a.code==="invalid_element")n({issues:a.issues});else if(a.path.length===0)r._errors.push(e(a));else{let o=r,s=0;for(;s(e,r,n,i)=>{let a=n?Object.assign(n,{async:!1}):{async:!1},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new ri;if(o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>Dr(c,a,tr())));throw Kd(s,i?.callee),s}return o.value},Qc=Yc(Xc),eu=t=>async(e,r,n,i)=>{let a=n?Object.assign(n,{async:!0}):{async:!0},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>Dr(c,a,tr())));throw Kd(s,i?.callee),s}return o.value},tu=eu(Xc),ru=t=>(e,r,n)=>{let i=n?{...n,async:!1}:{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new ri;return a.issues.length?{success:!1,error:new(t??Jd)(a.issues.map(o=>Dr(o,i,tr())))}:{success:!0,data:a.value}},Go=ru(Xc),nu=t=>async(e,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:r,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new t(a.issues.map(o=>Dr(o,i,tr())))}:{success:!0,data:a.value}},iu=nu(Xc),zE=t=>(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Yc(t)(e,r,i)};var UE=t=>(e,r,n)=>Yc(t)(e,r,n);var LE=t=>async(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return eu(t)(e,r,i)};var qE=t=>async(e,r,n)=>eu(t)(e,r,n);var FE=t=>(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return ru(t)(e,r,i)};var ZE=t=>(e,r,n)=>ru(t)(e,r,n);var HE=t=>async(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return nu(t)(e,r,i)};var BE=t=>async(e,r,n)=>nu(t)(e,r,n);var pn={};Cn(pn,{base64:()=>pv,base64url:()=>Qd,bigint:()=>yv,boolean:()=>bv,browserEmail:()=>Iq,cidrv4:()=>lv,cidrv6:()=>dv,cuid:()=>Xg,cuid2:()=>Yg,date:()=>mv,datetime:()=>gv,domain:()=>Rq,duration:()=>nv,e164:()=>fv,email:()=>av,emoji:()=>ov,extendedDuration:()=>xq,guid:()=>iv,hex:()=>Cq,hostname:()=>Oq,html5Email:()=>Eq,idnEmail:()=>Tq,integer:()=>_v,ipv4:()=>sv,ipv6:()=>cv,ksuid:()=>tv,lowercase:()=>wv,mac:()=>uv,md5_base64:()=>jq,md5_base64url:()=>Aq,md5_hex:()=>Nq,nanoid:()=>rv,null:()=>xv,number:()=>ep,rfc5322Email:()=>kq,sha1_base64:()=>Dq,sha1_base64url:()=>zq,sha1_hex:()=>Mq,sha256_base64:()=>Lq,sha256_base64url:()=>qq,sha256_hex:()=>Uq,sha384_base64:()=>Zq,sha384_base64url:()=>Hq,sha384_hex:()=>Fq,sha512_base64:()=>Vq,sha512_base64url:()=>Gq,sha512_hex:()=>Bq,string:()=>vv,time:()=>hv,ulid:()=>Qg,undefined:()=>Sv,unicodeEmail:()=>VE,uppercase:()=>$v,uuid:()=>Ma,uuid4:()=>Sq,uuid6:()=>wq,uuid7:()=>$q,xid:()=>ev});var Xg=/^[cC][^\s-]{8,}$/,Yg=/^[0-9a-z]+$/,Qg=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ev=/^[0-9a-vA-V]{20}$/,tv=/^[A-Za-z0-9]{27}$/,rv=/^[a-zA-Z0-9_-]{21}$/,nv=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xq=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,iv=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ma=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Sq=Ma(4),wq=Ma(6),$q=Ma(7),av=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Eq=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,kq=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,VE=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,Tq=VE,Iq=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Pq="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function ov(){return new RegExp(Pq,"u")}var sv=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,cv=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,uv=t=>{let e=dn(t??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},lv=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,dv=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,pv=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Qd=/^[A-Za-z0-9_-]*$/,Oq=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,Rq=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,fv=/^\+[1-9]\d{6,14}$/,GE="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",mv=new RegExp(`^${GE}$`);function WE(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function hv(t){return new RegExp(`^${WE(t)}$`)}function gv(t){let e=WE({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${GE}T(?:${n})$`)}var vv=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},yv=/^-?\d+n?$/,_v=/^-?\d+$/,ep=/^-?\d+(?:\.\d+)?$/,bv=/^(?:true|false)$/i,xv=/^null$/i;var Sv=/^undefined$/i;var wv=/^[^A-Z]*$/,$v=/^[^a-z]*$/,Cq=/^[0-9a-fA-F]*$/;function au(t,e){return new RegExp(`^[A-Za-z0-9+/]{${t}}${e}$`)}function ou(t){return new RegExp(`^[A-Za-z0-9_-]{${t}}$`)}var Nq=/^[0-9a-fA-F]{32}$/,jq=au(22,"=="),Aq=ou(22),Mq=/^[0-9a-fA-F]{40}$/,Dq=au(27,"="),zq=ou(27),Uq=/^[0-9a-fA-F]{64}$/,Lq=au(43,"="),qq=ou(43),Fq=/^[0-9a-fA-F]{96}$/,Zq=au(64,""),Hq=ou(64),Bq=/^[0-9a-fA-F]{128}$/,Vq=au(86,"=="),Gq=ou(86);var wt=q("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),JE={number:"number",bigint:"bigint",object:"date"},Ev=q("$ZodCheckLessThan",(t,e)=>{wt.init(t,e);let r=JE[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{wt.init(t,e);let r=JE[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>a&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),XE=q("$ZodCheckMultipleOf",(t,e)=>{wt.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Zg(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),YE=q("$ZodCheckNumberFormat",(t,e)=>{wt.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[i,a]=Kg[e.format];t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,s.minimum=i,s.maximum=a,r&&(s.pattern=_v)}),t._zod.check=o=>{let s=o.value;if(r){if(!Number.isInteger(s)){o.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):o.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}sa&&o.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inclusive:!0,inst:t,continue:!e.abort})}}),QE=q("$ZodCheckBigIntFormat",(t,e)=>{wt.init(t,e);let[r,n]=Jg[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=r,a.maximum=n}),t._zod.check=i=>{let a=i.value;an&&i.issues.push({origin:"bigint",input:a,code:"too_big",maximum:n,inclusive:!0,inst:t,continue:!e.abort})}}),ek=q("$ZodCheckMaxSize",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Xi(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let i=n.value;i.size<=e.maximum||n.issues.push({origin:Kc(i),code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),tk=q("$ZodCheckMinSize",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Xi(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;i.size>=e.minimum||n.issues.push({origin:Kc(i),code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),rk=q("$ZodCheckSizeEquals",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Xi(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=e.size,i.maximum=e.size,i.size=e.size}),t._zod.check=n=>{let i=n.value,a=i.size;if(a===e.size)return;let o=a>e.size;n.issues.push({origin:Kc(i),...o?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),nk=q("$ZodCheckMaxLength",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Xi(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let i=n.value;if(i.length<=e.maximum)return;let o=Jc(i);n.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),ik=q("$ZodCheckMinLength",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Xi(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;if(i.length>=e.minimum)return;let o=Jc(i);n.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),ak=q("$ZodCheckLengthEquals",(t,e)=>{var r;wt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!Xi(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=e.length,i.maximum=e.length,i.length=e.length}),t._zod.check=n=>{let i=n.value,a=i.length;if(a===e.length)return;let o=Jc(i),s=a>e.length;n.issues.push({origin:o,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),su=q("$ZodCheckStringFormat",(t,e)=>{var r,n;wt.init(t,e),t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,e.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),ok=q("$ZodCheckRegex",(t,e)=>{su.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),sk=q("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=wv),su.init(t,e)}),ck=q("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=$v),su.init(t,e)}),uk=q("$ZodCheckIncludes",(t,e)=>{wt.init(t,e);let r=dn(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(i=>{let a=i._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(n)}),t._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:t,continue:!e.abort})}}),lk=q("$ZodCheckStartsWith",(t,e)=>{wt.init(t,e);let r=new RegExp(`^${dn(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),dk=q("$ZodCheckEndsWith",(t,e)=>{wt.init(t,e);let r=new RegExp(`.*${dn(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});function KE(t,e,r){t.issues.length&&e.issues.push(...tn(r,t.issues))}var pk=q("$ZodCheckProperty",(t,e)=>{wt.init(t,e),t._zod.check=r=>{let n=e.schema._zod.run({value:r.value[e.property],issues:[]},{});if(n instanceof Promise)return n.then(i=>KE(i,r,e.property));KE(n,r,e.property)}}),fk=q("$ZodCheckMimeType",(t,e)=>{wt.init(t,e);let r=new Set(e.mime);t._zod.onattach.push(n=>{n._zod.bag.mime=e.mime}),t._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:e.mime,input:n.value.type,inst:t,continue:!e.abort})}}),mk=q("$ZodCheckOverwrite",(t,e)=>{wt.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var tp=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` `).filter(o=>o),i=Math.min(...n.map(o=>o.length-o.trimStart().length)),a=n.map(o=>o.slice(i)).map(o=>" ".repeat(this.indent*2)+o);for(let o of a)this.content.push(o)}compile(){let e=Function,r=this?.args,i=[...(this?.content??[""]).map(a=>` ${a}`)];return new e(...r,i.join(` -`))}};var lk={major:4,minor:3,patch:4};var Ae=L("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=lk;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let i of n)for(let a of i._zod.onattach)a(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let i=(o,s,c)=>{let u=Qi(o),l;for(let d of s){if(d._zod.def.when){if(!d._zod.def.when(o))continue}else if(u)continue;let p=o.issues.length,f=d._zod.check(o);if(f instanceof Promise&&c?.async===!1)throw new ti;if(l||f instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await f,o.issues.length!==p&&(u||(u=Qi(o,p)))});else{if(o.issues.length===p)continue;u||(u=Qi(o,p))}}return l?l.then(()=>o):o},a=(o,s,c)=>{if(Qi(o))return o.aborted=!0,o;let u=i(s,n,c);if(u instanceof Promise){if(c.async===!1)throw new ti;return u.then(l=>t._zod.parse(l,c))}return t._zod.parse(u,c)};t._zod.run=(o,s)=>{if(s.skipChecks)return t._zod.parse(o,s);if(s.direction==="backward"){let u=t._zod.parse({value:o.value,issues:[]},{...s,skipChecks:!0});return u instanceof Promise?u.then(l=>a(l,o,s)):a(u,o,s)}let c=t._zod.parse(o,s);if(c instanceof Promise){if(s.async===!1)throw new ti;return c.then(u=>i(u,n,s))}return i(c,n,s)}}qe(t,"~standard",()=>({validate:i=>{try{let a=Go(t,i);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return iu(t,i).then(o=>o.success?{value:o.data}:{issues:o.error?.issues})}},vendor:"zod",version:1}))}),Ma=L("$ZodString",(t,e)=>{Ae.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??gv(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),_t=L("$ZodStringFormat",(t,e)=>{su.init(t,e),Ma.init(t,e)}),Tv=L("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=nv),_t.init(t,e)}),Iv=L("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Aa(n))}else e.pattern??(e.pattern=Aa());_t.init(t,e)}),Pv=L("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=iv),_t.init(t,e)}),Ov=L("$ZodURL",(t,e)=>{_t.init(t,e),t._zod.check=r=>{try{let n=r.value.trim(),i=new URL(n);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=i.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),Rv=L("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=av()),_t.init(t,e)}),Cv=L("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=tv),_t.init(t,e)}),Nv=L("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Jg),_t.init(t,e)}),jv=L("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=Xg),_t.init(t,e)}),Av=L("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Yg),_t.init(t,e)}),Mv=L("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Qg),_t.init(t,e)}),Dv=L("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=ev),_t.init(t,e)}),zv=L("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=hv(e)),_t.init(t,e)}),Uv=L("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=fv),_t.init(t,e)}),qv=L("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=mv(e)),_t.init(t,e)}),Lv=L("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=rv),_t.init(t,e)}),Fv=L("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=ov),_t.init(t,e),t._zod.bag.format="ipv4"}),Zv=L("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=sv),_t.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Hv=L("$ZodMAC",(t,e)=>{e.pattern??(e.pattern=cv(e.delimiter)),_t.init(t,e),t._zod.bag.format="mac"}),Bv=L("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=uv),_t.init(t,e)}),Vv=L("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=lv),_t.init(t,e),t._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[i,a]=n;if(!a)throw new Error;let o=Number(a);if(`${o}`!==a)throw new Error;if(o<0||o>128)throw new Error;new URL(`http://[${i}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function Sk(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var Gv=L("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=dv),_t.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{Sk(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function WL(t){if(!Qd.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Sk(r)}var Wv=L("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Qd),_t.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{WL(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Kv=L("$ZodE164",(t,e)=>{e.pattern??(e.pattern=pv),_t.init(t,e)});function KL(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch{return!1}}var Jv=L("$ZodJWT",(t,e)=>{_t.init(t,e),t._zod.check=r=>{KL(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),Xv=L("$ZodCustomStringFormat",(t,e)=>{_t.init(t,e),t._zod.check=r=>{e.fn(r.value)||r.issues.push({code:"invalid_format",format:e.format,input:r.value,inst:t,continue:!e.abort})}}),sp=L("$ZodNumber",(t,e)=>{Ae.init(t,e),t._zod.pattern=t._zod.bag.pattern??ep,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let a=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:t,...a?{received:a}:{}}),r}}),Yv=L("$ZodNumberFormat",(t,e)=>{VE.init(t,e),sp.init(t,e)}),cu=L("$ZodBoolean",(t,e)=>{Ae.init(t,e),t._zod.pattern=_v,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:t}),r}}),cp=L("$ZodBigInt",(t,e)=>{Ae.init(t,e),t._zod.pattern=vv,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:t}),r}}),Qv=L("$ZodBigIntFormat",(t,e)=>{GE.init(t,e),cp.init(t,e)}),ey=L("$ZodSymbol",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return typeof i=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:i,inst:t}),r}}),ty=L("$ZodUndefined",(t,e)=>{Ae.init(t,e),t._zod.pattern=xv,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:t}),r}}),ry=L("$ZodNull",(t,e)=>{Ae.init(t,e),t._zod.pattern=bv,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:t}),r}}),ny=L("$ZodAny",(t,e)=>{Ae.init(t,e),t._zod.parse=r=>r}),iy=L("$ZodUnknown",(t,e)=>{Ae.init(t,e),t._zod.parse=r=>r}),ay=L("$ZodNever",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)}),oy=L("$ZodVoid",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"void",code:"invalid_type",input:i,inst:t}),r}}),sy=L("$ZodDate",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let i=r.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:i,...a?{received:"Invalid Date"}:{},inst:t}),r}});function dk(t,e,r){t.issues.length&&e.issues.push(...tn(r,t.issues)),e.value[r]=t.value}var cy=L("$ZodArray",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:t}),r;r.value=Array(i.length);let a=[];for(let o=0;odk(u,r,o))):dk(c,r,o)}return a.length?Promise.all(a).then(()=>r):r}});function op(t,e,r,n,i){if(t.issues.length){if(i&&!(r in n))return;e.issues.push(...tn(r,t.issues))}t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function wk(t){let e=Object.keys(t.shape);for(let n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=Gg(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function $k(t,e,r,n,i,a){let o=[],s=i.keySet,c=i.catchall._zod,u=c.def.type,l=c.optout==="optional";for(let d in e){if(s.has(d))continue;if(u==="never"){o.push(d);continue}let p=c.run({value:e[d],issues:[]},n);p instanceof Promise?t.push(p.then(f=>op(f,r,d,e,l))):op(p,r,d,e,l)}return o.length&&r.issues.push({code:"unrecognized_keys",keys:o,input:e,inst:a}),t.length?Promise.all(t).then(()=>r):r}var Ek=L("$ZodObject",(t,e)=>{if(Ae.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let s=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...s};return Object.defineProperty(e,"shape",{value:c}),c}})}let n=Bo(()=>wk(e));qe(t._zod,"propValues",()=>{let s=e.shape,c={};for(let u in s){let l=s[u]._zod;if(l.values){c[u]??(c[u]=new Set);for(let d of l.values)c[u].add(d)}}return c});let i=ja,a=e.catchall,o;t._zod.parse=(s,c)=>{o??(o=n.value);let u=s.value;if(!i(u))return s.issues.push({expected:"object",code:"invalid_type",input:u,inst:t}),s;s.value={};let l=[],d=o.shape;for(let p of o.keys){let f=d[p],h=f._zod.optout==="optional",_=f._zod.run({value:u[p],issues:[]},c);_ instanceof Promise?l.push(_.then(g=>op(g,s,p,u,h))):op(_,s,p,u,h)}return a?$k(l,u,s,c,n.value,t):l.length?Promise.all(l).then(()=>s):s}}),kk=L("$ZodObjectJIT",(t,e)=>{Ek.init(t,e);let r=t._zod.parse,n=Bo(()=>wk(e)),i=p=>{let f=new tp(["shape","payload","ctx"]),h=n.value,_=v=>{let b=Wd(v);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};f.write("const input = payload.value;");let g=Object.create(null),m=0;for(let v of h.keys)g[v]=`key_${m++}`;f.write("const newResult = {};");for(let v of h.keys){let b=g[v],S=Wd(v),w=p[v]?._zod?.optout==="optional";f.write(`const ${b} = ${_(v)};`),w?f.write(` +`))}};var gk={major:4,minor:3,patch:5};var Ae=q("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=gk;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let i of n)for(let a of i._zod.onattach)a(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let i=(o,s,c)=>{let u=ea(o),l;for(let d of s){if(d._zod.def.when){if(!d._zod.def.when(o))continue}else if(u)continue;let p=o.issues.length,f=d._zod.check(o);if(f instanceof Promise&&c?.async===!1)throw new ri;if(l||f instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await f,o.issues.length!==p&&(u||(u=ea(o,p)))});else{if(o.issues.length===p)continue;u||(u=ea(o,p))}}return l?l.then(()=>o):o},a=(o,s,c)=>{if(ea(o))return o.aborted=!0,o;let u=i(s,n,c);if(u instanceof Promise){if(c.async===!1)throw new ri;return u.then(l=>t._zod.parse(l,c))}return t._zod.parse(u,c)};t._zod.run=(o,s)=>{if(s.skipChecks)return t._zod.parse(o,s);if(s.direction==="backward"){let u=t._zod.parse({value:o.value,issues:[]},{...s,skipChecks:!0});return u instanceof Promise?u.then(l=>a(l,o,s)):a(u,o,s)}let c=t._zod.parse(o,s);if(c instanceof Promise){if(s.async===!1)throw new ri;return c.then(u=>i(u,n,s))}return i(c,n,s)}}ze(t,"~standard",()=>({validate:i=>{try{let a=Go(t,i);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return iu(t,i).then(o=>o.success?{value:o.data}:{issues:o.error?.issues})}},vendor:"zod",version:1}))}),Da=q("$ZodString",(t,e)=>{Ae.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??vv(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),_t=q("$ZodStringFormat",(t,e)=>{su.init(t,e),Da.init(t,e)}),Iv=q("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=iv),_t.init(t,e)}),Pv=q("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Ma(n))}else e.pattern??(e.pattern=Ma());_t.init(t,e)}),Ov=q("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=av),_t.init(t,e)}),Rv=q("$ZodURL",(t,e)=>{_t.init(t,e),t._zod.check=r=>{try{let n=r.value.trim(),i=new URL(n);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=i.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),Cv=q("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=ov()),_t.init(t,e)}),Nv=q("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=rv),_t.init(t,e)}),jv=q("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Xg),_t.init(t,e)}),Av=q("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=Yg),_t.init(t,e)}),Mv=q("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Qg),_t.init(t,e)}),Dv=q("$ZodXID",(t,e)=>{e.pattern??(e.pattern=ev),_t.init(t,e)}),zv=q("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=tv),_t.init(t,e)}),Uv=q("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=gv(e)),_t.init(t,e)}),Lv=q("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=mv),_t.init(t,e)}),qv=q("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=hv(e)),_t.init(t,e)}),Fv=q("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=nv),_t.init(t,e)}),Zv=q("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=sv),_t.init(t,e),t._zod.bag.format="ipv4"}),Hv=q("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=cv),_t.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Bv=q("$ZodMAC",(t,e)=>{e.pattern??(e.pattern=uv(e.delimiter)),_t.init(t,e),t._zod.bag.format="mac"}),Vv=q("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=lv),_t.init(t,e)}),Gv=q("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=dv),_t.init(t,e),t._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[i,a]=n;if(!a)throw new Error;let o=Number(a);if(`${o}`!==a)throw new Error;if(o<0||o>128)throw new Error;new URL(`http://[${i}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function Ik(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var Wv=q("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=pv),_t.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{Ik(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Wq(t){if(!Qd.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Ik(r)}var Kv=q("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Qd),_t.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{Wq(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Jv=q("$ZodE164",(t,e)=>{e.pattern??(e.pattern=fv),_t.init(t,e)});function Kq(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch{return!1}}var Xv=q("$ZodJWT",(t,e)=>{_t.init(t,e),t._zod.check=r=>{Kq(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),Yv=q("$ZodCustomStringFormat",(t,e)=>{_t.init(t,e),t._zod.check=r=>{e.fn(r.value)||r.issues.push({code:"invalid_format",format:e.format,input:r.value,inst:t,continue:!e.abort})}}),sp=q("$ZodNumber",(t,e)=>{Ae.init(t,e),t._zod.pattern=t._zod.bag.pattern??ep,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let a=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:t,...a?{received:a}:{}}),r}}),Qv=q("$ZodNumberFormat",(t,e)=>{YE.init(t,e),sp.init(t,e)}),cu=q("$ZodBoolean",(t,e)=>{Ae.init(t,e),t._zod.pattern=bv,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:t}),r}}),cp=q("$ZodBigInt",(t,e)=>{Ae.init(t,e),t._zod.pattern=yv,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:t}),r}}),ey=q("$ZodBigIntFormat",(t,e)=>{QE.init(t,e),cp.init(t,e)}),ty=q("$ZodSymbol",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return typeof i=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:i,inst:t}),r}}),ry=q("$ZodUndefined",(t,e)=>{Ae.init(t,e),t._zod.pattern=Sv,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:t}),r}}),ny=q("$ZodNull",(t,e)=>{Ae.init(t,e),t._zod.pattern=xv,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:t}),r}}),iy=q("$ZodAny",(t,e)=>{Ae.init(t,e),t._zod.parse=r=>r}),ay=q("$ZodUnknown",(t,e)=>{Ae.init(t,e),t._zod.parse=r=>r}),oy=q("$ZodNever",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)}),sy=q("$ZodVoid",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"void",code:"invalid_type",input:i,inst:t}),r}}),cy=q("$ZodDate",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let i=r.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:i,...a?{received:"Invalid Date"}:{},inst:t}),r}});function vk(t,e,r){t.issues.length&&e.issues.push(...tn(r,t.issues)),e.value[r]=t.value}var uy=q("$ZodArray",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:t}),r;r.value=Array(i.length);let a=[];for(let o=0;ovk(u,r,o))):vk(c,r,o)}return a.length?Promise.all(a).then(()=>r):r}});function op(t,e,r,n,i){if(t.issues.length){if(i&&!(r in n))return;e.issues.push(...tn(r,t.issues))}t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function Pk(t){let e=Object.keys(t.shape);for(let n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=Wg(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function Ok(t,e,r,n,i,a){let o=[],s=i.keySet,c=i.catchall._zod,u=c.def.type,l=c.optout==="optional";for(let d in e){if(s.has(d))continue;if(u==="never"){o.push(d);continue}let p=c.run({value:e[d],issues:[]},n);p instanceof Promise?t.push(p.then(f=>op(f,r,d,e,l))):op(p,r,d,e,l)}return o.length&&r.issues.push({code:"unrecognized_keys",keys:o,input:e,inst:a}),t.length?Promise.all(t).then(()=>r):r}var Rk=q("$ZodObject",(t,e)=>{if(Ae.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let s=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...s};return Object.defineProperty(e,"shape",{value:c}),c}})}let n=Bo(()=>Pk(e));ze(t._zod,"propValues",()=>{let s=e.shape,c={};for(let u in s){let l=s[u]._zod;if(l.values){c[u]??(c[u]=new Set);for(let d of l.values)c[u].add(d)}}return c});let i=Aa,a=e.catchall,o;t._zod.parse=(s,c)=>{o??(o=n.value);let u=s.value;if(!i(u))return s.issues.push({expected:"object",code:"invalid_type",input:u,inst:t}),s;s.value={};let l=[],d=o.shape;for(let p of o.keys){let f=d[p],h=f._zod.optout==="optional",_=f._zod.run({value:u[p],issues:[]},c);_ instanceof Promise?l.push(_.then(g=>op(g,s,p,u,h))):op(_,s,p,u,h)}return a?Ok(l,u,s,c,n.value,t):l.length?Promise.all(l).then(()=>s):s}}),Ck=q("$ZodObjectJIT",(t,e)=>{Rk.init(t,e);let r=t._zod.parse,n=Bo(()=>Pk(e)),i=p=>{let f=new tp(["shape","payload","ctx"]),h=n.value,_=v=>{let b=Wd(v);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};f.write("const input = payload.value;");let g=Object.create(null),m=0;for(let v of h.keys)g[v]=`key_${m++}`;f.write("const newResult = {};");for(let v of h.keys){let b=g[v],S=Wd(v),w=p[v]?._zod?.optout==="optional";f.write(`const ${b} = ${_(v)};`),w?f.write(` if (${b}.issues.length) { if (${S} in input) { payload.issues = payload.issues.concat(${b}.issues.map(iss => ({ @@ -718,14 +718,14 @@ ${ne.dim}No previous sessions found for this project yet.${ne.reset} newResult[${S}] = ${b}.value; } - `)}f.write("payload.value = newResult;"),f.write("return payload;");let y=f.compile();return(v,b)=>y(p,v,b)},a,o=ja,s=!Gd.jitless,u=s&&Bg.value,l=e.catchall,d;t._zod.parse=(p,f)=>{d??(d=n.value);let h=p.value;return o(h)?s&&u&&f?.async===!1&&f.jitless!==!0?(a||(a=i(e.shape)),p=a(p,f),l?$k([],h,p,f,d,t):p):r(p,f):(p.issues.push({expected:"object",code:"invalid_type",input:h,inst:t}),p)}});function pk(t,e,r,n){for(let a of t)if(a.issues.length===0)return e.value=a.value,e;let i=t.filter(a=>!Qi(a));return i.length===1?(e.value=i[0].value,i[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(o=>Dr(o,n,tr())))}),e)}var uu=L("$ZodUnion",(t,e)=>{Ae.init(t,e),qe(t._zod,"optin",()=>e.options.some(i=>i._zod.optin==="optional")?"optional":void 0),qe(t._zod,"optout",()=>e.options.some(i=>i._zod.optout==="optional")?"optional":void 0),qe(t._zod,"values",()=>{if(e.options.every(i=>i._zod.values))return new Set(e.options.flatMap(i=>Array.from(i._zod.values)))}),qe(t._zod,"pattern",()=>{if(e.options.every(i=>i._zod.pattern)){let i=e.options.map(a=>a._zod.pattern);return new RegExp(`^(${i.map(a=>Gc(a.source)).join("|")})$`)}});let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,a)=>{if(r)return n(i,a);let o=!1,s=[];for(let c of e.options){let u=c._zod.run({value:i.value,issues:[]},a);if(u instanceof Promise)s.push(u),o=!0;else{if(u.issues.length===0)return u;s.push(u)}}return o?Promise.all(s).then(c=>pk(c,i,t,a)):pk(s,i,t,a)}});function fk(t,e,r,n){let i=t.filter(a=>a.issues.length===0);return i.length===1?(e.value=i[0].value,e):(i.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(o=>Dr(o,n,tr())))}):e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:[],inclusive:!1}),e)}var uy=L("$ZodXor",(t,e)=>{uu.init(t,e),e.inclusive=!1;let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,a)=>{if(r)return n(i,a);let o=!1,s=[];for(let c of e.options){let u=c._zod.run({value:i.value,issues:[]},a);u instanceof Promise?(s.push(u),o=!0):s.push(u)}return o?Promise.all(s).then(c=>fk(c,i,t,a)):fk(s,i,t,a)}}),ly=L("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,uu.init(t,e);let r=t._zod.parse;qe(t._zod,"propValues",()=>{let i={};for(let a of e.options){let o=a._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let[s,c]of Object.entries(o)){i[s]||(i[s]=new Set);for(let u of c)i[s].add(u)}}return i});let n=Bo(()=>{let i=e.options,a=new Map;for(let o of i){let s=o._zod.propValues?.[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let c of s){if(a.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);a.set(c,o)}}return a});t._zod.parse=(i,a)=>{let o=i.value;if(!ja(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:t}),i;let s=n.value.get(o?.[e.discriminator]);return s?s._zod.run(i,a):e.unionFallback?r(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:o,path:[e.discriminator],inst:t}),i)}}),dy=L("$ZodIntersection",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value,a=e.left._zod.run({value:i,issues:[]},n),o=e.right._zod.run({value:i,issues:[]},n);return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then(([c,u])=>mk(r,c,u)):mk(r,a,o)}});function kv(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Yi(t)&&Yi(e)){let r=Object.keys(e),n=Object.keys(t).filter(a=>r.indexOf(a)!==-1),i={...t,...e};for(let a of n){let o=kv(t[a],e[a]);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};i[a]=o.data}return{valid:!0,data:i}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;ns.l&&s.r).map(([s])=>s);if(a.length&&i&&t.issues.push({...i,keys:a}),Qi(t))return t;let o=kv(e.value,r.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return t.value=o.data,t}var up=L("$ZodTuple",(t,e)=>{Ae.init(t,e);let r=e.items;t._zod.parse=(n,i)=>{let a=n.value;if(!Array.isArray(a))return n.issues.push({input:a,inst:t,expected:"tuple",code:"invalid_type"}),n;n.value=[];let o=[],s=[...r].reverse().findIndex(l=>l._zod.optin!=="optional"),c=s===-1?0:r.length-s;if(!e.rest){let l=a.length>r.length,d=a.length=a.length&&u>=c)continue;let d=l._zod.run({value:a[u],issues:[]},i);d instanceof Promise?o.push(d.then(p=>rp(p,n,u))):rp(d,n,u)}if(e.rest){let l=a.slice(r.length);for(let d of l){u++;let p=e.rest._zod.run({value:d,issues:[]},i);p instanceof Promise?o.push(p.then(f=>rp(f,n,u))):rp(p,n,u)}}return o.length?Promise.all(o).then(()=>n):n}});function rp(t,e,r){t.issues.length&&e.issues.push(...tn(r,t.issues)),e.value[r]=t.value}var py=L("$ZodRecord",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Yi(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:t}),r;let a=[],o=e.keyType._zod.values;if(o){r.value={};let s=new Set;for(let u of o)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){s.add(typeof u=="number"?u.toString():u);let l=e.valueType._zod.run({value:i[u],issues:[]},n);l instanceof Promise?a.push(l.then(d=>{d.issues.length&&r.issues.push(...tn(u,d.issues)),r.value[u]=d.value})):(l.issues.length&&r.issues.push(...tn(u,l.issues)),r.value[u]=l.value)}let c;for(let u in i)s.has(u)||(c=c??[],c.push(u));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:t,keys:c})}else{r.value={};for(let s of Reflect.ownKeys(i)){if(s==="__proto__")continue;let c=e.keyType._zod.run({value:s,issues:[]},n);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&ep.test(s)&&c.issues.length&&c.issues.some(d=>d.code==="invalid_type"&&d.expected==="number")){let d=e.keyType._zod.run({value:Number(s),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(c=d)}if(c.issues.length){e.mode==="loose"?r.value[s]=i[s]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(d=>Dr(d,n,tr())),input:s,path:[s],inst:t});continue}let l=e.valueType._zod.run({value:i[s],issues:[]},n);l instanceof Promise?a.push(l.then(d=>{d.issues.length&&r.issues.push(...tn(s,d.issues)),r.value[c.value]=d.value})):(l.issues.length&&r.issues.push(...tn(s,l.issues)),r.value[c.value]=l.value)}}return a.length?Promise.all(a).then(()=>r):r}}),fy=L("$ZodMap",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!(i instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:i,inst:t}),r;let a=[];r.value=new Map;for(let[o,s]of i){let c=e.keyType._zod.run({value:o,issues:[]},n),u=e.valueType._zod.run({value:s,issues:[]},n);c instanceof Promise||u instanceof Promise?a.push(Promise.all([c,u]).then(([l,d])=>{hk(l,d,r,o,i,t,n)})):hk(c,u,r,o,i,t,n)}return a.length?Promise.all(a).then(()=>r):r}});function hk(t,e,r,n,i,a,o){t.issues.length&&(Wc.has(typeof n)?r.issues.push(...tn(n,t.issues)):r.issues.push({code:"invalid_key",origin:"map",input:i,inst:a,issues:t.issues.map(s=>Dr(s,o,tr()))})),e.issues.length&&(Wc.has(typeof n)?r.issues.push(...tn(n,e.issues)):r.issues.push({origin:"map",code:"invalid_element",input:i,inst:a,key:n,issues:e.issues.map(s=>Dr(s,o,tr()))})),r.value.set(t.value,e.value)}var my=L("$ZodSet",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!(i instanceof Set))return r.issues.push({input:i,inst:t,expected:"set",code:"invalid_type"}),r;let a=[];r.value=new Set;for(let o of i){let s=e.valueType._zod.run({value:o,issues:[]},n);s instanceof Promise?a.push(s.then(c=>gk(c,r))):gk(s,r)}return a.length?Promise.all(a).then(()=>r):r}});function gk(t,e){t.issues.length&&e.issues.push(...t.issues),e.value.add(t.value)}var hy=L("$ZodEnum",(t,e)=>{Ae.init(t,e);let r=Vc(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(i=>Wc.has(typeof i)).map(i=>typeof i=="string"?dn(i):i.toString()).join("|")})$`),t._zod.parse=(i,a)=>{let o=i.value;return n.has(o)||i.issues.push({code:"invalid_value",values:r,input:o,inst:t}),i}}),gy=L("$ZodLiteral",(t,e)=>{if(Ae.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?dn(n):n?dn(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,i)=>{let a=n.value;return r.has(a)||n.issues.push({code:"invalid_value",values:e.values,input:a,inst:t}),n}}),vy=L("$ZodFile",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return i instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:i,inst:t}),r}}),yy=L("$ZodTransform",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Na(t.constructor.name);let i=e.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(r.value=o,r));if(i instanceof Promise)throw new ti;return r.value=i,r}});function vk(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}var lp=L("$ZodOptional",(t,e)=>{Ae.init(t,e),t._zod.optin="optional",t._zod.optout="optional",qe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),qe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Gc(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>vk(a,r.value)):vk(i,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,n)}}),_y=L("$ZodExactOptional",(t,e)=>{lp.init(t,e),qe(t._zod,"values",()=>e.innerType._zod.values),qe(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,n)=>e.innerType._zod.run(r,n)}),by=L("$ZodNullable",(t,e)=>{Ae.init(t,e),qe(t._zod,"optin",()=>e.innerType._zod.optin),qe(t._zod,"optout",()=>e.innerType._zod.optout),qe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Gc(r.source)}|null)$`):void 0}),qe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),xy=L("$ZodDefault",(t,e)=>{Ae.init(t,e),t._zod.optin="optional",qe(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);if(r.value===void 0)return r.value=e.defaultValue,r;let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>yk(a,e)):yk(i,e)}});function yk(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Sy=L("$ZodPrefault",(t,e)=>{Ae.init(t,e),t._zod.optin="optional",qe(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),wy=L("$ZodNonOptional",(t,e)=>{Ae.init(t,e),qe(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>_k(a,t)):_k(i,t)}});function _k(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var $y=L("$ZodSuccess",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Na("ZodSuccess");let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.issues.length===0,r)):(r.value=i.issues.length===0,r)}}),Ey=L("$ZodCatch",(t,e)=>{Ae.init(t,e),qe(t._zod,"optin",()=>e.innerType._zod.optin),qe(t._zod,"optout",()=>e.innerType._zod.optout),qe(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.value,a.issues.length&&(r.value=e.catchValue({...r,error:{issues:a.issues.map(o=>Dr(o,n,tr()))},input:r.value}),r.issues=[]),r)):(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>Dr(a,n,tr()))},input:r.value}),r.issues=[]),r)}}),ky=L("$ZodNaN",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:t,expected:"nan",code:"invalid_type"}),r)}),Ty=L("$ZodPipe",(t,e)=>{Ae.init(t,e),qe(t._zod,"values",()=>e.in._zod.values),qe(t._zod,"optin",()=>e.in._zod.optin),qe(t._zod,"optout",()=>e.out._zod.optout),qe(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let a=e.out._zod.run(r,n);return a instanceof Promise?a.then(o=>np(o,e.in,n)):np(a,e.in,n)}let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(a=>np(a,e.out,n)):np(i,e.out,n)}});function np(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}var lu=L("$ZodCodec",(t,e)=>{Ae.init(t,e),qe(t._zod,"values",()=>e.in._zod.values),qe(t._zod,"optin",()=>e.in._zod.optin),qe(t._zod,"optout",()=>e.out._zod.optout),qe(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if((n.direction||"forward")==="forward"){let a=e.in._zod.run(r,n);return a instanceof Promise?a.then(o=>ip(o,e,n)):ip(a,e,n)}else{let a=e.out._zod.run(r,n);return a instanceof Promise?a.then(o=>ip(o,e,n)):ip(a,e,n)}}});function ip(t,e,r){if(t.issues.length)return t.aborted=!0,t;if((r.direction||"forward")==="forward"){let i=e.transform(t.value,t);return i instanceof Promise?i.then(a=>ap(t,a,e.out,r)):ap(t,i,e.out,r)}else{let i=e.reverseTransform(t.value,t);return i instanceof Promise?i.then(a=>ap(t,a,e.in,r)):ap(t,i,e.in,r)}}function ap(t,e,r,n){return t.issues.length?(t.aborted=!0,t):r._zod.run({value:e,issues:t.issues},n)}var Iy=L("$ZodReadonly",(t,e)=>{Ae.init(t,e),qe(t._zod,"propValues",()=>e.innerType._zod.propValues),qe(t._zod,"values",()=>e.innerType._zod.values),qe(t._zod,"optin",()=>e.innerType?._zod?.optin),qe(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(bk):bk(i)}});function bk(t){return t.value=Object.freeze(t.value),t}var Py=L("$ZodTemplateLiteral",(t,e)=>{Ae.init(t,e);let r=[];for(let n of e.parts)if(typeof n=="object"&&n!==null){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);let i=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!i)throw new Error(`Invalid template literal part: ${n._zod.traits}`);let a=i.startsWith("^")?1:0,o=i.endsWith("$")?i.length-1:i.length;r.push(i.slice(a,o))}else if(n===null||Vg.has(typeof n))r.push(dn(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);t._zod.pattern=new RegExp(`^${r.join("")}$`),t._zod.parse=(n,i)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:t,expected:"string",code:"invalid_type"}),n):(t._zod.pattern.lastIndex=0,t._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:t,code:"invalid_format",format:e.format??"template_literal",pattern:t._zod.pattern.source}),n)}),Oy=L("$ZodFunction",(t,e)=>(Ae.init(t,e),t._def=e,t._zod.def=e,t.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...n){let i=t._def.input?Qc(t._def.input,n):n,a=Reflect.apply(r,this,i);return t._def.output?Qc(t._def.output,a):a}},t.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...n){let i=t._def.input?await tu(t._def.input,n):n,a=await Reflect.apply(r,this,i);return t._def.output?await tu(t._def.output,a):a}},t._zod.parse=(r,n)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:t}),r):(t._def.output&&t._def.output._zod.def.type==="promise"?r.value=t.implementAsync(r.value):r.value=t.implement(r.value),r),t.input=(...r)=>{let n=t.constructor;return Array.isArray(r[0])?new n({type:"function",input:new up({type:"tuple",items:r[0],rest:r[1]}),output:t._def.output}):new n({type:"function",input:r[0],output:t._def.output})},t.output=r=>{let n=t.constructor;return new n({type:"function",input:t._def.input,output:r})},t)),Ry=L("$ZodPromise",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>Promise.resolve(r.value).then(i=>e.innerType._zod.run({value:i,issues:[]},n))}),Cy=L("$ZodLazy",(t,e)=>{Ae.init(t,e),qe(t._zod,"innerType",()=>e.getter()),qe(t._zod,"pattern",()=>t._zod.innerType?._zod?.pattern),qe(t._zod,"propValues",()=>t._zod.innerType?._zod?.propValues),qe(t._zod,"optin",()=>t._zod.innerType?._zod?.optin??void 0),qe(t._zod,"optout",()=>t._zod.innerType?._zod?.optout??void 0),t._zod.parse=(r,n)=>t._zod.innerType._zod.run(r,n)}),Ny=L("$ZodCustom",(t,e)=>{wt.init(t,e),Ae.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,i=e.fn(n);if(i instanceof Promise)return i.then(a=>xk(a,r,n,t));xk(i,r,n,t)}});function xk(t,e,r,n){if(!t){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),e.issues.push(Vo(i))}}var XL=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function e(i){return t[i]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};return i=>{switch(i.code){case"invalid_type":{let a=n[i.expected]??i.expected,o=Ie(i.input),s=n[o]??o;return`Invalid input: expected ${a}, received ${s}`}case"invalid_value":return i.values.length===1?`Invalid input: expected ${Ee(i.values[0])}`:`Invalid option: expected one of ${$e(i.values,"|")}`;case"too_big":{let a=i.inclusive?"<=":"<",o=e(i.origin);return o?`Too big: expected ${i.origin??"value"} to have ${a}${i.maximum.toString()} ${o.unit??"elements"}`:`Too big: expected ${i.origin??"value"} to be ${a}${i.maximum.toString()}`}case"too_small":{let a=i.inclusive?">=":">",o=e(i.origin);return o?`Too small: expected ${i.origin} to have ${a}${i.minimum.toString()} ${o.unit}`:`Too small: expected ${i.origin} to be ${a}${i.minimum.toString()}`}case"invalid_format":{let a=i;return a.format==="starts_with"?`Invalid string: must start with "${a.prefix}"`:a.format==="ends_with"?`Invalid string: must end with "${a.suffix}"`:a.format==="includes"?`Invalid string: must include "${a.includes}"`:a.format==="regex"?`Invalid string: must match pattern ${a.pattern}`:`Invalid ${r[a.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${$e(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}};function jy(){return{localeError:XL()}}var Tk;var My=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Dy(){return new My}(Tk=globalThis).__zod_globalRegistry??(Tk.__zod_globalRegistry=Dy());var kr=globalThis.__zod_globalRegistry;function zy(t,e){return new t({type:"string",...oe(e)})}function dp(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...oe(e)})}function du(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...oe(e)})}function pp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...oe(e)})}function fp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...oe(e)})}function mp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...oe(e)})}function hp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...oe(e)})}function pu(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...oe(e)})}function gp(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...oe(e)})}function vp(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...oe(e)})}function yp(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...oe(e)})}function _p(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...oe(e)})}function bp(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...oe(e)})}function xp(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...oe(e)})}function Sp(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...oe(e)})}function wp(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...oe(e)})}function $p(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...oe(e)})}function Uy(t,e){return new t({type:"string",format:"mac",check:"string_format",abort:!1,...oe(e)})}function Ep(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...oe(e)})}function kp(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...oe(e)})}function Tp(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...oe(e)})}function Ip(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...oe(e)})}function Pp(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...oe(e)})}function Op(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...oe(e)})}function qy(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...oe(e)})}function Ly(t,e){return new t({type:"string",format:"date",check:"string_format",...oe(e)})}function Fy(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...oe(e)})}function Zy(t,e){return new t({type:"string",format:"duration",check:"string_format",...oe(e)})}function Hy(t,e){return new t({type:"number",checks:[],...oe(e)})}function By(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...oe(e)})}function Vy(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float32",...oe(e)})}function Gy(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float64",...oe(e)})}function Wy(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"int32",...oe(e)})}function Ky(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"uint32",...oe(e)})}function Jy(t,e){return new t({type:"boolean",...oe(e)})}function Xy(t,e){return new t({type:"bigint",...oe(e)})}function Yy(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...oe(e)})}function Qy(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...oe(e)})}function e_(t,e){return new t({type:"symbol",...oe(e)})}function t_(t,e){return new t({type:"undefined",...oe(e)})}function r_(t,e){return new t({type:"null",...oe(e)})}function n_(t){return new t({type:"any"})}function i_(t){return new t({type:"unknown"})}function a_(t,e){return new t({type:"never",...oe(e)})}function o_(t,e){return new t({type:"void",...oe(e)})}function s_(t,e){return new t({type:"date",...oe(e)})}function c_(t,e){return new t({type:"nan",...oe(e)})}function Ei(t,e){return new $v({check:"less_than",...oe(e),value:t,inclusive:!1})}function rn(t,e){return new $v({check:"less_than",...oe(e),value:t,inclusive:!0})}function ki(t,e){return new Ev({check:"greater_than",...oe(e),value:t,inclusive:!1})}function Tr(t,e){return new Ev({check:"greater_than",...oe(e),value:t,inclusive:!0})}function u_(t){return ki(0,t)}function l_(t){return Ei(0,t)}function d_(t){return rn(0,t)}function p_(t){return Tr(0,t)}function Da(t,e){return new BE({check:"multiple_of",...oe(e),value:t})}function za(t,e){return new WE({check:"max_size",...oe(e),maximum:t})}function Ti(t,e){return new KE({check:"min_size",...oe(e),minimum:t})}function Wo(t,e){return new JE({check:"size_equals",...oe(e),size:t})}function Ko(t,e){return new XE({check:"max_length",...oe(e),maximum:t})}function ea(t,e){return new YE({check:"min_length",...oe(e),minimum:t})}function Jo(t,e){return new QE({check:"length_equals",...oe(e),length:t})}function fu(t,e){return new ek({check:"string_format",format:"regex",...oe(e),pattern:t})}function mu(t){return new tk({check:"string_format",format:"lowercase",...oe(t)})}function hu(t){return new rk({check:"string_format",format:"uppercase",...oe(t)})}function gu(t,e){return new nk({check:"string_format",format:"includes",...oe(e),includes:t})}function vu(t,e){return new ik({check:"string_format",format:"starts_with",...oe(e),prefix:t})}function yu(t,e){return new ak({check:"string_format",format:"ends_with",...oe(e),suffix:t})}function f_(t,e,r){return new ok({check:"property",property:t,schema:e,...oe(r)})}function _u(t,e){return new sk({check:"mime_type",mime:t,...oe(e)})}function ri(t){return new ck({check:"overwrite",tx:t})}function bu(t){return ri(e=>e.normalize(t))}function xu(){return ri(t=>t.trim())}function Su(){return ri(t=>t.toLowerCase())}function wu(){return ri(t=>t.toUpperCase())}function Rp(){return ri(t=>Hg(t))}function Ik(t,e,r){return new t({type:"array",element:e,...oe(r)})}function m_(t,e){return new t({type:"file",...oe(e)})}function h_(t,e,r){let n=oe(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function g_(t,e,r){return new t({type:"custom",check:"custom",fn:e,...oe(r)})}function v_(t){let e=t9(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Vo(n,r.value,e._zod.def));else{let i=n;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!e._zod.def.abort),r.issues.push(Vo(i))}},t(r.value,r)));return e}function t9(t,e){let r=new wt({check:"custom",...oe(e)});return r._zod.check=t,r}function y_(t){let e=new wt({check:"describe"});return e._zod.onattach=[r=>{let n=kr.get(r)??{};kr.add(r,{...n,description:t})}],e._zod.check=()=>{},e}function __(t){let e=new wt({check:"meta"});return e._zod.onattach=[r=>{let n=kr.get(r)??{};kr.add(r,{...n,...t})}],e._zod.check=()=>{},e}function b_(t,e){let r=oe(e),n=r.truthy??["true","1","yes","on","y","enabled"],i=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(f=>typeof f=="string"?f.toLowerCase():f),i=i.map(f=>typeof f=="string"?f.toLowerCase():f));let a=new Set(n),o=new Set(i),s=t.Codec??lu,c=t.Boolean??cu,u=t.String??Ma,l=new u({type:"string",error:r.error}),d=new c({type:"boolean",error:r.error}),p=new s({type:"pipe",in:l,out:d,transform:((f,h)=>{let _=f;return r.case!=="sensitive"&&(_=_.toLowerCase()),a.has(_)?!0:o.has(_)?!1:(h.issues.push({code:"invalid_value",expected:"stringbool",values:[...a,...o],input:h.value,inst:p,continue:!1}),{})}),reverseTransform:((f,h)=>f===!0?n[0]||"true":i[0]||"false"),error:r.error});return p}function Xo(t,e,r,n={}){let i=oe(n),a={...oe(n),check:"string_format",type:"string",format:e,fn:typeof r=="function"?r:s=>r.test(s),...i};return r instanceof RegExp&&(a.pattern=r),new t(a)}function Cp(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??kr,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function It(t,e,r={path:[],schemaPath:[]}){var n;let i=t._zod.def,a=e.seen.get(t);if(a)return a.count++,r.schemaPath.includes(t)&&(a.cycle=r.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,o);let s=t._zod.toJSONSchema?.();if(s)o.schema=s;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,o.schema,l);else{let p=o.schema,f=e.processors[i.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);f(t,e,p,l)}let d=t._zod.parent;d&&(o.ref||(o.ref=d),It(d,e,l),e.seen.get(d).isParent=!0)}let c=e.metadataRegistry.get(t);return c&&Object.assign(o.schema,c),e.io==="input"&&Ir(t)&&(delete o.schema.examples,delete o.schema.default),e.io==="input"&&o.schema._prefault&&((n=o.schema).default??(n.default=o.schema._prefault)),delete o.schema._prefault,e.seen.get(t).schema}function Np(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let o of t.seen.entries()){let s=t.metadataRegistry.get(o[0])?.id;if(s){let c=n.get(s);if(c&&c!==o[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(s,o[0])}}let i=o=>{let s=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){let d=t.external.registry.get(o[0])?.id,p=t.external.uri??(h=>h);if(d)return{ref:p(d)};let f=o[1].defId??o[1].schema.id??`schema${t.counter++}`;return o[1].defId=f,{defId:f,ref:`${p("__shared")}#/${s}/${f}`}}if(o[1]===r)return{ref:"#"};let u=`#/${s}/`,l=o[1].schema.id??`__schema${t.counter++}`;return{defId:l,ref:u+l}},a=o=>{if(o[1].schema.$ref)return;let s=o[1],{ref:c,defId:u}=i(o);s.def={...s.schema},u&&(s.defId=u);let l=s.schema;for(let d in l)delete l[d];l.$ref=c};if(t.cycles==="throw")for(let o of t.seen.entries()){let s=o[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/ + `)}f.write("payload.value = newResult;"),f.write("return payload;");let y=f.compile();return(v,b)=>y(p,v,b)},a,o=Aa,s=!Gd.jitless,u=s&&Bg.value,l=e.catchall,d;t._zod.parse=(p,f)=>{d??(d=n.value);let h=p.value;return o(h)?s&&u&&f?.async===!1&&f.jitless!==!0?(a||(a=i(e.shape)),p=a(p,f),l?Ok([],h,p,f,d,t):p):r(p,f):(p.issues.push({expected:"object",code:"invalid_type",input:h,inst:t}),p)}});function yk(t,e,r,n){for(let a of t)if(a.issues.length===0)return e.value=a.value,e;let i=t.filter(a=>!ea(a));return i.length===1?(e.value=i[0].value,i[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(o=>Dr(o,n,tr())))}),e)}var uu=q("$ZodUnion",(t,e)=>{Ae.init(t,e),ze(t._zod,"optin",()=>e.options.some(i=>i._zod.optin==="optional")?"optional":void 0),ze(t._zod,"optout",()=>e.options.some(i=>i._zod.optout==="optional")?"optional":void 0),ze(t._zod,"values",()=>{if(e.options.every(i=>i._zod.values))return new Set(e.options.flatMap(i=>Array.from(i._zod.values)))}),ze(t._zod,"pattern",()=>{if(e.options.every(i=>i._zod.pattern)){let i=e.options.map(a=>a._zod.pattern);return new RegExp(`^(${i.map(a=>Gc(a.source)).join("|")})$`)}});let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,a)=>{if(r)return n(i,a);let o=!1,s=[];for(let c of e.options){let u=c._zod.run({value:i.value,issues:[]},a);if(u instanceof Promise)s.push(u),o=!0;else{if(u.issues.length===0)return u;s.push(u)}}return o?Promise.all(s).then(c=>yk(c,i,t,a)):yk(s,i,t,a)}});function _k(t,e,r,n){let i=t.filter(a=>a.issues.length===0);return i.length===1?(e.value=i[0].value,e):(i.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(o=>Dr(o,n,tr())))}):e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:[],inclusive:!1}),e)}var ly=q("$ZodXor",(t,e)=>{uu.init(t,e),e.inclusive=!1;let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,a)=>{if(r)return n(i,a);let o=!1,s=[];for(let c of e.options){let u=c._zod.run({value:i.value,issues:[]},a);u instanceof Promise?(s.push(u),o=!0):s.push(u)}return o?Promise.all(s).then(c=>_k(c,i,t,a)):_k(s,i,t,a)}}),dy=q("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,uu.init(t,e);let r=t._zod.parse;ze(t._zod,"propValues",()=>{let i={};for(let a of e.options){let o=a._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let[s,c]of Object.entries(o)){i[s]||(i[s]=new Set);for(let u of c)i[s].add(u)}}return i});let n=Bo(()=>{let i=e.options,a=new Map;for(let o of i){let s=o._zod.propValues?.[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let c of s){if(a.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);a.set(c,o)}}return a});t._zod.parse=(i,a)=>{let o=i.value;if(!Aa(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:t}),i;let s=n.value.get(o?.[e.discriminator]);return s?s._zod.run(i,a):e.unionFallback?r(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:o,path:[e.discriminator],inst:t}),i)}}),py=q("$ZodIntersection",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value,a=e.left._zod.run({value:i,issues:[]},n),o=e.right._zod.run({value:i,issues:[]},n);return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then(([c,u])=>bk(r,c,u)):bk(r,a,o)}});function Tv(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Qi(t)&&Qi(e)){let r=Object.keys(e),n=Object.keys(t).filter(a=>r.indexOf(a)!==-1),i={...t,...e};for(let a of n){let o=Tv(t[a],e[a]);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};i[a]=o.data}return{valid:!0,data:i}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;ns.l&&s.r).map(([s])=>s);if(a.length&&i&&t.issues.push({...i,keys:a}),ea(t))return t;let o=Tv(e.value,r.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return t.value=o.data,t}var up=q("$ZodTuple",(t,e)=>{Ae.init(t,e);let r=e.items;t._zod.parse=(n,i)=>{let a=n.value;if(!Array.isArray(a))return n.issues.push({input:a,inst:t,expected:"tuple",code:"invalid_type"}),n;n.value=[];let o=[],s=[...r].reverse().findIndex(l=>l._zod.optin!=="optional"),c=s===-1?0:r.length-s;if(!e.rest){let l=a.length>r.length,d=a.length=a.length&&u>=c)continue;let d=l._zod.run({value:a[u],issues:[]},i);d instanceof Promise?o.push(d.then(p=>rp(p,n,u))):rp(d,n,u)}if(e.rest){let l=a.slice(r.length);for(let d of l){u++;let p=e.rest._zod.run({value:d,issues:[]},i);p instanceof Promise?o.push(p.then(f=>rp(f,n,u))):rp(p,n,u)}}return o.length?Promise.all(o).then(()=>n):n}});function rp(t,e,r){t.issues.length&&e.issues.push(...tn(r,t.issues)),e.value[r]=t.value}var fy=q("$ZodRecord",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Qi(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:t}),r;let a=[],o=e.keyType._zod.values;if(o){r.value={};let s=new Set;for(let u of o)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){s.add(typeof u=="number"?u.toString():u);let l=e.valueType._zod.run({value:i[u],issues:[]},n);l instanceof Promise?a.push(l.then(d=>{d.issues.length&&r.issues.push(...tn(u,d.issues)),r.value[u]=d.value})):(l.issues.length&&r.issues.push(...tn(u,l.issues)),r.value[u]=l.value)}let c;for(let u in i)s.has(u)||(c=c??[],c.push(u));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:t,keys:c})}else{r.value={};for(let s of Reflect.ownKeys(i)){if(s==="__proto__")continue;let c=e.keyType._zod.run({value:s,issues:[]},n);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&ep.test(s)&&c.issues.length&&c.issues.some(d=>d.code==="invalid_type"&&d.expected==="number")){let d=e.keyType._zod.run({value:Number(s),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(c=d)}if(c.issues.length){e.mode==="loose"?r.value[s]=i[s]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(d=>Dr(d,n,tr())),input:s,path:[s],inst:t});continue}let l=e.valueType._zod.run({value:i[s],issues:[]},n);l instanceof Promise?a.push(l.then(d=>{d.issues.length&&r.issues.push(...tn(s,d.issues)),r.value[c.value]=d.value})):(l.issues.length&&r.issues.push(...tn(s,l.issues)),r.value[c.value]=l.value)}}return a.length?Promise.all(a).then(()=>r):r}}),my=q("$ZodMap",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!(i instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:i,inst:t}),r;let a=[];r.value=new Map;for(let[o,s]of i){let c=e.keyType._zod.run({value:o,issues:[]},n),u=e.valueType._zod.run({value:s,issues:[]},n);c instanceof Promise||u instanceof Promise?a.push(Promise.all([c,u]).then(([l,d])=>{xk(l,d,r,o,i,t,n)})):xk(c,u,r,o,i,t,n)}return a.length?Promise.all(a).then(()=>r):r}});function xk(t,e,r,n,i,a,o){t.issues.length&&(Wc.has(typeof n)?r.issues.push(...tn(n,t.issues)):r.issues.push({code:"invalid_key",origin:"map",input:i,inst:a,issues:t.issues.map(s=>Dr(s,o,tr()))})),e.issues.length&&(Wc.has(typeof n)?r.issues.push(...tn(n,e.issues)):r.issues.push({origin:"map",code:"invalid_element",input:i,inst:a,key:n,issues:e.issues.map(s=>Dr(s,o,tr()))})),r.value.set(t.value,e.value)}var hy=q("$ZodSet",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!(i instanceof Set))return r.issues.push({input:i,inst:t,expected:"set",code:"invalid_type"}),r;let a=[];r.value=new Set;for(let o of i){let s=e.valueType._zod.run({value:o,issues:[]},n);s instanceof Promise?a.push(s.then(c=>Sk(c,r))):Sk(s,r)}return a.length?Promise.all(a).then(()=>r):r}});function Sk(t,e){t.issues.length&&e.issues.push(...t.issues),e.value.add(t.value)}var gy=q("$ZodEnum",(t,e)=>{Ae.init(t,e);let r=Vc(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(i=>Wc.has(typeof i)).map(i=>typeof i=="string"?dn(i):i.toString()).join("|")})$`),t._zod.parse=(i,a)=>{let o=i.value;return n.has(o)||i.issues.push({code:"invalid_value",values:r,input:o,inst:t}),i}}),vy=q("$ZodLiteral",(t,e)=>{if(Ae.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?dn(n):n?dn(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,i)=>{let a=n.value;return r.has(a)||n.issues.push({code:"invalid_value",values:e.values,input:a,inst:t}),n}}),yy=q("$ZodFile",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return i instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:i,inst:t}),r}}),_y=q("$ZodTransform",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new ja(t.constructor.name);let i=e.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(r.value=o,r));if(i instanceof Promise)throw new ri;return r.value=i,r}});function wk(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}var lp=q("$ZodOptional",(t,e)=>{Ae.init(t,e),t._zod.optin="optional",t._zod.optout="optional",ze(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),ze(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Gc(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>wk(a,r.value)):wk(i,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,n)}}),by=q("$ZodExactOptional",(t,e)=>{lp.init(t,e),ze(t._zod,"values",()=>e.innerType._zod.values),ze(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,n)=>e.innerType._zod.run(r,n)}),xy=q("$ZodNullable",(t,e)=>{Ae.init(t,e),ze(t._zod,"optin",()=>e.innerType._zod.optin),ze(t._zod,"optout",()=>e.innerType._zod.optout),ze(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Gc(r.source)}|null)$`):void 0}),ze(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Sy=q("$ZodDefault",(t,e)=>{Ae.init(t,e),t._zod.optin="optional",ze(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);if(r.value===void 0)return r.value=e.defaultValue,r;let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>$k(a,e)):$k(i,e)}});function $k(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var wy=q("$ZodPrefault",(t,e)=>{Ae.init(t,e),t._zod.optin="optional",ze(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),$y=q("$ZodNonOptional",(t,e)=>{Ae.init(t,e),ze(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>Ek(a,t)):Ek(i,t)}});function Ek(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Ey=q("$ZodSuccess",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new ja("ZodSuccess");let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.issues.length===0,r)):(r.value=i.issues.length===0,r)}}),ky=q("$ZodCatch",(t,e)=>{Ae.init(t,e),ze(t._zod,"optin",()=>e.innerType._zod.optin),ze(t._zod,"optout",()=>e.innerType._zod.optout),ze(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.value,a.issues.length&&(r.value=e.catchValue({...r,error:{issues:a.issues.map(o=>Dr(o,n,tr()))},input:r.value}),r.issues=[]),r)):(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>Dr(a,n,tr()))},input:r.value}),r.issues=[]),r)}}),Ty=q("$ZodNaN",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:t,expected:"nan",code:"invalid_type"}),r)}),Iy=q("$ZodPipe",(t,e)=>{Ae.init(t,e),ze(t._zod,"values",()=>e.in._zod.values),ze(t._zod,"optin",()=>e.in._zod.optin),ze(t._zod,"optout",()=>e.out._zod.optout),ze(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let a=e.out._zod.run(r,n);return a instanceof Promise?a.then(o=>np(o,e.in,n)):np(a,e.in,n)}let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(a=>np(a,e.out,n)):np(i,e.out,n)}});function np(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}var lu=q("$ZodCodec",(t,e)=>{Ae.init(t,e),ze(t._zod,"values",()=>e.in._zod.values),ze(t._zod,"optin",()=>e.in._zod.optin),ze(t._zod,"optout",()=>e.out._zod.optout),ze(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if((n.direction||"forward")==="forward"){let a=e.in._zod.run(r,n);return a instanceof Promise?a.then(o=>ip(o,e,n)):ip(a,e,n)}else{let a=e.out._zod.run(r,n);return a instanceof Promise?a.then(o=>ip(o,e,n)):ip(a,e,n)}}});function ip(t,e,r){if(t.issues.length)return t.aborted=!0,t;if((r.direction||"forward")==="forward"){let i=e.transform(t.value,t);return i instanceof Promise?i.then(a=>ap(t,a,e.out,r)):ap(t,i,e.out,r)}else{let i=e.reverseTransform(t.value,t);return i instanceof Promise?i.then(a=>ap(t,a,e.in,r)):ap(t,i,e.in,r)}}function ap(t,e,r,n){return t.issues.length?(t.aborted=!0,t):r._zod.run({value:e,issues:t.issues},n)}var Py=q("$ZodReadonly",(t,e)=>{Ae.init(t,e),ze(t._zod,"propValues",()=>e.innerType._zod.propValues),ze(t._zod,"values",()=>e.innerType._zod.values),ze(t._zod,"optin",()=>e.innerType?._zod?.optin),ze(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(kk):kk(i)}});function kk(t){return t.value=Object.freeze(t.value),t}var Oy=q("$ZodTemplateLiteral",(t,e)=>{Ae.init(t,e);let r=[];for(let n of e.parts)if(typeof n=="object"&&n!==null){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);let i=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!i)throw new Error(`Invalid template literal part: ${n._zod.traits}`);let a=i.startsWith("^")?1:0,o=i.endsWith("$")?i.length-1:i.length;r.push(i.slice(a,o))}else if(n===null||Gg.has(typeof n))r.push(dn(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);t._zod.pattern=new RegExp(`^${r.join("")}$`),t._zod.parse=(n,i)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:t,expected:"string",code:"invalid_type"}),n):(t._zod.pattern.lastIndex=0,t._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:t,code:"invalid_format",format:e.format??"template_literal",pattern:t._zod.pattern.source}),n)}),Ry=q("$ZodFunction",(t,e)=>(Ae.init(t,e),t._def=e,t._zod.def=e,t.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...n){let i=t._def.input?Qc(t._def.input,n):n,a=Reflect.apply(r,this,i);return t._def.output?Qc(t._def.output,a):a}},t.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...n){let i=t._def.input?await tu(t._def.input,n):n,a=await Reflect.apply(r,this,i);return t._def.output?await tu(t._def.output,a):a}},t._zod.parse=(r,n)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:t}),r):(t._def.output&&t._def.output._zod.def.type==="promise"?r.value=t.implementAsync(r.value):r.value=t.implement(r.value),r),t.input=(...r)=>{let n=t.constructor;return Array.isArray(r[0])?new n({type:"function",input:new up({type:"tuple",items:r[0],rest:r[1]}),output:t._def.output}):new n({type:"function",input:r[0],output:t._def.output})},t.output=r=>{let n=t.constructor;return new n({type:"function",input:t._def.input,output:r})},t)),Cy=q("$ZodPromise",(t,e)=>{Ae.init(t,e),t._zod.parse=(r,n)=>Promise.resolve(r.value).then(i=>e.innerType._zod.run({value:i,issues:[]},n))}),Ny=q("$ZodLazy",(t,e)=>{Ae.init(t,e),ze(t._zod,"innerType",()=>e.getter()),ze(t._zod,"pattern",()=>t._zod.innerType?._zod?.pattern),ze(t._zod,"propValues",()=>t._zod.innerType?._zod?.propValues),ze(t._zod,"optin",()=>t._zod.innerType?._zod?.optin??void 0),ze(t._zod,"optout",()=>t._zod.innerType?._zod?.optout??void 0),t._zod.parse=(r,n)=>t._zod.innerType._zod.run(r,n)}),jy=q("$ZodCustom",(t,e)=>{wt.init(t,e),Ae.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,i=e.fn(n);if(i instanceof Promise)return i.then(a=>Tk(a,r,n,t));Tk(i,r,n,t)}});function Tk(t,e,r,n){if(!t){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),e.issues.push(Vo(i))}}var Xq=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function e(i){return t[i]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};return i=>{switch(i.code){case"invalid_type":{let a=n[i.expected]??i.expected,o=Ie(i.input),s=n[o]??o;return`Invalid input: expected ${a}, received ${s}`}case"invalid_value":return i.values.length===1?`Invalid input: expected ${Ee(i.values[0])}`:`Invalid option: expected one of ${$e(i.values,"|")}`;case"too_big":{let a=i.inclusive?"<=":"<",o=e(i.origin);return o?`Too big: expected ${i.origin??"value"} to have ${a}${i.maximum.toString()} ${o.unit??"elements"}`:`Too big: expected ${i.origin??"value"} to be ${a}${i.maximum.toString()}`}case"too_small":{let a=i.inclusive?">=":">",o=e(i.origin);return o?`Too small: expected ${i.origin} to have ${a}${i.minimum.toString()} ${o.unit}`:`Too small: expected ${i.origin} to be ${a}${i.minimum.toString()}`}case"invalid_format":{let a=i;return a.format==="starts_with"?`Invalid string: must start with "${a.prefix}"`:a.format==="ends_with"?`Invalid string: must end with "${a.suffix}"`:a.format==="includes"?`Invalid string: must include "${a.includes}"`:a.format==="regex"?`Invalid string: must match pattern ${a.pattern}`:`Invalid ${r[a.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${$e(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}};function Ay(){return{localeError:Xq()}}var Nk;var Dy=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function zy(){return new Dy}(Nk=globalThis).__zod_globalRegistry??(Nk.__zod_globalRegistry=zy());var kr=globalThis.__zod_globalRegistry;function Uy(t,e){return new t({type:"string",...oe(e)})}function dp(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...oe(e)})}function du(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...oe(e)})}function pp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...oe(e)})}function fp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...oe(e)})}function mp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...oe(e)})}function hp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...oe(e)})}function pu(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...oe(e)})}function gp(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...oe(e)})}function vp(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...oe(e)})}function yp(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...oe(e)})}function _p(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...oe(e)})}function bp(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...oe(e)})}function xp(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...oe(e)})}function Sp(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...oe(e)})}function wp(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...oe(e)})}function $p(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...oe(e)})}function Ly(t,e){return new t({type:"string",format:"mac",check:"string_format",abort:!1,...oe(e)})}function Ep(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...oe(e)})}function kp(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...oe(e)})}function Tp(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...oe(e)})}function Ip(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...oe(e)})}function Pp(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...oe(e)})}function Op(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...oe(e)})}function qy(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...oe(e)})}function Fy(t,e){return new t({type:"string",format:"date",check:"string_format",...oe(e)})}function Zy(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...oe(e)})}function Hy(t,e){return new t({type:"string",format:"duration",check:"string_format",...oe(e)})}function By(t,e){return new t({type:"number",checks:[],...oe(e)})}function Vy(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...oe(e)})}function Gy(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float32",...oe(e)})}function Wy(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float64",...oe(e)})}function Ky(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"int32",...oe(e)})}function Jy(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"uint32",...oe(e)})}function Xy(t,e){return new t({type:"boolean",...oe(e)})}function Yy(t,e){return new t({type:"bigint",...oe(e)})}function Qy(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...oe(e)})}function e_(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...oe(e)})}function t_(t,e){return new t({type:"symbol",...oe(e)})}function r_(t,e){return new t({type:"undefined",...oe(e)})}function n_(t,e){return new t({type:"null",...oe(e)})}function i_(t){return new t({type:"any"})}function a_(t){return new t({type:"unknown"})}function o_(t,e){return new t({type:"never",...oe(e)})}function s_(t,e){return new t({type:"void",...oe(e)})}function c_(t,e){return new t({type:"date",...oe(e)})}function u_(t,e){return new t({type:"nan",...oe(e)})}function ki(t,e){return new Ev({check:"less_than",...oe(e),value:t,inclusive:!1})}function rn(t,e){return new Ev({check:"less_than",...oe(e),value:t,inclusive:!0})}function Ti(t,e){return new kv({check:"greater_than",...oe(e),value:t,inclusive:!1})}function Tr(t,e){return new kv({check:"greater_than",...oe(e),value:t,inclusive:!0})}function l_(t){return Ti(0,t)}function d_(t){return ki(0,t)}function p_(t){return rn(0,t)}function f_(t){return Tr(0,t)}function za(t,e){return new XE({check:"multiple_of",...oe(e),value:t})}function Ua(t,e){return new ek({check:"max_size",...oe(e),maximum:t})}function Ii(t,e){return new tk({check:"min_size",...oe(e),minimum:t})}function Wo(t,e){return new rk({check:"size_equals",...oe(e),size:t})}function Ko(t,e){return new nk({check:"max_length",...oe(e),maximum:t})}function ta(t,e){return new ik({check:"min_length",...oe(e),minimum:t})}function Jo(t,e){return new ak({check:"length_equals",...oe(e),length:t})}function fu(t,e){return new ok({check:"string_format",format:"regex",...oe(e),pattern:t})}function mu(t){return new sk({check:"string_format",format:"lowercase",...oe(t)})}function hu(t){return new ck({check:"string_format",format:"uppercase",...oe(t)})}function gu(t,e){return new uk({check:"string_format",format:"includes",...oe(e),includes:t})}function vu(t,e){return new lk({check:"string_format",format:"starts_with",...oe(e),prefix:t})}function yu(t,e){return new dk({check:"string_format",format:"ends_with",...oe(e),suffix:t})}function m_(t,e,r){return new pk({check:"property",property:t,schema:e,...oe(r)})}function _u(t,e){return new fk({check:"mime_type",mime:t,...oe(e)})}function ni(t){return new mk({check:"overwrite",tx:t})}function bu(t){return ni(e=>e.normalize(t))}function xu(){return ni(t=>t.trim())}function Su(){return ni(t=>t.toLowerCase())}function wu(){return ni(t=>t.toUpperCase())}function Rp(){return ni(t=>Hg(t))}function jk(t,e,r){return new t({type:"array",element:e,...oe(r)})}function h_(t,e){return new t({type:"file",...oe(e)})}function g_(t,e,r){let n=oe(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function v_(t,e,r){return new t({type:"custom",check:"custom",fn:e,...oe(r)})}function y_(t){let e=t9(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Vo(n,r.value,e._zod.def));else{let i=n;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!e._zod.def.abort),r.issues.push(Vo(i))}},t(r.value,r)));return e}function t9(t,e){let r=new wt({check:"custom",...oe(e)});return r._zod.check=t,r}function __(t){let e=new wt({check:"describe"});return e._zod.onattach=[r=>{let n=kr.get(r)??{};kr.add(r,{...n,description:t})}],e._zod.check=()=>{},e}function b_(t){let e=new wt({check:"meta"});return e._zod.onattach=[r=>{let n=kr.get(r)??{};kr.add(r,{...n,...t})}],e._zod.check=()=>{},e}function x_(t,e){let r=oe(e),n=r.truthy??["true","1","yes","on","y","enabled"],i=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(f=>typeof f=="string"?f.toLowerCase():f),i=i.map(f=>typeof f=="string"?f.toLowerCase():f));let a=new Set(n),o=new Set(i),s=t.Codec??lu,c=t.Boolean??cu,u=t.String??Da,l=new u({type:"string",error:r.error}),d=new c({type:"boolean",error:r.error}),p=new s({type:"pipe",in:l,out:d,transform:((f,h)=>{let _=f;return r.case!=="sensitive"&&(_=_.toLowerCase()),a.has(_)?!0:o.has(_)?!1:(h.issues.push({code:"invalid_value",expected:"stringbool",values:[...a,...o],input:h.value,inst:p,continue:!1}),{})}),reverseTransform:((f,h)=>f===!0?n[0]||"true":i[0]||"false"),error:r.error});return p}function Xo(t,e,r,n={}){let i=oe(n),a={...oe(n),check:"string_format",type:"string",format:e,fn:typeof r=="function"?r:s=>r.test(s),...i};return r instanceof RegExp&&(a.pattern=r),new t(a)}function Cp(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??kr,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function It(t,e,r={path:[],schemaPath:[]}){var n;let i=t._zod.def,a=e.seen.get(t);if(a)return a.count++,r.schemaPath.includes(t)&&(a.cycle=r.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,o);let s=t._zod.toJSONSchema?.();if(s)o.schema=s;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,o.schema,l);else{let p=o.schema,f=e.processors[i.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);f(t,e,p,l)}let d=t._zod.parent;d&&(o.ref||(o.ref=d),It(d,e,l),e.seen.get(d).isParent=!0)}let c=e.metadataRegistry.get(t);return c&&Object.assign(o.schema,c),e.io==="input"&&Ir(t)&&(delete o.schema.examples,delete o.schema.default),e.io==="input"&&o.schema._prefault&&((n=o.schema).default??(n.default=o.schema._prefault)),delete o.schema._prefault,e.seen.get(t).schema}function Np(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let o of t.seen.entries()){let s=t.metadataRegistry.get(o[0])?.id;if(s){let c=n.get(s);if(c&&c!==o[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(s,o[0])}}let i=o=>{let s=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){let d=t.external.registry.get(o[0])?.id,p=t.external.uri??(h=>h);if(d)return{ref:p(d)};let f=o[1].defId??o[1].schema.id??`schema${t.counter++}`;return o[1].defId=f,{defId:f,ref:`${p("__shared")}#/${s}/${f}`}}if(o[1]===r)return{ref:"#"};let u=`#/${s}/`,l=o[1].schema.id??`__schema${t.counter++}`;return{defId:l,ref:u+l}},a=o=>{if(o[1].schema.$ref)return;let s=o[1],{ref:c,defId:u}=i(o);s.def={...s.schema},u&&(s.defId=u);let l=s.schema;for(let d in l)delete l[d];l.$ref=c};if(t.cycles==="throw")for(let o of t.seen.entries()){let s=o[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let o of t.seen.entries()){let s=o[1];if(e===o[0]){a(o);continue}if(t.external){let u=t.external.registry.get(o[0])?.id;if(e!==o[0]&&u){a(o);continue}}if(t.metadataRegistry.get(o[0])?.id){a(o);continue}if(s.cycle){a(o);continue}if(s.count>1&&t.reused==="ref"){a(o);continue}}}function jp(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=o=>{let s=t.seen.get(o);if(s.ref===null)return;let c=s.def??s.schema,u={...c},l=s.ref;if(s.ref=null,l){n(l);let p=t.seen.get(l),f=p.schema;if(f.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(f)):Object.assign(c,f),Object.assign(c,u),o._zod.parent===l)for(let _ in c)_==="$ref"||_==="allOf"||_ in u||delete c[_];if(f.$ref)for(let _ in c)_==="$ref"||_==="allOf"||_ in p.def&&JSON.stringify(c[_])===JSON.stringify(p.def[_])&&delete c[_]}let d=o._zod.parent;if(d&&d!==l){n(d);let p=t.seen.get(d);if(p?.schema.$ref&&(c.$ref=p.schema.$ref,p.def))for(let f in c)f==="$ref"||f==="allOf"||f in p.def&&JSON.stringify(c[f])===JSON.stringify(p.def[f])&&delete c[f]}t.override({zodSchema:o,jsonSchema:c,path:s.path??[]})};for(let o of[...t.seen.entries()].reverse())n(o[0]);let i={};if(t.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){let o=t.external.registry.get(e)?.id;if(!o)throw new Error("Schema is missing an `id` property");i.$id=t.external.uri(o)}Object.assign(i,r.def??r.schema);let a=t.external?.defs??{};for(let o of t.seen.entries()){let s=o[1];s.def&&s.defId&&(a[s.defId]=s.def)}t.external||Object.keys(a).length>0&&(t.target==="draft-2020-12"?i.$defs=a:i.definitions=a);try{let o=JSON.parse(JSON.stringify(i));return Object.defineProperty(o,"~standard",{value:{...e["~standard"],jsonSchema:{input:$u(e,"input",t.processors),output:$u(e,"output",t.processors)}},enumerable:!1,writable:!1}),o}catch{throw new Error("Error converting schema to JSON.")}}function Ir(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return Ir(n.element,r);if(n.type==="set")return Ir(n.valueType,r);if(n.type==="lazy")return Ir(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return Ir(n.innerType,r);if(n.type==="intersection")return Ir(n.left,r)||Ir(n.right,r);if(n.type==="record"||n.type==="map")return Ir(n.keyType,r)||Ir(n.valueType,r);if(n.type==="pipe")return Ir(n.in,r)||Ir(n.out,r);if(n.type==="object"){for(let i in n.shape)if(Ir(n.shape[i],r))return!0;return!1}if(n.type==="union"){for(let i of n.options)if(Ir(i,r))return!0;return!1}if(n.type==="tuple"){for(let i of n.items)if(Ir(i,r))return!0;return!!(n.rest&&Ir(n.rest,r))}return!1}var Pk=(t,e={})=>r=>{let n=Cp({...r,processors:e});return It(t,n),Np(n,t),jp(n,t)},$u=(t,e,r={})=>n=>{let{libraryOptions:i,target:a}=n??{},o=Cp({...i??{},target:a,io:e,processors:r});return It(t,o),Np(o,t),jp(o,t)};var r9={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ok=(t,e,r,n)=>{let i=r;i.type="string";let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:u}=t._zod.bag;if(typeof a=="number"&&(i.minLength=a),typeof o=="number"&&(i.maxLength=o),s&&(i.format=r9[s]??s,i.format===""&&delete i.format,s==="time"&&delete i.format),u&&(i.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?i.pattern=l[0].source:l.length>1&&(i.allOf=[...l.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Rk=(t,e,r,n)=>{let i=r,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=t._zod.bag;typeof s=="string"&&s.includes("int")?i.type="integer":i.type="number",typeof l=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l),typeof a=="number"&&(i.minimum=a,typeof l=="number"&&e.target!=="draft-04"&&(l>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof u=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.maximum=u,i.exclusiveMaximum=!0):i.exclusiveMaximum=u),typeof o=="number"&&(i.maximum=o,typeof u=="number"&&e.target!=="draft-04"&&(u<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c=="number"&&(i.multipleOf=c)},Ck=(t,e,r,n)=>{r.type="boolean"},Nk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},jk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Ak=(t,e,r,n)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Mk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Dk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},zk=(t,e,r,n)=>{r.not={}},Uk=(t,e,r,n)=>{},qk=(t,e,r,n)=>{},Lk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Fk=(t,e,r,n)=>{let i=t._zod.def,a=Vc(i.entries);a.every(o=>typeof o=="number")&&(r.type="number"),a.every(o=>typeof o=="string")&&(r.type="string"),r.enum=a},Zk=(t,e,r,n)=>{let i=t._zod.def,a=[];for(let o of i.values)if(o===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(o))}else a.push(o);if(a.length!==0)if(a.length===1){let o=a[0];r.type=o===null?"null":typeof o,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[o]:r.const=o}else a.every(o=>typeof o=="number")&&(r.type="number"),a.every(o=>typeof o=="string")&&(r.type="string"),a.every(o=>typeof o=="boolean")&&(r.type="boolean"),a.every(o=>o===null)&&(r.type="null"),r.enum=a},Hk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Bk=(t,e,r,n)=>{let i=r,a=t._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");i.type="string",i.pattern=a.source},Vk=(t,e,r,n)=>{let i=r,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:o,maximum:s,mime:c}=t._zod.bag;o!==void 0&&(a.minLength=o),s!==void 0&&(a.maxLength=s),c?c.length===1?(a.contentMediaType=c[0],Object.assign(i,a)):(Object.assign(i,a),i.anyOf=c.map(u=>({contentMediaType:u}))):Object.assign(i,a)},Gk=(t,e,r,n)=>{r.type="boolean"},Wk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Kk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Jk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Xk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Yk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Qk=(t,e,r,n)=>{let i=r,a=t._zod.def,{minimum:o,maximum:s}=t._zod.bag;typeof o=="number"&&(i.minItems=o),typeof s=="number"&&(i.maxItems=s),i.type="array",i.items=It(a.element,e,{...n,path:[...n.path,"items"]})},eT=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object",i.properties={};let o=a.shape;for(let u in o)i.properties[u]=It(o[u],e,{...n,path:[...n.path,"properties",u]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(u=>{let l=a.shape[u]._zod;return e.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type==="never"?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=It(a.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(i.additionalProperties=!1)},x_=(t,e,r,n)=>{let i=t._zod.def,a=i.inclusive===!1,o=i.options.map((s,c)=>It(s,e,{...n,path:[...n.path,a?"oneOf":"anyOf",c]}));a?r.oneOf=o:r.anyOf=o},tT=(t,e,r,n)=>{let i=t._zod.def,a=It(i.left,e,{...n,path:[...n.path,"allOf",0]}),o=It(i.right,e,{...n,path:[...n.path,"allOf",1]}),s=u=>"allOf"in u&&Object.keys(u).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];r.allOf=c},rT=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="array";let o=e.target==="draft-2020-12"?"prefixItems":"items",s=e.target==="draft-2020-12"||e.target==="openapi-3.0"?"items":"additionalItems",c=a.items.map((p,f)=>It(p,e,{...n,path:[...n.path,o,f]})),u=a.rest?It(a.rest,e,{...n,path:[...n.path,s,...e.target==="openapi-3.0"?[a.items.length]:[]]}):null;e.target==="draft-2020-12"?(i.prefixItems=c,u&&(i.items=u)):e.target==="openapi-3.0"?(i.items={anyOf:c},u&&i.items.anyOf.push(u),i.minItems=c.length,u||(i.maxItems=c.length)):(i.items=c,u&&(i.additionalItems=u));let{minimum:l,maximum:d}=t._zod.bag;typeof l=="number"&&(i.minItems=l),typeof d=="number"&&(i.maxItems=d)},nT=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object";let o=a.keyType,c=o._zod.bag?.patterns;if(a.mode==="loose"&&c&&c.size>0){let l=It(a.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});i.patternProperties={};for(let d of c)i.patternProperties[d.source]=l}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(i.propertyNames=It(a.keyType,e,{...n,path:[...n.path,"propertyNames"]})),i.additionalProperties=It(a.valueType,e,{...n,path:[...n.path,"additionalProperties"]});let u=o._zod.values;if(u){let l=[...u].filter(d=>typeof d=="string"||typeof d=="number");l.length>0&&(i.required=l)}},iT=(t,e,r,n)=>{let i=t._zod.def,a=It(i.innerType,e,n),o=e.seen.get(t);e.target==="openapi-3.0"?(o.ref=i.innerType,r.nullable=!0):r.anyOf=[a,{type:"null"}]},aT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},oT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.default=JSON.parse(JSON.stringify(i.defaultValue))},sT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},cT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=o},uT=(t,e,r,n)=>{let i=t._zod.def,a=e.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;It(a,e,n);let o=e.seen.get(t);o.ref=a},lT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.readOnly=!0},dT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},S_=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},pT=(t,e,r,n)=>{let i=t._zod.innerType;It(i,e,n);let a=e.seen.get(t);a.ref=i};function Yo(t){return!!t._zod}function Mn(t,e){return Yo(t)?Go(t,e):t.safeParse(e)}function Ap(t){if(!t)return;let e;if(Yo(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function gT(t){if(Yo(t)){let a=t._zod?.def;if(a){if(a.value!==void 0)return a.value;if(Array.isArray(a.values)&&a.values.length>0)return a.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var Eu={};Cn(Eu,{ZodAny:()=>jT,ZodArray:()=>zT,ZodBase64:()=>V_,ZodBase64URL:()=>G_,ZodBigInt:()=>Hp,ZodBigIntFormat:()=>J_,ZodBoolean:()=>Zp,ZodCIDRv4:()=>H_,ZodCIDRv6:()=>B_,ZodCUID:()=>D_,ZodCUID2:()=>z_,ZodCatch:()=>i1,ZodCodec:()=>nb,ZodCustom:()=>Kp,ZodCustomStringFormat:()=>Tu,ZodDate:()=>Y_,ZodDefault:()=>YT,ZodDiscriminatedUnion:()=>qT,ZodE164:()=>W_,ZodEmail:()=>j_,ZodEmoji:()=>A_,ZodEnum:()=>ku,ZodExactOptional:()=>KT,ZodFile:()=>GT,ZodFunction:()=>f1,ZodGUID:()=>Dp,ZodIPv4:()=>F_,ZodIPv6:()=>Z_,ZodIntersection:()=>LT,ZodJWT:()=>K_,ZodKSUID:()=>L_,ZodLazy:()=>l1,ZodLiteral:()=>VT,ZodMAC:()=>OT,ZodMap:()=>HT,ZodNaN:()=>o1,ZodNanoID:()=>M_,ZodNever:()=>MT,ZodNonOptional:()=>tb,ZodNull:()=>NT,ZodNullable:()=>XT,ZodNumber:()=>Fp,ZodNumberFormat:()=>Qo,ZodObject:()=>Bp,ZodOptional:()=>eb,ZodPipe:()=>rb,ZodPrefault:()=>e1,ZodPromise:()=>p1,ZodReadonly:()=>s1,ZodRecord:()=>Wp,ZodSet:()=>BT,ZodString:()=>qp,ZodStringFormat:()=>$t,ZodSuccess:()=>n1,ZodSymbol:()=>RT,ZodTemplateLiteral:()=>u1,ZodTransform:()=>WT,ZodTuple:()=>FT,ZodType:()=>ze,ZodULID:()=>U_,ZodURL:()=>Lp,ZodUUID:()=>Ii,ZodUndefined:()=>CT,ZodUnion:()=>Vp,ZodUnknown:()=>AT,ZodVoid:()=>DT,ZodXID:()=>q_,ZodXor:()=>UT,_ZodString:()=>N_,_default:()=>QT,_function:()=>b8,any:()=>r8,array:()=>Ge,base64:()=>U9,base64url:()=>q9,bigint:()=>X9,boolean:()=>Qt,catch:()=>a1,check:()=>x8,cidrv4:()=>D9,cidrv6:()=>z9,codec:()=>v8,cuid:()=>P9,cuid2:()=>O9,custom:()=>ib,date:()=>i8,describe:()=>S8,discriminatedUnion:()=>Gp,e164:()=>L9,email:()=>_9,emoji:()=>T9,enum:()=>vr,exactOptional:()=>JT,file:()=>f8,float32:()=>G9,float64:()=>W9,function:()=>b8,guid:()=>b9,hash:()=>V9,hex:()=>B9,hostname:()=>H9,httpUrl:()=>k9,instanceof:()=>$8,int:()=>C_,int32:()=>K9,int64:()=>Y9,intersection:()=>Pu,ipv4:()=>j9,ipv6:()=>M9,json:()=>k8,jwt:()=>F9,keyof:()=>a8,ksuid:()=>N9,lazy:()=>d1,literal:()=>ve,looseObject:()=>gr,looseRecord:()=>u8,mac:()=>A9,map:()=>l8,meta:()=>w8,nan:()=>g8,nanoid:()=>I9,nativeEnum:()=>p8,never:()=>X_,nonoptional:()=>r1,null:()=>Iu,nullable:()=>zp,nullish:()=>m8,number:()=>pt,object:()=>le,optional:()=>Nt,partialRecord:()=>c8,pipe:()=>Up,prefault:()=>t1,preprocess:()=>Jp,promise:()=>_8,readonly:()=>c1,record:()=>Pt,refine:()=>m1,set:()=>d8,strictObject:()=>o8,string:()=>H,stringFormat:()=>Z9,stringbool:()=>E8,success:()=>h8,superRefine:()=>h1,symbol:()=>e8,templateLiteral:()=>y8,transform:()=>Q_,tuple:()=>ZT,uint32:()=>J9,uint64:()=>Q9,ulid:()=>R9,undefined:()=>t8,union:()=>bt,unknown:()=>Et,url:()=>E9,uuid:()=>x9,uuidv4:()=>S9,uuidv6:()=>w9,uuidv7:()=>$9,void:()=>n8,xid:()=>C9,xor:()=>s8});var Mp={};Cn(Mp,{endsWith:()=>yu,gt:()=>ki,gte:()=>Tr,includes:()=>gu,length:()=>Jo,lowercase:()=>mu,lt:()=>Ei,lte:()=>rn,maxLength:()=>Ko,maxSize:()=>za,mime:()=>_u,minLength:()=>ea,minSize:()=>Ti,multipleOf:()=>Da,negative:()=>l_,nonnegative:()=>p_,nonpositive:()=>d_,normalize:()=>bu,overwrite:()=>ri,positive:()=>u_,property:()=>f_,regex:()=>fu,size:()=>Wo,slugify:()=>Rp,startsWith:()=>vu,toLowerCase:()=>Su,toUpperCase:()=>wu,trim:()=>xu,uppercase:()=>hu});var Ua={};Cn(Ua,{ZodISODate:()=>k_,ZodISODateTime:()=>$_,ZodISODuration:()=>O_,ZodISOTime:()=>I_,date:()=>T_,datetime:()=>E_,duration:()=>R_,time:()=>P_});var $_=L("ZodISODateTime",(t,e)=>{zv.init(t,e),$t.init(t,e)});function E_(t){return qy($_,t)}var k_=L("ZodISODate",(t,e)=>{Uv.init(t,e),$t.init(t,e)});function T_(t){return Ly(k_,t)}var I_=L("ZodISOTime",(t,e)=>{qv.init(t,e),$t.init(t,e)});function P_(t){return Fy(I_,t)}var O_=L("ZodISODuration",(t,e)=>{Lv.init(t,e),$t.init(t,e)});function R_(t){return Zy(O_,t)}var vT=(t,e)=>{Jd.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Yd(t,r)},flatten:{value:r=>Xd(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,Ho,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,Ho,2)}},isEmpty:{get(){return t.issues.length===0}}})},Wye=L("ZodError",vT),nn=L("ZodError",vT,{Parent:Error});var yT=Yc(nn),_T=eu(nn),bT=ru(nn),xT=nu(nn),ST=CE(nn),wT=NE(nn),$T=jE(nn),ET=AE(nn),kT=ME(nn),TT=DE(nn),IT=zE(nn),PT=UE(nn);var ze=L("ZodType",(t,e)=>(Ae.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:$u(t,"input"),output:$u(t,"output")}}),t.toJSONSchema=Pk(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(ee.mergeDefs(e,{checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),t.with=t.check,t.clone=(r,n)=>Er(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>yT(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>bT(t,r,n),t.parseAsync=async(r,n)=>_T(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>xT(t,r,n),t.spa=t.safeParseAsync,t.encode=(r,n)=>ST(t,r,n),t.decode=(r,n)=>wT(t,r,n),t.encodeAsync=async(r,n)=>$T(t,r,n),t.decodeAsync=async(r,n)=>ET(t,r,n),t.safeEncode=(r,n)=>kT(t,r,n),t.safeDecode=(r,n)=>TT(t,r,n),t.safeEncodeAsync=async(r,n)=>IT(t,r,n),t.safeDecodeAsync=async(r,n)=>PT(t,r,n),t.refine=(r,n)=>t.check(m1(r,n)),t.superRefine=r=>t.check(h1(r)),t.overwrite=r=>t.check(ri(r)),t.optional=()=>Nt(t),t.exactOptional=()=>JT(t),t.nullable=()=>zp(t),t.nullish=()=>Nt(zp(t)),t.nonoptional=r=>r1(t,r),t.array=()=>Ge(t),t.or=r=>bt([t,r]),t.and=r=>Pu(t,r),t.transform=r=>Up(t,Q_(r)),t.default=r=>QT(t,r),t.prefault=r=>t1(t,r),t.catch=r=>a1(t,r),t.pipe=r=>Up(t,r),t.readonly=()=>c1(t),t.describe=r=>{let n=t.clone();return kr.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return kr.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return kr.get(t);let n=t.clone();return kr.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=r=>r(t),t)),N_=L("_ZodString",(t,e)=>{Ma.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Ok(t,n,i,a);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(fu(...n)),t.includes=(...n)=>t.check(gu(...n)),t.startsWith=(...n)=>t.check(vu(...n)),t.endsWith=(...n)=>t.check(yu(...n)),t.min=(...n)=>t.check(ea(...n)),t.max=(...n)=>t.check(Ko(...n)),t.length=(...n)=>t.check(Jo(...n)),t.nonempty=(...n)=>t.check(ea(1,...n)),t.lowercase=n=>t.check(mu(n)),t.uppercase=n=>t.check(hu(n)),t.trim=()=>t.check(xu()),t.normalize=(...n)=>t.check(bu(...n)),t.toLowerCase=()=>t.check(Su()),t.toUpperCase=()=>t.check(wu()),t.slugify=()=>t.check(Rp())}),qp=L("ZodString",(t,e)=>{Ma.init(t,e),N_.init(t,e),t.email=r=>t.check(dp(j_,r)),t.url=r=>t.check(pu(Lp,r)),t.jwt=r=>t.check(Op(K_,r)),t.emoji=r=>t.check(gp(A_,r)),t.guid=r=>t.check(du(Dp,r)),t.uuid=r=>t.check(pp(Ii,r)),t.uuidv4=r=>t.check(fp(Ii,r)),t.uuidv6=r=>t.check(mp(Ii,r)),t.uuidv7=r=>t.check(hp(Ii,r)),t.nanoid=r=>t.check(vp(M_,r)),t.guid=r=>t.check(du(Dp,r)),t.cuid=r=>t.check(yp(D_,r)),t.cuid2=r=>t.check(_p(z_,r)),t.ulid=r=>t.check(bp(U_,r)),t.base64=r=>t.check(Tp(V_,r)),t.base64url=r=>t.check(Ip(G_,r)),t.xid=r=>t.check(xp(q_,r)),t.ksuid=r=>t.check(Sp(L_,r)),t.ipv4=r=>t.check(wp(F_,r)),t.ipv6=r=>t.check($p(Z_,r)),t.cidrv4=r=>t.check(Ep(H_,r)),t.cidrv6=r=>t.check(kp(B_,r)),t.e164=r=>t.check(Pp(W_,r)),t.datetime=r=>t.check(E_(r)),t.date=r=>t.check(T_(r)),t.time=r=>t.check(P_(r)),t.duration=r=>t.check(R_(r))});function H(t){return zy(qp,t)}var $t=L("ZodStringFormat",(t,e)=>{_t.init(t,e),N_.init(t,e)}),j_=L("ZodEmail",(t,e)=>{Pv.init(t,e),$t.init(t,e)});function _9(t){return dp(j_,t)}var Dp=L("ZodGUID",(t,e)=>{Tv.init(t,e),$t.init(t,e)});function b9(t){return du(Dp,t)}var Ii=L("ZodUUID",(t,e)=>{Iv.init(t,e),$t.init(t,e)});function x9(t){return pp(Ii,t)}function S9(t){return fp(Ii,t)}function w9(t){return mp(Ii,t)}function $9(t){return hp(Ii,t)}var Lp=L("ZodURL",(t,e)=>{Ov.init(t,e),$t.init(t,e)});function E9(t){return pu(Lp,t)}function k9(t){return pu(Lp,{protocol:/^https?$/,hostname:pn.domain,...ee.normalizeParams(t)})}var A_=L("ZodEmoji",(t,e)=>{Rv.init(t,e),$t.init(t,e)});function T9(t){return gp(A_,t)}var M_=L("ZodNanoID",(t,e)=>{Cv.init(t,e),$t.init(t,e)});function I9(t){return vp(M_,t)}var D_=L("ZodCUID",(t,e)=>{Nv.init(t,e),$t.init(t,e)});function P9(t){return yp(D_,t)}var z_=L("ZodCUID2",(t,e)=>{jv.init(t,e),$t.init(t,e)});function O9(t){return _p(z_,t)}var U_=L("ZodULID",(t,e)=>{Av.init(t,e),$t.init(t,e)});function R9(t){return bp(U_,t)}var q_=L("ZodXID",(t,e)=>{Mv.init(t,e),$t.init(t,e)});function C9(t){return xp(q_,t)}var L_=L("ZodKSUID",(t,e)=>{Dv.init(t,e),$t.init(t,e)});function N9(t){return Sp(L_,t)}var F_=L("ZodIPv4",(t,e)=>{Fv.init(t,e),$t.init(t,e)});function j9(t){return wp(F_,t)}var OT=L("ZodMAC",(t,e)=>{Hv.init(t,e),$t.init(t,e)});function A9(t){return Uy(OT,t)}var Z_=L("ZodIPv6",(t,e)=>{Zv.init(t,e),$t.init(t,e)});function M9(t){return $p(Z_,t)}var H_=L("ZodCIDRv4",(t,e)=>{Bv.init(t,e),$t.init(t,e)});function D9(t){return Ep(H_,t)}var B_=L("ZodCIDRv6",(t,e)=>{Vv.init(t,e),$t.init(t,e)});function z9(t){return kp(B_,t)}var V_=L("ZodBase64",(t,e)=>{Gv.init(t,e),$t.init(t,e)});function U9(t){return Tp(V_,t)}var G_=L("ZodBase64URL",(t,e)=>{Wv.init(t,e),$t.init(t,e)});function q9(t){return Ip(G_,t)}var W_=L("ZodE164",(t,e)=>{Kv.init(t,e),$t.init(t,e)});function L9(t){return Pp(W_,t)}var K_=L("ZodJWT",(t,e)=>{Jv.init(t,e),$t.init(t,e)});function F9(t){return Op(K_,t)}var Tu=L("ZodCustomStringFormat",(t,e)=>{Xv.init(t,e),$t.init(t,e)});function Z9(t,e,r={}){return Xo(Tu,t,e,r)}function H9(t){return Xo(Tu,"hostname",pn.hostname,t)}function B9(t){return Xo(Tu,"hex",pn.hex,t)}function V9(t,e){let r=e?.enc??"hex",n=`${t}_${r}`,i=pn[n];if(!i)throw new Error(`Unrecognized hash format: ${n}`);return Xo(Tu,n,i,e)}var Fp=L("ZodNumber",(t,e)=>{sp.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Rk(t,n,i,a),t.gt=(n,i)=>t.check(ki(n,i)),t.gte=(n,i)=>t.check(Tr(n,i)),t.min=(n,i)=>t.check(Tr(n,i)),t.lt=(n,i)=>t.check(Ei(n,i)),t.lte=(n,i)=>t.check(rn(n,i)),t.max=(n,i)=>t.check(rn(n,i)),t.int=n=>t.check(C_(n)),t.safe=n=>t.check(C_(n)),t.positive=n=>t.check(ki(0,n)),t.nonnegative=n=>t.check(Tr(0,n)),t.negative=n=>t.check(Ei(0,n)),t.nonpositive=n=>t.check(rn(0,n)),t.multipleOf=(n,i)=>t.check(Da(n,i)),t.step=(n,i)=>t.check(Da(n,i)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function pt(t){return Hy(Fp,t)}var Qo=L("ZodNumberFormat",(t,e)=>{Yv.init(t,e),Fp.init(t,e)});function C_(t){return By(Qo,t)}function G9(t){return Vy(Qo,t)}function W9(t){return Gy(Qo,t)}function K9(t){return Wy(Qo,t)}function J9(t){return Ky(Qo,t)}var Zp=L("ZodBoolean",(t,e)=>{cu.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Ck(t,r,n,i)});function Qt(t){return Jy(Zp,t)}var Hp=L("ZodBigInt",(t,e)=>{cp.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Nk(t,n,i,a),t.gte=(n,i)=>t.check(Tr(n,i)),t.min=(n,i)=>t.check(Tr(n,i)),t.gt=(n,i)=>t.check(ki(n,i)),t.gte=(n,i)=>t.check(Tr(n,i)),t.min=(n,i)=>t.check(Tr(n,i)),t.lt=(n,i)=>t.check(Ei(n,i)),t.lte=(n,i)=>t.check(rn(n,i)),t.max=(n,i)=>t.check(rn(n,i)),t.positive=n=>t.check(ki(BigInt(0),n)),t.negative=n=>t.check(Ei(BigInt(0),n)),t.nonpositive=n=>t.check(rn(BigInt(0),n)),t.nonnegative=n=>t.check(Tr(BigInt(0),n)),t.multipleOf=(n,i)=>t.check(Da(n,i));let r=t._zod.bag;t.minValue=r.minimum??null,t.maxValue=r.maximum??null,t.format=r.format??null});function X9(t){return Xy(Hp,t)}var J_=L("ZodBigIntFormat",(t,e)=>{Qv.init(t,e),Hp.init(t,e)});function Y9(t){return Yy(J_,t)}function Q9(t){return Qy(J_,t)}var RT=L("ZodSymbol",(t,e)=>{ey.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>jk(t,r,n,i)});function e8(t){return e_(RT,t)}var CT=L("ZodUndefined",(t,e)=>{ty.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Mk(t,r,n,i)});function t8(t){return t_(CT,t)}var NT=L("ZodNull",(t,e)=>{ry.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Ak(t,r,n,i)});function Iu(t){return r_(NT,t)}var jT=L("ZodAny",(t,e)=>{ny.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Uk(t,r,n,i)});function r8(){return n_(jT)}var AT=L("ZodUnknown",(t,e)=>{iy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>qk(t,r,n,i)});function Et(){return i_(AT)}var MT=L("ZodNever",(t,e)=>{ay.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>zk(t,r,n,i)});function X_(t){return a_(MT,t)}var DT=L("ZodVoid",(t,e)=>{oy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Dk(t,r,n,i)});function n8(t){return o_(DT,t)}var Y_=L("ZodDate",(t,e)=>{sy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Lk(t,n,i,a),t.min=(n,i)=>t.check(Tr(n,i)),t.max=(n,i)=>t.check(rn(n,i));let r=t._zod.bag;t.minDate=r.minimum?new Date(r.minimum):null,t.maxDate=r.maximum?new Date(r.maximum):null});function i8(t){return s_(Y_,t)}var zT=L("ZodArray",(t,e)=>{cy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Qk(t,r,n,i),t.element=e.element,t.min=(r,n)=>t.check(ea(r,n)),t.nonempty=r=>t.check(ea(1,r)),t.max=(r,n)=>t.check(Ko(r,n)),t.length=(r,n)=>t.check(Jo(r,n)),t.unwrap=()=>t.element});function Ge(t,e){return Ik(zT,t,e)}function a8(t){let e=t._zod.def.shape;return vr(Object.keys(e))}var Bp=L("ZodObject",(t,e)=>{kk.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>eT(t,r,n,i),ee.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>vr(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:Et()}),t.loose=()=>t.clone({...t._zod.def,catchall:Et()}),t.strict=()=>t.clone({...t._zod.def,catchall:X_()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>ee.extend(t,r),t.safeExtend=r=>ee.safeExtend(t,r),t.merge=r=>ee.merge(t,r),t.pick=r=>ee.pick(t,r),t.omit=r=>ee.omit(t,r),t.partial=(...r)=>ee.partial(eb,t,r[0]),t.required=(...r)=>ee.required(tb,t,r[0])});function le(t,e){let r={type:"object",shape:t??{},...ee.normalizeParams(e)};return new Bp(r)}function o8(t,e){return new Bp({type:"object",shape:t,catchall:X_(),...ee.normalizeParams(e)})}function gr(t,e){return new Bp({type:"object",shape:t,catchall:Et(),...ee.normalizeParams(e)})}var Vp=L("ZodUnion",(t,e)=>{uu.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>x_(t,r,n,i),t.options=e.options});function bt(t,e){return new Vp({type:"union",options:t,...ee.normalizeParams(e)})}var UT=L("ZodXor",(t,e)=>{Vp.init(t,e),uy.init(t,e),t._zod.processJSONSchema=(r,n,i)=>x_(t,r,n,i),t.options=e.options});function s8(t,e){return new UT({type:"union",options:t,inclusive:!1,...ee.normalizeParams(e)})}var qT=L("ZodDiscriminatedUnion",(t,e)=>{Vp.init(t,e),ly.init(t,e)});function Gp(t,e,r){return new qT({type:"union",options:e,discriminator:t,...ee.normalizeParams(r)})}var LT=L("ZodIntersection",(t,e)=>{dy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>tT(t,r,n,i)});function Pu(t,e){return new LT({type:"intersection",left:t,right:e})}var FT=L("ZodTuple",(t,e)=>{up.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>rT(t,r,n,i),t.rest=r=>t.clone({...t._zod.def,rest:r})});function ZT(t,e,r){let n=e instanceof Ae,i=n?r:e,a=n?e:null;return new FT({type:"tuple",items:t,rest:a,...ee.normalizeParams(i)})}var Wp=L("ZodRecord",(t,e)=>{py.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>nT(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType});function Pt(t,e,r){return new Wp({type:"record",keyType:t,valueType:e,...ee.normalizeParams(r)})}function c8(t,e,r){let n=Er(t);return n._zod.values=void 0,new Wp({type:"record",keyType:n,valueType:e,...ee.normalizeParams(r)})}function u8(t,e,r){return new Wp({type:"record",keyType:t,valueType:e,mode:"loose",...ee.normalizeParams(r)})}var HT=L("ZodMap",(t,e)=>{fy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Xk(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType,t.min=(...r)=>t.check(Ti(...r)),t.nonempty=r=>t.check(Ti(1,r)),t.max=(...r)=>t.check(za(...r)),t.size=(...r)=>t.check(Wo(...r))});function l8(t,e,r){return new HT({type:"map",keyType:t,valueType:e,...ee.normalizeParams(r)})}var BT=L("ZodSet",(t,e)=>{my.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Yk(t,r,n,i),t.min=(...r)=>t.check(Ti(...r)),t.nonempty=r=>t.check(Ti(1,r)),t.max=(...r)=>t.check(za(...r)),t.size=(...r)=>t.check(Wo(...r))});function d8(t,e){return new BT({type:"set",valueType:t,...ee.normalizeParams(e)})}var ku=L("ZodEnum",(t,e)=>{hy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Fk(t,n,i,a),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,i)=>{let a={};for(let o of n)if(r.has(o))a[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new ku({...e,checks:[],...ee.normalizeParams(i),entries:a})},t.exclude=(n,i)=>{let a={...e.entries};for(let o of n)if(r.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new ku({...e,checks:[],...ee.normalizeParams(i),entries:a})}});function vr(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new ku({type:"enum",entries:r,...ee.normalizeParams(e)})}function p8(t,e){return new ku({type:"enum",entries:t,...ee.normalizeParams(e)})}var VT=L("ZodLiteral",(t,e)=>{gy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Zk(t,r,n,i),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function ve(t,e){return new VT({type:"literal",values:Array.isArray(t)?t:[t],...ee.normalizeParams(e)})}var GT=L("ZodFile",(t,e)=>{vy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Vk(t,r,n,i),t.min=(r,n)=>t.check(Ti(r,n)),t.max=(r,n)=>t.check(za(r,n)),t.mime=(r,n)=>t.check(_u(Array.isArray(r)?r:[r],n))});function f8(t){return m_(GT,t)}var WT=L("ZodTransform",(t,e)=>{yy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Jk(t,r,n,i),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Na(t.constructor.name);r.addIssue=a=>{if(typeof a=="string")r.issues.push(ee.issue(a,r.value,e));else{let o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),r.issues.push(ee.issue(o))}};let i=e.transform(r.value,r);return i instanceof Promise?i.then(a=>(r.value=a,r)):(r.value=i,r)}});function Q_(t){return new WT({type:"transform",transform:t})}var eb=L("ZodOptional",(t,e)=>{lp.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>S_(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function Nt(t){return new eb({type:"optional",innerType:t})}var KT=L("ZodExactOptional",(t,e)=>{_y.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>S_(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function JT(t){return new KT({type:"optional",innerType:t})}var XT=L("ZodNullable",(t,e)=>{by.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>iT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function zp(t){return new XT({type:"nullable",innerType:t})}function m8(t){return Nt(zp(t))}var YT=L("ZodDefault",(t,e)=>{xy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>oT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function QT(t,e){return new YT({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():ee.shallowClone(e)}})}var e1=L("ZodPrefault",(t,e)=>{Sy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>sT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function t1(t,e){return new e1({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():ee.shallowClone(e)}})}var tb=L("ZodNonOptional",(t,e)=>{wy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>aT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function r1(t,e){return new tb({type:"nonoptional",innerType:t,...ee.normalizeParams(e)})}var n1=L("ZodSuccess",(t,e)=>{$y.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Gk(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function h8(t){return new n1({type:"success",innerType:t})}var i1=L("ZodCatch",(t,e)=>{Ey.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>cT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function a1(t,e){return new i1({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var o1=L("ZodNaN",(t,e)=>{ky.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Hk(t,r,n,i)});function g8(t){return c_(o1,t)}var rb=L("ZodPipe",(t,e)=>{Ty.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>uT(t,r,n,i),t.in=e.in,t.out=e.out});function Up(t,e){return new rb({type:"pipe",in:t,out:e})}var nb=L("ZodCodec",(t,e)=>{rb.init(t,e),lu.init(t,e)});function v8(t,e,r){return new nb({type:"pipe",in:t,out:e,transform:r.decode,reverseTransform:r.encode})}var s1=L("ZodReadonly",(t,e)=>{Iy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>lT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function c1(t){return new s1({type:"readonly",innerType:t})}var u1=L("ZodTemplateLiteral",(t,e)=>{Py.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Bk(t,r,n,i)});function y8(t,e){return new u1({type:"template_literal",parts:t,...ee.normalizeParams(e)})}var l1=L("ZodLazy",(t,e)=>{Cy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>pT(t,r,n,i),t.unwrap=()=>t._zod.def.getter()});function d1(t){return new l1({type:"lazy",getter:t})}var p1=L("ZodPromise",(t,e)=>{Ry.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>dT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function _8(t){return new p1({type:"promise",innerType:t})}var f1=L("ZodFunction",(t,e)=>{Oy.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Kk(t,r,n,i)});function b8(t){return new f1({type:"function",input:Array.isArray(t?.input)?ZT(t?.input):t?.input??Ge(Et()),output:t?.output??Et()})}var Kp=L("ZodCustom",(t,e)=>{Ny.init(t,e),ze.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Wk(t,r,n,i)});function x8(t){let e=new wt({check:"custom"});return e._zod.check=t,e}function ib(t,e){return h_(Kp,t??(()=>!0),e)}function m1(t,e={}){return g_(Kp,t,e)}function h1(t){return v_(t)}var S8=y_,w8=__;function $8(t,e={}){let r=new Kp({type:"custom",check:"custom",fn:n=>n instanceof t,abort:!0,...ee.normalizeParams(e)});return r._zod.bag.Class=t,r._zod.check=n=>{n.value instanceof t||n.issues.push({code:"invalid_type",expected:t.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var E8=(...t)=>b_({Codec:nb,Boolean:Zp,String:qp},...t);function k8(t){let e=d1(()=>bt([H(t),pt(),Qt(),Iu(),Ge(e),Pt(H(),e)]));return e}function Jp(t,e){return Up(Q_(t),e)}var g1;g1||(g1={});var r_e={...Eu,...Mp,iso:Ua};tr(jy());var ob="2025-11-25";var v1=[ob,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ta="io.modelcontextprotocol/related-task",Yp="2.0",sr=ib(t=>t!==null&&(typeof t=="object"||typeof t=="function")),y1=bt([H(),pt().int()]),_1=H(),x_e=gr({ttl:bt([pt(),Iu()]).optional(),pollInterval:pt().optional()}),O8=le({ttl:pt().optional()}),R8=le({taskId:H()}),sb=gr({progressToken:y1.optional(),[ta]:R8.optional()}),an=le({_meta:sb.optional()}),Ou=an.extend({task:O8.optional()}),b1=t=>Ou.safeParse(t).success,cr=le({method:H(),params:an.loose().optional()}),fn=le({_meta:sb.optional()}),mn=le({method:H(),params:fn.loose().optional()}),ur=gr({_meta:sb.optional()}),Qp=bt([H(),pt().int()]),x1=le({jsonrpc:ve(Yp),id:Qp,...cr.shape}).strict(),cb=t=>x1.safeParse(t).success,S1=le({jsonrpc:ve(Yp),...mn.shape}).strict(),w1=t=>S1.safeParse(t).success,ub=le({jsonrpc:ve(Yp),id:Qp,result:ur}).strict(),Ru=t=>ub.safeParse(t).success;var Ce;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Ce||(Ce={}));var lb=le({jsonrpc:ve(Yp),id:Qp.optional(),error:le({code:pt().int(),message:H(),data:Et().optional()})}).strict();var $1=t=>lb.safeParse(t).success;var E1=bt([x1,S1,ub,lb]),S_e=bt([ub,lb]),qa=ur.strict(),C8=fn.extend({requestId:Qp.optional(),reason:H().optional()}),ef=mn.extend({method:ve("notifications/cancelled"),params:C8}),N8=le({src:H(),mimeType:H().optional(),sizes:Ge(H()).optional(),theme:vr(["light","dark"]).optional()}),Cu=le({icons:Ge(N8).optional()}),es=le({name:H(),title:H().optional()}),k1=es.extend({...es.shape,...Cu.shape,version:H(),websiteUrl:H().optional(),description:H().optional()}),j8=Pu(le({applyDefaults:Qt().optional()}),Pt(H(),Et())),A8=Jp(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Pu(le({form:j8.optional(),url:sr.optional()}),Pt(H(),Et()).optional())),M8=gr({list:sr.optional(),cancel:sr.optional(),requests:gr({sampling:gr({createMessage:sr.optional()}).optional(),elicitation:gr({create:sr.optional()}).optional()}).optional()}),D8=gr({list:sr.optional(),cancel:sr.optional(),requests:gr({tools:gr({call:sr.optional()}).optional()}).optional()}),z8=le({experimental:Pt(H(),sr).optional(),sampling:le({context:sr.optional(),tools:sr.optional()}).optional(),elicitation:A8.optional(),roots:le({listChanged:Qt().optional()}).optional(),tasks:M8.optional()}),U8=an.extend({protocolVersion:H(),capabilities:z8,clientInfo:k1}),q8=cr.extend({method:ve("initialize"),params:U8});var L8=le({experimental:Pt(H(),sr).optional(),logging:sr.optional(),completions:sr.optional(),prompts:le({listChanged:Qt().optional()}).optional(),resources:le({subscribe:Qt().optional(),listChanged:Qt().optional()}).optional(),tools:le({listChanged:Qt().optional()}).optional(),tasks:D8.optional()}),db=ur.extend({protocolVersion:H(),capabilities:L8,serverInfo:k1,instructions:H().optional()}),F8=mn.extend({method:ve("notifications/initialized"),params:fn.optional()});var tf=cr.extend({method:ve("ping"),params:an.optional()}),Z8=le({progress:pt(),total:Nt(pt()),message:Nt(H())}),H8=le({...fn.shape,...Z8.shape,progressToken:y1}),rf=mn.extend({method:ve("notifications/progress"),params:H8}),B8=an.extend({cursor:_1.optional()}),Nu=cr.extend({params:B8.optional()}),ju=ur.extend({nextCursor:_1.optional()}),V8=vr(["working","input_required","completed","failed","cancelled"]),Au=le({taskId:H(),status:V8,ttl:bt([pt(),Iu()]),createdAt:H(),lastUpdatedAt:H(),pollInterval:Nt(pt()),statusMessage:Nt(H())}),La=ur.extend({task:Au}),G8=fn.merge(Au),Mu=mn.extend({method:ve("notifications/tasks/status"),params:G8}),nf=cr.extend({method:ve("tasks/get"),params:an.extend({taskId:H()})}),af=ur.merge(Au),of=cr.extend({method:ve("tasks/result"),params:an.extend({taskId:H()})}),w_e=ur.loose(),sf=Nu.extend({method:ve("tasks/list")}),cf=ju.extend({tasks:Ge(Au)}),uf=cr.extend({method:ve("tasks/cancel"),params:an.extend({taskId:H()})}),T1=ur.merge(Au),I1=le({uri:H(),mimeType:Nt(H()),_meta:Pt(H(),Et()).optional()}),P1=I1.extend({text:H()}),pb=H().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),O1=I1.extend({blob:pb}),Du=vr(["user","assistant"]),ts=le({audience:Ge(Du).optional(),priority:pt().min(0).max(1).optional(),lastModified:Ua.datetime({offset:!0}).optional()}),R1=le({...es.shape,...Cu.shape,uri:H(),description:Nt(H()),mimeType:Nt(H()),annotations:ts.optional(),_meta:Nt(gr({}))}),W8=le({...es.shape,...Cu.shape,uriTemplate:H(),description:Nt(H()),mimeType:Nt(H()),annotations:ts.optional(),_meta:Nt(gr({}))}),K8=Nu.extend({method:ve("resources/list")}),fb=ju.extend({resources:Ge(R1)}),J8=Nu.extend({method:ve("resources/templates/list")}),mb=ju.extend({resourceTemplates:Ge(W8)}),hb=an.extend({uri:H()}),X8=hb,Y8=cr.extend({method:ve("resources/read"),params:X8}),gb=ur.extend({contents:Ge(bt([P1,O1]))}),vb=mn.extend({method:ve("notifications/resources/list_changed"),params:fn.optional()}),Q8=hb,eF=cr.extend({method:ve("resources/subscribe"),params:Q8}),tF=hb,rF=cr.extend({method:ve("resources/unsubscribe"),params:tF}),nF=fn.extend({uri:H()}),iF=mn.extend({method:ve("notifications/resources/updated"),params:nF}),aF=le({name:H(),description:Nt(H()),required:Nt(Qt())}),oF=le({...es.shape,...Cu.shape,description:Nt(H()),arguments:Nt(Ge(aF)),_meta:Nt(gr({}))}),sF=Nu.extend({method:ve("prompts/list")}),yb=ju.extend({prompts:Ge(oF)}),cF=an.extend({name:H(),arguments:Pt(H(),H()).optional()}),uF=cr.extend({method:ve("prompts/get"),params:cF}),_b=le({type:ve("text"),text:H(),annotations:ts.optional(),_meta:Pt(H(),Et()).optional()}),bb=le({type:ve("image"),data:pb,mimeType:H(),annotations:ts.optional(),_meta:Pt(H(),Et()).optional()}),xb=le({type:ve("audio"),data:pb,mimeType:H(),annotations:ts.optional(),_meta:Pt(H(),Et()).optional()}),lF=le({type:ve("tool_use"),name:H(),id:H(),input:Pt(H(),Et()),_meta:Pt(H(),Et()).optional()}),dF=le({type:ve("resource"),resource:bt([P1,O1]),annotations:ts.optional(),_meta:Pt(H(),Et()).optional()}),pF=R1.extend({type:ve("resource_link")}),Sb=bt([_b,bb,xb,pF,dF]),fF=le({role:Du,content:Sb}),wb=ur.extend({description:H().optional(),messages:Ge(fF)}),$b=mn.extend({method:ve("notifications/prompts/list_changed"),params:fn.optional()}),mF=le({title:H().optional(),readOnlyHint:Qt().optional(),destructiveHint:Qt().optional(),idempotentHint:Qt().optional(),openWorldHint:Qt().optional()}),hF=le({taskSupport:vr(["required","optional","forbidden"]).optional()}),C1=le({...es.shape,...Cu.shape,description:H().optional(),inputSchema:le({type:ve("object"),properties:Pt(H(),sr).optional(),required:Ge(H()).optional()}).catchall(Et()),outputSchema:le({type:ve("object"),properties:Pt(H(),sr).optional(),required:Ge(H()).optional()}).catchall(Et()).optional(),annotations:mF.optional(),execution:hF.optional(),_meta:Pt(H(),Et()).optional()}),gF=Nu.extend({method:ve("tools/list")}),Eb=ju.extend({tools:Ge(C1)}),rs=ur.extend({content:Ge(Sb).default([]),structuredContent:Pt(H(),Et()).optional(),isError:Qt().optional()}),$_e=rs.or(ur.extend({toolResult:Et()})),vF=Ou.extend({name:H(),arguments:Pt(H(),Et()).optional()}),yF=cr.extend({method:ve("tools/call"),params:vF}),kb=mn.extend({method:ve("notifications/tools/list_changed"),params:fn.optional()}),N1=le({autoRefresh:Qt().default(!0),debounceMs:pt().int().nonnegative().default(300)}),j1=vr(["debug","info","notice","warning","error","critical","alert","emergency"]),_F=an.extend({level:j1}),bF=cr.extend({method:ve("logging/setLevel"),params:_F}),xF=fn.extend({level:j1,logger:H().optional(),data:Et()}),SF=mn.extend({method:ve("notifications/message"),params:xF}),wF=le({name:H().optional()}),$F=le({hints:Ge(wF).optional(),costPriority:pt().min(0).max(1).optional(),speedPriority:pt().min(0).max(1).optional(),intelligencePriority:pt().min(0).max(1).optional()}),EF=le({mode:vr(["auto","required","none"]).optional()}),kF=le({type:ve("tool_result"),toolUseId:H().describe("The unique identifier for the corresponding tool call."),content:Ge(Sb).default([]),structuredContent:le({}).loose().optional(),isError:Qt().optional(),_meta:Pt(H(),Et()).optional()}),TF=Gp("type",[_b,bb,xb]),Xp=Gp("type",[_b,bb,xb,lF,kF]),IF=le({role:Du,content:bt([Xp,Ge(Xp)]),_meta:Pt(H(),Et()).optional()}),PF=Ou.extend({messages:Ge(IF),modelPreferences:$F.optional(),systemPrompt:H().optional(),includeContext:vr(["none","thisServer","allServers"]).optional(),temperature:pt().optional(),maxTokens:pt().int(),stopSequences:Ge(H()).optional(),metadata:sr.optional(),tools:Ge(C1).optional(),toolChoice:EF.optional()}),Tb=cr.extend({method:ve("sampling/createMessage"),params:PF}),Ib=ur.extend({model:H(),stopReason:Nt(vr(["endTurn","stopSequence","maxTokens"]).or(H())),role:Du,content:TF}),OF=ur.extend({model:H(),stopReason:Nt(vr(["endTurn","stopSequence","maxTokens","toolUse"]).or(H())),role:Du,content:bt([Xp,Ge(Xp)])}),RF=le({type:ve("boolean"),title:H().optional(),description:H().optional(),default:Qt().optional()}),CF=le({type:ve("string"),title:H().optional(),description:H().optional(),minLength:pt().optional(),maxLength:pt().optional(),format:vr(["email","uri","date","date-time"]).optional(),default:H().optional()}),NF=le({type:vr(["number","integer"]),title:H().optional(),description:H().optional(),minimum:pt().optional(),maximum:pt().optional(),default:pt().optional()}),jF=le({type:ve("string"),title:H().optional(),description:H().optional(),enum:Ge(H()),default:H().optional()}),AF=le({type:ve("string"),title:H().optional(),description:H().optional(),oneOf:Ge(le({const:H(),title:H()})),default:H().optional()}),MF=le({type:ve("string"),title:H().optional(),description:H().optional(),enum:Ge(H()),enumNames:Ge(H()).optional(),default:H().optional()}),DF=bt([jF,AF]),zF=le({type:ve("array"),title:H().optional(),description:H().optional(),minItems:pt().optional(),maxItems:pt().optional(),items:le({type:ve("string"),enum:Ge(H())}),default:Ge(H()).optional()}),UF=le({type:ve("array"),title:H().optional(),description:H().optional(),minItems:pt().optional(),maxItems:pt().optional(),items:le({anyOf:Ge(le({const:H(),title:H()}))}),default:Ge(H()).optional()}),qF=bt([zF,UF]),LF=bt([MF,DF,qF]),FF=bt([LF,RF,CF,NF]),ZF=Ou.extend({mode:ve("form").optional(),message:H(),requestedSchema:le({type:ve("object"),properties:Pt(H(),FF),required:Ge(H()).optional()})}),HF=Ou.extend({mode:ve("url"),message:H(),elicitationId:H(),url:H().url()}),BF=bt([ZF,HF]),Pb=cr.extend({method:ve("elicitation/create"),params:BF}),VF=fn.extend({elicitationId:H()}),GF=mn.extend({method:ve("notifications/elicitation/complete"),params:VF}),Ob=ur.extend({action:vr(["accept","decline","cancel"]),content:Jp(t=>t===null?void 0:t,Pt(H(),bt([H(),pt(),Qt(),Ge(H())])).optional())}),WF=le({type:ve("ref/resource"),uri:H()});var KF=le({type:ve("ref/prompt"),name:H()}),JF=an.extend({ref:bt([KF,WF]),argument:le({name:H(),value:H()}),context:le({arguments:Pt(H(),H()).optional()}).optional()}),XF=cr.extend({method:ve("completion/complete"),params:JF});var Rb=ur.extend({completion:gr({values:Ge(H()).max(100),total:Nt(pt().int()),hasMore:Nt(Qt())})}),YF=le({uri:H().startsWith("file://"),name:H().optional(),_meta:Pt(H(),Et()).optional()}),QF=cr.extend({method:ve("roots/list"),params:an.optional()}),e5=ur.extend({roots:Ge(YF)}),t5=mn.extend({method:ve("notifications/roots/list_changed"),params:fn.optional()}),E_e=bt([tf,q8,XF,bF,uF,sF,K8,J8,Y8,eF,rF,yF,gF,nf,of,sf,uf]),k_e=bt([ef,rf,F8,t5,Mu]),T_e=bt([qa,Ib,OF,Ob,e5,af,cf,La]),I_e=bt([tf,Tb,Pb,QF,nf,of,sf,uf]),P_e=bt([ef,rf,SF,iF,vb,kb,$b,Mu,GF]),O_e=bt([qa,db,Rb,wb,yb,fb,mb,gb,rs,Eb,af,cf,La]),Se=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===Ce.UrlElicitationRequired&&n){let i=n;if(i.elicitations)return new ab(i.elicitations,r)}return new t(e,r,n)}},ab=class extends Se{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(Ce.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function ra(t){return t==="completed"||t==="failed"||t==="cancelled"}var lbe=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Cb(t){let r=Ap(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=gT(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Nb(t,e){let r=Mn(t,e);if(!r.success)throw r.error;return r.data}var s5=6e4,lf=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ef,r=>{this._oncancel(r)}),this.setNotificationHandler(rf,r=>{this._onprogress(r)}),this.setRequestHandler(tf,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(nf,async(r,n)=>{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new Se(Ce.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(of,async(r,n)=>{let i=async()=>{let a=r.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(a,n.sessionId);){if(s.type==="response"||s.type==="error"){let c=s.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),s.type==="response")l(c);else{let d=c,p=new Se(d.error.code,d.error.message,d.error.data);l(p)}else{let d=s.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(s.message,{relatedRequestId:n.requestId})}}let o=await this._taskStore.getTask(a,n.sessionId);if(!o)throw new Se(Ce.InvalidParams,`Task not found: ${a}`);if(!ra(o.status))return await this._waitForTaskUpdate(a,n.signal),await i();if(ra(o.status)){let s=await this._taskStore.getTaskResult(a,n.sessionId);return this._clearTaskQueue(a),{...s,_meta:{...s._meta,[ta]:{taskId:a}}}}return await i()};return await i()}),this.setRequestHandler(sf,async(r,n)=>{try{let{tasks:i,nextCursor:a}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:i,nextCursor:a,_meta:{}}}catch(i){throw new Se(Ce.InvalidParams,`Failed to list tasks: ${i instanceof Error?i.message:String(i)}`)}}),this.setRequestHandler(uf,async(r,n)=>{try{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new Se(Ce.InvalidParams,`Task not found: ${r.params.taskId}`);if(ra(i.status))throw new Se(Ce.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let a=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!a)throw new Se(Ce.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...a}}catch(i){throw i instanceof Se?i:new Se(Ce.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,i,a=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(i,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:a,onTimeout:i})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),Se.fromError(Ce.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=a=>{n?.(a),this._onerror(a)};let i=this._transport?.onmessage;this._transport.onmessage=(a,o)=>{i?.(a,o),Ru(a)||$1(a)?this._onresponse(a):cb(a)?this._onrequest(a,o):w1(a)?this._onnotification(a):this._onerror(new Error(`Unknown message type: ${JSON.stringify(a)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let r=Se.fromError(Ce.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,i=this._transport,a=e.params?._meta?.[ta]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:Ce.MethodNotFound,message:"Method not found"}};a&&this._taskMessageQueue?this._enqueueTaskMessage(a,{type:"error",message:l,timestamp:Date.now()},i?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):i?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);let s=b1(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,i?.sessionId):void 0,u={signal:o.signal,sessionId:i?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{let d={relatedRequestId:e.id};a&&(d.relatedTask={taskId:a}),await this.notification(l,d)},sendRequest:async(l,d,p)=>{let f={...p,relatedRequestId:e.id};a&&!f.relatedTask&&(f.relatedTask={taskId:a});let h=f.relatedTask?.taskId??a;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(l,d,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:a,taskStore:c,taskRequestedTtl:s?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(o.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"response",message:d,timestamp:Date.now()},i?.sessionId):await i?.send(d)},async l=>{if(o.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:Ce.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"error",message:d,timestamp:Date.now()},i?.sessionId):await i?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,i=Number(r),a=this._progressHandlers.get(i);if(!a){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let o=this._responseHandlers.get(i),s=this._timeoutInfo.get(i);if(s&&o&&s.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(c){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),o(c);return}a(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Ru(e))n(e);else{let o=new Se(e.error.code,e.error.message,e.error.data);n(o)}return}let i=this._responseHandlers.get(r);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let a=!1;if(Ru(e)&&e.result&&typeof e.result=="object"){let o=e.result;if(o.task&&typeof o.task=="object"){let s=o.task;typeof s.taskId=="string"&&(a=!0,this._taskProgressTokens.set(s.taskId,r))}}if(a||this._progressHandlers.delete(r),Ru(e))i(e);else{let o=Se.fromError(e.error.code,e.error.message,e.error.data);i(o)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:i}=n??{};if(!i){try{yield{type:"result",result:await this.request(e,r,n)}}catch(o){yield{type:"error",error:o instanceof Se?o:new Se(Ce.InternalError,String(o))}}return}let a;try{let o=await this.request(e,La,n);if(o.task)a=o.task.taskId,yield{type:"taskCreated",task:o.task};else throw new Se(Ce.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:a},n);if(yield{type:"taskStatus",task:s},ra(s.status)){s.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)}:s.status==="failed"?yield{type:"error",error:new Se(Ce.InternalError,`Task ${a} failed`)}:s.status==="cancelled"&&(yield{type:"error",error:new Se(Ce.InternalError,`Task ${a} was cancelled`)});return}if(s.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)};return}let c=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(o){yield{type:"error",error:o instanceof Se?o:new Se(Ce.InternalError,String(o))}}}request(e,r,n){let{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o,task:s,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=y=>{l(y)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),s&&this.assertTaskCapability(e.method)}catch(y){d(y);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),s&&(f.params={...f.params,task:s}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[ta]:c}});let h=y=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(y)}},{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o}).catch(b=>this._onerror(new Error(`Failed to send cancellation: ${b}`)));let v=y instanceof Se?y:new Se(Ce.RequestTimeout,String(y));l(v)};this._responseHandlers.set(p,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return l(y);try{let v=Mn(r,y.result);v.success?u(v.data):l(v.error)}catch(v){l(v)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let _=n?.timeout??s5,g=()=>h(Se.fromError(Ce.RequestTimeout,"Request timed out",{timeout:_}));this._setupTimeout(p,_,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let m=c?.taskId;if(m){let y=v=>{let b=this._responseHandlers.get(p);b?b(v):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,y),this._enqueueTaskMessage(m,{type:"request",message:f,timestamp:Date.now()}).catch(v=>{this._cleanupTimeout(p),l(v)})}else this._transport.send(f,{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o}).catch(y=>{this._cleanupTimeout(p),l(y)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},af,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},cf,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},T1,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let s={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[ta]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let s={...e,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[ta]:r.relatedTask}}}),this._transport?.send(s,r).catch(c=>this._onerror(c))});return}let o={...e,jsonrpc:"2.0"};r?.relatedTask&&(o={...o,params:{...o.params,_meta:{...o.params?._meta||{},[ta]:r.relatedTask}}}),await this._transport.send(o,r)}setRequestHandler(e,r){let n=Cb(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,a)=>{let o=Nb(e,i);return Promise.resolve(r(o,a))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=Cb(e);this._notificationHandlers.set(n,i=>{let a=Nb(e,i);return Promise.resolve(r(a))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let i=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,i)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let i of n)if(i.type==="request"&&cb(i.message)){let a=i.message.id,o=this._requestResolvers.get(a);o?(o(new Se(Ce.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(a)):this._onerror(new Error(`Resolver missing for request ${a} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let i=await this._taskStore?.getTask(e);i?.pollInterval&&(n=i.pollInterval)}catch{}return new Promise((i,a)=>{if(r.aborted){a(new Se(Ce.InvalidRequest,"Request cancelled"));return}let o=setTimeout(i,n);r.addEventListener("abort",()=>{clearTimeout(o),a(new Se(Ce.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async i=>{if(!e)throw new Error("No request provided");return await n.createTask(i,e.id,{method:e.method,params:e.params},r)},getTask:async i=>{let a=await n.getTask(i,r);if(!a)throw new Se(Ce.InvalidParams,"Failed to retrieve task: Task not found");return a},storeTaskResult:async(i,a,o)=>{await n.storeTaskResult(i,a,o,r);let s=await n.getTask(i,r);if(s){let c=Mu.parse({method:"notifications/tasks/status",params:s});await this.notification(c),ra(s.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,r),updateTaskStatus:async(i,a,o)=>{let s=await n.getTask(i,r);if(!s)throw new Se(Ce.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(ra(s.status))throw new Se(Ce.InvalidParams,`Cannot update task "${i}" from terminal status "${s.status}" to "${a}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,a,o,r);let c=await n.getTask(i,r);if(c){let u=Mu.parse({method:"notifications/tasks/status",params:c});await this.notification(u),ra(c.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,r)}}};function A1(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function M1(t,e){let r={...t};for(let n in e){let i=n,a=e[i];if(a===void 0)continue;let o=r[i];A1(o)&&A1(a)?r[i]={...o,...a}:r[i]=a}return r}var SO=dt(y0(),1),wO=dt(xO(),1);function XV(){let t=new SO.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,wO.default)(t),t}var Gf=class{constructor(e){this._ajv=e??XV()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Wf=class{constructor(e){this._client=e}async*callToolStream(e,r=rs,n){let i=this._client,a={...n,task:n?.task??(i.isToolTask(e.name)?{}:void 0)},o=i.requestStream({method:"tools/call",params:e},r,a),s=i.getToolOutputValidator(e.name);for await(let c of o){if(c.type==="result"&&s){let u=c.result;if(!u.structuredContent&&!u.isError){yield{type:"error",error:new Se(Ce.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(u.structuredContent)try{let l=s(u.structuredContent);if(!l.valid){yield{type:"error",error:new Se(Ce.InvalidParams,`Structured content does not match the tool's output schema: ${l.errorMessage}`)};return}}catch(l){if(l instanceof Se){yield{type:"error",error:l};return}yield{type:"error",error:new Se(Ce.InvalidParams,`Failed to validate structured content: ${l instanceof Error?l.message:String(l)}`)};return}}yield c}}async getTask(e,r){return this._client.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._client.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._client.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._client.cancelTask({taskId:e},r)}requestStream(e,r,n){return this._client.requestStream(e,r,n)}};function $O(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function EO(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}function Kf(t,e){if(!(!t||e===null||typeof e!="object")){if(t.type==="object"&&t.properties&&typeof t.properties=="object"){let r=e,n=t.properties;for(let i of Object.keys(n)){let a=n[i];r[i]===void 0&&Object.prototype.hasOwnProperty.call(a,"default")&&(r[i]=a.default),r[i]!==void 0&&Kf(a,r[i])}}if(Array.isArray(t.anyOf))for(let r of t.anyOf)typeof r!="boolean"&&Kf(r,e);if(Array.isArray(t.oneOf))for(let r of t.oneOf)typeof r!="boolean"&&Kf(r,e)}}function YV(t){if(!t)return{supportsFormMode:!1,supportsUrlMode:!1};let e=t.form!==void 0,r=t.url!==void 0;return{supportsFormMode:e||!e&&!r,supportsUrlMode:r}}var _s=class extends lf{constructor(e,r){super(r),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=r?.capabilities??{},this._jsonSchemaValidator=r?.jsonSchemaValidator??new Gf,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",kb,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",$b,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",vb,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new Wf(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=M1(this._capabilities,e)}setRequestHandler(e,r){let i=Ap(e)?.method;if(!i)throw new Error("Schema is missing a method literal");let a;if(Yo(i)){let s=i;a=s._zod?.def?.value??s.value}else{let s=i;a=s._def?.value??s.value}if(typeof a!="string")throw new Error("Schema method literal must be a string");let o=a;if(o==="elicitation/create"){let s=async(c,u)=>{let l=Mn(Pb,c);if(!l.success){let y=l.error instanceof Error?l.error.message:String(l.error);throw new Se(Ce.InvalidParams,`Invalid elicitation request: ${y}`)}let{params:d}=l.data;d.mode=d.mode??"form";let{supportsFormMode:p,supportsUrlMode:f}=YV(this._capabilities.elicitation);if(d.mode==="form"&&!p)throw new Se(Ce.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!f)throw new Se(Ce.InvalidParams,"Client does not support URL-mode elicitation requests");let h=await Promise.resolve(r(c,u));if(d.task){let y=Mn(La,h);if(!y.success){let v=y.error instanceof Error?y.error.message:String(y.error);throw new Se(Ce.InvalidParams,`Invalid task creation result: ${v}`)}return y.data}let _=Mn(Ob,h);if(!_.success){let y=_.error instanceof Error?_.error.message:String(_.error);throw new Se(Ce.InvalidParams,`Invalid elicitation result: ${y}`)}let g=_.data,m=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&g.action==="accept"&&g.content&&m&&this._capabilities.elicitation?.form?.applyDefaults)try{Kf(m,g.content)}catch{}return g};return super.setRequestHandler(e,s)}if(o==="sampling/createMessage"){let s=async(c,u)=>{let l=Mn(Tb,c);if(!l.success){let h=l.error instanceof Error?l.error.message:String(l.error);throw new Se(Ce.InvalidParams,`Invalid sampling request: ${h}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let h=Mn(La,p);if(!h.success){let _=h.error instanceof Error?h.error.message:String(h.error);throw new Se(Ce.InvalidParams,`Invalid task creation result: ${_}`)}return h.data}let f=Mn(Ib,p);if(!f.success){let h=f.error instanceof Error?f.error.message:String(f.error);throw new Se(Ce.InvalidParams,`Invalid sampling result: ${h}`)}return f.data};return super.setRequestHandler(e,s)}return super.setRequestHandler(e,r)}assertCapability(e,r){if(!this._serverCapabilities?.[e])throw new Error(`Server does not support ${e} (required for ${r})`)}async connect(e,r){if(await super.connect(e),e.sessionId===void 0)try{let n=await this.request({method:"initialize",params:{protocolVersion:ob,capabilities:this._capabilities,clientInfo:this._clientInfo}},db,r);if(n===void 0)throw new Error(`Server sent invalid initialize result: ${n}`);if(!v1.includes(n.protocolVersion))throw new Error(`Server's protocol version is not supported: ${n.protocolVersion}`);this._serverCapabilities=n.capabilities,this._serverVersion=n.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(n.protocolVersion),this._instructions=n.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(n){throw this.close(),n}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break;case"ping":break}}assertTaskCapability(e){$O(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){this._capabilities&&EO(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},qa,e)}async complete(e,r){return this.request({method:"completion/complete",params:e},Rb,r)}async setLoggingLevel(e,r){return this.request({method:"logging/setLevel",params:{level:e}},qa,r)}async getPrompt(e,r){return this.request({method:"prompts/get",params:e},wb,r)}async listPrompts(e,r){return this.request({method:"prompts/list",params:e},yb,r)}async listResources(e,r){return this.request({method:"resources/list",params:e},fb,r)}async listResourceTemplates(e,r){return this.request({method:"resources/templates/list",params:e},mb,r)}async readResource(e,r){return this.request({method:"resources/read",params:e},gb,r)}async subscribeResource(e,r){return this.request({method:"resources/subscribe",params:e},qa,r)}async unsubscribeResource(e,r){return this.request({method:"resources/unsubscribe",params:e},qa,r)}async callTool(e,r=rs,n){if(this.isToolTaskRequired(e.name))throw new Se(Ce.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let i=await this.request({method:"tools/call",params:e},r,n),a=this.getToolOutputValidator(e.name);if(a){if(!i.structuredContent&&!i.isError)throw new Se(Ce.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(i.structuredContent)try{let o=a(i.structuredContent);if(!o.valid)throw new Se(Ce.InvalidParams,`Structured content does not match the tool's output schema: ${o.errorMessage}`)}catch(o){throw o instanceof Se?o:new Se(Ce.InvalidParams,`Failed to validate structured content: ${o instanceof Error?o.message:String(o)}`)}}return i}isToolTask(e){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let r of e){if(r.outputSchema){let i=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,i)}let n=r.execution?.taskSupport;(n==="required"||n==="optional")&&this._cachedKnownTaskTools.add(r.name),n==="required"&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,r){let n=await this.request({method:"tools/list",params:e},Eb,r);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(e,r,n,i){let a=N1.safeParse(n);if(!a.success)throw new Error(`Invalid ${e} listChanged options: ${a.error.message}`);if(typeof n.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);let{autoRefresh:o,debounceMs:s}=a.data,{onChanged:c}=n,u=async()=>{if(!o){c(null,null);return}try{let d=await i();c(null,d)}catch(d){let p=d instanceof Error?d:new Error(String(d));c(p,null)}},l=()=>{if(s){let d=this._listChangedDebounceTimers.get(e);d&&clearTimeout(d);let p=setTimeout(u,s);this._listChangedDebounceTimers.set(e,p)}else u()};this.setNotificationHandler(r,l)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var hR=dt(fR(),1),ml=dt(require("node:process"),1),gR=require("node:stream");var Xf=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` -`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),E7(r)}clear(){this._buffer=void 0}};function E7(t){return E1.parse(JSON.parse(t))}function mR(t){return JSON.stringify(t)+` -`}var k7=ml.default.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function T7(){let t={};for(let e of k7){let r=ml.default.env[e];r!==void 0&&(r.startsWith("()")||(t[e]=r))}return t}var Ss=class{constructor(e){this._readBuffer=new Xf,this._stderrStream=null,this._serverParams=e,(e.stderr==="pipe"||e.stderr==="overlapped")&&(this._stderrStream=new gR.PassThrough)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((e,r)=>{this._process=(0,hR.default)(this._serverParams.command,this._serverParams.args??[],{env:{...T7(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:ml.default.platform==="win32"&&I7(),cwd:this._serverParams.cwd}),this._process.on("error",n=>{r(n),this.onerror?.(n)}),this._process.on("spawn",()=>{e()}),this._process.on("close",n=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",n=>{this.onerror?.(n)}),this._process.stdout?.on("data",n=>{this._readBuffer.append(n),this.processReadBuffer()}),this._process.stdout?.on("error",n=>{this.onerror?.(n)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){if(this._process){let e=this._process;this._process=void 0;let r=new Promise(n=>{e.once("close",()=>{n()})});try{e.stdin?.end()}catch{}if(await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())]),e.exitCode===null){try{e.kill("SIGTERM")}catch{}await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())])}if(e.exitCode===null)try{e.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(e){return new Promise(r=>{if(!this._process?.stdin)throw new Error("Not connected");let n=mR(e);this._process.stdin.write(n)?r():this._process.stdin.once("drain",r)})}};function I7(){return"type"in ml.default}var Qf=dt(require("path"),1),ER=require("os");Re();var D0={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function _R(t){return process.platform==="win32"?Math.round(t*D0.WINDOWS_MULTIPLIER):t}on();var d$e=Qf.default.join((0,ER.homedir)(),".claude","plugins","marketplaces","thedotmack"),p$e=_R(D0.HEALTH_CHECK),gl=null,vl=null;function _n(){if(gl!==null)return gl;let t=Qf.default.join(Ye.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),e=Ye.loadFromFile(t);return gl=parseInt(e.CLAUDE_MEM_WORKER_PORT,10),gl}function em(){if(vl!==null)return vl;let t=Qf.default.join(Ye.get("CLAUDE_MEM_DATA_DIR"),"settings.json");return vl=Ye.loadFromFile(t).CLAUDE_MEM_WORKER_HOST,vl}function kR(){gl=null,vl=null}Re();var z0=dt(require("path"),1),TR=require("os"),Fn=require("fs"),ws=require("child_process"),IR=require("util");Re();var tm=(0,IR.promisify)(ws.exec),PR=z0.default.join((0,TR.homedir)(),".claude-mem"),Ya=z0.default.join(PR,"worker.pid");function U0(t){(0,Fn.mkdirSync)(PR,{recursive:!0}),(0,Fn.writeFileSync)(Ya,JSON.stringify(t,null,2))}function OR(){if(!(0,Fn.existsSync)(Ya))return null;try{return JSON.parse((0,Fn.readFileSync)(Ya,"utf-8"))}catch(t){return k.warn("SYSTEM","Failed to parse PID file",{path:Ya},t),null}}function Mi(){if((0,Fn.existsSync)(Ya))try{(0,Fn.unlinkSync)(Ya)}catch(t){k.warn("SYSTEM","Failed to remove PID file",{path:Ya},t)}}function Qa(t){return process.platform==="win32"?Math.round(t*2):t}async function RR(t){if(process.platform!=="win32")return[];if(!Number.isInteger(t)||t<=0)return k.warn("SYSTEM","Invalid parent PID for child process enumeration",{parentPid:t}),[];try{let e=`wmic process where "parentprocessid=${t}" get processid /format:list`,{stdout:r}=await tm(e,{timeout:6e4});return r.trim().split(` -`).map(n=>{let i=n.match(/ProcessId=(\d+)/i);return i?parseInt(i[1],10):NaN}).filter(n=>!isNaN(n)&&Number.isInteger(n)&&n>0)}catch(e){return k.warn("SYSTEM","Failed to enumerate child processes",{parentPid:t},e),[]}}async function CR(t){if(!Number.isInteger(t)||t<=0){k.warn("SYSTEM","Invalid PID for force kill",{pid:t});return}try{process.platform==="win32"?await tm(`taskkill /PID ${t} /T /F`,{timeout:6e4}):process.kill(t,"SIGKILL"),k.info("SYSTEM","Killed process",{pid:t})}catch(e){k.debug("SYSTEM","Process already exited during force kill",{pid:t},e)}}async function NR(t,e){let r=Date.now();for(;Date.now()-r{try{return process.kill(i,0),!0}catch{return!1}});if(n.length===0){k.info("SYSTEM","All child processes exited");return}k.debug("SYSTEM","Waiting for processes to exit",{stillAlive:n}),await new Promise(i=>setTimeout(i,100))}k.warn("SYSTEM","Timeout waiting for child processes to exit")}async function jR(){let t=process.platform==="win32",e=[];try{if(t){let r=`wmic process where "name like '%python%' and commandline like '%chroma-mcp%'" get processid /format:list`,{stdout:n}=await tm(r,{timeout:6e4});if(!n.trim()){k.debug("SYSTEM","No orphaned chroma-mcp processes found (Windows)");return}let i=n.trim().split(` +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let o of t.seen.entries()){let s=o[1];if(e===o[0]){a(o);continue}if(t.external){let u=t.external.registry.get(o[0])?.id;if(e!==o[0]&&u){a(o);continue}}if(t.metadataRegistry.get(o[0])?.id){a(o);continue}if(s.cycle){a(o);continue}if(s.count>1&&t.reused==="ref"){a(o);continue}}}function jp(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=o=>{let s=t.seen.get(o);if(s.ref===null)return;let c=s.def??s.schema,u={...c},l=s.ref;if(s.ref=null,l){n(l);let p=t.seen.get(l),f=p.schema;if(f.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(f)):Object.assign(c,f),Object.assign(c,u),o._zod.parent===l)for(let _ in c)_==="$ref"||_==="allOf"||_ in u||delete c[_];if(f.$ref)for(let _ in c)_==="$ref"||_==="allOf"||_ in p.def&&JSON.stringify(c[_])===JSON.stringify(p.def[_])&&delete c[_]}let d=o._zod.parent;if(d&&d!==l){n(d);let p=t.seen.get(d);if(p?.schema.$ref&&(c.$ref=p.schema.$ref,p.def))for(let f in c)f==="$ref"||f==="allOf"||f in p.def&&JSON.stringify(c[f])===JSON.stringify(p.def[f])&&delete c[f]}t.override({zodSchema:o,jsonSchema:c,path:s.path??[]})};for(let o of[...t.seen.entries()].reverse())n(o[0]);let i={};if(t.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){let o=t.external.registry.get(e)?.id;if(!o)throw new Error("Schema is missing an `id` property");i.$id=t.external.uri(o)}Object.assign(i,r.def??r.schema);let a=t.external?.defs??{};for(let o of t.seen.entries()){let s=o[1];s.def&&s.defId&&(a[s.defId]=s.def)}t.external||Object.keys(a).length>0&&(t.target==="draft-2020-12"?i.$defs=a:i.definitions=a);try{let o=JSON.parse(JSON.stringify(i));return Object.defineProperty(o,"~standard",{value:{...e["~standard"],jsonSchema:{input:$u(e,"input",t.processors),output:$u(e,"output",t.processors)}},enumerable:!1,writable:!1}),o}catch{throw new Error("Error converting schema to JSON.")}}function Ir(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return Ir(n.element,r);if(n.type==="set")return Ir(n.valueType,r);if(n.type==="lazy")return Ir(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return Ir(n.innerType,r);if(n.type==="intersection")return Ir(n.left,r)||Ir(n.right,r);if(n.type==="record"||n.type==="map")return Ir(n.keyType,r)||Ir(n.valueType,r);if(n.type==="pipe")return Ir(n.in,r)||Ir(n.out,r);if(n.type==="object"){for(let i in n.shape)if(Ir(n.shape[i],r))return!0;return!1}if(n.type==="union"){for(let i of n.options)if(Ir(i,r))return!0;return!1}if(n.type==="tuple"){for(let i of n.items)if(Ir(i,r))return!0;return!!(n.rest&&Ir(n.rest,r))}return!1}var Ak=(t,e={})=>r=>{let n=Cp({...r,processors:e});return It(t,n),Np(n,t),jp(n,t)},$u=(t,e,r={})=>n=>{let{libraryOptions:i,target:a}=n??{},o=Cp({...i??{},target:a,io:e,processors:r});return It(t,o),Np(o,t),jp(o,t)};var r9={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Mk=(t,e,r,n)=>{let i=r;i.type="string";let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:u}=t._zod.bag;if(typeof a=="number"&&(i.minLength=a),typeof o=="number"&&(i.maxLength=o),s&&(i.format=r9[s]??s,i.format===""&&delete i.format,s==="time"&&delete i.format),u&&(i.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?i.pattern=l[0].source:l.length>1&&(i.allOf=[...l.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Dk=(t,e,r,n)=>{let i=r,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=t._zod.bag;typeof s=="string"&&s.includes("int")?i.type="integer":i.type="number",typeof l=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l),typeof a=="number"&&(i.minimum=a,typeof l=="number"&&e.target!=="draft-04"&&(l>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof u=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.maximum=u,i.exclusiveMaximum=!0):i.exclusiveMaximum=u),typeof o=="number"&&(i.maximum=o,typeof u=="number"&&e.target!=="draft-04"&&(u<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c=="number"&&(i.multipleOf=c)},zk=(t,e,r,n)=>{r.type="boolean"},Uk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Lk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},qk=(t,e,r,n)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Fk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Zk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Hk=(t,e,r,n)=>{r.not={}},Bk=(t,e,r,n)=>{},Vk=(t,e,r,n)=>{},Gk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Wk=(t,e,r,n)=>{let i=t._zod.def,a=Vc(i.entries);a.every(o=>typeof o=="number")&&(r.type="number"),a.every(o=>typeof o=="string")&&(r.type="string"),r.enum=a},Kk=(t,e,r,n)=>{let i=t._zod.def,a=[];for(let o of i.values)if(o===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(o))}else a.push(o);if(a.length!==0)if(a.length===1){let o=a[0];r.type=o===null?"null":typeof o,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[o]:r.const=o}else a.every(o=>typeof o=="number")&&(r.type="number"),a.every(o=>typeof o=="string")&&(r.type="string"),a.every(o=>typeof o=="boolean")&&(r.type="boolean"),a.every(o=>o===null)&&(r.type="null"),r.enum=a},Jk=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Xk=(t,e,r,n)=>{let i=r,a=t._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");i.type="string",i.pattern=a.source},Yk=(t,e,r,n)=>{let i=r,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:o,maximum:s,mime:c}=t._zod.bag;o!==void 0&&(a.minLength=o),s!==void 0&&(a.maxLength=s),c?c.length===1?(a.contentMediaType=c[0],Object.assign(i,a)):(Object.assign(i,a),i.anyOf=c.map(u=>({contentMediaType:u}))):Object.assign(i,a)},Qk=(t,e,r,n)=>{r.type="boolean"},eT=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},tT=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},rT=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},nT=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},iT=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},aT=(t,e,r,n)=>{let i=r,a=t._zod.def,{minimum:o,maximum:s}=t._zod.bag;typeof o=="number"&&(i.minItems=o),typeof s=="number"&&(i.maxItems=s),i.type="array",i.items=It(a.element,e,{...n,path:[...n.path,"items"]})},oT=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object",i.properties={};let o=a.shape;for(let u in o)i.properties[u]=It(o[u],e,{...n,path:[...n.path,"properties",u]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(u=>{let l=a.shape[u]._zod;return e.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type==="never"?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=It(a.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(i.additionalProperties=!1)},S_=(t,e,r,n)=>{let i=t._zod.def,a=i.inclusive===!1,o=i.options.map((s,c)=>It(s,e,{...n,path:[...n.path,a?"oneOf":"anyOf",c]}));a?r.oneOf=o:r.anyOf=o},sT=(t,e,r,n)=>{let i=t._zod.def,a=It(i.left,e,{...n,path:[...n.path,"allOf",0]}),o=It(i.right,e,{...n,path:[...n.path,"allOf",1]}),s=u=>"allOf"in u&&Object.keys(u).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];r.allOf=c},cT=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="array";let o=e.target==="draft-2020-12"?"prefixItems":"items",s=e.target==="draft-2020-12"||e.target==="openapi-3.0"?"items":"additionalItems",c=a.items.map((p,f)=>It(p,e,{...n,path:[...n.path,o,f]})),u=a.rest?It(a.rest,e,{...n,path:[...n.path,s,...e.target==="openapi-3.0"?[a.items.length]:[]]}):null;e.target==="draft-2020-12"?(i.prefixItems=c,u&&(i.items=u)):e.target==="openapi-3.0"?(i.items={anyOf:c},u&&i.items.anyOf.push(u),i.minItems=c.length,u||(i.maxItems=c.length)):(i.items=c,u&&(i.additionalItems=u));let{minimum:l,maximum:d}=t._zod.bag;typeof l=="number"&&(i.minItems=l),typeof d=="number"&&(i.maxItems=d)},uT=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object";let o=a.keyType,c=o._zod.bag?.patterns;if(a.mode==="loose"&&c&&c.size>0){let l=It(a.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});i.patternProperties={};for(let d of c)i.patternProperties[d.source]=l}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(i.propertyNames=It(a.keyType,e,{...n,path:[...n.path,"propertyNames"]})),i.additionalProperties=It(a.valueType,e,{...n,path:[...n.path,"additionalProperties"]});let u=o._zod.values;if(u){let l=[...u].filter(d=>typeof d=="string"||typeof d=="number");l.length>0&&(i.required=l)}},lT=(t,e,r,n)=>{let i=t._zod.def,a=It(i.innerType,e,n),o=e.seen.get(t);e.target==="openapi-3.0"?(o.ref=i.innerType,r.nullable=!0):r.anyOf=[a,{type:"null"}]},dT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},pT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.default=JSON.parse(JSON.stringify(i.defaultValue))},fT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},mT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=o},hT=(t,e,r,n)=>{let i=t._zod.def,a=e.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;It(a,e,n);let o=e.seen.get(t);o.ref=a},gT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.readOnly=!0},vT=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},w_=(t,e,r,n)=>{let i=t._zod.def;It(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},yT=(t,e,r,n)=>{let i=t._zod.innerType;It(i,e,n);let a=e.seen.get(t);a.ref=i};function Yo(t){return!!t._zod}function Mn(t,e){return Yo(t)?Go(t,e):t.safeParse(e)}function Ap(t){if(!t)return;let e;if(Yo(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function ST(t){if(Yo(t)){let a=t._zod?.def;if(a){if(a.value!==void 0)return a.value;if(Array.isArray(a.values)&&a.values.length>0)return a.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var Eu={};Cn(Eu,{ZodAny:()=>LT,ZodArray:()=>HT,ZodBase64:()=>G_,ZodBase64URL:()=>W_,ZodBigInt:()=>Hp,ZodBigIntFormat:()=>X_,ZodBoolean:()=>Zp,ZodCIDRv4:()=>B_,ZodCIDRv6:()=>V_,ZodCUID:()=>z_,ZodCUID2:()=>U_,ZodCatch:()=>l1,ZodCodec:()=>ib,ZodCustom:()=>Kp,ZodCustomStringFormat:()=>Tu,ZodDate:()=>Q_,ZodDefault:()=>i1,ZodDiscriminatedUnion:()=>VT,ZodE164:()=>K_,ZodEmail:()=>A_,ZodEmoji:()=>M_,ZodEnum:()=>ku,ZodExactOptional:()=>t1,ZodFile:()=>QT,ZodFunction:()=>_1,ZodGUID:()=>Dp,ZodIPv4:()=>Z_,ZodIPv6:()=>H_,ZodIntersection:()=>GT,ZodJWT:()=>J_,ZodKSUID:()=>F_,ZodLazy:()=>g1,ZodLiteral:()=>YT,ZodMAC:()=>MT,ZodMap:()=>JT,ZodNaN:()=>p1,ZodNanoID:()=>D_,ZodNever:()=>FT,ZodNonOptional:()=>rb,ZodNull:()=>UT,ZodNullable:()=>n1,ZodNumber:()=>Fp,ZodNumberFormat:()=>Qo,ZodObject:()=>Bp,ZodOptional:()=>tb,ZodPipe:()=>nb,ZodPrefault:()=>o1,ZodPromise:()=>y1,ZodReadonly:()=>f1,ZodRecord:()=>Wp,ZodSet:()=>XT,ZodString:()=>Lp,ZodStringFormat:()=>$t,ZodSuccess:()=>u1,ZodSymbol:()=>DT,ZodTemplateLiteral:()=>h1,ZodTransform:()=>e1,ZodTuple:()=>WT,ZodType:()=>Ue,ZodULID:()=>L_,ZodURL:()=>qp,ZodUUID:()=>Pi,ZodUndefined:()=>zT,ZodUnion:()=>Vp,ZodUnknown:()=>qT,ZodVoid:()=>ZT,ZodXID:()=>q_,ZodXor:()=>BT,_ZodString:()=>j_,_default:()=>a1,_function:()=>b8,any:()=>r8,array:()=>Ge,base64:()=>U9,base64url:()=>L9,bigint:()=>X9,boolean:()=>Qt,catch:()=>d1,check:()=>x8,cidrv4:()=>D9,cidrv6:()=>z9,codec:()=>v8,cuid:()=>P9,cuid2:()=>O9,custom:()=>ab,date:()=>i8,describe:()=>S8,discriminatedUnion:()=>Gp,e164:()=>q9,email:()=>_9,emoji:()=>T9,enum:()=>vr,exactOptional:()=>r1,file:()=>f8,float32:()=>G9,float64:()=>W9,function:()=>b8,guid:()=>b9,hash:()=>V9,hex:()=>B9,hostname:()=>H9,httpUrl:()=>k9,instanceof:()=>$8,int:()=>N_,int32:()=>K9,int64:()=>Y9,intersection:()=>Pu,ipv4:()=>j9,ipv6:()=>M9,json:()=>k8,jwt:()=>F9,keyof:()=>a8,ksuid:()=>N9,lazy:()=>v1,literal:()=>ve,looseObject:()=>gr,looseRecord:()=>u8,mac:()=>A9,map:()=>l8,meta:()=>w8,nan:()=>g8,nanoid:()=>I9,nativeEnum:()=>p8,never:()=>Y_,nonoptional:()=>c1,null:()=>Iu,nullable:()=>zp,nullish:()=>m8,number:()=>pt,object:()=>le,optional:()=>Nt,partialRecord:()=>c8,pipe:()=>Up,prefault:()=>s1,preprocess:()=>Jp,promise:()=>_8,readonly:()=>m1,record:()=>Pt,refine:()=>b1,set:()=>d8,strictObject:()=>o8,string:()=>H,stringFormat:()=>Z9,stringbool:()=>E8,success:()=>h8,superRefine:()=>x1,symbol:()=>e8,templateLiteral:()=>y8,transform:()=>eb,tuple:()=>KT,uint32:()=>J9,uint64:()=>Q9,ulid:()=>R9,undefined:()=>t8,union:()=>bt,unknown:()=>Et,url:()=>E9,uuid:()=>x9,uuidv4:()=>S9,uuidv6:()=>w9,uuidv7:()=>$9,void:()=>n8,xid:()=>C9,xor:()=>s8});var Mp={};Cn(Mp,{endsWith:()=>yu,gt:()=>Ti,gte:()=>Tr,includes:()=>gu,length:()=>Jo,lowercase:()=>mu,lt:()=>ki,lte:()=>rn,maxLength:()=>Ko,maxSize:()=>Ua,mime:()=>_u,minLength:()=>ta,minSize:()=>Ii,multipleOf:()=>za,negative:()=>d_,nonnegative:()=>f_,nonpositive:()=>p_,normalize:()=>bu,overwrite:()=>ni,positive:()=>l_,property:()=>m_,regex:()=>fu,size:()=>Wo,slugify:()=>Rp,startsWith:()=>vu,toLowerCase:()=>Su,toUpperCase:()=>wu,trim:()=>xu,uppercase:()=>hu});var La={};Cn(La,{ZodISODate:()=>T_,ZodISODateTime:()=>E_,ZodISODuration:()=>R_,ZodISOTime:()=>P_,date:()=>I_,datetime:()=>k_,duration:()=>C_,time:()=>O_});var E_=q("ZodISODateTime",(t,e)=>{Uv.init(t,e),$t.init(t,e)});function k_(t){return qy(E_,t)}var T_=q("ZodISODate",(t,e)=>{Lv.init(t,e),$t.init(t,e)});function I_(t){return Fy(T_,t)}var P_=q("ZodISOTime",(t,e)=>{qv.init(t,e),$t.init(t,e)});function O_(t){return Zy(P_,t)}var R_=q("ZodISODuration",(t,e)=>{Fv.init(t,e),$t.init(t,e)});function C_(t){return Hy(R_,t)}var wT=(t,e)=>{Jd.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Yd(t,r)},flatten:{value:r=>Xd(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,Ho,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,Ho,2)}},isEmpty:{get(){return t.issues.length===0}}})},Wye=q("ZodError",wT),nn=q("ZodError",wT,{Parent:Error});var $T=Yc(nn),ET=eu(nn),kT=ru(nn),TT=nu(nn),IT=zE(nn),PT=UE(nn),OT=LE(nn),RT=qE(nn),CT=FE(nn),NT=ZE(nn),jT=HE(nn),AT=BE(nn);var Ue=q("ZodType",(t,e)=>(Ae.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:$u(t,"input"),output:$u(t,"output")}}),t.toJSONSchema=Ak(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(ee.mergeDefs(e,{checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),t.with=t.check,t.clone=(r,n)=>Er(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>$T(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>kT(t,r,n),t.parseAsync=async(r,n)=>ET(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>TT(t,r,n),t.spa=t.safeParseAsync,t.encode=(r,n)=>IT(t,r,n),t.decode=(r,n)=>PT(t,r,n),t.encodeAsync=async(r,n)=>OT(t,r,n),t.decodeAsync=async(r,n)=>RT(t,r,n),t.safeEncode=(r,n)=>CT(t,r,n),t.safeDecode=(r,n)=>NT(t,r,n),t.safeEncodeAsync=async(r,n)=>jT(t,r,n),t.safeDecodeAsync=async(r,n)=>AT(t,r,n),t.refine=(r,n)=>t.check(b1(r,n)),t.superRefine=r=>t.check(x1(r)),t.overwrite=r=>t.check(ni(r)),t.optional=()=>Nt(t),t.exactOptional=()=>r1(t),t.nullable=()=>zp(t),t.nullish=()=>Nt(zp(t)),t.nonoptional=r=>c1(t,r),t.array=()=>Ge(t),t.or=r=>bt([t,r]),t.and=r=>Pu(t,r),t.transform=r=>Up(t,eb(r)),t.default=r=>a1(t,r),t.prefault=r=>s1(t,r),t.catch=r=>d1(t,r),t.pipe=r=>Up(t,r),t.readonly=()=>m1(t),t.describe=r=>{let n=t.clone();return kr.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return kr.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return kr.get(t);let n=t.clone();return kr.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=r=>r(t),t)),j_=q("_ZodString",(t,e)=>{Da.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Mk(t,n,i,a);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(fu(...n)),t.includes=(...n)=>t.check(gu(...n)),t.startsWith=(...n)=>t.check(vu(...n)),t.endsWith=(...n)=>t.check(yu(...n)),t.min=(...n)=>t.check(ta(...n)),t.max=(...n)=>t.check(Ko(...n)),t.length=(...n)=>t.check(Jo(...n)),t.nonempty=(...n)=>t.check(ta(1,...n)),t.lowercase=n=>t.check(mu(n)),t.uppercase=n=>t.check(hu(n)),t.trim=()=>t.check(xu()),t.normalize=(...n)=>t.check(bu(...n)),t.toLowerCase=()=>t.check(Su()),t.toUpperCase=()=>t.check(wu()),t.slugify=()=>t.check(Rp())}),Lp=q("ZodString",(t,e)=>{Da.init(t,e),j_.init(t,e),t.email=r=>t.check(dp(A_,r)),t.url=r=>t.check(pu(qp,r)),t.jwt=r=>t.check(Op(J_,r)),t.emoji=r=>t.check(gp(M_,r)),t.guid=r=>t.check(du(Dp,r)),t.uuid=r=>t.check(pp(Pi,r)),t.uuidv4=r=>t.check(fp(Pi,r)),t.uuidv6=r=>t.check(mp(Pi,r)),t.uuidv7=r=>t.check(hp(Pi,r)),t.nanoid=r=>t.check(vp(D_,r)),t.guid=r=>t.check(du(Dp,r)),t.cuid=r=>t.check(yp(z_,r)),t.cuid2=r=>t.check(_p(U_,r)),t.ulid=r=>t.check(bp(L_,r)),t.base64=r=>t.check(Tp(G_,r)),t.base64url=r=>t.check(Ip(W_,r)),t.xid=r=>t.check(xp(q_,r)),t.ksuid=r=>t.check(Sp(F_,r)),t.ipv4=r=>t.check(wp(Z_,r)),t.ipv6=r=>t.check($p(H_,r)),t.cidrv4=r=>t.check(Ep(B_,r)),t.cidrv6=r=>t.check(kp(V_,r)),t.e164=r=>t.check(Pp(K_,r)),t.datetime=r=>t.check(k_(r)),t.date=r=>t.check(I_(r)),t.time=r=>t.check(O_(r)),t.duration=r=>t.check(C_(r))});function H(t){return Uy(Lp,t)}var $t=q("ZodStringFormat",(t,e)=>{_t.init(t,e),j_.init(t,e)}),A_=q("ZodEmail",(t,e)=>{Ov.init(t,e),$t.init(t,e)});function _9(t){return dp(A_,t)}var Dp=q("ZodGUID",(t,e)=>{Iv.init(t,e),$t.init(t,e)});function b9(t){return du(Dp,t)}var Pi=q("ZodUUID",(t,e)=>{Pv.init(t,e),$t.init(t,e)});function x9(t){return pp(Pi,t)}function S9(t){return fp(Pi,t)}function w9(t){return mp(Pi,t)}function $9(t){return hp(Pi,t)}var qp=q("ZodURL",(t,e)=>{Rv.init(t,e),$t.init(t,e)});function E9(t){return pu(qp,t)}function k9(t){return pu(qp,{protocol:/^https?$/,hostname:pn.domain,...ee.normalizeParams(t)})}var M_=q("ZodEmoji",(t,e)=>{Cv.init(t,e),$t.init(t,e)});function T9(t){return gp(M_,t)}var D_=q("ZodNanoID",(t,e)=>{Nv.init(t,e),$t.init(t,e)});function I9(t){return vp(D_,t)}var z_=q("ZodCUID",(t,e)=>{jv.init(t,e),$t.init(t,e)});function P9(t){return yp(z_,t)}var U_=q("ZodCUID2",(t,e)=>{Av.init(t,e),$t.init(t,e)});function O9(t){return _p(U_,t)}var L_=q("ZodULID",(t,e)=>{Mv.init(t,e),$t.init(t,e)});function R9(t){return bp(L_,t)}var q_=q("ZodXID",(t,e)=>{Dv.init(t,e),$t.init(t,e)});function C9(t){return xp(q_,t)}var F_=q("ZodKSUID",(t,e)=>{zv.init(t,e),$t.init(t,e)});function N9(t){return Sp(F_,t)}var Z_=q("ZodIPv4",(t,e)=>{Zv.init(t,e),$t.init(t,e)});function j9(t){return wp(Z_,t)}var MT=q("ZodMAC",(t,e)=>{Bv.init(t,e),$t.init(t,e)});function A9(t){return Ly(MT,t)}var H_=q("ZodIPv6",(t,e)=>{Hv.init(t,e),$t.init(t,e)});function M9(t){return $p(H_,t)}var B_=q("ZodCIDRv4",(t,e)=>{Vv.init(t,e),$t.init(t,e)});function D9(t){return Ep(B_,t)}var V_=q("ZodCIDRv6",(t,e)=>{Gv.init(t,e),$t.init(t,e)});function z9(t){return kp(V_,t)}var G_=q("ZodBase64",(t,e)=>{Wv.init(t,e),$t.init(t,e)});function U9(t){return Tp(G_,t)}var W_=q("ZodBase64URL",(t,e)=>{Kv.init(t,e),$t.init(t,e)});function L9(t){return Ip(W_,t)}var K_=q("ZodE164",(t,e)=>{Jv.init(t,e),$t.init(t,e)});function q9(t){return Pp(K_,t)}var J_=q("ZodJWT",(t,e)=>{Xv.init(t,e),$t.init(t,e)});function F9(t){return Op(J_,t)}var Tu=q("ZodCustomStringFormat",(t,e)=>{Yv.init(t,e),$t.init(t,e)});function Z9(t,e,r={}){return Xo(Tu,t,e,r)}function H9(t){return Xo(Tu,"hostname",pn.hostname,t)}function B9(t){return Xo(Tu,"hex",pn.hex,t)}function V9(t,e){let r=e?.enc??"hex",n=`${t}_${r}`,i=pn[n];if(!i)throw new Error(`Unrecognized hash format: ${n}`);return Xo(Tu,n,i,e)}var Fp=q("ZodNumber",(t,e)=>{sp.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Dk(t,n,i,a),t.gt=(n,i)=>t.check(Ti(n,i)),t.gte=(n,i)=>t.check(Tr(n,i)),t.min=(n,i)=>t.check(Tr(n,i)),t.lt=(n,i)=>t.check(ki(n,i)),t.lte=(n,i)=>t.check(rn(n,i)),t.max=(n,i)=>t.check(rn(n,i)),t.int=n=>t.check(N_(n)),t.safe=n=>t.check(N_(n)),t.positive=n=>t.check(Ti(0,n)),t.nonnegative=n=>t.check(Tr(0,n)),t.negative=n=>t.check(ki(0,n)),t.nonpositive=n=>t.check(rn(0,n)),t.multipleOf=(n,i)=>t.check(za(n,i)),t.step=(n,i)=>t.check(za(n,i)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function pt(t){return By(Fp,t)}var Qo=q("ZodNumberFormat",(t,e)=>{Qv.init(t,e),Fp.init(t,e)});function N_(t){return Vy(Qo,t)}function G9(t){return Gy(Qo,t)}function W9(t){return Wy(Qo,t)}function K9(t){return Ky(Qo,t)}function J9(t){return Jy(Qo,t)}var Zp=q("ZodBoolean",(t,e)=>{cu.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>zk(t,r,n,i)});function Qt(t){return Xy(Zp,t)}var Hp=q("ZodBigInt",(t,e)=>{cp.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Uk(t,n,i,a),t.gte=(n,i)=>t.check(Tr(n,i)),t.min=(n,i)=>t.check(Tr(n,i)),t.gt=(n,i)=>t.check(Ti(n,i)),t.gte=(n,i)=>t.check(Tr(n,i)),t.min=(n,i)=>t.check(Tr(n,i)),t.lt=(n,i)=>t.check(ki(n,i)),t.lte=(n,i)=>t.check(rn(n,i)),t.max=(n,i)=>t.check(rn(n,i)),t.positive=n=>t.check(Ti(BigInt(0),n)),t.negative=n=>t.check(ki(BigInt(0),n)),t.nonpositive=n=>t.check(rn(BigInt(0),n)),t.nonnegative=n=>t.check(Tr(BigInt(0),n)),t.multipleOf=(n,i)=>t.check(za(n,i));let r=t._zod.bag;t.minValue=r.minimum??null,t.maxValue=r.maximum??null,t.format=r.format??null});function X9(t){return Yy(Hp,t)}var X_=q("ZodBigIntFormat",(t,e)=>{ey.init(t,e),Hp.init(t,e)});function Y9(t){return Qy(X_,t)}function Q9(t){return e_(X_,t)}var DT=q("ZodSymbol",(t,e)=>{ty.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Lk(t,r,n,i)});function e8(t){return t_(DT,t)}var zT=q("ZodUndefined",(t,e)=>{ry.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Fk(t,r,n,i)});function t8(t){return r_(zT,t)}var UT=q("ZodNull",(t,e)=>{ny.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>qk(t,r,n,i)});function Iu(t){return n_(UT,t)}var LT=q("ZodAny",(t,e)=>{iy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Bk(t,r,n,i)});function r8(){return i_(LT)}var qT=q("ZodUnknown",(t,e)=>{ay.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Vk(t,r,n,i)});function Et(){return a_(qT)}var FT=q("ZodNever",(t,e)=>{oy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Hk(t,r,n,i)});function Y_(t){return o_(FT,t)}var ZT=q("ZodVoid",(t,e)=>{sy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Zk(t,r,n,i)});function n8(t){return s_(ZT,t)}var Q_=q("ZodDate",(t,e)=>{cy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Gk(t,n,i,a),t.min=(n,i)=>t.check(Tr(n,i)),t.max=(n,i)=>t.check(rn(n,i));let r=t._zod.bag;t.minDate=r.minimum?new Date(r.minimum):null,t.maxDate=r.maximum?new Date(r.maximum):null});function i8(t){return c_(Q_,t)}var HT=q("ZodArray",(t,e)=>{uy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>aT(t,r,n,i),t.element=e.element,t.min=(r,n)=>t.check(ta(r,n)),t.nonempty=r=>t.check(ta(1,r)),t.max=(r,n)=>t.check(Ko(r,n)),t.length=(r,n)=>t.check(Jo(r,n)),t.unwrap=()=>t.element});function Ge(t,e){return jk(HT,t,e)}function a8(t){let e=t._zod.def.shape;return vr(Object.keys(e))}var Bp=q("ZodObject",(t,e)=>{Ck.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>oT(t,r,n,i),ee.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>vr(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:Et()}),t.loose=()=>t.clone({...t._zod.def,catchall:Et()}),t.strict=()=>t.clone({...t._zod.def,catchall:Y_()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>ee.extend(t,r),t.safeExtend=r=>ee.safeExtend(t,r),t.merge=r=>ee.merge(t,r),t.pick=r=>ee.pick(t,r),t.omit=r=>ee.omit(t,r),t.partial=(...r)=>ee.partial(tb,t,r[0]),t.required=(...r)=>ee.required(rb,t,r[0])});function le(t,e){let r={type:"object",shape:t??{},...ee.normalizeParams(e)};return new Bp(r)}function o8(t,e){return new Bp({type:"object",shape:t,catchall:Y_(),...ee.normalizeParams(e)})}function gr(t,e){return new Bp({type:"object",shape:t,catchall:Et(),...ee.normalizeParams(e)})}var Vp=q("ZodUnion",(t,e)=>{uu.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>S_(t,r,n,i),t.options=e.options});function bt(t,e){return new Vp({type:"union",options:t,...ee.normalizeParams(e)})}var BT=q("ZodXor",(t,e)=>{Vp.init(t,e),ly.init(t,e),t._zod.processJSONSchema=(r,n,i)=>S_(t,r,n,i),t.options=e.options});function s8(t,e){return new BT({type:"union",options:t,inclusive:!1,...ee.normalizeParams(e)})}var VT=q("ZodDiscriminatedUnion",(t,e)=>{Vp.init(t,e),dy.init(t,e)});function Gp(t,e,r){return new VT({type:"union",options:e,discriminator:t,...ee.normalizeParams(r)})}var GT=q("ZodIntersection",(t,e)=>{py.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>sT(t,r,n,i)});function Pu(t,e){return new GT({type:"intersection",left:t,right:e})}var WT=q("ZodTuple",(t,e)=>{up.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>cT(t,r,n,i),t.rest=r=>t.clone({...t._zod.def,rest:r})});function KT(t,e,r){let n=e instanceof Ae,i=n?r:e,a=n?e:null;return new WT({type:"tuple",items:t,rest:a,...ee.normalizeParams(i)})}var Wp=q("ZodRecord",(t,e)=>{fy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>uT(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType});function Pt(t,e,r){return new Wp({type:"record",keyType:t,valueType:e,...ee.normalizeParams(r)})}function c8(t,e,r){let n=Er(t);return n._zod.values=void 0,new Wp({type:"record",keyType:n,valueType:e,...ee.normalizeParams(r)})}function u8(t,e,r){return new Wp({type:"record",keyType:t,valueType:e,mode:"loose",...ee.normalizeParams(r)})}var JT=q("ZodMap",(t,e)=>{my.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>nT(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType,t.min=(...r)=>t.check(Ii(...r)),t.nonempty=r=>t.check(Ii(1,r)),t.max=(...r)=>t.check(Ua(...r)),t.size=(...r)=>t.check(Wo(...r))});function l8(t,e,r){return new JT({type:"map",keyType:t,valueType:e,...ee.normalizeParams(r)})}var XT=q("ZodSet",(t,e)=>{hy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>iT(t,r,n,i),t.min=(...r)=>t.check(Ii(...r)),t.nonempty=r=>t.check(Ii(1,r)),t.max=(...r)=>t.check(Ua(...r)),t.size=(...r)=>t.check(Wo(...r))});function d8(t,e){return new XT({type:"set",valueType:t,...ee.normalizeParams(e)})}var ku=q("ZodEnum",(t,e)=>{gy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(n,i,a)=>Wk(t,n,i,a),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,i)=>{let a={};for(let o of n)if(r.has(o))a[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new ku({...e,checks:[],...ee.normalizeParams(i),entries:a})},t.exclude=(n,i)=>{let a={...e.entries};for(let o of n)if(r.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new ku({...e,checks:[],...ee.normalizeParams(i),entries:a})}});function vr(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new ku({type:"enum",entries:r,...ee.normalizeParams(e)})}function p8(t,e){return new ku({type:"enum",entries:t,...ee.normalizeParams(e)})}var YT=q("ZodLiteral",(t,e)=>{vy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Kk(t,r,n,i),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function ve(t,e){return new YT({type:"literal",values:Array.isArray(t)?t:[t],...ee.normalizeParams(e)})}var QT=q("ZodFile",(t,e)=>{yy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Yk(t,r,n,i),t.min=(r,n)=>t.check(Ii(r,n)),t.max=(r,n)=>t.check(Ua(r,n)),t.mime=(r,n)=>t.check(_u(Array.isArray(r)?r:[r],n))});function f8(t){return h_(QT,t)}var e1=q("ZodTransform",(t,e)=>{_y.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>rT(t,r,n,i),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new ja(t.constructor.name);r.addIssue=a=>{if(typeof a=="string")r.issues.push(ee.issue(a,r.value,e));else{let o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),r.issues.push(ee.issue(o))}};let i=e.transform(r.value,r);return i instanceof Promise?i.then(a=>(r.value=a,r)):(r.value=i,r)}});function eb(t){return new e1({type:"transform",transform:t})}var tb=q("ZodOptional",(t,e)=>{lp.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>w_(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function Nt(t){return new tb({type:"optional",innerType:t})}var t1=q("ZodExactOptional",(t,e)=>{by.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>w_(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function r1(t){return new t1({type:"optional",innerType:t})}var n1=q("ZodNullable",(t,e)=>{xy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>lT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function zp(t){return new n1({type:"nullable",innerType:t})}function m8(t){return Nt(zp(t))}var i1=q("ZodDefault",(t,e)=>{Sy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>pT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function a1(t,e){return new i1({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():ee.shallowClone(e)}})}var o1=q("ZodPrefault",(t,e)=>{wy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>fT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function s1(t,e){return new o1({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():ee.shallowClone(e)}})}var rb=q("ZodNonOptional",(t,e)=>{$y.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>dT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function c1(t,e){return new rb({type:"nonoptional",innerType:t,...ee.normalizeParams(e)})}var u1=q("ZodSuccess",(t,e)=>{Ey.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Qk(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function h8(t){return new u1({type:"success",innerType:t})}var l1=q("ZodCatch",(t,e)=>{ky.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>mT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function d1(t,e){return new l1({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var p1=q("ZodNaN",(t,e)=>{Ty.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Jk(t,r,n,i)});function g8(t){return u_(p1,t)}var nb=q("ZodPipe",(t,e)=>{Iy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>hT(t,r,n,i),t.in=e.in,t.out=e.out});function Up(t,e){return new nb({type:"pipe",in:t,out:e})}var ib=q("ZodCodec",(t,e)=>{nb.init(t,e),lu.init(t,e)});function v8(t,e,r){return new ib({type:"pipe",in:t,out:e,transform:r.decode,reverseTransform:r.encode})}var f1=q("ZodReadonly",(t,e)=>{Py.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>gT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function m1(t){return new f1({type:"readonly",innerType:t})}var h1=q("ZodTemplateLiteral",(t,e)=>{Oy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Xk(t,r,n,i)});function y8(t,e){return new h1({type:"template_literal",parts:t,...ee.normalizeParams(e)})}var g1=q("ZodLazy",(t,e)=>{Ny.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>yT(t,r,n,i),t.unwrap=()=>t._zod.def.getter()});function v1(t){return new g1({type:"lazy",getter:t})}var y1=q("ZodPromise",(t,e)=>{Cy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>vT(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function _8(t){return new y1({type:"promise",innerType:t})}var _1=q("ZodFunction",(t,e)=>{Ry.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>tT(t,r,n,i)});function b8(t){return new _1({type:"function",input:Array.isArray(t?.input)?KT(t?.input):t?.input??Ge(Et()),output:t?.output??Et()})}var Kp=q("ZodCustom",(t,e)=>{jy.init(t,e),Ue.init(t,e),t._zod.processJSONSchema=(r,n,i)=>eT(t,r,n,i)});function x8(t){let e=new wt({check:"custom"});return e._zod.check=t,e}function ab(t,e){return g_(Kp,t??(()=>!0),e)}function b1(t,e={}){return v_(Kp,t,e)}function x1(t){return y_(t)}var S8=__,w8=b_;function $8(t,e={}){let r=new Kp({type:"custom",check:"custom",fn:n=>n instanceof t,abort:!0,...ee.normalizeParams(e)});return r._zod.bag.Class=t,r._zod.check=n=>{n.value instanceof t||n.issues.push({code:"invalid_type",expected:t.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var E8=(...t)=>x_({Codec:ib,Boolean:Zp,String:Lp},...t);function k8(t){let e=v1(()=>bt([H(t),pt(),Qt(),Iu(),Ge(e),Pt(H(),e)]));return e}function Jp(t,e){return Up(eb(t),e)}var S1;S1||(S1={});var r_e={...Eu,...Mp,iso:La};tr(Ay());var sb="2025-11-25";var w1=[sb,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ra="io.modelcontextprotocol/related-task",Yp="2.0",sr=ab(t=>t!==null&&(typeof t=="object"||typeof t=="function")),$1=bt([H(),pt().int()]),E1=H(),x_e=gr({ttl:bt([pt(),Iu()]).optional(),pollInterval:pt().optional()}),O8=le({ttl:pt().optional()}),R8=le({taskId:H()}),cb=gr({progressToken:$1.optional(),[ra]:R8.optional()}),an=le({_meta:cb.optional()}),Ou=an.extend({task:O8.optional()}),k1=t=>Ou.safeParse(t).success,cr=le({method:H(),params:an.loose().optional()}),fn=le({_meta:cb.optional()}),mn=le({method:H(),params:fn.loose().optional()}),ur=gr({_meta:cb.optional()}),Qp=bt([H(),pt().int()]),T1=le({jsonrpc:ve(Yp),id:Qp,...cr.shape}).strict(),ub=t=>T1.safeParse(t).success,I1=le({jsonrpc:ve(Yp),...mn.shape}).strict(),P1=t=>I1.safeParse(t).success,lb=le({jsonrpc:ve(Yp),id:Qp,result:ur}).strict(),Ru=t=>lb.safeParse(t).success;var Ce;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Ce||(Ce={}));var db=le({jsonrpc:ve(Yp),id:Qp.optional(),error:le({code:pt().int(),message:H(),data:Et().optional()})}).strict();var O1=t=>db.safeParse(t).success;var R1=bt([T1,I1,lb,db]),S_e=bt([lb,db]),qa=ur.strict(),C8=fn.extend({requestId:Qp.optional(),reason:H().optional()}),ef=mn.extend({method:ve("notifications/cancelled"),params:C8}),N8=le({src:H(),mimeType:H().optional(),sizes:Ge(H()).optional(),theme:vr(["light","dark"]).optional()}),Cu=le({icons:Ge(N8).optional()}),es=le({name:H(),title:H().optional()}),C1=es.extend({...es.shape,...Cu.shape,version:H(),websiteUrl:H().optional(),description:H().optional()}),j8=Pu(le({applyDefaults:Qt().optional()}),Pt(H(),Et())),A8=Jp(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Pu(le({form:j8.optional(),url:sr.optional()}),Pt(H(),Et()).optional())),M8=gr({list:sr.optional(),cancel:sr.optional(),requests:gr({sampling:gr({createMessage:sr.optional()}).optional(),elicitation:gr({create:sr.optional()}).optional()}).optional()}),D8=gr({list:sr.optional(),cancel:sr.optional(),requests:gr({tools:gr({call:sr.optional()}).optional()}).optional()}),z8=le({experimental:Pt(H(),sr).optional(),sampling:le({context:sr.optional(),tools:sr.optional()}).optional(),elicitation:A8.optional(),roots:le({listChanged:Qt().optional()}).optional(),tasks:M8.optional()}),U8=an.extend({protocolVersion:H(),capabilities:z8,clientInfo:C1}),L8=cr.extend({method:ve("initialize"),params:U8});var q8=le({experimental:Pt(H(),sr).optional(),logging:sr.optional(),completions:sr.optional(),prompts:le({listChanged:Qt().optional()}).optional(),resources:le({subscribe:Qt().optional(),listChanged:Qt().optional()}).optional(),tools:le({listChanged:Qt().optional()}).optional(),tasks:D8.optional()}),pb=ur.extend({protocolVersion:H(),capabilities:q8,serverInfo:C1,instructions:H().optional()}),F8=mn.extend({method:ve("notifications/initialized"),params:fn.optional()});var tf=cr.extend({method:ve("ping"),params:an.optional()}),Z8=le({progress:pt(),total:Nt(pt()),message:Nt(H())}),H8=le({...fn.shape,...Z8.shape,progressToken:$1}),rf=mn.extend({method:ve("notifications/progress"),params:H8}),B8=an.extend({cursor:E1.optional()}),Nu=cr.extend({params:B8.optional()}),ju=ur.extend({nextCursor:E1.optional()}),V8=vr(["working","input_required","completed","failed","cancelled"]),Au=le({taskId:H(),status:V8,ttl:bt([pt(),Iu()]),createdAt:H(),lastUpdatedAt:H(),pollInterval:Nt(pt()),statusMessage:Nt(H())}),Fa=ur.extend({task:Au}),G8=fn.merge(Au),Mu=mn.extend({method:ve("notifications/tasks/status"),params:G8}),nf=cr.extend({method:ve("tasks/get"),params:an.extend({taskId:H()})}),af=ur.merge(Au),of=cr.extend({method:ve("tasks/result"),params:an.extend({taskId:H()})}),w_e=ur.loose(),sf=Nu.extend({method:ve("tasks/list")}),cf=ju.extend({tasks:Ge(Au)}),uf=cr.extend({method:ve("tasks/cancel"),params:an.extend({taskId:H()})}),N1=ur.merge(Au),j1=le({uri:H(),mimeType:Nt(H()),_meta:Pt(H(),Et()).optional()}),A1=j1.extend({text:H()}),fb=H().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),M1=j1.extend({blob:fb}),Du=vr(["user","assistant"]),ts=le({audience:Ge(Du).optional(),priority:pt().min(0).max(1).optional(),lastModified:La.datetime({offset:!0}).optional()}),D1=le({...es.shape,...Cu.shape,uri:H(),description:Nt(H()),mimeType:Nt(H()),annotations:ts.optional(),_meta:Nt(gr({}))}),W8=le({...es.shape,...Cu.shape,uriTemplate:H(),description:Nt(H()),mimeType:Nt(H()),annotations:ts.optional(),_meta:Nt(gr({}))}),K8=Nu.extend({method:ve("resources/list")}),mb=ju.extend({resources:Ge(D1)}),J8=Nu.extend({method:ve("resources/templates/list")}),hb=ju.extend({resourceTemplates:Ge(W8)}),gb=an.extend({uri:H()}),X8=gb,Y8=cr.extend({method:ve("resources/read"),params:X8}),vb=ur.extend({contents:Ge(bt([A1,M1]))}),yb=mn.extend({method:ve("notifications/resources/list_changed"),params:fn.optional()}),Q8=gb,eF=cr.extend({method:ve("resources/subscribe"),params:Q8}),tF=gb,rF=cr.extend({method:ve("resources/unsubscribe"),params:tF}),nF=fn.extend({uri:H()}),iF=mn.extend({method:ve("notifications/resources/updated"),params:nF}),aF=le({name:H(),description:Nt(H()),required:Nt(Qt())}),oF=le({...es.shape,...Cu.shape,description:Nt(H()),arguments:Nt(Ge(aF)),_meta:Nt(gr({}))}),sF=Nu.extend({method:ve("prompts/list")}),_b=ju.extend({prompts:Ge(oF)}),cF=an.extend({name:H(),arguments:Pt(H(),H()).optional()}),uF=cr.extend({method:ve("prompts/get"),params:cF}),bb=le({type:ve("text"),text:H(),annotations:ts.optional(),_meta:Pt(H(),Et()).optional()}),xb=le({type:ve("image"),data:fb,mimeType:H(),annotations:ts.optional(),_meta:Pt(H(),Et()).optional()}),Sb=le({type:ve("audio"),data:fb,mimeType:H(),annotations:ts.optional(),_meta:Pt(H(),Et()).optional()}),lF=le({type:ve("tool_use"),name:H(),id:H(),input:Pt(H(),Et()),_meta:Pt(H(),Et()).optional()}),dF=le({type:ve("resource"),resource:bt([A1,M1]),annotations:ts.optional(),_meta:Pt(H(),Et()).optional()}),pF=D1.extend({type:ve("resource_link")}),wb=bt([bb,xb,Sb,pF,dF]),fF=le({role:Du,content:wb}),$b=ur.extend({description:H().optional(),messages:Ge(fF)}),Eb=mn.extend({method:ve("notifications/prompts/list_changed"),params:fn.optional()}),mF=le({title:H().optional(),readOnlyHint:Qt().optional(),destructiveHint:Qt().optional(),idempotentHint:Qt().optional(),openWorldHint:Qt().optional()}),hF=le({taskSupport:vr(["required","optional","forbidden"]).optional()}),z1=le({...es.shape,...Cu.shape,description:H().optional(),inputSchema:le({type:ve("object"),properties:Pt(H(),sr).optional(),required:Ge(H()).optional()}).catchall(Et()),outputSchema:le({type:ve("object"),properties:Pt(H(),sr).optional(),required:Ge(H()).optional()}).catchall(Et()).optional(),annotations:mF.optional(),execution:hF.optional(),_meta:Pt(H(),Et()).optional()}),gF=Nu.extend({method:ve("tools/list")}),kb=ju.extend({tools:Ge(z1)}),rs=ur.extend({content:Ge(wb).default([]),structuredContent:Pt(H(),Et()).optional(),isError:Qt().optional()}),$_e=rs.or(ur.extend({toolResult:Et()})),vF=Ou.extend({name:H(),arguments:Pt(H(),Et()).optional()}),yF=cr.extend({method:ve("tools/call"),params:vF}),Tb=mn.extend({method:ve("notifications/tools/list_changed"),params:fn.optional()}),U1=le({autoRefresh:Qt().default(!0),debounceMs:pt().int().nonnegative().default(300)}),L1=vr(["debug","info","notice","warning","error","critical","alert","emergency"]),_F=an.extend({level:L1}),bF=cr.extend({method:ve("logging/setLevel"),params:_F}),xF=fn.extend({level:L1,logger:H().optional(),data:Et()}),SF=mn.extend({method:ve("notifications/message"),params:xF}),wF=le({name:H().optional()}),$F=le({hints:Ge(wF).optional(),costPriority:pt().min(0).max(1).optional(),speedPriority:pt().min(0).max(1).optional(),intelligencePriority:pt().min(0).max(1).optional()}),EF=le({mode:vr(["auto","required","none"]).optional()}),kF=le({type:ve("tool_result"),toolUseId:H().describe("The unique identifier for the corresponding tool call."),content:Ge(wb).default([]),structuredContent:le({}).loose().optional(),isError:Qt().optional(),_meta:Pt(H(),Et()).optional()}),TF=Gp("type",[bb,xb,Sb]),Xp=Gp("type",[bb,xb,Sb,lF,kF]),IF=le({role:Du,content:bt([Xp,Ge(Xp)]),_meta:Pt(H(),Et()).optional()}),PF=Ou.extend({messages:Ge(IF),modelPreferences:$F.optional(),systemPrompt:H().optional(),includeContext:vr(["none","thisServer","allServers"]).optional(),temperature:pt().optional(),maxTokens:pt().int(),stopSequences:Ge(H()).optional(),metadata:sr.optional(),tools:Ge(z1).optional(),toolChoice:EF.optional()}),Ib=cr.extend({method:ve("sampling/createMessage"),params:PF}),Pb=ur.extend({model:H(),stopReason:Nt(vr(["endTurn","stopSequence","maxTokens"]).or(H())),role:Du,content:TF}),OF=ur.extend({model:H(),stopReason:Nt(vr(["endTurn","stopSequence","maxTokens","toolUse"]).or(H())),role:Du,content:bt([Xp,Ge(Xp)])}),RF=le({type:ve("boolean"),title:H().optional(),description:H().optional(),default:Qt().optional()}),CF=le({type:ve("string"),title:H().optional(),description:H().optional(),minLength:pt().optional(),maxLength:pt().optional(),format:vr(["email","uri","date","date-time"]).optional(),default:H().optional()}),NF=le({type:vr(["number","integer"]),title:H().optional(),description:H().optional(),minimum:pt().optional(),maximum:pt().optional(),default:pt().optional()}),jF=le({type:ve("string"),title:H().optional(),description:H().optional(),enum:Ge(H()),default:H().optional()}),AF=le({type:ve("string"),title:H().optional(),description:H().optional(),oneOf:Ge(le({const:H(),title:H()})),default:H().optional()}),MF=le({type:ve("string"),title:H().optional(),description:H().optional(),enum:Ge(H()),enumNames:Ge(H()).optional(),default:H().optional()}),DF=bt([jF,AF]),zF=le({type:ve("array"),title:H().optional(),description:H().optional(),minItems:pt().optional(),maxItems:pt().optional(),items:le({type:ve("string"),enum:Ge(H())}),default:Ge(H()).optional()}),UF=le({type:ve("array"),title:H().optional(),description:H().optional(),minItems:pt().optional(),maxItems:pt().optional(),items:le({anyOf:Ge(le({const:H(),title:H()}))}),default:Ge(H()).optional()}),LF=bt([zF,UF]),qF=bt([MF,DF,LF]),FF=bt([qF,RF,CF,NF]),ZF=Ou.extend({mode:ve("form").optional(),message:H(),requestedSchema:le({type:ve("object"),properties:Pt(H(),FF),required:Ge(H()).optional()})}),HF=Ou.extend({mode:ve("url"),message:H(),elicitationId:H(),url:H().url()}),BF=bt([ZF,HF]),Ob=cr.extend({method:ve("elicitation/create"),params:BF}),VF=fn.extend({elicitationId:H()}),GF=mn.extend({method:ve("notifications/elicitation/complete"),params:VF}),Rb=ur.extend({action:vr(["accept","decline","cancel"]),content:Jp(t=>t===null?void 0:t,Pt(H(),bt([H(),pt(),Qt(),Ge(H())])).optional())}),WF=le({type:ve("ref/resource"),uri:H()});var KF=le({type:ve("ref/prompt"),name:H()}),JF=an.extend({ref:bt([KF,WF]),argument:le({name:H(),value:H()}),context:le({arguments:Pt(H(),H()).optional()}).optional()}),XF=cr.extend({method:ve("completion/complete"),params:JF});var Cb=ur.extend({completion:gr({values:Ge(H()).max(100),total:Nt(pt().int()),hasMore:Nt(Qt())})}),YF=le({uri:H().startsWith("file://"),name:H().optional(),_meta:Pt(H(),Et()).optional()}),QF=cr.extend({method:ve("roots/list"),params:an.optional()}),e5=ur.extend({roots:Ge(YF)}),t5=mn.extend({method:ve("notifications/roots/list_changed"),params:fn.optional()}),E_e=bt([tf,L8,XF,bF,uF,sF,K8,J8,Y8,eF,rF,yF,gF,nf,of,sf,uf]),k_e=bt([ef,rf,F8,t5,Mu]),T_e=bt([qa,Pb,OF,Rb,e5,af,cf,Fa]),I_e=bt([tf,Ib,Ob,QF,nf,of,sf,uf]),P_e=bt([ef,rf,SF,iF,yb,Tb,Eb,Mu,GF]),O_e=bt([qa,pb,Cb,$b,_b,mb,hb,vb,rs,kb,af,cf,Fa]),Se=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===Ce.UrlElicitationRequired&&n){let i=n;if(i.elicitations)return new ob(i.elicitations,r)}return new t(e,r,n)}},ob=class extends Se{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(Ce.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function na(t){return t==="completed"||t==="failed"||t==="cancelled"}var lbe=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Nb(t){let r=Ap(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=ST(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function jb(t,e){let r=Mn(t,e);if(!r.success)throw r.error;return r.data}var s5=6e4,lf=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ef,r=>{this._oncancel(r)}),this.setNotificationHandler(rf,r=>{this._onprogress(r)}),this.setRequestHandler(tf,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(nf,async(r,n)=>{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new Se(Ce.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(of,async(r,n)=>{let i=async()=>{let a=r.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(a,n.sessionId);){if(s.type==="response"||s.type==="error"){let c=s.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),s.type==="response")l(c);else{let d=c,p=new Se(d.error.code,d.error.message,d.error.data);l(p)}else{let d=s.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(s.message,{relatedRequestId:n.requestId})}}let o=await this._taskStore.getTask(a,n.sessionId);if(!o)throw new Se(Ce.InvalidParams,`Task not found: ${a}`);if(!na(o.status))return await this._waitForTaskUpdate(a,n.signal),await i();if(na(o.status)){let s=await this._taskStore.getTaskResult(a,n.sessionId);return this._clearTaskQueue(a),{...s,_meta:{...s._meta,[ra]:{taskId:a}}}}return await i()};return await i()}),this.setRequestHandler(sf,async(r,n)=>{try{let{tasks:i,nextCursor:a}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:i,nextCursor:a,_meta:{}}}catch(i){throw new Se(Ce.InvalidParams,`Failed to list tasks: ${i instanceof Error?i.message:String(i)}`)}}),this.setRequestHandler(uf,async(r,n)=>{try{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new Se(Ce.InvalidParams,`Task not found: ${r.params.taskId}`);if(na(i.status))throw new Se(Ce.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let a=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!a)throw new Se(Ce.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...a}}catch(i){throw i instanceof Se?i:new Se(Ce.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,i,a=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(i,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:a,onTimeout:i})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),Se.fromError(Ce.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=a=>{n?.(a),this._onerror(a)};let i=this._transport?.onmessage;this._transport.onmessage=(a,o)=>{i?.(a,o),Ru(a)||O1(a)?this._onresponse(a):ub(a)?this._onrequest(a,o):P1(a)?this._onnotification(a):this._onerror(new Error(`Unknown message type: ${JSON.stringify(a)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let r=Se.fromError(Ce.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,i=this._transport,a=e.params?._meta?.[ra]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:Ce.MethodNotFound,message:"Method not found"}};a&&this._taskMessageQueue?this._enqueueTaskMessage(a,{type:"error",message:l,timestamp:Date.now()},i?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):i?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);let s=k1(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,i?.sessionId):void 0,u={signal:o.signal,sessionId:i?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{let d={relatedRequestId:e.id};a&&(d.relatedTask={taskId:a}),await this.notification(l,d)},sendRequest:async(l,d,p)=>{let f={...p,relatedRequestId:e.id};a&&!f.relatedTask&&(f.relatedTask={taskId:a});let h=f.relatedTask?.taskId??a;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(l,d,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:a,taskStore:c,taskRequestedTtl:s?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(o.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"response",message:d,timestamp:Date.now()},i?.sessionId):await i?.send(d)},async l=>{if(o.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:Ce.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"error",message:d,timestamp:Date.now()},i?.sessionId):await i?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,i=Number(r),a=this._progressHandlers.get(i);if(!a){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let o=this._responseHandlers.get(i),s=this._timeoutInfo.get(i);if(s&&o&&s.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(c){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),o(c);return}a(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Ru(e))n(e);else{let o=new Se(e.error.code,e.error.message,e.error.data);n(o)}return}let i=this._responseHandlers.get(r);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let a=!1;if(Ru(e)&&e.result&&typeof e.result=="object"){let o=e.result;if(o.task&&typeof o.task=="object"){let s=o.task;typeof s.taskId=="string"&&(a=!0,this._taskProgressTokens.set(s.taskId,r))}}if(a||this._progressHandlers.delete(r),Ru(e))i(e);else{let o=Se.fromError(e.error.code,e.error.message,e.error.data);i(o)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:i}=n??{};if(!i){try{yield{type:"result",result:await this.request(e,r,n)}}catch(o){yield{type:"error",error:o instanceof Se?o:new Se(Ce.InternalError,String(o))}}return}let a;try{let o=await this.request(e,Fa,n);if(o.task)a=o.task.taskId,yield{type:"taskCreated",task:o.task};else throw new Se(Ce.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:a},n);if(yield{type:"taskStatus",task:s},na(s.status)){s.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)}:s.status==="failed"?yield{type:"error",error:new Se(Ce.InternalError,`Task ${a} failed`)}:s.status==="cancelled"&&(yield{type:"error",error:new Se(Ce.InternalError,`Task ${a} was cancelled`)});return}if(s.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)};return}let c=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(o){yield{type:"error",error:o instanceof Se?o:new Se(Ce.InternalError,String(o))}}}request(e,r,n){let{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o,task:s,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=y=>{l(y)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),s&&this.assertTaskCapability(e.method)}catch(y){d(y);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),s&&(f.params={...f.params,task:s}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[ra]:c}});let h=y=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(y)}},{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o}).catch(b=>this._onerror(new Error(`Failed to send cancellation: ${b}`)));let v=y instanceof Se?y:new Se(Ce.RequestTimeout,String(y));l(v)};this._responseHandlers.set(p,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return l(y);try{let v=Mn(r,y.result);v.success?u(v.data):l(v.error)}catch(v){l(v)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let _=n?.timeout??s5,g=()=>h(Se.fromError(Ce.RequestTimeout,"Request timed out",{timeout:_}));this._setupTimeout(p,_,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let m=c?.taskId;if(m){let y=v=>{let b=this._responseHandlers.get(p);b?b(v):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,y),this._enqueueTaskMessage(m,{type:"request",message:f,timestamp:Date.now()}).catch(v=>{this._cleanupTimeout(p),l(v)})}else this._transport.send(f,{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o}).catch(y=>{this._cleanupTimeout(p),l(y)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},af,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},cf,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},N1,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let s={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[ra]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let s={...e,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[ra]:r.relatedTask}}}),this._transport?.send(s,r).catch(c=>this._onerror(c))});return}let o={...e,jsonrpc:"2.0"};r?.relatedTask&&(o={...o,params:{...o.params,_meta:{...o.params?._meta||{},[ra]:r.relatedTask}}}),await this._transport.send(o,r)}setRequestHandler(e,r){let n=Nb(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,a)=>{let o=jb(e,i);return Promise.resolve(r(o,a))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=Nb(e);this._notificationHandlers.set(n,i=>{let a=jb(e,i);return Promise.resolve(r(a))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let i=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,i)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let i of n)if(i.type==="request"&&ub(i.message)){let a=i.message.id,o=this._requestResolvers.get(a);o?(o(new Se(Ce.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(a)):this._onerror(new Error(`Resolver missing for request ${a} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let i=await this._taskStore?.getTask(e);i?.pollInterval&&(n=i.pollInterval)}catch{}return new Promise((i,a)=>{if(r.aborted){a(new Se(Ce.InvalidRequest,"Request cancelled"));return}let o=setTimeout(i,n);r.addEventListener("abort",()=>{clearTimeout(o),a(new Se(Ce.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async i=>{if(!e)throw new Error("No request provided");return await n.createTask(i,e.id,{method:e.method,params:e.params},r)},getTask:async i=>{let a=await n.getTask(i,r);if(!a)throw new Se(Ce.InvalidParams,"Failed to retrieve task: Task not found");return a},storeTaskResult:async(i,a,o)=>{await n.storeTaskResult(i,a,o,r);let s=await n.getTask(i,r);if(s){let c=Mu.parse({method:"notifications/tasks/status",params:s});await this.notification(c),na(s.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,r),updateTaskStatus:async(i,a,o)=>{let s=await n.getTask(i,r);if(!s)throw new Se(Ce.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(na(s.status))throw new Se(Ce.InvalidParams,`Cannot update task "${i}" from terminal status "${s.status}" to "${a}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,a,o,r);let c=await n.getTask(i,r);if(c){let u=Mu.parse({method:"notifications/tasks/status",params:c});await this.notification(u),na(c.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,r)}}};function q1(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function F1(t,e){let r={...t};for(let n in e){let i=n,a=e[i];if(a===void 0)continue;let o=r[i];q1(o)&&q1(a)?r[i]={...o,...a}:r[i]=a}return r}var IO=dt(_0(),1),PO=dt(TO(),1);function XV(){let t=new IO.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,PO.default)(t),t}var Gf=class{constructor(e){this._ajv=e??XV()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Wf=class{constructor(e){this._client=e}async*callToolStream(e,r=rs,n){let i=this._client,a={...n,task:n?.task??(i.isToolTask(e.name)?{}:void 0)},o=i.requestStream({method:"tools/call",params:e},r,a),s=i.getToolOutputValidator(e.name);for await(let c of o){if(c.type==="result"&&s){let u=c.result;if(!u.structuredContent&&!u.isError){yield{type:"error",error:new Se(Ce.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(u.structuredContent)try{let l=s(u.structuredContent);if(!l.valid){yield{type:"error",error:new Se(Ce.InvalidParams,`Structured content does not match the tool's output schema: ${l.errorMessage}`)};return}}catch(l){if(l instanceof Se){yield{type:"error",error:l};return}yield{type:"error",error:new Se(Ce.InvalidParams,`Failed to validate structured content: ${l instanceof Error?l.message:String(l)}`)};return}}yield c}}async getTask(e,r){return this._client.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._client.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._client.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._client.cancelTask({taskId:e},r)}requestStream(e,r,n){return this._client.requestStream(e,r,n)}};function OO(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function RO(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}function Kf(t,e){if(!(!t||e===null||typeof e!="object")){if(t.type==="object"&&t.properties&&typeof t.properties=="object"){let r=e,n=t.properties;for(let i of Object.keys(n)){let a=n[i];r[i]===void 0&&Object.prototype.hasOwnProperty.call(a,"default")&&(r[i]=a.default),r[i]!==void 0&&Kf(a,r[i])}}if(Array.isArray(t.anyOf))for(let r of t.anyOf)typeof r!="boolean"&&Kf(r,e);if(Array.isArray(t.oneOf))for(let r of t.oneOf)typeof r!="boolean"&&Kf(r,e)}}function YV(t){if(!t)return{supportsFormMode:!1,supportsUrlMode:!1};let e=t.form!==void 0,r=t.url!==void 0;return{supportsFormMode:e||!e&&!r,supportsUrlMode:r}}var _s=class extends lf{constructor(e,r){super(r),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=r?.capabilities??{},this._jsonSchemaValidator=r?.jsonSchemaValidator??new Gf,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",Tb,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",Eb,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",yb,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new Wf(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=F1(this._capabilities,e)}setRequestHandler(e,r){let i=Ap(e)?.method;if(!i)throw new Error("Schema is missing a method literal");let a;if(Yo(i)){let s=i;a=s._zod?.def?.value??s.value}else{let s=i;a=s._def?.value??s.value}if(typeof a!="string")throw new Error("Schema method literal must be a string");let o=a;if(o==="elicitation/create"){let s=async(c,u)=>{let l=Mn(Ob,c);if(!l.success){let y=l.error instanceof Error?l.error.message:String(l.error);throw new Se(Ce.InvalidParams,`Invalid elicitation request: ${y}`)}let{params:d}=l.data;d.mode=d.mode??"form";let{supportsFormMode:p,supportsUrlMode:f}=YV(this._capabilities.elicitation);if(d.mode==="form"&&!p)throw new Se(Ce.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!f)throw new Se(Ce.InvalidParams,"Client does not support URL-mode elicitation requests");let h=await Promise.resolve(r(c,u));if(d.task){let y=Mn(Fa,h);if(!y.success){let v=y.error instanceof Error?y.error.message:String(y.error);throw new Se(Ce.InvalidParams,`Invalid task creation result: ${v}`)}return y.data}let _=Mn(Rb,h);if(!_.success){let y=_.error instanceof Error?_.error.message:String(_.error);throw new Se(Ce.InvalidParams,`Invalid elicitation result: ${y}`)}let g=_.data,m=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&g.action==="accept"&&g.content&&m&&this._capabilities.elicitation?.form?.applyDefaults)try{Kf(m,g.content)}catch{}return g};return super.setRequestHandler(e,s)}if(o==="sampling/createMessage"){let s=async(c,u)=>{let l=Mn(Ib,c);if(!l.success){let h=l.error instanceof Error?l.error.message:String(l.error);throw new Se(Ce.InvalidParams,`Invalid sampling request: ${h}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let h=Mn(Fa,p);if(!h.success){let _=h.error instanceof Error?h.error.message:String(h.error);throw new Se(Ce.InvalidParams,`Invalid task creation result: ${_}`)}return h.data}let f=Mn(Pb,p);if(!f.success){let h=f.error instanceof Error?f.error.message:String(f.error);throw new Se(Ce.InvalidParams,`Invalid sampling result: ${h}`)}return f.data};return super.setRequestHandler(e,s)}return super.setRequestHandler(e,r)}assertCapability(e,r){if(!this._serverCapabilities?.[e])throw new Error(`Server does not support ${e} (required for ${r})`)}async connect(e,r){if(await super.connect(e),e.sessionId===void 0)try{let n=await this.request({method:"initialize",params:{protocolVersion:sb,capabilities:this._capabilities,clientInfo:this._clientInfo}},pb,r);if(n===void 0)throw new Error(`Server sent invalid initialize result: ${n}`);if(!w1.includes(n.protocolVersion))throw new Error(`Server's protocol version is not supported: ${n.protocolVersion}`);this._serverCapabilities=n.capabilities,this._serverVersion=n.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(n.protocolVersion),this._instructions=n.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(n){throw this.close(),n}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break;case"ping":break}}assertTaskCapability(e){OO(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){this._capabilities&&RO(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},qa,e)}async complete(e,r){return this.request({method:"completion/complete",params:e},Cb,r)}async setLoggingLevel(e,r){return this.request({method:"logging/setLevel",params:{level:e}},qa,r)}async getPrompt(e,r){return this.request({method:"prompts/get",params:e},$b,r)}async listPrompts(e,r){return this.request({method:"prompts/list",params:e},_b,r)}async listResources(e,r){return this.request({method:"resources/list",params:e},mb,r)}async listResourceTemplates(e,r){return this.request({method:"resources/templates/list",params:e},hb,r)}async readResource(e,r){return this.request({method:"resources/read",params:e},vb,r)}async subscribeResource(e,r){return this.request({method:"resources/subscribe",params:e},qa,r)}async unsubscribeResource(e,r){return this.request({method:"resources/unsubscribe",params:e},qa,r)}async callTool(e,r=rs,n){if(this.isToolTaskRequired(e.name))throw new Se(Ce.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let i=await this.request({method:"tools/call",params:e},r,n),a=this.getToolOutputValidator(e.name);if(a){if(!i.structuredContent&&!i.isError)throw new Se(Ce.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(i.structuredContent)try{let o=a(i.structuredContent);if(!o.valid)throw new Se(Ce.InvalidParams,`Structured content does not match the tool's output schema: ${o.errorMessage}`)}catch(o){throw o instanceof Se?o:new Se(Ce.InvalidParams,`Failed to validate structured content: ${o instanceof Error?o.message:String(o)}`)}}return i}isToolTask(e){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let r of e){if(r.outputSchema){let i=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,i)}let n=r.execution?.taskSupport;(n==="required"||n==="optional")&&this._cachedKnownTaskTools.add(r.name),n==="required"&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,r){let n=await this.request({method:"tools/list",params:e},kb,r);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(e,r,n,i){let a=U1.safeParse(n);if(!a.success)throw new Error(`Invalid ${e} listChanged options: ${a.error.message}`);if(typeof n.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);let{autoRefresh:o,debounceMs:s}=a.data,{onChanged:c}=n,u=async()=>{if(!o){c(null,null);return}try{let d=await i();c(null,d)}catch(d){let p=d instanceof Error?d:new Error(String(d));c(p,null)}},l=()=>{if(s){let d=this._listChangedDebounceTimers.get(e);d&&clearTimeout(d);let p=setTimeout(u,s);this._listChangedDebounceTimers.set(e,p)}else u()};this.setNotificationHandler(r,l)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var xR=dt(_R(),1),ml=dt(require("node:process"),1),SR=require("node:stream");var Xf=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` +`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),E7(r)}clear(){this._buffer=void 0}};function E7(t){return R1.parse(JSON.parse(t))}function bR(t){return JSON.stringify(t)+` +`}var k7=ml.default.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function T7(){let t={};for(let e of k7){let r=ml.default.env[e];r!==void 0&&(r.startsWith("()")||(t[e]=r))}return t}var Ss=class{constructor(e){this._readBuffer=new Xf,this._stderrStream=null,this._serverParams=e,(e.stderr==="pipe"||e.stderr==="overlapped")&&(this._stderrStream=new SR.PassThrough)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((e,r)=>{this._process=(0,xR.default)(this._serverParams.command,this._serverParams.args??[],{env:{...T7(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:ml.default.platform==="win32"&&I7(),cwd:this._serverParams.cwd}),this._process.on("error",n=>{r(n),this.onerror?.(n)}),this._process.on("spawn",()=>{e()}),this._process.on("close",n=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",n=>{this.onerror?.(n)}),this._process.stdout?.on("data",n=>{this._readBuffer.append(n),this.processReadBuffer()}),this._process.stdout?.on("error",n=>{this.onerror?.(n)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){if(this._process){let e=this._process;this._process=void 0;let r=new Promise(n=>{e.once("close",()=>{n()})});try{e.stdin?.end()}catch{}if(await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())]),e.exitCode===null){try{e.kill("SIGTERM")}catch{}await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())])}if(e.exitCode===null)try{e.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(e){return new Promise(r=>{if(!this._process?.stdin)throw new Error("Not connected");let n=bR(e);this._process.stdin.write(n)?r():this._process.stdin.once("drain",r)})}};function I7(){return"type"in ml.default}var Qf=dt(require("path"),1),RR=require("os");Re();var z0={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function ER(t){return process.platform==="win32"?Math.round(t*z0.WINDOWS_MULTIPLIER):t}on();var d$e=Qf.default.join((0,RR.homedir)(),".claude","plugins","marketplaces","thedotmack"),p$e=ER(z0.HEALTH_CHECK),gl=null,vl=null;function _n(){if(gl!==null)return gl;let t=Qf.default.join(Ye.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),e=Ye.loadFromFile(t);return gl=parseInt(e.CLAUDE_MEM_WORKER_PORT,10),gl}function em(){if(vl!==null)return vl;let t=Qf.default.join(Ye.get("CLAUDE_MEM_DATA_DIR"),"settings.json");return vl=Ye.loadFromFile(t).CLAUDE_MEM_WORKER_HOST,vl}function CR(){gl=null,vl=null}Re();var U0=dt(require("path"),1),NR=require("os"),Fn=require("fs"),ws=require("child_process"),jR=require("util");Re();var tm=(0,jR.promisify)(ws.exec),AR=U0.default.join((0,NR.homedir)(),".claude-mem"),Qa=U0.default.join(AR,"worker.pid");function L0(t){(0,Fn.mkdirSync)(AR,{recursive:!0}),(0,Fn.writeFileSync)(Qa,JSON.stringify(t,null,2))}function MR(){if(!(0,Fn.existsSync)(Qa))return null;try{return JSON.parse((0,Fn.readFileSync)(Qa,"utf-8"))}catch(t){return k.warn("SYSTEM","Failed to parse PID file",{path:Qa},t),null}}function Di(){if((0,Fn.existsSync)(Qa))try{(0,Fn.unlinkSync)(Qa)}catch(t){k.warn("SYSTEM","Failed to remove PID file",{path:Qa},t)}}function eo(t){return process.platform==="win32"?Math.round(t*2):t}async function DR(t){if(process.platform!=="win32")return[];if(!Number.isInteger(t)||t<=0)return k.warn("SYSTEM","Invalid parent PID for child process enumeration",{parentPid:t}),[];try{let e=`wmic process where "parentprocessid=${t}" get processid /format:list`,{stdout:r}=await tm(e,{timeout:6e4});return r.trim().split(` +`).map(n=>{let i=n.match(/ProcessId=(\d+)/i);return i?parseInt(i[1],10):NaN}).filter(n=>!isNaN(n)&&Number.isInteger(n)&&n>0)}catch(e){return k.error("SYSTEM","Failed to enumerate child processes",{parentPid:t},e),[]}}async function zR(t){if(!Number.isInteger(t)||t<=0){k.warn("SYSTEM","Invalid PID for force kill",{pid:t});return}try{process.platform==="win32"?await tm(`taskkill /PID ${t} /T /F`,{timeout:6e4}):process.kill(t,"SIGKILL"),k.info("SYSTEM","Killed process",{pid:t})}catch(e){k.debug("SYSTEM","Process already exited during force kill",{pid:t},e)}}async function UR(t,e){let r=Date.now();for(;Date.now()-r{try{return process.kill(i,0),!0}catch{return!1}});if(n.length===0){k.info("SYSTEM","All child processes exited");return}k.debug("SYSTEM","Waiting for processes to exit",{stillAlive:n}),await new Promise(i=>setTimeout(i,100))}k.warn("SYSTEM","Timeout waiting for child processes to exit")}async function LR(){let t=process.platform==="win32",e=[];try{if(t){let r=`wmic process where "name like '%python%' and commandline like '%chroma-mcp%'" get processid /format:list`,{stdout:n}=await tm(r,{timeout:6e4});if(!n.trim()){k.debug("SYSTEM","No orphaned chroma-mcp processes found (Windows)");return}let i=n.trim().split(` `);for(let a of i){let o=a.match(/ProcessId=(\d+)/i);if(o){let s=parseInt(o[1],10);!isNaN(s)&&Number.isInteger(s)&&s>0&&e.push(s)}}}else{let{stdout:r}=await tm('ps aux | grep "chroma-mcp" | grep -v grep || true');if(!r.trim()){k.debug("SYSTEM","No orphaned chroma-mcp processes found (Unix)");return}let n=r.trim().split(` -`);for(let i of n){let a=i.trim().split(/\s+/);if(a.length>1){let o=parseInt(a[1],10);!isNaN(o)&&Number.isInteger(o)&&o>0&&e.push(o)}}}}catch(r){k.warn("SYSTEM","Failed to enumerate orphaned processes",{},r);return}if(e.length!==0){if(k.info("SYSTEM","Cleaning up orphaned chroma-mcp processes",{platform:t?"Windows":"Unix",count:e.length,pids:e}),t)for(let r of e){if(!Number.isInteger(r)||r<=0){k.warn("SYSTEM","Skipping invalid PID",{pid:r});continue}try{(0,ws.execSync)(`taskkill /PID ${r} /T /F`,{timeout:6e4,stdio:"ignore"})}catch(n){k.debug("SYSTEM","Failed to kill process, may have already exited",{pid:r},n)}}else for(let r of e)try{process.kill(r,"SIGKILL")}catch(n){k.debug("SYSTEM","Process already exited",{pid:r},n)}k.info("SYSTEM","Orphaned processes cleaned up",{count:e.length})}}function q0(t,e,r={}){let n=(0,ws.spawn)(process.execPath,[t,"--daemon"],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,CLAUDE_MEM_WORKER_PORT:String(e),...r}});if(n.pid!==void 0)return n.unref(),n.pid}function AR(t,e){return async r=>{if(e.value){k.warn("SYSTEM",`Received ${r} but shutdown already in progress`);return}e.value=!0,k.info("SYSTEM",`Received ${r}, shutting down...`);try{await t(),process.exit(0)}catch(n){k.error("SYSTEM","Error during shutdown",{},n),process.exit(1)}}}var L0=dt(require("path"),1),MR=require("os"),DR=require("fs");Re();async function rm(t){try{return(await fetch(`http://127.0.0.1:${t}/api/health`)).ok}catch{return!1}}async function yl(t,e=3e4){let r=Date.now();for(;Date.now()-rsetTimeout(n,500))}return!1}async function nm(t,e=1e4){let r=Date.now();for(;Date.now()-rsetTimeout(n,500))}return!1}async function im(t){try{let e=await fetch(`http://127.0.0.1:${t}/api/admin/shutdown`,{method:"POST"});return e.ok?!0:(k.warn("SYSTEM","Shutdown request returned error",{port:t,status:e.status}),!1)}catch(e){return e instanceof Error&&e.message?.includes("ECONNREFUSED")?(k.debug("SYSTEM","Worker already stopped",{port:t},e),!1):(k.warn("SYSTEM","Shutdown request failed unexpectedly",{port:t},e),!1)}}function P7(){let t=L0.default.join((0,MR.homedir)(),".claude","plugins","marketplaces","thedotmack"),e=L0.default.join(t,"package.json");return JSON.parse((0,DR.readFileSync)(e,"utf-8")).version}async function O7(t){try{let e=await fetch(`http://127.0.0.1:${t}/api/version`);return e.ok?(await e.json()).version:null}catch{return k.debug("SYSTEM","Could not fetch worker version",{port:t}),null}}async function zR(t){let e=P7(),r=await O7(t);return r?{matches:e===r,pluginVersion:e,workerVersion:r}:{matches:!0,pluginVersion:e,workerVersion:r}}Re();async function UR(t){k.info("SYSTEM","Shutdown initiated"),Mi();let e=await RR(process.pid);if(k.info("SYSTEM","Found child processes",{count:e.length,pids:e}),t.server&&(await R7(t.server),k.info("SYSTEM","HTTP server closed")),await t.sessionManager.shutdownAll(),t.mcpClient&&(await t.mcpClient.close(),k.info("SYSTEM","MCP client closed")),t.dbManager&&await t.dbManager.close(),e.length>0){k.info("SYSTEM","Force killing remaining children");for(let r of e)await CR(r);await NR(e,5e3)}k.info("SYSTEM","Worker shutdown complete")}async function R7(t){t.closeAllConnections(),process.platform==="win32"&&await new Promise(e=>setTimeout(e,500)),await new Promise((e,r)=>{t.close(n=>n?r(n):e())}),process.platform==="win32"&&(await new Promise(e=>setTimeout(e,500)),k.info("SYSTEM","Waited for Windows port cleanup"))}var i4=dt(ph(),1),Kw=dt(require("fs"),1),Jw=dt(require("path"),1);Re();var Vw=dt(ph(),1),Qz=dt(Zz(),1),e4=dt(require("path"),1);cn();Re();function Gw(t){let e=[];e.push(Vw.default.json({limit:"50mb"})),e.push((0,Qz.default)()),e.push((i,a,o)=>{let c=[".html",".js",".css",".svg",".png",".jpg",".jpeg",".webp",".woff",".woff2",".ttf",".eot"].some(h=>i.path.endsWith(h)),u=i.path==="/api/logs";if(i.path.startsWith("/health")||i.path==="/"||c||u)return o();let l=Date.now(),d=`${i.method}-${Date.now()}`,p=t(i.method,i.path,i.body);k.info("HTTP",`\u2192 ${i.method} ${i.path}`,{requestId:d},p);let f=a.send.bind(a);a.send=function(h){let _=Date.now()-l;return k.info("HTTP",`\u2190 ${a.statusCode} ${i.path}`,{requestId:d,duration:`${_}ms`}),f(h)},o()});let r=Gr(),n=e4.default.join(r,"plugin","ui");return e.push(Vw.default.static(n)),e}function fh(t,e,r){let n=t.ip||t.connection.remoteAddress||"";if(!(n==="127.0.0.1"||n==="::1"||n==="::ffff:127.0.0.1"||n==="localhost")){k.warn("SECURITY","Admin endpoint access denied - not localhost",{endpoint:t.path,clientIp:n,method:t.method}),e.status(403).json({error:"Forbidden",message:"Admin endpoints are only accessible from localhost"});return}r()}function Ww(t,e,r){if(!r||Object.keys(r).length===0||e.includes("/init"))return"";if(e.includes("/observations")){let n=r.tool_name||"?",i=r.tool_input;return`tool=${k.formatTool(n,i)}`}return e.includes("/summarize")?"requesting summary":""}Re();var Js=class extends Error{constructor(r,n=500,i,a){super(r);this.statusCode=n;this.code=i;this.details=a;this.name="AppError"}};function t4(t,e,r,n){let i={error:t,message:e};return r&&(i.code=r),n&&(i.details=n),i}var r4=(t,e,r,n)=>{let i=t instanceof Js?t.statusCode:500;k.error("HTTP",`Error handling ${e.method} ${e.path}`,{statusCode:i,error:t.message,code:t instanceof Js?t.code:void 0},t);let a=t4(t.name||"Error",t.message,t instanceof Js?t.code:void 0,t instanceof Js?t.details:void 0);r.status(i).json(a)};function n4(t,e){e.status(404).json(t4("NotFound",`Cannot ${t.method} ${t.path}`))}var Bre="9.0.0",mh=class{app;server=null;options;startTime=Date.now();constructor(e){this.options=e,this.app=(0,i4.default)(),this.setupMiddleware(),this.setupCoreRoutes()}getHttpServer(){return this.server}async listen(e,r){return new Promise((n,i)=>{this.server=this.app.listen(e,r,()=>{k.info("SYSTEM","HTTP server started",{host:r,port:e,pid:process.pid}),n()}),this.server.on("error",i)})}async close(){this.server&&(this.server.closeAllConnections(),process.platform==="win32"&&await new Promise(e=>setTimeout(e,500)),await new Promise((e,r)=>{this.server.close(n=>n?r(n):e())}),process.platform==="win32"&&await new Promise(e=>setTimeout(e,500)),this.server=null,k.info("SYSTEM","HTTP server closed"))}registerRoutes(e){e.setupRoutes(this.app)}finalizeRoutes(){this.app.use(n4),this.app.use(r4)}setupMiddleware(){Gw(Ww).forEach(r=>this.app.use(r))}setupCoreRoutes(){let e="TEST-008-wrapper-ipc";this.app.get("/api/health",(r,n)=>{n.status(200).json({status:"ok",build:e,managed:process.env.CLAUDE_MEM_MANAGED==="true",hasIpc:typeof process.send=="function",platform:process.platform,pid:process.pid,initialized:this.options.getInitializationComplete(),mcpReady:this.options.getMcpReady()})}),this.app.get("/api/readiness",(r,n)=>{this.options.getInitializationComplete()?n.status(200).json({status:"ready",mcpReady:this.options.getMcpReady()}):n.status(503).json({status:"initializing",message:"Worker is still initializing, please retry"})}),this.app.get("/api/version",(r,n)=>{n.status(200).json({version:Bre})}),this.app.get("/api/instructions",async(r,n)=>{let i=r.query.topic||"all",a=r.query.operation;try{let o;if(a){let s=Jw.default.join(__dirname,"../skills/mem-search/operations",`${a}.md`);o=await Kw.promises.readFile(s,"utf-8")}else{let s=Jw.default.join(__dirname,"../skills/mem-search/SKILL.md"),c=await Kw.promises.readFile(s,"utf-8");o=this.extractInstructionSection(c,i)}n.json({content:[{type:"text",text:o}]})}catch{n.status(404).json({error:"Instruction not found"})}}),this.app.post("/api/admin/restart",fh,async(r,n)=>{n.json({status:"restarting"}),process.platform==="win32"&&process.env.CLAUDE_MEM_MANAGED==="true"&&process.send?(k.info("SYSTEM","Sending restart request to wrapper"),process.send({type:"restart"})):setTimeout(async()=>{await this.options.onRestart()},100)}),this.app.post("/api/admin/shutdown",fh,async(r,n)=>{n.json({status:"shutting_down"}),process.platform==="win32"&&process.env.CLAUDE_MEM_MANAGED==="true"&&process.send?(k.info("SYSTEM","Sending shutdown request to wrapper"),process.send({type:"shutdown"})):setTimeout(async()=>{await this.options.onShutdown()},100)})}extractInstructionSection(e,r){let n={workflow:this.extractBetween(e,"## The Workflow","## Search Parameters"),search_params:this.extractBetween(e,"## Search Parameters","## Examples"),examples:this.extractBetween(e,"## Examples","## Why This Workflow"),all:e};return n[r]||n.all}extractBetween(e,r,n){let i=e.indexOf(r),a=e.indexOf(n);return i===-1?e:a===-1?e.substring(i):e.substring(i,a).trim()}};var ct=dt(require("path"),1),nd=require("os"),Mt=require("fs"),s4=require("child_process"),c4=require("util");Re();var En=require("fs"),rd=require("path");Re();function a4(t){try{return(0,En.existsSync)(t)?JSON.parse((0,En.readFileSync)(t,"utf-8")):{}}catch(e){return k.warn("CONFIG","Failed to read Cursor registry, using empty registry",{file:t,error:e instanceof Error?e.message:String(e)}),{}}}function o4(t,e){let r=(0,rd.join)(t,"..");(0,En.mkdirSync)(r,{recursive:!0}),(0,En.writeFileSync)(t,JSON.stringify(e,null,2))}function Xw(t,e){let r=(0,rd.join)(t,".cursor","rules"),n=(0,rd.join)(r,"claude-mem-context.mdc"),i=`${n}.tmp`;(0,En.mkdirSync)(r,{recursive:!0});let a=`--- +`);for(let i of n){let a=i.trim().split(/\s+/);if(a.length>1){let o=parseInt(a[1],10);!isNaN(o)&&Number.isInteger(o)&&o>0&&e.push(o)}}}}catch(r){k.error("SYSTEM","Failed to enumerate orphaned processes",{},r);return}if(e.length!==0){if(k.info("SYSTEM","Cleaning up orphaned chroma-mcp processes",{platform:t?"Windows":"Unix",count:e.length,pids:e}),t)for(let r of e){if(!Number.isInteger(r)||r<=0){k.warn("SYSTEM","Skipping invalid PID",{pid:r});continue}try{(0,ws.execSync)(`taskkill /PID ${r} /T /F`,{timeout:6e4,stdio:"ignore"})}catch(n){k.debug("SYSTEM","Failed to kill process, may have already exited",{pid:r},n)}}else for(let r of e)try{process.kill(r,"SIGKILL")}catch(n){k.debug("SYSTEM","Process already exited",{pid:r},n)}k.info("SYSTEM","Orphaned processes cleaned up",{count:e.length})}}function q0(t,e,r={}){let n=(0,ws.spawn)(process.execPath,[t,"--daemon"],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,CLAUDE_MEM_WORKER_PORT:String(e),...r}});if(n.pid!==void 0)return n.unref(),n.pid}function qR(t,e){return async r=>{if(e.value){k.warn("SYSTEM",`Received ${r} but shutdown already in progress`);return}e.value=!0,k.info("SYSTEM",`Received ${r}, shutting down...`);try{await t(),process.exit(0)}catch(n){k.error("SYSTEM","Error during shutdown",{},n),process.exit(1)}}}var F0=dt(require("path"),1),FR=require("os"),ZR=require("fs");Re();async function rm(t){try{return(await fetch(`http://127.0.0.1:${t}/api/health`)).ok}catch{return!1}}async function yl(t,e=3e4){let r=Date.now();for(;Date.now()-rsetTimeout(n,500))}return!1}async function nm(t,e=1e4){let r=Date.now();for(;Date.now()-rsetTimeout(n,500))}return!1}async function im(t){try{let e=await fetch(`http://127.0.0.1:${t}/api/admin/shutdown`,{method:"POST"});return e.ok?!0:(k.warn("SYSTEM","Shutdown request returned error",{port:t,status:e.status}),!1)}catch(e){return e instanceof Error&&e.message?.includes("ECONNREFUSED")?(k.debug("SYSTEM","Worker already stopped",{port:t},e),!1):(k.error("SYSTEM","Shutdown request failed unexpectedly",{port:t},e),!1)}}function P7(){let t=F0.default.join((0,FR.homedir)(),".claude","plugins","marketplaces","thedotmack"),e=F0.default.join(t,"package.json");return JSON.parse((0,ZR.readFileSync)(e,"utf-8")).version}async function O7(t){try{let e=await fetch(`http://127.0.0.1:${t}/api/version`);return e.ok?(await e.json()).version:null}catch{return k.debug("SYSTEM","Could not fetch worker version",{port:t}),null}}async function HR(t){let e=P7(),r=await O7(t);return r?{matches:e===r,pluginVersion:e,workerVersion:r}:{matches:!0,pluginVersion:e,workerVersion:r}}Re();async function BR(t){k.info("SYSTEM","Shutdown initiated"),Di();let e=await DR(process.pid);if(k.info("SYSTEM","Found child processes",{count:e.length,pids:e}),t.server&&(await R7(t.server),k.info("SYSTEM","HTTP server closed")),await t.sessionManager.shutdownAll(),t.mcpClient&&(await t.mcpClient.close(),k.info("SYSTEM","MCP client closed")),t.dbManager&&await t.dbManager.close(),e.length>0){k.info("SYSTEM","Force killing remaining children");for(let r of e)await zR(r);await UR(e,5e3)}k.info("SYSTEM","Worker shutdown complete")}async function R7(t){t.closeAllConnections(),process.platform==="win32"&&await new Promise(e=>setTimeout(e,500)),await new Promise((e,r)=>{t.close(n=>n?r(n):e())}),process.platform==="win32"&&(await new Promise(e=>setTimeout(e,500)),k.info("SYSTEM","Waited for Windows port cleanup"))}var l4=dt(ph(),1),Jw=dt(require("fs"),1),Xw=dt(require("path"),1);Re();var Gw=dt(ph(),1),a4=dt(Kz(),1),o4=dt(require("path"),1);cn();Re();function Ww(t){let e=[];e.push(Gw.default.json({limit:"50mb"})),e.push((0,a4.default)()),e.push((i,a,o)=>{let c=[".html",".js",".css",".svg",".png",".jpg",".jpeg",".webp",".woff",".woff2",".ttf",".eot"].some(h=>i.path.endsWith(h)),u=i.path==="/api/logs";if(i.path.startsWith("/health")||i.path==="/"||c||u)return o();let l=Date.now(),d=`${i.method}-${Date.now()}`,p=t(i.method,i.path,i.body);k.info("HTTP",`\u2192 ${i.method} ${i.path}`,{requestId:d},p);let f=a.send.bind(a);a.send=function(h){let _=Date.now()-l;return k.info("HTTP",`\u2190 ${a.statusCode} ${i.path}`,{requestId:d,duration:`${_}ms`}),f(h)},o()});let r=Gr(),n=o4.default.join(r,"plugin","ui");return e.push(Gw.default.static(n)),e}function fh(t,e,r){let n=t.ip||t.connection.remoteAddress||"";if(!(n==="127.0.0.1"||n==="::1"||n==="::ffff:127.0.0.1"||n==="localhost")){k.warn("SECURITY","Admin endpoint access denied - not localhost",{endpoint:t.path,clientIp:n,method:t.method}),e.status(403).json({error:"Forbidden",message:"Admin endpoints are only accessible from localhost"});return}r()}function Kw(t,e,r){if(!r||Object.keys(r).length===0||e.includes("/init"))return"";if(e.includes("/observations")){let n=r.tool_name||"?",i=r.tool_input;return`tool=${k.formatTool(n,i)}`}return e.includes("/summarize")?"requesting summary":""}Re();var Js=class extends Error{constructor(r,n=500,i,a){super(r);this.statusCode=n;this.code=i;this.details=a;this.name="AppError"}};function s4(t,e,r,n){let i={error:t,message:e};return r&&(i.code=r),n&&(i.details=n),i}var c4=(t,e,r,n)=>{let i=t instanceof Js?t.statusCode:500;k.error("HTTP",`Error handling ${e.method} ${e.path}`,{statusCode:i,error:t.message,code:t instanceof Js?t.code:void 0},t);let a=s4(t.name||"Error",t.message,t instanceof Js?t.code:void 0,t instanceof Js?t.details:void 0);r.status(i).json(a)};function u4(t,e){e.status(404).json(s4("NotFound",`Cannot ${t.method} ${t.path}`))}var Bre="9.0.0",mh=class{app;server=null;options;startTime=Date.now();constructor(e){this.options=e,this.app=(0,l4.default)(),this.setupMiddleware(),this.setupCoreRoutes()}getHttpServer(){return this.server}async listen(e,r){return new Promise((n,i)=>{this.server=this.app.listen(e,r,()=>{k.info("SYSTEM","HTTP server started",{host:r,port:e,pid:process.pid}),n()}),this.server.on("error",i)})}async close(){this.server&&(this.server.closeAllConnections(),process.platform==="win32"&&await new Promise(e=>setTimeout(e,500)),await new Promise((e,r)=>{this.server.close(n=>n?r(n):e())}),process.platform==="win32"&&await new Promise(e=>setTimeout(e,500)),this.server=null,k.info("SYSTEM","HTTP server closed"))}registerRoutes(e){e.setupRoutes(this.app)}finalizeRoutes(){this.app.use(u4),this.app.use(c4)}setupMiddleware(){Ww(Kw).forEach(r=>this.app.use(r))}setupCoreRoutes(){let e="TEST-008-wrapper-ipc";this.app.get("/api/health",(r,n)=>{n.status(200).json({status:"ok",build:e,managed:process.env.CLAUDE_MEM_MANAGED==="true",hasIpc:typeof process.send=="function",platform:process.platform,pid:process.pid,initialized:this.options.getInitializationComplete(),mcpReady:this.options.getMcpReady()})}),this.app.get("/api/readiness",(r,n)=>{this.options.getInitializationComplete()?n.status(200).json({status:"ready",mcpReady:this.options.getMcpReady()}):n.status(503).json({status:"initializing",message:"Worker is still initializing, please retry"})}),this.app.get("/api/version",(r,n)=>{n.status(200).json({version:Bre})}),this.app.get("/api/instructions",async(r,n)=>{let i=r.query.topic||"all",a=r.query.operation;try{let o;if(a){let s=Xw.default.join(__dirname,"../skills/mem-search/operations",`${a}.md`);o=await Jw.promises.readFile(s,"utf-8")}else{let s=Xw.default.join(__dirname,"../skills/mem-search/SKILL.md"),c=await Jw.promises.readFile(s,"utf-8");o=this.extractInstructionSection(c,i)}n.json({content:[{type:"text",text:o}]})}catch{n.status(404).json({error:"Instruction not found"})}}),this.app.post("/api/admin/restart",fh,async(r,n)=>{n.json({status:"restarting"}),process.platform==="win32"&&process.env.CLAUDE_MEM_MANAGED==="true"&&process.send?(k.info("SYSTEM","Sending restart request to wrapper"),process.send({type:"restart"})):setTimeout(async()=>{await this.options.onRestart()},100)}),this.app.post("/api/admin/shutdown",fh,async(r,n)=>{n.json({status:"shutting_down"}),process.platform==="win32"&&process.env.CLAUDE_MEM_MANAGED==="true"&&process.send?(k.info("SYSTEM","Sending shutdown request to wrapper"),process.send({type:"shutdown"})):setTimeout(async()=>{await this.options.onShutdown()},100)})}extractInstructionSection(e,r){let n={workflow:this.extractBetween(e,"## The Workflow","## Search Parameters"),search_params:this.extractBetween(e,"## Search Parameters","## Examples"),examples:this.extractBetween(e,"## Examples","## Why This Workflow"),all:e};return n[r]||n.all}extractBetween(e,r,n){let i=e.indexOf(r),a=e.indexOf(n);return i===-1?e:a===-1?e.substring(i):e.substring(i,a).trim()}};var ct=dt(require("path"),1),nd=require("os"),Mt=require("fs"),f4=require("child_process"),m4=require("util");Re();var En=require("fs"),rd=require("path");Re();function d4(t){try{return(0,En.existsSync)(t)?JSON.parse((0,En.readFileSync)(t,"utf-8")):{}}catch(e){return k.error("CONFIG","Failed to read Cursor registry, using empty registry",{file:t,error:e instanceof Error?e.message:String(e)}),{}}}function p4(t,e){let r=(0,rd.join)(t,"..");(0,En.mkdirSync)(r,{recursive:!0}),(0,En.writeFileSync)(t,JSON.stringify(e,null,2))}function Yw(t,e){let r=(0,rd.join)(t,".cursor","rules"),n=(0,rd.join)(r,"claude-mem-context.mdc"),i=`${n}.tmp`;(0,En.mkdirSync)(r,{recursive:!0});let a=`--- alwaysApply: true description: "Claude-mem context from past sessions (auto-updated)" --- @@ -738,9 +738,9 @@ ${e} --- *Updated after last session. Use claude-mem's MCP search tools for more detailed queries.* -`;(0,En.writeFileSync)(i,a),(0,En.renameSync)(i,n)}var xTe=(0,c4.promisify)(s4.exec),Vre=ct.default.join((0,nd.homedir)(),".claude-mem"),u4=ct.default.join(Vre,"cursor-projects.json");function Yw(){return process.platform==="win32"?"windows":"unix"}function Gre(){return Yw()==="windows"?".ps1":".sh"}function Qw(){return a4(u4)}function l4(t){o4(u4,t)}function Wre(t,e){let r=Qw();r[t]={workspacePath:e,installedAt:new Date().toISOString()},l4(r),k.info("CURSOR","Registered project for auto-context updates",{projectName:t,workspacePath:e})}function Kre(t){let e=Qw();e[t]&&(delete e[t],l4(e),k.info("CURSOR","Unregistered project",{projectName:t}))}async function hh(t,e){let n=Qw()[t];if(n)try{let i=await fetch(`http://127.0.0.1:${e}/api/context/inject?project=${encodeURIComponent(t)}`);if(!i.ok)return;let a=await i.text();if(!a||!a.trim())return;Xw(n.workspacePath,a),k.debug("CURSOR","Updated context file",{projectName:t,workspacePath:n.workspacePath})}catch(i){k.warn("CURSOR","Failed to update context file",{projectName:t},i)}}function d4(){let t=[ct.default.join((0,nd.homedir)(),".claude","plugins","marketplaces","thedotmack","cursor-hooks"),ct.default.join(ct.default.dirname(__filename),"..","..","cursor-hooks"),ct.default.join(process.cwd(),"cursor-hooks")];for(let e of t)if((0,Mt.existsSync)(ct.default.join(e,"common.sh"))||(0,Mt.existsSync)(ct.default.join(e,"common.ps1")))return e;return null}function p4(t){switch(t){case"project":return ct.default.join(process.cwd(),".cursor");case"user":return ct.default.join((0,nd.homedir)(),".cursor");case"enterprise":return process.platform==="darwin"?"/Library/Application Support/Cursor":process.platform==="linux"?"/etc/cursor":process.platform==="win32"?ct.default.join(process.env.ProgramData||"C:\\ProgramData","Cursor"):null;default:return null}}async function f4(t,e){let r=Yw(),n=Gre();console.log(` +`;(0,En.writeFileSync)(i,a),(0,En.renameSync)(i,n)}var xTe=(0,m4.promisify)(f4.exec),Vre=ct.default.join((0,nd.homedir)(),".claude-mem"),h4=ct.default.join(Vre,"cursor-projects.json");function Qw(){return process.platform==="win32"?"windows":"unix"}function Gre(){return Qw()==="windows"?".ps1":".sh"}function e$(){return d4(h4)}function g4(t){p4(h4,t)}function Wre(t,e){let r=e$();r[t]={workspacePath:e,installedAt:new Date().toISOString()},g4(r),k.info("CURSOR","Registered project for auto-context updates",{projectName:t,workspacePath:e})}function Kre(t){let e=e$();e[t]&&(delete e[t],g4(e),k.info("CURSOR","Unregistered project",{projectName:t}))}async function hh(t,e){let n=e$()[t];if(n)try{let i=await fetch(`http://127.0.0.1:${e}/api/context/inject?project=${encodeURIComponent(t)}`);if(!i.ok)return;let a=await i.text();if(!a||!a.trim())return;Yw(n.workspacePath,a),k.debug("CURSOR","Updated context file",{projectName:t,workspacePath:n.workspacePath})}catch(i){k.error("CURSOR","Failed to update context file",{projectName:t},i)}}function v4(){let t=[ct.default.join((0,nd.homedir)(),".claude","plugins","marketplaces","thedotmack","cursor-hooks"),ct.default.join(ct.default.dirname(__filename),"..","..","cursor-hooks"),ct.default.join(process.cwd(),"cursor-hooks")];for(let e of t)if((0,Mt.existsSync)(ct.default.join(e,"common.sh"))||(0,Mt.existsSync)(ct.default.join(e,"common.ps1")))return e;return null}function y4(t){switch(t){case"project":return ct.default.join(process.cwd(),".cursor");case"user":return ct.default.join((0,nd.homedir)(),".cursor");case"enterprise":return process.platform==="darwin"?"/Library/Application Support/Cursor":process.platform==="linux"?"/etc/cursor":process.platform==="win32"?ct.default.join(process.env.ProgramData||"C:\\ProgramData","Cursor"):null;default:return null}}async function _4(t,e){let r=Qw(),n=Gre();console.log(` Installing Claude-Mem Cursor hooks (${e} level, ${r})... -`);let i=p4(e);if(!i)return console.error(`Invalid target: ${e}. Use: project, user, or enterprise`),1;let a=ct.default.join(i,"hooks"),o=process.cwd();try{(0,Mt.mkdirSync)(a,{recursive:!0});let s=r==="windows"?"common.ps1":"common.sh",c=[`session-init${n}`,`context-inject${n}`,`save-observation${n}`,`save-file-edit${n}`,`session-summary${n}`],u=[s,...c];for(let h of u){let _=ct.default.join(t,h),g=ct.default.join(a,h);if((0,Mt.existsSync)(_)){let m=(0,Mt.readFileSync)(_,"utf-8"),y=r==="windows"?void 0:493;(0,Mt.writeFileSync)(g,m,y?{mode:y}:void 0),console.log(` Copied ${h}`)}else console.warn(` ${h} not found in source`)}let l=ct.default.join(i,"hooks.json"),d=e==="project"?"./.cursor/hooks/":`${a}/`,p=h=>{let _=`${d}${h}${n}`;return r==="windows"?`powershell.exe -ExecutionPolicy Bypass -File "${_}"`:_},f={version:1,hooks:{beforeSubmitPrompt:[{command:p("session-init")},{command:p("context-inject")}],afterMCPExecution:[{command:p("save-observation")}],afterShellExecution:[{command:p("save-observation")}],afterFileEdit:[{command:p("save-file-edit")}],stop:[{command:p("session-summary")}]}};return(0,Mt.writeFileSync)(l,JSON.stringify(f,null,2)),console.log(` Created hooks.json (${r} mode)`),e==="project"&&await Jre(i,o),console.log(` +`);let i=y4(e);if(!i)return console.error(`Invalid target: ${e}. Use: project, user, or enterprise`),1;let a=ct.default.join(i,"hooks"),o=process.cwd();try{(0,Mt.mkdirSync)(a,{recursive:!0});let s=r==="windows"?"common.ps1":"common.sh",c=[`session-init${n}`,`context-inject${n}`,`save-observation${n}`,`save-file-edit${n}`,`session-summary${n}`],u=[s,...c];for(let h of u){let _=ct.default.join(t,h),g=ct.default.join(a,h);if((0,Mt.existsSync)(_)){let m=(0,Mt.readFileSync)(_,"utf-8"),y=r==="windows"?void 0:493;(0,Mt.writeFileSync)(g,m,y?{mode:y}:void 0),console.log(` Copied ${h}`)}else console.warn(` ${h} not found in source`)}let l=ct.default.join(i,"hooks.json"),d=e==="project"?"./.cursor/hooks/":`${a}/`,p=h=>{let _=`${d}${h}${n}`;return r==="windows"?`powershell.exe -ExecutionPolicy Bypass -File "${_}"`:_},f={version:1,hooks:{beforeSubmitPrompt:[{command:p("session-init")},{command:p("context-inject")}],afterMCPExecution:[{command:p("save-observation")}],afterShellExecution:[{command:p("save-observation")}],afterFileEdit:[{command:p("save-file-edit")}],stop:[{command:p("session-summary")}]}};return(0,Mt.writeFileSync)(l,JSON.stringify(f,null,2)),console.log(` Created hooks.json (${r} mode)`),e==="project"&&await Jre(i,o),console.log(` Installation complete! Hooks installed to: ${i}/hooks.json @@ -755,7 +755,7 @@ Context Injection: Context from past sessions is stored in .cursor/rules/claude-mem-context.mdc and automatically included in every chat. It updates after each session ends. `),0}catch(s){return console.error(` -Installation failed: ${s.message}`),e==="enterprise"&&console.error(" Tip: Enterprise installation may require sudo/admin privileges"),1}}async function Jre(t,e){let r=ct.default.join(t,"rules");(0,Mt.mkdirSync)(r,{recursive:!0});let n=_n(),i=ct.default.basename(e),a=!1;console.log(" Generating initial context...");try{if((await fetch(`http://127.0.0.1:${n}/api/readiness`)).ok){let s=await fetch(`http://127.0.0.1:${n}/api/context/inject?project=${encodeURIComponent(i)}`);if(s.ok){let c=await s.text();c&&c.trim()&&(Xw(e,c),a=!0,console.log(" Generated initial context from existing memory"))}}}catch(o){k.debug("CURSOR","Worker not running during install",{},o)}if(!a){let o=ct.default.join(r,"claude-mem-context.mdc");(0,Mt.writeFileSync)(o,`--- +Installation failed: ${s.message}`),e==="enterprise"&&console.error(" Tip: Enterprise installation may require sudo/admin privileges"),1}}async function Jre(t,e){let r=ct.default.join(t,"rules");(0,Mt.mkdirSync)(r,{recursive:!0});let n=_n(),i=ct.default.basename(e),a=!1;console.log(" Generating initial context...");try{if((await fetch(`http://127.0.0.1:${n}/api/readiness`)).ok){let s=await fetch(`http://127.0.0.1:${n}/api/context/inject?project=${encodeURIComponent(i)}`);if(s.ok){let c=await s.text();c&&c.trim()&&(Yw(e,c),a=!0,console.log(" Generated initial context from existing memory"))}}}catch(o){k.debug("CURSOR","Worker not running during install",{},o)}if(!a){let o=ct.default.join(r,"claude-mem-context.mdc");(0,Mt.writeFileSync)(o,`--- alwaysApply: true description: "Claude-mem context from past sessions (auto-updated)" --- @@ -767,13 +767,13 @@ description: "Claude-mem context from past sessions (auto-updated)" Use claude-mem's MCP search tools for manual memory queries. `),console.log(" Created placeholder context file (will populate after first session)")}Wre(i,e),console.log(" Registered for auto-context updates")}function Xre(t){console.log(` Uninstalling Claude-Mem Cursor hooks (${t} level)... -`);let e=p4(t);if(!e)return console.error(`Invalid target: ${t}`),1;try{let r=ct.default.join(e,"hooks"),n=ct.default.join(e,"hooks.json"),i=["common.sh","session-init.sh","context-inject.sh","save-observation.sh","save-file-edit.sh","session-summary.sh"],a=["common.ps1","session-init.ps1","context-inject.ps1","save-observation.ps1","save-file-edit.ps1","session-summary.ps1"],o=[...i,...a];for(let s of o){let c=ct.default.join(r,s);(0,Mt.existsSync)(c)&&((0,Mt.unlinkSync)(c),console.log(` Removed ${s}`))}if((0,Mt.existsSync)(n)&&((0,Mt.unlinkSync)(n),console.log(" Removed hooks.json")),t==="project"){let s=ct.default.join(e,"rules","claude-mem-context.mdc");(0,Mt.existsSync)(s)&&((0,Mt.unlinkSync)(s),console.log(" Removed context file"));let c=ct.default.basename(process.cwd());Kre(c),console.log(" Unregistered from auto-context updates")}return console.log(` +`);let e=y4(t);if(!e)return console.error(`Invalid target: ${t}`),1;try{let r=ct.default.join(e,"hooks"),n=ct.default.join(e,"hooks.json"),i=["common.sh","session-init.sh","context-inject.sh","save-observation.sh","save-file-edit.sh","session-summary.sh"],a=["common.ps1","session-init.ps1","context-inject.ps1","save-observation.ps1","save-file-edit.ps1","session-summary.ps1"],o=[...i,...a];for(let s of o){let c=ct.default.join(r,s);(0,Mt.existsSync)(c)&&((0,Mt.unlinkSync)(c),console.log(` Removed ${s}`))}if((0,Mt.existsSync)(n)&&((0,Mt.unlinkSync)(n),console.log(" Removed hooks.json")),t==="project"){let s=ct.default.join(e,"rules","claude-mem-context.mdc");(0,Mt.existsSync)(s)&&((0,Mt.unlinkSync)(s),console.log(" Removed context file"));let c=ct.default.basename(process.cwd());Kre(c),console.log(" Unregistered from auto-context updates")}return console.log(` Uninstallation complete! `),console.log("Restart Cursor to apply changes."),0}catch(r){return console.error(` Uninstallation failed: ${r.message}`),1}}function Yre(){console.log(` Claude-Mem Cursor Hooks Status -`);let t=[{name:"Project",dir:ct.default.join(process.cwd(),".cursor")},{name:"User",dir:ct.default.join((0,nd.homedir)(),".cursor")}];process.platform==="darwin"?t.push({name:"Enterprise",dir:"/Library/Application Support/Cursor"}):process.platform==="linux"&&t.push({name:"Enterprise",dir:"/etc/cursor"});let e=!1;for(let r of t){let n=ct.default.join(r.dir,"hooks.json"),i=ct.default.join(r.dir,"hooks");if((0,Mt.existsSync)(n)){e=!0,console.log(`${r.name}: Installed`),console.log(` Config: ${n}`);let a=["session-init.sh","context-inject.sh","save-observation.sh"],o=["session-init.ps1","context-inject.ps1","save-observation.ps1"],s=a.some(p=>(0,Mt.existsSync)(ct.default.join(i,p))),c=o.some(p=>(0,Mt.existsSync)(ct.default.join(i,p)));console.log(s&&c?" Platform: Both (bash + PowerShell)":s?" Platform: Unix (bash)":c?" Platform: Windows (PowerShell)":" No hook scripts found");let u=Yw(),d=(u==="windows"?o:a).filter(p=>!(0,Mt.existsSync)(ct.default.join(i,p)));if(d.length>0?console.log(` Missing ${u} scripts: ${d.join(", ")}`):console.log(` Scripts: All present for ${u}`),r.name==="Project"){let p=ct.default.join(r.dir,"rules","claude-mem-context.mdc");(0,Mt.existsSync)(p)?console.log(" Context: Active"):console.log(" Context: Not yet generated (will be created on first prompt)")}}else console.log(`${r.name}: Not installed`);console.log("")}return e||console.log(`No hooks installed. Run: claude-mem cursor install -`),0}async function m4(t,e){switch(t){case"install":{let r=e[0]||"project",n=d4();return n?f4(n,r):(console.error("Could not find cursor-hooks directory"),console.error(" Expected at: ~/.claude/plugins/marketplaces/thedotmack/cursor-hooks/"),1)}case"uninstall":{let r=e[0]||"project";return Xre(r)}case"status":return Yre();case"setup":return console.log("Use the main entry point for setup"),0;default:return console.log(` +`);let t=[{name:"Project",dir:ct.default.join(process.cwd(),".cursor")},{name:"User",dir:ct.default.join((0,nd.homedir)(),".cursor")}];process.platform==="darwin"?t.push({name:"Enterprise",dir:"/Library/Application Support/Cursor"}):process.platform==="linux"&&t.push({name:"Enterprise",dir:"/etc/cursor"});let e=!1;for(let r of t){let n=ct.default.join(r.dir,"hooks.json"),i=ct.default.join(r.dir,"hooks");if((0,Mt.existsSync)(n)){e=!0,console.log(`${r.name}: Installed`),console.log(` Config: ${n}`);let a=["session-init.sh","context-inject.sh","save-observation.sh"],o=["session-init.ps1","context-inject.ps1","save-observation.ps1"],s=a.some(p=>(0,Mt.existsSync)(ct.default.join(i,p))),c=o.some(p=>(0,Mt.existsSync)(ct.default.join(i,p)));console.log(s&&c?" Platform: Both (bash + PowerShell)":s?" Platform: Unix (bash)":c?" Platform: Windows (PowerShell)":" No hook scripts found");let u=Qw(),d=(u==="windows"?o:a).filter(p=>!(0,Mt.existsSync)(ct.default.join(i,p)));if(d.length>0?console.log(` Missing ${u} scripts: ${d.join(", ")}`):console.log(` Scripts: All present for ${u}`),r.name==="Project"){let p=ct.default.join(r.dir,"rules","claude-mem-context.mdc");(0,Mt.existsSync)(p)?console.log(" Context: Active"):console.log(" Context: Not yet generated (will be created on first prompt)")}}else console.log(`${r.name}: Not installed`);console.log("")}return e||console.log(`No hooks installed. Run: claude-mem cursor install +`),0}async function b4(t,e){switch(t){case"install":{let r=e[0]||"project",n=v4();return n?_4(n,r):(console.error("Could not find cursor-hooks directory"),console.error(" Expected at: ~/.claude/plugins/marketplaces/thedotmack/cursor-hooks/"),1)}case"uninstall":{let r=e[0]||"project";return Xre(r)}case"status":return Yre();case"setup":return console.log("Use the main entry point for setup"),0;default:return console.log(` Claude-Mem Cursor Integration Usage: claude-mem cursor [options] @@ -797,7 +797,7 @@ Examples: claude-mem cursor status # Check if hooks are installed For more info: https://docs.claude-mem.ai/cursor - `),0}}gh();var g4=require("bun:sqlite");cn();Re();var vh=class{db;constructor(e){e||(Vr(Nr),e=td),this.db=new g4.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.ensureFTSTables()}ensureFTSTables(){this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name LIKE '%_fts'").all().some(n=>n.name==="observations_fts"||n.name==="session_summaries_fts")||(k.info("DB","Creating FTS5 tables"),this.db.run(` + `),0}}gh();var S4=require("bun:sqlite");cn();Re();var vh=class{db;constructor(e){e||(Vr(Nr),e=td),this.db=new S4.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.ensureFTSTables()}ensureFTSTables(){this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name LIKE '%_fts'").all().some(n=>n.name==="observations_fts"||n.name==="session_summaries_fts")||(k.info("DB","Creating FTS5 tables"),this.db.run(` CREATE VIRTUAL TABLE IF NOT EXISTS observations_fts USING fts5( title, subtitle, @@ -921,7 +921,7 @@ For more info: https://docs.claude-mem.ai/cursor FROM user_prompts WHERE content_session_id = ? ORDER BY prompt_number ASC - `).all(e)}close(){this.db.close()}};gh();Re();on();cn();var v4=dt(require("path"),1),y4=dt(require("os"),1),yh=class{client=null;transport=null;connected=!1;project;collectionName;VECTOR_DB_DIR;BATCH_SIZE=100;constructor(e){this.project=e,this.collectionName=`cm__${e}`,this.VECTOR_DB_DIR=v4.default.join(y4.default.homedir(),".claude-mem","vector-db")}async ensureConnection(){if(!(this.connected&&this.client)){k.info("CHROMA_SYNC","Connecting to Chroma MCP server...",{project:this.project});try{let r=Ye.loadFromFile($n).CLAUDE_MEM_PYTHON_VERSION,n=process.platform==="win32",i={command:"uvx",args:["--python",r,"chroma-mcp","--client-type","persistent","--data-dir",this.VECTOR_DB_DIR],stderr:"ignore"};n&&(i.windowsHide=!0,k.debug("CHROMA_SYNC","Windows detected, attempting to hide console window",{project:this.project})),this.transport=new Ss(i),this.client=new _s({name:"claude-mem-chroma-sync",version:"1.0.0"},{capabilities:{}}),await this.client.connect(this.transport),this.connected=!0,k.info("CHROMA_SYNC","Connected to Chroma MCP server",{project:this.project})}catch(e){throw k.error("CHROMA_SYNC","Failed to connect to Chroma MCP server",{project:this.project},e),new Error(`Chroma connection failed: ${e instanceof Error?e.message:String(e)}`)}}}async ensureCollection(){if(await this.ensureConnection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);try{await this.client.callTool({name:"chroma_get_collection_info",arguments:{collection_name:this.collectionName}}),k.debug("CHROMA_SYNC","Collection exists",{collection:this.collectionName})}catch(e){let r=e instanceof Error?e.message:String(e);if(r.includes("Not connected")||r.includes("Connection closed")||r.includes("MCP error -32000"))throw this.connected=!1,this.client=null,k.error("CHROMA_SYNC","Connection lost during collection check",{collection:this.collectionName},e),new Error(`Chroma connection lost: ${r}`);k.warn("CHROMA_SYNC","Collection check failed, attempting to create",{collection:this.collectionName},e),k.info("CHROMA_SYNC","Creating collection",{collection:this.collectionName});try{await this.client.callTool({name:"chroma_create_collection",arguments:{collection_name:this.collectionName,embedding_function_name:"default"}}),k.info("CHROMA_SYNC","Collection created",{collection:this.collectionName})}catch(i){throw k.error("CHROMA_SYNC","Failed to create collection",{collection:this.collectionName},i),new Error(`Collection creation failed: ${i instanceof Error?i.message:String(i)}`)}}}formatObservationDocs(e){let r=[],n=e.facts?JSON.parse(e.facts):[],i=e.concepts?JSON.parse(e.concepts):[],a=e.files_read?JSON.parse(e.files_read):[],o=e.files_modified?JSON.parse(e.files_modified):[],s={sqlite_id:e.id,doc_type:"observation",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,type:e.type||"discovery",title:e.title||"Untitled"};return e.subtitle&&(s.subtitle=e.subtitle),i.length>0&&(s.concepts=i.join(",")),a.length>0&&(s.files_read=a.join(",")),o.length>0&&(s.files_modified=o.join(",")),e.narrative&&r.push({id:`obs_${e.id}_narrative`,document:e.narrative,metadata:{...s,field_type:"narrative"}}),e.text&&r.push({id:`obs_${e.id}_text`,document:e.text,metadata:{...s,field_type:"text"}}),n.forEach((c,u)=>{r.push({id:`obs_${e.id}_fact_${u}`,document:c,metadata:{...s,field_type:"fact",fact_index:u}})}),r}formatSummaryDocs(e){let r=[],n={sqlite_id:e.id,doc_type:"session_summary",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,prompt_number:e.prompt_number||0};return e.request&&r.push({id:`summary_${e.id}_request`,document:e.request,metadata:{...n,field_type:"request"}}),e.investigated&&r.push({id:`summary_${e.id}_investigated`,document:e.investigated,metadata:{...n,field_type:"investigated"}}),e.learned&&r.push({id:`summary_${e.id}_learned`,document:e.learned,metadata:{...n,field_type:"learned"}}),e.completed&&r.push({id:`summary_${e.id}_completed`,document:e.completed,metadata:{...n,field_type:"completed"}}),e.next_steps&&r.push({id:`summary_${e.id}_next_steps`,document:e.next_steps,metadata:{...n,field_type:"next_steps"}}),e.notes&&r.push({id:`summary_${e.id}_notes`,document:e.notes,metadata:{...n,field_type:"notes"}}),r}async addDocuments(e){if(e.length!==0){if(await this.ensureCollection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);try{await this.client.callTool({name:"chroma_add_documents",arguments:{collection_name:this.collectionName,documents:e.map(r=>r.document),ids:e.map(r=>r.id),metadatas:e.map(r=>r.metadata)}}),k.debug("CHROMA_SYNC","Documents added",{collection:this.collectionName,count:e.length})}catch(r){throw k.error("CHROMA_SYNC","Failed to add documents",{collection:this.collectionName,count:e.length},r),new Error(`Document add failed: ${r instanceof Error?r.message:String(r)}`)}}}async syncObservation(e,r,n,i,a,o,s=0){let c={id:e,memory_session_id:r,project:n,text:null,type:i.type,title:i.title,subtitle:i.subtitle,facts:JSON.stringify(i.facts),narrative:i.narrative,concepts:JSON.stringify(i.concepts),files_read:JSON.stringify(i.files_read),files_modified:JSON.stringify(i.files_modified),prompt_number:a,discovery_tokens:s,created_at:new Date(o*1e3).toISOString(),created_at_epoch:o},u=this.formatObservationDocs(c);k.info("CHROMA_SYNC","Syncing observation",{observationId:e,documentCount:u.length,project:n}),await this.addDocuments(u)}async syncSummary(e,r,n,i,a,o,s=0){let c={id:e,memory_session_id:r,project:n,request:i.request,investigated:i.investigated,learned:i.learned,completed:i.completed,next_steps:i.next_steps,notes:i.notes,prompt_number:a,discovery_tokens:s,created_at:new Date(o*1e3).toISOString(),created_at_epoch:o},u=this.formatSummaryDocs(c);k.info("CHROMA_SYNC","Syncing summary",{summaryId:e,documentCount:u.length,project:n}),await this.addDocuments(u)}formatUserPromptDoc(e){return{id:`prompt_${e.id}`,document:e.prompt_text,metadata:{sqlite_id:e.id,doc_type:"user_prompt",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,prompt_number:e.prompt_number}}}async syncUserPrompt(e,r,n,i,a,o){let s={id:e,content_session_id:"",prompt_number:a,prompt_text:i,created_at:new Date(o*1e3).toISOString(),created_at_epoch:o,memory_session_id:r,project:n},c=this.formatUserPromptDoc(s);k.info("CHROMA_SYNC","Syncing user prompt",{promptId:e,project:n}),await this.addDocuments([c])}async getExistingChromaIds(){if(await this.ensureConnection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);let e=new Set,r=new Set,n=new Set,i=0,a=1e3;for(k.info("CHROMA_SYNC","Fetching existing Chroma document IDs...",{project:this.project});;)try{let s=(await this.client.callTool({name:"chroma_get_documents",arguments:{collection_name:this.collectionName,limit:a,offset:i,where:{project:this.project},include:["metadatas"]}})).content[0];if(s.type!=="text")throw new Error("Unexpected response type from chroma_get_documents");let u=JSON.parse(s.text).metadatas||[];if(u.length===0)break;for(let l of u)l.sqlite_id&&(l.doc_type==="observation"?e.add(l.sqlite_id):l.doc_type==="session_summary"?r.add(l.sqlite_id):l.doc_type==="user_prompt"&&n.add(l.sqlite_id));i+=a,k.debug("CHROMA_SYNC","Fetched batch of existing IDs",{project:this.project,offset:i,batchSize:u.length})}catch(o){throw k.error("CHROMA_SYNC","Failed to fetch existing IDs",{project:this.project},o),o}return k.info("CHROMA_SYNC","Existing IDs fetched",{project:this.project,observations:e.size,summaries:r.size,prompts:n.size}),{observations:e,summaries:r,prompts:n}}async ensureBackfilled(){k.info("CHROMA_SYNC","Starting smart backfill",{project:this.project}),await this.ensureCollection();let e=await this.getExistingChromaIds(),r=new ba;try{let n=Array.from(e.observations),i=n.length>0?`AND id NOT IN (${n.join(",")})`:"",a=r.db.prepare(` + `).all(e)}close(){this.db.close()}};gh();Re();on();cn();var w4=dt(require("path"),1),$4=dt(require("os"),1),yh=class{client=null;transport=null;connected=!1;project;collectionName;VECTOR_DB_DIR;BATCH_SIZE=100;constructor(e){this.project=e,this.collectionName=`cm__${e}`,this.VECTOR_DB_DIR=w4.default.join($4.default.homedir(),".claude-mem","vector-db")}async ensureConnection(){if(!(this.connected&&this.client)){k.info("CHROMA_SYNC","Connecting to Chroma MCP server...",{project:this.project});try{let r=Ye.loadFromFile($n).CLAUDE_MEM_PYTHON_VERSION,n=process.platform==="win32",i={command:"uvx",args:["--python",r,"chroma-mcp","--client-type","persistent","--data-dir",this.VECTOR_DB_DIR],stderr:"ignore"};n&&(i.windowsHide=!0,k.debug("CHROMA_SYNC","Windows detected, attempting to hide console window",{project:this.project})),this.transport=new Ss(i),this.client=new _s({name:"claude-mem-chroma-sync",version:"1.0.0"},{capabilities:{}}),await this.client.connect(this.transport),this.connected=!0,k.info("CHROMA_SYNC","Connected to Chroma MCP server",{project:this.project})}catch(e){throw k.error("CHROMA_SYNC","Failed to connect to Chroma MCP server",{project:this.project},e),new Error(`Chroma connection failed: ${e instanceof Error?e.message:String(e)}`)}}}async ensureCollection(){if(await this.ensureConnection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);try{await this.client.callTool({name:"chroma_get_collection_info",arguments:{collection_name:this.collectionName}}),k.debug("CHROMA_SYNC","Collection exists",{collection:this.collectionName})}catch(e){let r=e instanceof Error?e.message:String(e);if(r.includes("Not connected")||r.includes("Connection closed")||r.includes("MCP error -32000"))throw this.connected=!1,this.client=null,k.error("CHROMA_SYNC","Connection lost during collection check",{collection:this.collectionName},e),new Error(`Chroma connection lost: ${r}`);k.error("CHROMA_SYNC","Collection check failed, attempting to create",{collection:this.collectionName},e),k.info("CHROMA_SYNC","Creating collection",{collection:this.collectionName});try{await this.client.callTool({name:"chroma_create_collection",arguments:{collection_name:this.collectionName,embedding_function_name:"default"}}),k.info("CHROMA_SYNC","Collection created",{collection:this.collectionName})}catch(i){throw k.error("CHROMA_SYNC","Failed to create collection",{collection:this.collectionName},i),new Error(`Collection creation failed: ${i instanceof Error?i.message:String(i)}`)}}}formatObservationDocs(e){let r=[],n=e.facts?JSON.parse(e.facts):[],i=e.concepts?JSON.parse(e.concepts):[],a=e.files_read?JSON.parse(e.files_read):[],o=e.files_modified?JSON.parse(e.files_modified):[],s={sqlite_id:e.id,doc_type:"observation",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,type:e.type||"discovery",title:e.title||"Untitled"};return e.subtitle&&(s.subtitle=e.subtitle),i.length>0&&(s.concepts=i.join(",")),a.length>0&&(s.files_read=a.join(",")),o.length>0&&(s.files_modified=o.join(",")),e.narrative&&r.push({id:`obs_${e.id}_narrative`,document:e.narrative,metadata:{...s,field_type:"narrative"}}),e.text&&r.push({id:`obs_${e.id}_text`,document:e.text,metadata:{...s,field_type:"text"}}),n.forEach((c,u)=>{r.push({id:`obs_${e.id}_fact_${u}`,document:c,metadata:{...s,field_type:"fact",fact_index:u}})}),r}formatSummaryDocs(e){let r=[],n={sqlite_id:e.id,doc_type:"session_summary",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,prompt_number:e.prompt_number||0};return e.request&&r.push({id:`summary_${e.id}_request`,document:e.request,metadata:{...n,field_type:"request"}}),e.investigated&&r.push({id:`summary_${e.id}_investigated`,document:e.investigated,metadata:{...n,field_type:"investigated"}}),e.learned&&r.push({id:`summary_${e.id}_learned`,document:e.learned,metadata:{...n,field_type:"learned"}}),e.completed&&r.push({id:`summary_${e.id}_completed`,document:e.completed,metadata:{...n,field_type:"completed"}}),e.next_steps&&r.push({id:`summary_${e.id}_next_steps`,document:e.next_steps,metadata:{...n,field_type:"next_steps"}}),e.notes&&r.push({id:`summary_${e.id}_notes`,document:e.notes,metadata:{...n,field_type:"notes"}}),r}async addDocuments(e){if(e.length!==0){if(await this.ensureCollection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);try{await this.client.callTool({name:"chroma_add_documents",arguments:{collection_name:this.collectionName,documents:e.map(r=>r.document),ids:e.map(r=>r.id),metadatas:e.map(r=>r.metadata)}}),k.debug("CHROMA_SYNC","Documents added",{collection:this.collectionName,count:e.length})}catch(r){throw k.error("CHROMA_SYNC","Failed to add documents",{collection:this.collectionName,count:e.length},r),new Error(`Document add failed: ${r instanceof Error?r.message:String(r)}`)}}}async syncObservation(e,r,n,i,a,o,s=0){let c={id:e,memory_session_id:r,project:n,text:null,type:i.type,title:i.title,subtitle:i.subtitle,facts:JSON.stringify(i.facts),narrative:i.narrative,concepts:JSON.stringify(i.concepts),files_read:JSON.stringify(i.files_read),files_modified:JSON.stringify(i.files_modified),prompt_number:a,discovery_tokens:s,created_at:new Date(o*1e3).toISOString(),created_at_epoch:o},u=this.formatObservationDocs(c);k.info("CHROMA_SYNC","Syncing observation",{observationId:e,documentCount:u.length,project:n}),await this.addDocuments(u)}async syncSummary(e,r,n,i,a,o,s=0){let c={id:e,memory_session_id:r,project:n,request:i.request,investigated:i.investigated,learned:i.learned,completed:i.completed,next_steps:i.next_steps,notes:i.notes,prompt_number:a,discovery_tokens:s,created_at:new Date(o*1e3).toISOString(),created_at_epoch:o},u=this.formatSummaryDocs(c);k.info("CHROMA_SYNC","Syncing summary",{summaryId:e,documentCount:u.length,project:n}),await this.addDocuments(u)}formatUserPromptDoc(e){return{id:`prompt_${e.id}`,document:e.prompt_text,metadata:{sqlite_id:e.id,doc_type:"user_prompt",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,prompt_number:e.prompt_number}}}async syncUserPrompt(e,r,n,i,a,o){let s={id:e,content_session_id:"",prompt_number:a,prompt_text:i,created_at:new Date(o*1e3).toISOString(),created_at_epoch:o,memory_session_id:r,project:n},c=this.formatUserPromptDoc(s);k.info("CHROMA_SYNC","Syncing user prompt",{promptId:e,project:n}),await this.addDocuments([c])}async getExistingChromaIds(){if(await this.ensureConnection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);let e=new Set,r=new Set,n=new Set,i=0,a=1e3;for(k.info("CHROMA_SYNC","Fetching existing Chroma document IDs...",{project:this.project});;)try{let s=(await this.client.callTool({name:"chroma_get_documents",arguments:{collection_name:this.collectionName,limit:a,offset:i,where:{project:this.project},include:["metadatas"]}})).content[0];if(s.type!=="text")throw new Error("Unexpected response type from chroma_get_documents");let u=JSON.parse(s.text).metadatas||[];if(u.length===0)break;for(let l of u)l.sqlite_id&&(l.doc_type==="observation"?e.add(l.sqlite_id):l.doc_type==="session_summary"?r.add(l.sqlite_id):l.doc_type==="user_prompt"&&n.add(l.sqlite_id));i+=a,k.debug("CHROMA_SYNC","Fetched batch of existing IDs",{project:this.project,offset:i,batchSize:u.length})}catch(o){throw k.error("CHROMA_SYNC","Failed to fetch existing IDs",{project:this.project},o),o}return k.info("CHROMA_SYNC","Existing IDs fetched",{project:this.project,observations:e.size,summaries:r.size,prompts:n.size}),{observations:e,summaries:r,prompts:n}}async ensureBackfilled(){k.info("CHROMA_SYNC","Starting smart backfill",{project:this.project}),await this.ensureCollection();let e=await this.getExistingChromaIds(),r=new xa;try{let n=Array.from(e.observations),i=n.length>0?`AND id NOT IN (${n.join(",")})`:"",a=r.db.prepare(` SELECT * FROM observations WHERE project = ? ${i} ORDER BY id ASC @@ -947,11 +947,11 @@ For more info: https://docs.claude-mem.ai/cursor FROM user_prompts up JOIN sdk_sessions s ON up.content_session_id = s.content_session_id WHERE s.project = ? - `).get(this.project);k.info("CHROMA_SYNC","Backfilling user prompts",{project:this.project,missing:_.length,existing:e.prompts.size,total:g.count});let m=[];for(let y of _)m.push(this.formatUserPromptDoc(y));for(let y=0;ysetTimeout(i,1e3))}}toPendingMessageWithId(e){return{...this.store.toPendingMessage(e),_persistentId:e.id,_originalTimestamp:e.created_at_epoch}}waitForMessage(e){return new Promise(r=>{let n=()=>{a(),r()},i=()=>{a(),r()},a=()=>{this.events.off("message",n),e.removeEventListener("abort",i)};this.events.once("message",n),e.addEventListener("abort",i,{once:!0})})}};var xh=class{dbManager;sessions=new Map;sessionQueues=new Map;onSessionDeletedCallback;pendingStore=null;constructor(e){this.dbManager=e}getPendingStore(){if(!this.pendingStore){let e=this.dbManager.getSessionStore();this.pendingStore=new id(e.db,3)}return this.pendingStore}setOnSessionDeleted(e){this.onSessionDeletedCallback=e}initializeSession(e,r,n){k.debug("SESSION","initializeSession called",{sessionDbId:e,promptNumber:n,has_currentUserPrompt:!!r});let i=this.sessions.get(e);if(i){k.debug("SESSION","Returning cached session",{sessionDbId:e,contentSessionId:i.contentSessionId,lastPromptNumber:i.lastPromptNumber});let c=this.dbManager.getSessionById(e);return c.project&&c.project!==i.project&&(k.debug("SESSION","Updating project from database",{sessionDbId:e,oldProject:i.project,newProject:c.project}),i.project=c.project),r?(k.debug("SESSION","Updating userPrompt for continuation",{sessionDbId:e,promptNumber:n,oldPrompt:i.userPrompt.substring(0,80),newPrompt:r.substring(0,80)}),i.userPrompt=r,i.lastPromptNumber=n||i.lastPromptNumber):k.debug("SESSION","No currentUserPrompt provided for existing session",{sessionDbId:e,promptNumber:n,usingCachedPrompt:i.userPrompt.substring(0,80)}),i}let a=this.dbManager.getSessionById(e);k.debug("SESSION","Fetched session from database",{sessionDbId:e,content_session_id:a.content_session_id,memory_session_id:a.memory_session_id});let o=r||a.user_prompt;r?k.debug("SESSION","Initializing session with fresh userPrompt",{sessionDbId:e,promptNumber:n,userPrompt:r.substring(0,80)}):k.debug("SESSION","No currentUserPrompt provided for new session, using database",{sessionDbId:e,promptNumber:n,dbPrompt:a.user_prompt.substring(0,80)}),i={sessionDbId:e,contentSessionId:a.content_session_id,memorySessionId:a.memory_session_id||null,project:a.project,userPrompt:o,pendingMessages:[],abortController:new AbortController,generatorPromise:null,lastPromptNumber:n||this.dbManager.getSessionStore().getPromptNumberFromUserPrompts(a.content_session_id),startTime:Date.now(),cumulativeInputTokens:0,cumulativeOutputTokens:0,earliestPendingTimestamp:null,conversationHistory:[],currentProvider:null},k.debug("SESSION","Creating new session object",{sessionDbId:e,contentSessionId:a.content_session_id,memorySessionId:a.memory_session_id||"(none - fresh session)",lastPromptNumber:n||this.dbManager.getSessionStore().getPromptNumberFromUserPrompts(a.content_session_id)}),this.sessions.set(e,i);let s=new _4.EventEmitter;return this.sessionQueues.set(e,s),k.info("SESSION","Session initialized",{sessionId:e,project:i.project,contentSessionId:i.contentSessionId,queueDepth:0,hasGenerator:!1}),i}getSession(e){return this.sessions.get(e)}queueObservation(e,r){let n=this.sessions.get(e);n||(n=this.initializeSession(e));let i={type:"observation",tool_name:r.tool_name,tool_input:r.tool_input,tool_response:r.tool_response,prompt_number:r.prompt_number,cwd:r.cwd};try{let o=this.getPendingStore().enqueue(e,n.contentSessionId,i),s=this.getPendingStore().getPendingCount(e),c=k.formatTool(r.tool_name,r.tool_input);k.info("QUEUE",`ENQUEUED | sessionDbId=${e} | messageId=${o} | type=observation | tool=${c} | depth=${s}`,{sessionId:e})}catch(o){throw k.error("SESSION","Failed to persist observation to DB",{sessionId:e,tool:r.tool_name},o),o}this.sessionQueues.get(e)?.emit("message")}queueSummarize(e,r){let n=this.sessions.get(e);n||(n=this.initializeSession(e));let i={type:"summarize",last_assistant_message:r};try{let o=this.getPendingStore().enqueue(e,n.contentSessionId,i),s=this.getPendingStore().getPendingCount(e);k.info("QUEUE",`ENQUEUED | sessionDbId=${e} | messageId=${o} | type=summarize | depth=${s}`,{sessionId:e})}catch(o){throw k.error("SESSION","Failed to persist summarize to DB",{sessionId:e},o),o}this.sessionQueues.get(e)?.emit("message")}async deleteSession(e){let r=this.sessions.get(e);if(!r)return;let n=Date.now()-r.startTime;r.abortController.abort(),r.generatorPromise&&await r.generatorPromise.catch(i=>{k.debug("SYSTEM","Generator already failed, cleaning up",{sessionId:r.sessionDbId})}),this.sessions.delete(e),this.sessionQueues.delete(e),k.info("SESSION","Session deleted",{sessionId:e,duration:`${(n/1e3).toFixed(1)}s`,project:r.project}),this.onSessionDeletedCallback&&this.onSessionDeletedCallback()}async shutdownAll(){let e=Array.from(this.sessions.keys());await Promise.all(e.map(r=>this.deleteSession(r)))}hasPendingMessages(){return this.getPendingStore().hasAnyPendingWork()}getActiveSessionCount(){return this.sessions.size}getTotalQueueDepth(){let e=0;for(let r of this.sessions.values())e+=this.getPendingStore().getPendingCount(r.sessionDbId);return e}getTotalActiveWork(){return this.getTotalQueueDepth()}isAnySessionProcessing(){return this.getPendingStore().hasAnyPendingWork()}async*getMessageIterator(e){let r=this.sessions.get(e);r||(r=this.initializeSession(e));let n=this.sessionQueues.get(e);if(!n)throw new Error(`No emitter for session ${e}`);let i=new bh(this.getPendingStore(),n);for await(let a of i.createIterator(e,r.abortController.signal))r.earliestPendingTimestamp===null?r.earliestPendingTimestamp=a._originalTimestamp:r.earliestPendingTimestamp=Math.min(r.earliestPendingTimestamp,a._originalTimestamp),yield a}getPendingMessageStore(){return this.getPendingStore()}};Re();var Sh=class{sseClients=new Set;addClient(e){this.sseClients.add(e),k.debug("WORKER","Client connected",{total:this.sseClients.size}),e.on("close",()=>{this.removeClient(e)}),this.sendToClient(e,{type:"connected",timestamp:Date.now()})}removeClient(e){this.sseClients.delete(e),k.debug("WORKER","Client disconnected",{total:this.sseClients.size})}broadcast(e){if(this.sseClients.size===0){k.debug("WORKER","SSE broadcast skipped (no clients)",{eventType:e.type});return}let r={...e,timestamp:Date.now()},n=`data: ${JSON.stringify(r)} + `).get(this.project);k.info("CHROMA_SYNC","Backfilling user prompts",{project:this.project,missing:_.length,existing:e.prompts.size,total:g.count});let m=[];for(let y of _)m.push(this.formatUserPromptDoc(y));for(let y=0;ysetTimeout(i,1e3))}}toPendingMessageWithId(e){return{...this.store.toPendingMessage(e),_persistentId:e.id,_originalTimestamp:e.created_at_epoch}}waitForMessage(e){return new Promise(r=>{let n=()=>{a(),r()},i=()=>{a(),r()},a=()=>{this.events.off("message",n),e.removeEventListener("abort",i)};this.events.once("message",n),e.addEventListener("abort",i,{once:!0})})}};var xh=class{dbManager;sessions=new Map;sessionQueues=new Map;onSessionDeletedCallback;pendingStore=null;constructor(e){this.dbManager=e}getPendingStore(){if(!this.pendingStore){let e=this.dbManager.getSessionStore();this.pendingStore=new id(e.db,3)}return this.pendingStore}setOnSessionDeleted(e){this.onSessionDeletedCallback=e}initializeSession(e,r,n){k.debug("SESSION","initializeSession called",{sessionDbId:e,promptNumber:n,has_currentUserPrompt:!!r});let i=this.sessions.get(e);if(i){k.debug("SESSION","Returning cached session",{sessionDbId:e,contentSessionId:i.contentSessionId,lastPromptNumber:i.lastPromptNumber});let c=this.dbManager.getSessionById(e);return c.project&&c.project!==i.project&&(k.debug("SESSION","Updating project from database",{sessionDbId:e,oldProject:i.project,newProject:c.project}),i.project=c.project),r?(k.debug("SESSION","Updating userPrompt for continuation",{sessionDbId:e,promptNumber:n,oldPrompt:i.userPrompt.substring(0,80),newPrompt:r.substring(0,80)}),i.userPrompt=r,i.lastPromptNumber=n||i.lastPromptNumber):k.debug("SESSION","No currentUserPrompt provided for existing session",{sessionDbId:e,promptNumber:n,usingCachedPrompt:i.userPrompt.substring(0,80)}),i}let a=this.dbManager.getSessionById(e);k.debug("SESSION","Fetched session from database",{sessionDbId:e,content_session_id:a.content_session_id,memory_session_id:a.memory_session_id});let o=r||a.user_prompt;r?k.debug("SESSION","Initializing session with fresh userPrompt",{sessionDbId:e,promptNumber:n,userPrompt:r.substring(0,80)}):k.debug("SESSION","No currentUserPrompt provided for new session, using database",{sessionDbId:e,promptNumber:n,dbPrompt:a.user_prompt.substring(0,80)}),i={sessionDbId:e,contentSessionId:a.content_session_id,memorySessionId:a.memory_session_id||null,project:a.project,userPrompt:o,pendingMessages:[],abortController:new AbortController,generatorPromise:null,lastPromptNumber:n||this.dbManager.getSessionStore().getPromptNumberFromUserPrompts(a.content_session_id),startTime:Date.now(),cumulativeInputTokens:0,cumulativeOutputTokens:0,earliestPendingTimestamp:null,conversationHistory:[],currentProvider:null},k.debug("SESSION","Creating new session object",{sessionDbId:e,contentSessionId:a.content_session_id,memorySessionId:a.memory_session_id||"(none - fresh session)",lastPromptNumber:n||this.dbManager.getSessionStore().getPromptNumberFromUserPrompts(a.content_session_id)}),this.sessions.set(e,i);let s=new E4.EventEmitter;return this.sessionQueues.set(e,s),k.info("SESSION","Session initialized",{sessionId:e,project:i.project,contentSessionId:i.contentSessionId,queueDepth:0,hasGenerator:!1}),i}getSession(e){return this.sessions.get(e)}queueObservation(e,r){let n=this.sessions.get(e);n||(n=this.initializeSession(e));let i={type:"observation",tool_name:r.tool_name,tool_input:r.tool_input,tool_response:r.tool_response,prompt_number:r.prompt_number,cwd:r.cwd};try{let o=this.getPendingStore().enqueue(e,n.contentSessionId,i),s=this.getPendingStore().getPendingCount(e),c=k.formatTool(r.tool_name,r.tool_input);k.info("QUEUE",`ENQUEUED | sessionDbId=${e} | messageId=${o} | type=observation | tool=${c} | depth=${s}`,{sessionId:e})}catch(o){throw k.error("SESSION","Failed to persist observation to DB",{sessionId:e,tool:r.tool_name},o),o}this.sessionQueues.get(e)?.emit("message")}queueSummarize(e,r){let n=this.sessions.get(e);n||(n=this.initializeSession(e));let i={type:"summarize",last_assistant_message:r};try{let o=this.getPendingStore().enqueue(e,n.contentSessionId,i),s=this.getPendingStore().getPendingCount(e);k.info("QUEUE",`ENQUEUED | sessionDbId=${e} | messageId=${o} | type=summarize | depth=${s}`,{sessionId:e})}catch(o){throw k.error("SESSION","Failed to persist summarize to DB",{sessionId:e},o),o}this.sessionQueues.get(e)?.emit("message")}async deleteSession(e){let r=this.sessions.get(e);if(!r)return;let n=Date.now()-r.startTime;r.abortController.abort(),r.generatorPromise&&await r.generatorPromise.catch(i=>{k.debug("SYSTEM","Generator already failed, cleaning up",{sessionId:r.sessionDbId})}),this.sessions.delete(e),this.sessionQueues.delete(e),k.info("SESSION","Session deleted",{sessionId:e,duration:`${(n/1e3).toFixed(1)}s`,project:r.project}),this.onSessionDeletedCallback&&this.onSessionDeletedCallback()}async shutdownAll(){let e=Array.from(this.sessions.keys());await Promise.all(e.map(r=>this.deleteSession(r)))}hasPendingMessages(){return this.getPendingStore().hasAnyPendingWork()}getActiveSessionCount(){return this.sessions.size}getTotalQueueDepth(){let e=0;for(let r of this.sessions.values())e+=this.getPendingStore().getPendingCount(r.sessionDbId);return e}getTotalActiveWork(){return this.getTotalQueueDepth()}isAnySessionProcessing(){return this.getPendingStore().hasAnyPendingWork()}async*getMessageIterator(e){let r=this.sessions.get(e);r||(r=this.initializeSession(e));let n=this.sessionQueues.get(e);if(!n)throw new Error(`No emitter for session ${e}`);let i=new bh(this.getPendingStore(),n);for await(let a of i.createIterator(e,r.abortController.signal))r.earliestPendingTimestamp===null?r.earliestPendingTimestamp=a._originalTimestamp:r.earliestPendingTimestamp=Math.min(r.earliestPendingTimestamp,a._originalTimestamp),yield a}getPendingMessageStore(){return this.getPendingStore()}};Re();var Sh=class{sseClients=new Set;addClient(e){this.sseClients.add(e),k.debug("WORKER","Client connected",{total:this.sseClients.size}),e.on("close",()=>{this.removeClient(e)}),this.sendToClient(e,{type:"connected",timestamp:Date.now()})}removeClient(e){this.sseClients.delete(e),k.debug("WORKER","Client disconnected",{total:this.sseClients.size})}broadcast(e){if(this.sseClients.size===0){k.debug("WORKER","SSE broadcast skipped (no clients)",{eventType:e.type});return}let r={...e,timestamp:Date.now()},n=`data: ${JSON.stringify(r)} `;k.debug("WORKER","SSE broadcast sent",{eventType:e.type,clients:this.sseClients.size});for(let i of this.sseClients)i.write(n)}getClientCount(){return this.sseClients.size}sendToClient(e,r){let n=`data: ${JSON.stringify(r)} -`;e.write(n)}};var eU=require("child_process"),tU=require("os"),rU=dt(require("path"),1);Re();Re();function Ys(t,e,r,n){return`${n.prompts.system_identity} +`;e.write(n)}};var oU=require("child_process"),sU=require("os"),cU=dt(require("path"),1);Re();Re();function Ys(t,e,r,n){return`${n.prompts.system_identity} ${r} @@ -1012,7 +1012,7 @@ ${n.prompts.header_memory_start}`}function Qs(t){let e,r;try{e=typeof t.tool_inp ${t.cwd}`:""} ${JSON.stringify(e,null,2)} ${JSON.stringify(r,null,2)} -`}function ec(t,e){let r=t.last_assistant_message||k.happyPathError("SDK","Missing last_assistant_message in session for summary prompt",{sessionId:t.id},void 0,"");return`${e.prompts.header_summary_checkpoint} +`}function ec(t,e){let r=t.last_assistant_message||(k.error("SDK","Missing last_assistant_message in session for summary prompt",{sessionId:t.id}),"");return`${e.prompts.header_summary_checkpoint} ${e.prompts.summary_instruction} ${e.prompts.summary_context_label} @@ -1087,7 +1087,7 @@ ${n.prompts.format_examples} ${n.prompts.footer} -${n.prompts.header_memory_continued}`}on();cn();jr();var e$=["429","500","502","503","ECONNREFUSED","ETIMEDOUT","fetch failed"];Re();Re();jr();function x4(t,e){let r=[],n=/([\s\S]*?)<\/observation>/g,i;for(;(i=n.exec(t))!==null;){let a=i[1],o=vi(a,"type"),s=vi(a,"title"),c=vi(a,"subtitle"),u=vi(a,"narrative"),l=$h(a,"facts","fact"),d=$h(a,"concepts","concept"),p=$h(a,"files_read","file"),f=$h(a,"files_modified","file"),_=He.getInstance().getActiveMode().observation_types.map(v=>v.id),g=_[0],m=g;o?_.includes(o.trim())?m=o.trim():k.warn("PARSER",`Invalid observation type: ${o}, using "${g}"`,{correlationId:e}):k.warn("PARSER",`Observation missing type field, using "${g}"`,{correlationId:e});let y=d.filter(v=>v!==m);y.length!==d.length&&k.warn("PARSER","Removed observation type from concepts array",{correlationId:e,type:m,originalConcepts:d,cleanedConcepts:y}),r.push({type:m,title:s,subtitle:c,facts:l,narrative:u,concepts:y,files_read:p,files_modified:f})}return r}function S4(t,e){let n=//.exec(t);if(n)return k.info("PARSER","Summary skipped",{sessionId:e,reason:n[1]}),null;let a=/([\s\S]*?)<\/summary>/.exec(t);if(!a)return null;let o=a[1],s=vi(o,"request"),c=vi(o,"investigated"),u=vi(o,"learned"),l=vi(o,"completed"),d=vi(o,"next_steps"),p=vi(o,"notes");return{request:s,investigated:c,learned:u,completed:l,next_steps:d,notes:p}}function vi(t,e){let n=new RegExp(`<${e}>([^<]*)`).exec(t);if(!n)return null;let i=n[1].trim();return i===""?null:i}function $h(t,e,r){let n=[],a=new RegExp(`<${e}>(.*?)`,"s").exec(t);if(!a)return n;let o=a[1],s=new RegExp(`<${r}>([^<]+)`,"g"),c;for(;(c=s.exec(o))!==null;)n.push(c[1].trim());return n}var Gn=require("fs"),yo=dt(require("path"),1),$4=dt(require("os"),1);Re();nc();on();var Qre=yo.default.join($4.default.homedir(),".claude-mem","settings.json");function ene(t,e){let r="",n="";if(!t)return`${r} +${n.prompts.header_memory_continued}`}on();cn();jr();var t$=["429","500","502","503","ECONNREFUSED","ETIMEDOUT","fetch failed"];Re();Re();jr();function T4(t,e){let r=[],n=/([\s\S]*?)<\/observation>/g,i;for(;(i=n.exec(t))!==null;){let a=i[1],o=yi(a,"type"),s=yi(a,"title"),c=yi(a,"subtitle"),u=yi(a,"narrative"),l=$h(a,"facts","fact"),d=$h(a,"concepts","concept"),p=$h(a,"files_read","file"),f=$h(a,"files_modified","file"),_=He.getInstance().getActiveMode().observation_types.map(v=>v.id),g=_[0],m=g;o?_.includes(o.trim())?m=o.trim():k.error("PARSER",`Invalid observation type: ${o}, using "${g}"`,{correlationId:e}):k.error("PARSER",`Observation missing type field, using "${g}"`,{correlationId:e});let y=d.filter(v=>v!==m);y.length!==d.length&&k.error("PARSER","Removed observation type from concepts array",{correlationId:e,type:m,originalConcepts:d,cleanedConcepts:y}),r.push({type:m,title:s,subtitle:c,facts:l,narrative:u,concepts:y,files_read:p,files_modified:f})}return r}function I4(t,e){let n=//.exec(t);if(n)return k.info("PARSER","Summary skipped",{sessionId:e,reason:n[1]}),null;let a=/([\s\S]*?)<\/summary>/.exec(t);if(!a)return null;let o=a[1],s=yi(o,"request"),c=yi(o,"investigated"),u=yi(o,"learned"),l=yi(o,"completed"),d=yi(o,"next_steps"),p=yi(o,"notes");return{request:s,investigated:c,learned:u,completed:l,next_steps:d,notes:p}}function yi(t,e){let n=new RegExp(`<${e}>([^<]*)`).exec(t);if(!n)return null;let i=n[1].trim();return i===""?null:i}function $h(t,e,r){let n=[],a=new RegExp(`<${e}>(.*?)`,"s").exec(t);if(!a)return n;let o=a[1],s=new RegExp(`<${r}>([^<]+)`,"g"),c;for(;(c=s.exec(o))!==null;)n.push(c[1].trim());return n}var Wn=require("fs"),Gn=dt(require("path"),1),O4=dt(require("os"),1);Re();nc();on();var Qre=Gn.default.join(O4.default.homedir(),".claude-mem","settings.json");function ene(t,e){if(!t||!t.trim()||t.startsWith("~")||t.startsWith("http://")||t.startsWith("https://")||t.includes(" ")||t.includes("#"))return!1;if(e){let r=Gn.default.isAbsolute(t)?t:Gn.default.resolve(e,t),n=Gn.default.resolve(e);if(!r.startsWith(n+Gn.default.sep)&&r!==n)return!1}return!0}function tne(t,e){let r="",n="";if(!t)return`${r} ${e} ${n}`;let i=t.indexOf(r),a=t.indexOf(n);return i!==-1&&a!==-1?t.substring(0,i)+`${r} ${e} @@ -1095,35 +1095,35 @@ ${n}`+t.substring(a+n.length):t+` ${r} ${e} -${n}`}function tne(t,e){let r=yo.default.join(t,"CLAUDE.md"),n=`${r}.tmp`;(0,Gn.mkdirSync)(t,{recursive:!0});let i="";(0,Gn.existsSync)(r)&&(i=(0,Gn.readFileSync)(r,"utf-8"));let a=ene(i,e);(0,Gn.writeFileSync)(n,a),(0,Gn.renameSync)(n,r)}function rne(t){let e=[];e.push("# Recent Activity"),e.push(""),e.push(""),e.push("");let r=t.split(` +${n}`}function rne(t,e){let r=Gn.default.join(t,"CLAUDE.md"),n=`${r}.tmp`;(0,Wn.mkdirSync)(t,{recursive:!0});let i="";(0,Wn.existsSync)(r)&&(i=(0,Wn.readFileSync)(r,"utf-8"));let a=tne(i,e);(0,Wn.writeFileSync)(n,a),(0,Wn.renameSync)(n,r)}function nne(t){let e=[];e.push("# Recent Activity"),e.push(""),e.push(""),e.push("");let r=t.split(` `),n=[],i="",a=null;for(let s of r){let c=s.match(/^###\s+(.+)$/);if(c){let l=c[1].trim(),d=new Date(l);isNaN(d.getTime())||(a=d);continue}let u=s.match(/^\|\s*(#[S]?\d+)\s*\|\s*([^|]+)\s*\|\s*([^|]+)\s*\|\s*([^|]+)\s*\|\s*([^|]+)\s*\|/);if(u){let[,l,d,p,f,h]=u,_;d.trim()==="\u2033"||d.trim()==='"'?_=i:(_=d.trim(),i=_);let g=a?new Date(a):new Date,m=_.match(/(\d+):(\d+)\s*(AM|PM)/i),y=g.getTime();if(m){let v=parseInt(m[1],10),b=parseInt(m[2],10),S=m[3].toUpperCase()==="PM";S&&v!==12&&(v+=12),!S&&v===12&&(v=0),g.setHours(v,b,0,0),y=g.getTime()}n.push({id:l.trim(),time:_,typeEmoji:p.trim(),title:f.trim(),tokens:h.trim(),epoch:y})}}if(n.length===0)return e.push("*No recent activity*"),e.join(` -`);let o=vo(n,s=>new Date(s.epoch).toISOString());for(let[s,c]of o){e.push(`### ${s}`),e.push(""),e.push("| ID | Time | T | Title | Read |"),e.push("|----|------|---|-------|------|");let u="";for(let l of c){let d=l.time===u?'"':l.time;u=l.time,e.push(`| ${l.id} | ${d} | ${l.typeEmoji} | ${l.title} | ${l.tokens} |`)}e.push("")}return e.join(` -`).trim()}function nne(t){let e=yo.default.join(t,".git");return(0,Gn.existsSync)(e)}async function E4(t,e,r,n){let i=Ye.loadFromFile(Qre),a=parseInt(i.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10)||50,o=new Set;for(let s of t){if(!s||s==="")continue;let c=s;n&&!yo.default.isAbsolute(s)&&(c=yo.default.join(n,s));let u=yo.default.dirname(c);if(u&&u!=="."&&u!=="/"){if(nne(u)){k.debug("FOLDER_INDEX","Skipping project root CLAUDE.md",{folderPath:u});continue}o.add(u)}}if(o.size!==0){k.debug("FOLDER_INDEX","Updating CLAUDE.md files",{project:e,folderCount:o.size});for(let s of o)try{let c=em(),u=await fetch(`http://${c}:${r}/api/search/by-file?filePath=${encodeURIComponent(s)}&limit=${a}&project=${encodeURIComponent(e)}&isFolder=true`);if(!u.ok){k.warn("FOLDER_INDEX","Failed to fetch timeline",{folderPath:s,status:u.status});continue}let l=await u.json();if(!l.content?.[0]?.text){k.debug("FOLDER_INDEX","No content for folder",{folderPath:s});continue}let d=rne(l.content[0].text);tne(s,d),k.debug("FOLDER_INDEX","Updated CLAUDE.md",{folderPath:s})}catch(c){let u=c;k.warn("FOLDER_INDEX","Failed to update CLAUDE.md",{folderPath:s,errorMessage:u.message,errorStack:u.stack})}}}function r$(t,e){t?.sseBroadcaster&&t.sseBroadcaster.broadcast({type:"new_observation",observation:e})}function n$(t,e){t?.sseBroadcaster&&t.sseBroadcaster.broadcast({type:"new_summary",summary:e})}function i$(t,e){t.earliestPendingTimestamp=null,e&&typeof e.broadcastProcessingStatus=="function"&&e.broadcastProcessingStatus()}async function Wn(t,e,r,n,i,a,o,s,c){t&&e.conversationHistory.push({role:"assistant",content:t});let u=x4(t,e.contentSessionId),l=S4(t,e.sessionDbId),d=ine(l),p=r.getSessionStore();if(!e.memorySessionId)throw new Error("Cannot store observations: memorySessionId not yet captured");k.info("DB",`STORING | sessionDbId=${e.sessionDbId} | memorySessionId=${e.memorySessionId} | obsCount=${u.length} | hasSummary=${!!d}`,{sessionId:e.sessionDbId,memorySessionId:e.memorySessionId});let f=p.storeObservations(e.memorySessionId,e.project,u,d,e.lastPromptNumber,a,o??void 0);k.info("DB",`STORED | sessionDbId=${e.sessionDbId} | memorySessionId=${e.memorySessionId} | obsCount=${f.observationIds.length} | obsIds=[${f.observationIds.join(",")}] | summaryId=${f.summaryId||"none"}`,{sessionId:e.sessionDbId,memorySessionId:e.memorySessionId}),await ane(u,f,e,r,i,a,s,c),await one(l,d,f,e,r,i,a,s),i$(e,i)}function ine(t){return t?{request:t.request||"",investigated:t.investigated||"",learned:t.learned||"",completed:t.completed||"",next_steps:t.next_steps||"",notes:t.notes}:null}async function ane(t,e,r,n,i,a,o,s){for(let u=0;u{let f=Date.now()-p;k.debug("CHROMA","Observation synced",{obsId:l,duration:`${f}ms`,type:d.type,title:d.title||"(untitled)"})}).catch(f=>{k.warn("CHROMA",`${o} chroma sync failed, continuing without vector search`,{obsId:l,type:d.type,title:d.title||"(untitled)"},f)}),r$(i,{id:l,memory_session_id:r.memorySessionId,session_id:r.contentSessionId,type:d.type,title:d.title,subtitle:d.subtitle,text:null,narrative:d.narrative||null,facts:JSON.stringify(d.facts||[]),concepts:JSON.stringify(d.concepts||[]),files_read:JSON.stringify(d.files_read||[]),files_modified:JSON.stringify(d.files_modified||[]),project:r.project,prompt_number:r.lastPromptNumber,created_at_epoch:e.createdAtEpoch})}let c=[];for(let u of t)c.push(...u.files_modified||[]),c.push(...u.files_read||[]);c.length>0&&E4(c,r.project,_n(),s).catch(u=>{k.warn("FOLDER_INDEX","CLAUDE.md update failed (non-critical)",{project:r.project},u)})}async function one(t,e,r,n,i,a,o,s){if(!e||!r.summaryId)return;let c=Date.now();i.getChromaSync().syncSummary(r.summaryId,n.contentSessionId,n.project,e,n.lastPromptNumber,r.createdAtEpoch,o).then(()=>{let u=Date.now()-c;k.debug("CHROMA","Summary synced",{summaryId:r.summaryId,duration:`${u}ms`,request:e.request||"(no request)"})}).catch(u=>{k.warn("CHROMA",`${s} chroma sync failed, continuing without vector search`,{summaryId:r.summaryId,request:e.request||"(no request)"},u)}),n$(a,{id:r.summaryId,session_id:n.contentSessionId,request:t.request,investigated:t.investigated,learned:t.learned,completed:t.completed,next_steps:t.next_steps,notes:t.notes,project:n.project,prompt_number:n.lastPromptNumber,created_at_epoch:r.createdAtEpoch}),hh(n.project,_n()).catch(u=>{k.warn("CURSOR","Context update failed (non-critical)",{project:n.project},u)})}function od(t){let e=sne(t);return e$.some(r=>e.includes(r))}function sne(t){return t==null?"":typeof t=="string"?t:t instanceof Error?t.message:typeof t=="object"&&"message"in t?String(t.message):String(t)}function sd(t){return t==null?!1:t instanceof Error&&t.name==="AbortError"?!0:typeof t=="object"&&"name"in t?t.name==="AbortError":!1}var l$=require("path"),v2=require("url"),y2=require("events"),b2=require("child_process"),x2=require("readline"),xe=dt(require("fs"),1),S2=require("fs/promises"),T2=require("path"),I2=require("os"),xo=require("path"),O2=require("process"),R2=require("fs"),C2=require("crypto"),M2=require("crypto"),$c=require("fs"),d$=require("path"),D2=require("crypto");var bfe={},cne=Object.create,une=Object.getPrototypeOf,u$=Object.defineProperty,lne=Object.getOwnPropertyNames,dne=Object.prototype.hasOwnProperty,i2=(t,e,r)=>{r=t!=null?cne(une(t)):{};let n=e||!t||!t.__esModule?u$(r,"default",{value:t,enumerable:!0}):r;for(let i of lne(t))dne.call(n,i)||u$(n,i,{get:()=>t[i],enumerable:!0});return n},V=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),a2=(t,e)=>{for(var r in e)u$(t,r,{get:e[r],enumerable:!0,configurable:!0,set:n=>e[r]=()=>n})};var Rh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class e{}t._CodeOrName=e,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends e{constructor(y){if(super(),!t.IDENTIFIER.test(y))throw new Error("CodeGen: name must be a valid identifier");this.str=y}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=r;class n extends e{constructor(y){super(),this._items=typeof y=="string"?[y]:y}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let y=this._items[0];return y===""||y==='""'}get str(){var y;return(y=this._str)!==null&&y!==void 0?y:this._str=this._items.reduce((v,b)=>`${v}${b}`,"")}get names(){var y;return(y=this._names)!==null&&y!==void 0?y:this._names=this._items.reduce((v,b)=>(b instanceof r&&(v[b.str]=(v[b.str]||0)+1),v),{})}}t._Code=n,t.nil=new n("");function i(m,...y){let v=[m[0]],b=0;for(;b{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;var e=Rh();class r extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var n;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(n||(t.UsedValueState=n={})),t.varKinds={const:new e.Name("const"),let:new e.Name("let"),var:new e.Name("var")};class i{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof e.Name?u:this.name(u)}name(u){return new e.Name(this._newName(u))}_newName(u){let l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,d;if(!((d=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||d===void 0)&&d.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}t.Scope=i;class a extends e.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:d}){this.value=u,this.scopePath=(0,e._)`.${new e.Name(l)}[${d}]`}}t.ValueScopeName=a;var o=(0,e._)`\n`;class s extends i{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?o:e.nil}}get(){return this._scope}name(u){return new a(u,this._newName(u))}value(u,l){var d;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(u),{prefix:f}=p,h=(d=l.key)!==null&&d!==void 0?d:l.ref,_=this._values[f];if(_){let y=_.get(h);if(y)return y}else _=this._values[f]=new Map;_.set(h,p);let g=this._scope[f]||(this._scope[f]=[]),m=g.length;return g[m]=l.ref,p.setValue(l,{property:f,itemIndex:m}),p}getValue(u,l){let d=this._values[u];if(d)return d.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,d=>{if(d.scopePath===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return(0,e._)`${u}${d.scopePath}`})}scopeCode(u=this._values,l,d){return this._reduceValues(u,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},l,d)}_reduceValues(u,l,d={},p){let f=e.nil;for(let h in u){let _=u[h];if(!_)continue;let g=d[h]=d[h]||new Map;_.forEach(m=>{if(g.has(m))return;g.set(m,n.Started);let y=l(m);if(y){let v=this.opts.es5?t.varKinds.var:t.varKinds.const;f=(0,e._)`${f}${v} ${m} = ${y};${this.opts._n}`}else if(y=p?.(m))f=(0,e._)`${f}${y}${this.opts._n}`;else throw new r(m);g.set(m,n.Completed)})}return f}}t.ValueScope=s}),Je=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;var e=Rh(),r=k4(),n=Rh();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return n.Name}});var i=k4();Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),t.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class a{optimizeNodes(){return this}optimizeNames($,T){return this}}class o extends a{constructor($,T,N){super(),this.varKind=$,this.name=T,this.rhs=N}render({es5:$,_n:T}){let N=$?r.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${N} ${this.name}${W};`+T}optimizeNames($,T){if($[this.name.str])return this.rhs&&(this.rhs=U(this.rhs,$,T)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class s extends a{constructor($,T,N){super(),this.lhs=$,this.rhs=T,this.sideEffects=N}render({_n:$}){return`${this.lhs} = ${this.rhs};`+$}optimizeNames($,T){if(!(this.lhs instanceof e.Name&&!$[this.lhs.str]&&!this.sideEffects))return this.rhs=U(this.rhs,$,T),this}get names(){let $=this.lhs instanceof e.Name?{}:{...this.lhs.names};return B($,this.rhs)}}class c extends s{constructor($,T,N,W){super($,N,W),this.op=T}render({_n:$}){return`${this.lhs} ${this.op}= ${this.rhs};`+$}}class u extends a{constructor($){super(),this.label=$,this.names={}}render({_n:$}){return`${this.label}:`+$}}class l extends a{constructor($){super(),this.label=$,this.names={}}render({_n:$}){return`break${this.label?` ${this.label}`:""};`+$}}class d extends a{constructor($){super(),this.error=$}render({_n:$}){return`throw ${this.error};`+$}get names(){return this.error.names}}class p extends a{constructor($){super(),this.code=$}render({_n:$}){return`${this.code};`+$}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames($,T){return this.code=U(this.code,$,T),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class f extends a{constructor($=[]){super(),this.nodes=$}render($){return this.nodes.reduce((T,N)=>T+N.render($),"")}optimizeNodes(){let{nodes:$}=this,T=$.length;for(;T--;){let N=$[T].optimizeNodes();Array.isArray(N)?$.splice(T,1,...N):N?$[T]=N:$.splice(T,1)}return $.length>0?this:void 0}optimizeNames($,T){let{nodes:N}=this,W=N.length;for(;W--;){let K=N[W];K.optimizeNames($,T)||(Y($,K.names),N.splice(W,1))}return N.length>0?this:void 0}get names(){return this.nodes.reduce(($,T)=>q($,T.names),{})}}class h extends f{render($){return"{"+$._n+super.render($)+"}"+$._n}}class _ extends f{}class g extends h{}g.kind="else";class m extends h{constructor($,T){super(T),this.condition=$}render($){let T=`if(${this.condition})`+super.render($);return this.else&&(T+="else "+this.else.render($)),T}optimizeNodes(){super.optimizeNodes();let $=this.condition;if($===!0)return this.nodes;let T=this.else;if(T){let N=T.optimizeNodes();T=this.else=Array.isArray(N)?new g(N):N}if(T)return $===!1?T instanceof m?T:T.nodes:this.nodes.length?this:new m(me($),T instanceof m?[T]:T.nodes);if(!($===!1||!this.nodes.length))return this}optimizeNames($,T){var N;if(this.else=(N=this.else)===null||N===void 0?void 0:N.optimizeNames($,T),!!(super.optimizeNames($,T)||this.else))return this.condition=U(this.condition,$,T),this}get names(){let $=super.names;return B($,this.condition),this.else&&q($,this.else.names),$}}m.kind="if";class y extends h{}y.kind="for";class v extends y{constructor($){super(),this.iteration=$}render($){return`for(${this.iteration})`+super.render($)}optimizeNames($,T){if(super.optimizeNames($,T))return this.iteration=U(this.iteration,$,T),this}get names(){return q(super.names,this.iteration.names)}}class b extends y{constructor($,T,N,W){super(),this.varKind=$,this.name=T,this.from=N,this.to=W}render($){let T=$.es5?r.varKinds.var:this.varKind,{name:N,from:W,to:K}=this;return`for(${T} ${N}=${W}; ${N}<${K}; ${N}++)`+super.render($)}get names(){let $=B(super.names,this.from);return B($,this.to)}}class S extends y{constructor($,T,N,W){super(),this.loop=$,this.varKind=T,this.name=N,this.iterable=W}render($){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render($)}optimizeNames($,T){if(super.optimizeNames($,T))return this.iterable=U(this.iterable,$,T),this}get names(){return q(super.names,this.iterable.names)}}class x extends h{constructor($,T,N){super(),this.name=$,this.args=T,this.async=N}render($){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render($)}}x.kind="func";class w extends f{render($){return"return "+super.render($)}}w.kind="return";class E extends h{render($){let T="try"+super.render($);return this.catch&&(T+=this.catch.render($)),this.finally&&(T+=this.finally.render($)),T}optimizeNodes(){var $,T;return super.optimizeNodes(),($=this.catch)===null||$===void 0||$.optimizeNodes(),(T=this.finally)===null||T===void 0||T.optimizeNodes(),this}optimizeNames($,T){var N,W;return super.optimizeNames($,T),(N=this.catch)===null||N===void 0||N.optimizeNames($,T),(W=this.finally)===null||W===void 0||W.optimizeNames($,T),this}get names(){let $=super.names;return this.catch&&q($,this.catch.names),this.finally&&q($,this.finally.names),$}}class O extends h{constructor($){super(),this.error=$}render($){return`catch(${this.error})`+super.render($)}}O.kind="catch";class A extends h{render($){return"finally"+super.render($)}}A.kind="finally";class M{constructor($,T={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...T,_n:T.lines?` -`:""},this._extScope=$,this._scope=new r.Scope({parent:$}),this._nodes=[new _]}toString(){return this._root.render(this.opts)}name($){return this._scope.name($)}scopeName($){return this._extScope.name($)}scopeValue($,T){let N=this._extScope.value($,T);return(this._values[N.prefix]||(this._values[N.prefix]=new Set)).add(N),N}getScopeValue($,T){return this._extScope.getValue($,T)}scopeRefs($){return this._extScope.scopeRefs($,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def($,T,N,W){let K=this._scope.toName(T);return N!==void 0&&W&&(this._constants[K.str]=N),this._leafNode(new o($,K,N)),K}const($,T,N){return this._def(r.varKinds.const,$,T,N)}let($,T,N){return this._def(r.varKinds.let,$,T,N)}var($,T,N){return this._def(r.varKinds.var,$,T,N)}assign($,T,N){return this._leafNode(new s($,T,N))}add($,T){return this._leafNode(new c($,t.operators.ADD,T))}code($){return typeof $=="function"?$():$!==e.nil&&this._leafNode(new p($)),this}object(...$){let T=["{"];for(let[N,W]of $)T.length>1&&T.push(","),T.push(N),(N!==W||this.opts.es5)&&(T.push(":"),(0,e.addCodeArg)(T,W));return T.push("}"),new e._Code(T)}if($,T,N){if(this._blockNode(new m($)),T&&N)this.code(T).else().code(N).endIf();else if(T)this.code(T).endIf();else if(N)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf($){return this._elseNode(new m($))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(m,g)}_for($,T){return this._blockNode($),T&&this.code(T).endFor(),this}for($,T){return this._for(new v($),T)}forRange($,T,N,W,K=this.opts.es5?r.varKinds.var:r.varKinds.let){let pe=this._scope.toName($);return this._for(new b(K,pe,T,N),()=>W(pe))}forOf($,T,N,W=r.varKinds.const){let K=this._scope.toName($);if(this.opts.es5){let pe=T instanceof e.Name?T:this.var("_arr",T);return this.forRange("_i",0,(0,e._)`${pe}.length`,ce=>{this.var(K,(0,e._)`${pe}[${ce}]`),N(K)})}return this._for(new S("of",W,K,T),()=>N(K))}forIn($,T,N,W=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf($,(0,e._)`Object.keys(${T})`,N);let K=this._scope.toName($);return this._for(new S("in",W,K,T),()=>N(K))}endFor(){return this._endBlockNode(y)}label($){return this._leafNode(new u($))}break($){return this._leafNode(new l($))}return($){let T=new w;if(this._blockNode(T),this.code($),T.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(w)}try($,T,N){if(!T&&!N)throw new Error('CodeGen: "try" without "catch" and "finally"');let W=new E;if(this._blockNode(W),this.code($),T){let K=this.name("e");this._currNode=W.catch=new O(K),T(K)}return N&&(this._currNode=W.finally=new A,this.code(N)),this._endBlockNode(O,A)}throw($){return this._leafNode(new d($))}block($,T){return this._blockStarts.push(this._nodes.length),$&&this.code($).endBlock(T),this}endBlock($){let T=this._blockStarts.pop();if(T===void 0)throw new Error("CodeGen: not in self-balancing block");let N=this._nodes.length-T;if(N<0||$!==void 0&&N!==$)throw new Error(`CodeGen: wrong number of nodes: ${N} vs ${$} expected`);return this._nodes.length=T,this}func($,T=e.nil,N,W){return this._blockNode(new x($,T,N)),W&&this.code(W).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize($=1){for(;$-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode($){return this._currNode.nodes.push($),this}_blockNode($){this._currNode.nodes.push($),this._nodes.push($)}_endBlockNode($,T){let N=this._currNode;if(N instanceof $||T&&N instanceof T)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${T?`${$.kind}/${T.kind}`:$.kind}"`)}_elseNode($){let T=this._currNode;if(!(T instanceof m))throw new Error('CodeGen: "else" without "if"');return this._currNode=T.else=$,this}get _root(){return this._nodes[0]}get _currNode(){let $=this._nodes;return $[$.length-1]}set _currNode($){let T=this._nodes;T[T.length-1]=$}}t.CodeGen=M;function q(C,$){for(let T in $)C[T]=(C[T]||0)+($[T]||0);return C}function B(C,$){return $ instanceof e._CodeOrName?q(C,$.names):C}function U(C,$,T){if(C instanceof e.Name)return N(C);if(!W(C))return C;return new e._Code(C._items.reduce((K,pe)=>(pe instanceof e.Name&&(pe=N(pe)),pe instanceof e._Code?K.push(...pe._items):K.push(pe),K),[]));function N(K){let pe=T[K.str];return pe===void 0||$[K.str]!==1?K:(delete $[K.str],pe)}function W(K){return K instanceof e._Code&&K._items.some(pe=>pe instanceof e.Name&&$[pe.str]===1&&T[pe.str]!==void 0)}}function Y(C,$){for(let T in $)C[T]=(C[T]||0)-($[T]||0)}function me(C){return typeof C=="boolean"||typeof C=="number"||C===null?!C:(0,e._)`!${D(C)}`}t.not=me;var Qe=I(t.operators.AND);function mt(...C){return C.reduce(Qe)}t.and=mt;var fe=I(t.operators.OR);function F(...C){return C.reduce(fe)}t.or=F;function I(C){return($,T)=>$===e.nil?T:T===e.nil?$:(0,e._)`${D($)} ${C} ${D(T)}`}function D(C){return C instanceof e.Name?C:(0,e._)`(${C})`}}),ut=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;var e=Je(),r=Rh();function n(x){let w={};for(let E of x)w[E]=!0;return w}t.toHash=n;function i(x,w){return typeof w=="boolean"?w:Object.keys(w).length===0?!0:(a(x,w),!o(w,x.self.RULES.all))}t.alwaysValidSchema=i;function a(x,w=x.schema){let{opts:E,self:O}=x;if(!E.strictSchema||typeof w=="boolean")return;let A=O.RULES.keywords;for(let M in w)A[M]||S(x,`unknown keyword: "${M}"`)}t.checkUnknownRules=a;function o(x,w){if(typeof x=="boolean")return!x;for(let E in x)if(w[E])return!0;return!1}t.schemaHasRules=o;function s(x,w){if(typeof x=="boolean")return!x;for(let E in x)if(E!=="$ref"&&w.all[E])return!0;return!1}t.schemaHasRulesButRef=s;function c({topSchemaRef:x,schemaPath:w},E,O,A){if(!A){if(typeof E=="number"||typeof E=="boolean")return E;if(typeof E=="string")return(0,e._)`${E}`}return(0,e._)`${x}${w}${(0,e.getProperty)(O)}`}t.schemaRefOrVal=c;function u(x){return p(decodeURIComponent(x))}t.unescapeFragment=u;function l(x){return encodeURIComponent(d(x))}t.escapeFragment=l;function d(x){return typeof x=="number"?`${x}`:x.replace(/~/g,"~0").replace(/\//g,"~1")}t.escapeJsonPointer=d;function p(x){return x.replace(/~1/g,"/").replace(/~0/g,"~")}t.unescapeJsonPointer=p;function f(x,w){if(Array.isArray(x))for(let E of x)w(E);else w(x)}t.eachItem=f;function h({mergeNames:x,mergeToName:w,mergeValues:E,resultToName:O}){return(A,M,q,B)=>{let U=q===void 0?M:q instanceof e.Name?(M instanceof e.Name?x(A,M,q):w(A,M,q),q):M instanceof e.Name?(w(A,q,M),M):E(M,q);return B===e.Name&&!(U instanceof e.Name)?O(A,U):U}}t.mergeEvaluated={props:h({mergeNames:(x,w,E)=>x.if((0,e._)`${E} !== true && ${w} !== undefined`,()=>{x.if((0,e._)`${w} === true`,()=>x.assign(E,!0),()=>x.assign(E,(0,e._)`${E} || {}`).code((0,e._)`Object.assign(${E}, ${w})`))}),mergeToName:(x,w,E)=>x.if((0,e._)`${E} !== true`,()=>{w===!0?x.assign(E,!0):(x.assign(E,(0,e._)`${E} || {}`),g(x,E,w))}),mergeValues:(x,w)=>x===!0?!0:{...x,...w},resultToName:_}),items:h({mergeNames:(x,w,E)=>x.if((0,e._)`${E} !== true && ${w} !== undefined`,()=>x.assign(E,(0,e._)`${w} === true ? true : ${E} > ${w} ? ${E} : ${w}`)),mergeToName:(x,w,E)=>x.if((0,e._)`${E} !== true`,()=>x.assign(E,w===!0?!0:(0,e._)`${E} > ${w} ? ${E} : ${w}`)),mergeValues:(x,w)=>x===!0?!0:Math.max(x,w),resultToName:(x,w)=>x.var("items",w)})};function _(x,w){if(w===!0)return x.var("props",!0);let E=x.var("props",(0,e._)`{}`);return w!==void 0&&g(x,E,w),E}t.evaluatedPropsToName=_;function g(x,w,E){Object.keys(E).forEach(O=>x.assign((0,e._)`${w}${(0,e.getProperty)(O)}`,!0))}t.setEvaluated=g;var m={};function y(x,w){return x.scopeValue("func",{ref:w,code:m[w.code]||(m[w.code]=new r._Code(w.code))})}t.useFunc=y;var v;(function(x){x[x.Num=0]="Num",x[x.Str=1]="Str"})(v||(t.Type=v={}));function b(x,w,E){if(x instanceof e.Name){let O=w===v.Num;return E?O?(0,e._)`"[" + ${x} + "]"`:(0,e._)`"['" + ${x} + "']"`:O?(0,e._)`"/" + ${x}`:(0,e._)`"/" + ${x}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return E?(0,e.getProperty)(x).toString():"/"+d(x)}t.getErrorPath=b;function S(x,w,E=x.opts.strictSchema){if(E){if(w=`strict mode: ${w}`,E===!0)throw new Error(w);x.self.logger.warn(w)}}t.checkStrictMode=S}),ka=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={data:new e.Name("data"),valCxt:new e.Name("valCxt"),instancePath:new e.Name("instancePath"),parentData:new e.Name("parentData"),parentDataProperty:new e.Name("parentDataProperty"),rootData:new e.Name("rootData"),dynamicAnchors:new e.Name("dynamicAnchors"),vErrors:new e.Name("vErrors"),errors:new e.Name("errors"),this:new e.Name("this"),self:new e.Name("self"),scope:new e.Name("scope"),json:new e.Name("json"),jsonPos:new e.Name("jsonPos"),jsonLen:new e.Name("jsonLen"),jsonPart:new e.Name("jsonPart")};t.default=r}),Lh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;var e=Je(),r=ut(),n=ka();t.keywordError={message:({keyword:g})=>(0,e.str)`must pass "${g}" keyword validation`},t.keyword$DataError={message:({keyword:g,schemaType:m})=>m?(0,e.str)`"${g}" keyword must be ${m} ($data)`:(0,e.str)`"${g}" keyword is invalid ($data)`};function i(g,m=t.keywordError,y,v){let{it:b}=g,{gen:S,compositeRule:x,allErrors:w}=b,E=d(g,m,y);v??(x||w)?c(S,E):u(b,(0,e._)`[${E}]`)}t.reportError=i;function a(g,m=t.keywordError,y){let{it:v}=g,{gen:b,compositeRule:S,allErrors:x}=v,w=d(g,m,y);c(b,w),S||x||u(v,n.default.vErrors)}t.reportExtraError=a;function o(g,m){g.assign(n.default.errors,m),g.if((0,e._)`${n.default.vErrors} !== null`,()=>g.if(m,()=>g.assign((0,e._)`${n.default.vErrors}.length`,m),()=>g.assign(n.default.vErrors,null)))}t.resetErrorsCount=o;function s({gen:g,keyword:m,schemaValue:y,data:v,errsCount:b,it:S}){if(b===void 0)throw new Error("ajv implementation error");let x=g.name("err");g.forRange("i",b,n.default.errors,w=>{g.const(x,(0,e._)`${n.default.vErrors}[${w}]`),g.if((0,e._)`${x}.instancePath === undefined`,()=>g.assign((0,e._)`${x}.instancePath`,(0,e.strConcat)(n.default.instancePath,S.errorPath))),g.assign((0,e._)`${x}.schemaPath`,(0,e.str)`${S.errSchemaPath}/${m}`),S.opts.verbose&&(g.assign((0,e._)`${x}.schema`,y),g.assign((0,e._)`${x}.data`,v))})}t.extendErrors=s;function c(g,m){let y=g.const("err",m);g.if((0,e._)`${n.default.vErrors} === null`,()=>g.assign(n.default.vErrors,(0,e._)`[${y}]`),(0,e._)`${n.default.vErrors}.push(${y})`),g.code((0,e._)`${n.default.errors}++`)}function u(g,m){let{gen:y,validateName:v,schemaEnv:b}=g;b.$async?y.throw((0,e._)`new ${g.ValidationError}(${m})`):(y.assign((0,e._)`${v}.errors`,m),y.return(!1))}var l={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function d(g,m,y){let{createErrors:v}=g.it;return v===!1?(0,e._)`{}`:p(g,m,y)}function p(g,m,y={}){let{gen:v,it:b}=g,S=[f(b,y),h(g,y)];return _(g,m,S),v.object(...S)}function f({errorPath:g},{instancePath:m}){let y=m?(0,e.str)`${g}${(0,r.getErrorPath)(m,r.Type.Str)}`:g;return[n.default.instancePath,(0,e.strConcat)(n.default.instancePath,y)]}function h({keyword:g,it:{errSchemaPath:m}},{schemaPath:y,parentSchema:v}){let b=v?m:(0,e.str)`${m}/${g}`;return y&&(b=(0,e.str)`${b}${(0,r.getErrorPath)(y,r.Type.Str)}`),[l.schemaPath,b]}function _(g,{params:m,message:y},v){let{keyword:b,data:S,schemaValue:x,it:w}=g,{opts:E,propertyName:O,topSchemaRef:A,schemaPath:M}=w;v.push([l.keyword,b],[l.params,typeof m=="function"?m(g):m||(0,e._)`{}`]),E.messages&&v.push([l.message,typeof y=="function"?y(g):y]),E.verbose&&v.push([l.schema,x],[l.parentSchema,(0,e._)`${A}${M}`],[n.default.data,S]),O&&v.push([l.propertyName,O])}}),pne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;var e=Lh(),r=Je(),n=ka(),i={message:"boolean schema is false"};function a(c){let{gen:u,schema:l,validateName:d}=c;l===!1?s(c,!1):typeof l=="object"&&l.$async===!0?u.return(n.default.data):(u.assign((0,r._)`${d}.errors`,null),u.return(!0))}t.topBoolOrEmptySchema=a;function o(c,u){let{gen:l,schema:d}=c;d===!1?(l.var(u,!1),s(c)):l.var(u,!0)}t.boolOrEmptySchema=o;function s(c,u){let{gen:l,data:d}=c,p={gen:l,keyword:"false schema",data:d,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:c};(0,e.reportError)(p,i,void 0,u)}}),o2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;var e=["string","number","integer","boolean","null","object","array"],r=new Set(e);function n(a){return typeof a=="string"&&r.has(a)}t.isJSONType=n;function i(){let a={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...a,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},a.number,a.string,a.array,a.object],post:{rules:[]},all:{},keywords:{}}}t.getRules=i}),s2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0;function e({schema:i,self:a},o){let s=a.RULES.types[o];return s&&s!==!0&&r(i,s)}t.schemaHasRulesForType=e;function r(i,a){return a.rules.some(o=>n(i,o))}t.shouldUseGroup=r;function n(i,a){var o;return i[a.keyword]!==void 0||((o=a.definition.implements)===null||o===void 0?void 0:o.some(s=>i[s]!==void 0))}t.shouldUseRule=n}),Ch=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;var e=o2(),r=s2(),n=Lh(),i=Je(),a=ut(),o;(function(v){v[v.Correct=0]="Correct",v[v.Wrong=1]="Wrong"})(o||(t.DataType=o={}));function s(v){let b=c(v.type);if(b.includes("null")){if(v.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!b.length&&v.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');v.nullable===!0&&b.push("null")}return b}t.getSchemaTypes=s;function c(v){let b=Array.isArray(v)?v:v?[v]:[];if(b.every(e.isJSONType))return b;throw new Error("type must be JSONType or JSONType[]: "+b.join(","))}t.getJSONTypes=c;function u(v,b){let{gen:S,data:x,opts:w}=v,E=d(b,w.coerceTypes),O=b.length>0&&!(E.length===0&&b.length===1&&(0,r.schemaHasRulesForType)(v,b[0]));if(O){let A=_(b,x,w.strictNumbers,o.Wrong);S.if(A,()=>{E.length?p(v,b,E):m(v)})}return O}t.coerceAndCheckDataType=u;var l=new Set(["string","number","integer","boolean","null"]);function d(v,b){return b?v.filter(S=>l.has(S)||b==="array"&&S==="array"):[]}function p(v,b,S){let{gen:x,data:w,opts:E}=v,O=x.let("dataType",(0,i._)`typeof ${w}`),A=x.let("coerced",(0,i._)`undefined`);E.coerceTypes==="array"&&x.if((0,i._)`${O} == 'object' && Array.isArray(${w}) && ${w}.length == 1`,()=>x.assign(w,(0,i._)`${w}[0]`).assign(O,(0,i._)`typeof ${w}`).if(_(b,w,E.strictNumbers),()=>x.assign(A,w))),x.if((0,i._)`${A} !== undefined`);for(let q of S)(l.has(q)||q==="array"&&E.coerceTypes==="array")&&M(q);x.else(),m(v),x.endIf(),x.if((0,i._)`${A} !== undefined`,()=>{x.assign(w,A),f(v,A)});function M(q){switch(q){case"string":x.elseIf((0,i._)`${O} == "number" || ${O} == "boolean"`).assign(A,(0,i._)`"" + ${w}`).elseIf((0,i._)`${w} === null`).assign(A,(0,i._)`""`);return;case"number":x.elseIf((0,i._)`${O} == "boolean" || ${w} === null +`);let o=yo(n,s=>new Date(s.epoch).toISOString());for(let[s,c]of o){e.push(`### ${s}`),e.push(""),e.push("| ID | Time | T | Title | Read |"),e.push("|----|------|---|-------|------|");let u="";for(let l of c){let d=l.time===u?'"':l.time;u=l.time,e.push(`| ${l.id} | ${d} | ${l.typeEmoji} | ${l.title} | ${l.tokens} |`)}e.push("")}return e.join(` +`).trim()}function ine(t){let e=Gn.default.join(t,".git");return(0,Wn.existsSync)(e)}async function R4(t,e,r,n){let i=Ye.loadFromFile(Qre),a=parseInt(i.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10)||50,o=new Set;for(let s of t){if(!s||s==="")continue;if(!ene(s,n)){k.debug("FOLDER_INDEX","Skipping invalid file path",{filePath:s,reason:"Failed path validation"});continue}let c=s;n&&!Gn.default.isAbsolute(s)&&(c=Gn.default.join(n,s));let u=Gn.default.dirname(c);if(u&&u!=="."&&u!=="/"){if(ine(u)){k.debug("FOLDER_INDEX","Skipping project root CLAUDE.md",{folderPath:u});continue}o.add(u)}}if(o.size!==0){k.debug("FOLDER_INDEX","Updating CLAUDE.md files",{project:e,folderCount:o.size});for(let s of o)try{let c=em(),u=await fetch(`http://${c}:${r}/api/search/by-file?filePath=${encodeURIComponent(s)}&limit=${a}&project=${encodeURIComponent(e)}&isFolder=true`);if(!u.ok){k.error("FOLDER_INDEX","Failed to fetch timeline",{folderPath:s,status:u.status});continue}let l=await u.json();if(!l.content?.[0]?.text){k.debug("FOLDER_INDEX","No content for folder",{folderPath:s});continue}let d=nne(l.content[0].text);rne(s,d),k.debug("FOLDER_INDEX","Updated CLAUDE.md",{folderPath:s})}catch(c){let u=c;k.error("FOLDER_INDEX","Failed to update CLAUDE.md",{folderPath:s,errorMessage:u.message,errorStack:u.stack})}}}function n$(t,e){t?.sseBroadcaster&&t.sseBroadcaster.broadcast({type:"new_observation",observation:e})}function i$(t,e){t?.sseBroadcaster&&t.sseBroadcaster.broadcast({type:"new_summary",summary:e})}function a$(t,e){t.earliestPendingTimestamp=null,e&&typeof e.broadcastProcessingStatus=="function"&&e.broadcastProcessingStatus()}async function Kn(t,e,r,n,i,a,o,s,c){t&&e.conversationHistory.push({role:"assistant",content:t});let u=T4(t,e.contentSessionId),l=I4(t,e.sessionDbId),d=ane(l),p=r.getSessionStore();if(!e.memorySessionId)throw new Error("Cannot store observations: memorySessionId not yet captured");k.info("DB",`STORING | sessionDbId=${e.sessionDbId} | memorySessionId=${e.memorySessionId} | obsCount=${u.length} | hasSummary=${!!d}`,{sessionId:e.sessionDbId,memorySessionId:e.memorySessionId});let f=p.storeObservations(e.memorySessionId,e.project,u,d,e.lastPromptNumber,a,o??void 0);k.info("DB",`STORED | sessionDbId=${e.sessionDbId} | memorySessionId=${e.memorySessionId} | obsCount=${f.observationIds.length} | obsIds=[${f.observationIds.join(",")}] | summaryId=${f.summaryId||"none"}`,{sessionId:e.sessionDbId,memorySessionId:e.memorySessionId}),await one(u,f,e,r,i,a,s,c),await sne(l,d,f,e,r,i,a,s),a$(e,i)}function ane(t){return t?{request:t.request||"",investigated:t.investigated||"",learned:t.learned||"",completed:t.completed||"",next_steps:t.next_steps||"",notes:t.notes}:null}async function one(t,e,r,n,i,a,o,s){for(let u=0;u{let f=Date.now()-p;k.debug("CHROMA","Observation synced",{obsId:l,duration:`${f}ms`,type:d.type,title:d.title||"(untitled)"})}).catch(f=>{k.error("CHROMA",`${o} chroma sync failed, continuing without vector search`,{obsId:l,type:d.type,title:d.title||"(untitled)"},f)}),n$(i,{id:l,memory_session_id:r.memorySessionId,session_id:r.contentSessionId,type:d.type,title:d.title,subtitle:d.subtitle,text:null,narrative:d.narrative||null,facts:JSON.stringify(d.facts||[]),concepts:JSON.stringify(d.concepts||[]),files_read:JSON.stringify(d.files_read||[]),files_modified:JSON.stringify(d.files_modified||[]),project:r.project,prompt_number:r.lastPromptNumber,created_at_epoch:e.createdAtEpoch})}let c=[];for(let u of t)c.push(...u.files_modified||[]),c.push(...u.files_read||[]);c.length>0&&R4(c,r.project,_n(),s).catch(u=>{k.warn("FOLDER_INDEX","CLAUDE.md update failed (non-critical)",{project:r.project},u)})}async function sne(t,e,r,n,i,a,o,s){if(!e||!r.summaryId)return;let c=Date.now();i.getChromaSync().syncSummary(r.summaryId,n.contentSessionId,n.project,e,n.lastPromptNumber,r.createdAtEpoch,o).then(()=>{let u=Date.now()-c;k.debug("CHROMA","Summary synced",{summaryId:r.summaryId,duration:`${u}ms`,request:e.request||"(no request)"})}).catch(u=>{k.error("CHROMA",`${s} chroma sync failed, continuing without vector search`,{summaryId:r.summaryId,request:e.request||"(no request)"},u)}),i$(a,{id:r.summaryId,session_id:n.contentSessionId,request:t.request,investigated:t.investigated,learned:t.learned,completed:t.completed,next_steps:t.next_steps,notes:t.notes,project:n.project,prompt_number:n.lastPromptNumber,created_at_epoch:r.createdAtEpoch}),hh(n.project,_n()).catch(u=>{k.warn("CURSOR","Context update failed (non-critical)",{project:n.project},u)})}function od(t){let e=cne(t);return t$.some(r=>e.includes(r))}function cne(t){return t==null?"":typeof t=="string"?t:t instanceof Error?t.message:typeof t=="object"&&"message"in t?String(t.message):String(t)}function sd(t){return t==null?!1:t instanceof Error&&t.name==="AbortError"?!0:typeof t=="object"&&"name"in t?t.name==="AbortError":!1}var d$=require("path"),w2=require("url"),$2=require("events"),k2=require("child_process"),T2=require("readline"),xe=dt(require("fs"),1),I2=require("fs/promises"),N2=require("path"),j2=require("os"),xo=require("path"),M2=require("process"),D2=require("fs"),z2=require("crypto"),F2=require("crypto"),$c=require("fs"),p$=require("path"),Z2=require("crypto");var xfe={},une=Object.create,lne=Object.getPrototypeOf,l$=Object.defineProperty,dne=Object.getOwnPropertyNames,pne=Object.prototype.hasOwnProperty,l2=(t,e,r)=>{r=t!=null?une(lne(t)):{};let n=e||!t||!t.__esModule?l$(r,"default",{value:t,enumerable:!0}):r;for(let i of dne(t))pne.call(n,i)||l$(n,i,{get:()=>t[i],enumerable:!0});return n},V=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),d2=(t,e)=>{for(var r in e)l$(t,r,{get:e[r],enumerable:!0,configurable:!0,set:n=>e[r]=()=>n})};var Rh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class e{}t._CodeOrName=e,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends e{constructor(y){if(super(),!t.IDENTIFIER.test(y))throw new Error("CodeGen: name must be a valid identifier");this.str=y}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=r;class n extends e{constructor(y){super(),this._items=typeof y=="string"?[y]:y}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let y=this._items[0];return y===""||y==='""'}get str(){var y;return(y=this._str)!==null&&y!==void 0?y:this._str=this._items.reduce((v,b)=>`${v}${b}`,"")}get names(){var y;return(y=this._names)!==null&&y!==void 0?y:this._names=this._items.reduce((v,b)=>(b instanceof r&&(v[b.str]=(v[b.str]||0)+1),v),{})}}t._Code=n,t.nil=new n("");function i(m,...y){let v=[m[0]],b=0;for(;b{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;var e=Rh();class r extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var n;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(n||(t.UsedValueState=n={})),t.varKinds={const:new e.Name("const"),let:new e.Name("let"),var:new e.Name("var")};class i{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof e.Name?u:this.name(u)}name(u){return new e.Name(this._newName(u))}_newName(u){let l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,d;if(!((d=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||d===void 0)&&d.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}t.Scope=i;class a extends e.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:d}){this.value=u,this.scopePath=(0,e._)`.${new e.Name(l)}[${d}]`}}t.ValueScopeName=a;var o=(0,e._)`\n`;class s extends i{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?o:e.nil}}get(){return this._scope}name(u){return new a(u,this._newName(u))}value(u,l){var d;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(u),{prefix:f}=p,h=(d=l.key)!==null&&d!==void 0?d:l.ref,_=this._values[f];if(_){let y=_.get(h);if(y)return y}else _=this._values[f]=new Map;_.set(h,p);let g=this._scope[f]||(this._scope[f]=[]),m=g.length;return g[m]=l.ref,p.setValue(l,{property:f,itemIndex:m}),p}getValue(u,l){let d=this._values[u];if(d)return d.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,d=>{if(d.scopePath===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return(0,e._)`${u}${d.scopePath}`})}scopeCode(u=this._values,l,d){return this._reduceValues(u,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},l,d)}_reduceValues(u,l,d={},p){let f=e.nil;for(let h in u){let _=u[h];if(!_)continue;let g=d[h]=d[h]||new Map;_.forEach(m=>{if(g.has(m))return;g.set(m,n.Started);let y=l(m);if(y){let v=this.opts.es5?t.varKinds.var:t.varKinds.const;f=(0,e._)`${f}${v} ${m} = ${y};${this.opts._n}`}else if(y=p?.(m))f=(0,e._)`${f}${y}${this.opts._n}`;else throw new r(m);g.set(m,n.Completed)})}return f}}t.ValueScope=s}),Je=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;var e=Rh(),r=C4(),n=Rh();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return n.Name}});var i=C4();Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),t.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class a{optimizeNodes(){return this}optimizeNames($,T){return this}}class o extends a{constructor($,T,N){super(),this.varKind=$,this.name=T,this.rhs=N}render({es5:$,_n:T}){let N=$?r.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${N} ${this.name}${W};`+T}optimizeNames($,T){if($[this.name.str])return this.rhs&&(this.rhs=U(this.rhs,$,T)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class s extends a{constructor($,T,N){super(),this.lhs=$,this.rhs=T,this.sideEffects=N}render({_n:$}){return`${this.lhs} = ${this.rhs};`+$}optimizeNames($,T){if(!(this.lhs instanceof e.Name&&!$[this.lhs.str]&&!this.sideEffects))return this.rhs=U(this.rhs,$,T),this}get names(){let $=this.lhs instanceof e.Name?{}:{...this.lhs.names};return B($,this.rhs)}}class c extends s{constructor($,T,N,W){super($,N,W),this.op=T}render({_n:$}){return`${this.lhs} ${this.op}= ${this.rhs};`+$}}class u extends a{constructor($){super(),this.label=$,this.names={}}render({_n:$}){return`${this.label}:`+$}}class l extends a{constructor($){super(),this.label=$,this.names={}}render({_n:$}){return`break${this.label?` ${this.label}`:""};`+$}}class d extends a{constructor($){super(),this.error=$}render({_n:$}){return`throw ${this.error};`+$}get names(){return this.error.names}}class p extends a{constructor($){super(),this.code=$}render({_n:$}){return`${this.code};`+$}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames($,T){return this.code=U(this.code,$,T),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class f extends a{constructor($=[]){super(),this.nodes=$}render($){return this.nodes.reduce((T,N)=>T+N.render($),"")}optimizeNodes(){let{nodes:$}=this,T=$.length;for(;T--;){let N=$[T].optimizeNodes();Array.isArray(N)?$.splice(T,1,...N):N?$[T]=N:$.splice(T,1)}return $.length>0?this:void 0}optimizeNames($,T){let{nodes:N}=this,W=N.length;for(;W--;){let K=N[W];K.optimizeNames($,T)||(Y($,K.names),N.splice(W,1))}return N.length>0?this:void 0}get names(){return this.nodes.reduce(($,T)=>L($,T.names),{})}}class h extends f{render($){return"{"+$._n+super.render($)+"}"+$._n}}class _ extends f{}class g extends h{}g.kind="else";class m extends h{constructor($,T){super(T),this.condition=$}render($){let T=`if(${this.condition})`+super.render($);return this.else&&(T+="else "+this.else.render($)),T}optimizeNodes(){super.optimizeNodes();let $=this.condition;if($===!0)return this.nodes;let T=this.else;if(T){let N=T.optimizeNodes();T=this.else=Array.isArray(N)?new g(N):N}if(T)return $===!1?T instanceof m?T:T.nodes:this.nodes.length?this:new m(me($),T instanceof m?[T]:T.nodes);if(!($===!1||!this.nodes.length))return this}optimizeNames($,T){var N;if(this.else=(N=this.else)===null||N===void 0?void 0:N.optimizeNames($,T),!!(super.optimizeNames($,T)||this.else))return this.condition=U(this.condition,$,T),this}get names(){let $=super.names;return B($,this.condition),this.else&&L($,this.else.names),$}}m.kind="if";class y extends h{}y.kind="for";class v extends y{constructor($){super(),this.iteration=$}render($){return`for(${this.iteration})`+super.render($)}optimizeNames($,T){if(super.optimizeNames($,T))return this.iteration=U(this.iteration,$,T),this}get names(){return L(super.names,this.iteration.names)}}class b extends y{constructor($,T,N,W){super(),this.varKind=$,this.name=T,this.from=N,this.to=W}render($){let T=$.es5?r.varKinds.var:this.varKind,{name:N,from:W,to:K}=this;return`for(${T} ${N}=${W}; ${N}<${K}; ${N}++)`+super.render($)}get names(){let $=B(super.names,this.from);return B($,this.to)}}class S extends y{constructor($,T,N,W){super(),this.loop=$,this.varKind=T,this.name=N,this.iterable=W}render($){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render($)}optimizeNames($,T){if(super.optimizeNames($,T))return this.iterable=U(this.iterable,$,T),this}get names(){return L(super.names,this.iterable.names)}}class x extends h{constructor($,T,N){super(),this.name=$,this.args=T,this.async=N}render($){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render($)}}x.kind="func";class w extends f{render($){return"return "+super.render($)}}w.kind="return";class E extends h{render($){let T="try"+super.render($);return this.catch&&(T+=this.catch.render($)),this.finally&&(T+=this.finally.render($)),T}optimizeNodes(){var $,T;return super.optimizeNodes(),($=this.catch)===null||$===void 0||$.optimizeNodes(),(T=this.finally)===null||T===void 0||T.optimizeNodes(),this}optimizeNames($,T){var N,W;return super.optimizeNames($,T),(N=this.catch)===null||N===void 0||N.optimizeNames($,T),(W=this.finally)===null||W===void 0||W.optimizeNames($,T),this}get names(){let $=super.names;return this.catch&&L($,this.catch.names),this.finally&&L($,this.finally.names),$}}class O extends h{constructor($){super(),this.error=$}render($){return`catch(${this.error})`+super.render($)}}O.kind="catch";class A extends h{render($){return"finally"+super.render($)}}A.kind="finally";class M{constructor($,T={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...T,_n:T.lines?` +`:""},this._extScope=$,this._scope=new r.Scope({parent:$}),this._nodes=[new _]}toString(){return this._root.render(this.opts)}name($){return this._scope.name($)}scopeName($){return this._extScope.name($)}scopeValue($,T){let N=this._extScope.value($,T);return(this._values[N.prefix]||(this._values[N.prefix]=new Set)).add(N),N}getScopeValue($,T){return this._extScope.getValue($,T)}scopeRefs($){return this._extScope.scopeRefs($,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def($,T,N,W){let K=this._scope.toName(T);return N!==void 0&&W&&(this._constants[K.str]=N),this._leafNode(new o($,K,N)),K}const($,T,N){return this._def(r.varKinds.const,$,T,N)}let($,T,N){return this._def(r.varKinds.let,$,T,N)}var($,T,N){return this._def(r.varKinds.var,$,T,N)}assign($,T,N){return this._leafNode(new s($,T,N))}add($,T){return this._leafNode(new c($,t.operators.ADD,T))}code($){return typeof $=="function"?$():$!==e.nil&&this._leafNode(new p($)),this}object(...$){let T=["{"];for(let[N,W]of $)T.length>1&&T.push(","),T.push(N),(N!==W||this.opts.es5)&&(T.push(":"),(0,e.addCodeArg)(T,W));return T.push("}"),new e._Code(T)}if($,T,N){if(this._blockNode(new m($)),T&&N)this.code(T).else().code(N).endIf();else if(T)this.code(T).endIf();else if(N)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf($){return this._elseNode(new m($))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(m,g)}_for($,T){return this._blockNode($),T&&this.code(T).endFor(),this}for($,T){return this._for(new v($),T)}forRange($,T,N,W,K=this.opts.es5?r.varKinds.var:r.varKinds.let){let pe=this._scope.toName($);return this._for(new b(K,pe,T,N),()=>W(pe))}forOf($,T,N,W=r.varKinds.const){let K=this._scope.toName($);if(this.opts.es5){let pe=T instanceof e.Name?T:this.var("_arr",T);return this.forRange("_i",0,(0,e._)`${pe}.length`,ce=>{this.var(K,(0,e._)`${pe}[${ce}]`),N(K)})}return this._for(new S("of",W,K,T),()=>N(K))}forIn($,T,N,W=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf($,(0,e._)`Object.keys(${T})`,N);let K=this._scope.toName($);return this._for(new S("in",W,K,T),()=>N(K))}endFor(){return this._endBlockNode(y)}label($){return this._leafNode(new u($))}break($){return this._leafNode(new l($))}return($){let T=new w;if(this._blockNode(T),this.code($),T.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(w)}try($,T,N){if(!T&&!N)throw new Error('CodeGen: "try" without "catch" and "finally"');let W=new E;if(this._blockNode(W),this.code($),T){let K=this.name("e");this._currNode=W.catch=new O(K),T(K)}return N&&(this._currNode=W.finally=new A,this.code(N)),this._endBlockNode(O,A)}throw($){return this._leafNode(new d($))}block($,T){return this._blockStarts.push(this._nodes.length),$&&this.code($).endBlock(T),this}endBlock($){let T=this._blockStarts.pop();if(T===void 0)throw new Error("CodeGen: not in self-balancing block");let N=this._nodes.length-T;if(N<0||$!==void 0&&N!==$)throw new Error(`CodeGen: wrong number of nodes: ${N} vs ${$} expected`);return this._nodes.length=T,this}func($,T=e.nil,N,W){return this._blockNode(new x($,T,N)),W&&this.code(W).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize($=1){for(;$-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode($){return this._currNode.nodes.push($),this}_blockNode($){this._currNode.nodes.push($),this._nodes.push($)}_endBlockNode($,T){let N=this._currNode;if(N instanceof $||T&&N instanceof T)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${T?`${$.kind}/${T.kind}`:$.kind}"`)}_elseNode($){let T=this._currNode;if(!(T instanceof m))throw new Error('CodeGen: "else" without "if"');return this._currNode=T.else=$,this}get _root(){return this._nodes[0]}get _currNode(){let $=this._nodes;return $[$.length-1]}set _currNode($){let T=this._nodes;T[T.length-1]=$}}t.CodeGen=M;function L(C,$){for(let T in $)C[T]=(C[T]||0)+($[T]||0);return C}function B(C,$){return $ instanceof e._CodeOrName?L(C,$.names):C}function U(C,$,T){if(C instanceof e.Name)return N(C);if(!W(C))return C;return new e._Code(C._items.reduce((K,pe)=>(pe instanceof e.Name&&(pe=N(pe)),pe instanceof e._Code?K.push(...pe._items):K.push(pe),K),[]));function N(K){let pe=T[K.str];return pe===void 0||$[K.str]!==1?K:(delete $[K.str],pe)}function W(K){return K instanceof e._Code&&K._items.some(pe=>pe instanceof e.Name&&$[pe.str]===1&&T[pe.str]!==void 0)}}function Y(C,$){for(let T in $)C[T]=(C[T]||0)-($[T]||0)}function me(C){return typeof C=="boolean"||typeof C=="number"||C===null?!C:(0,e._)`!${D(C)}`}t.not=me;var Qe=I(t.operators.AND);function mt(...C){return C.reduce(Qe)}t.and=mt;var fe=I(t.operators.OR);function F(...C){return C.reduce(fe)}t.or=F;function I(C){return($,T)=>$===e.nil?T:T===e.nil?$:(0,e._)`${D($)} ${C} ${D(T)}`}function D(C){return C instanceof e.Name?C:(0,e._)`(${C})`}}),ut=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;var e=Je(),r=Rh();function n(x){let w={};for(let E of x)w[E]=!0;return w}t.toHash=n;function i(x,w){return typeof w=="boolean"?w:Object.keys(w).length===0?!0:(a(x,w),!o(w,x.self.RULES.all))}t.alwaysValidSchema=i;function a(x,w=x.schema){let{opts:E,self:O}=x;if(!E.strictSchema||typeof w=="boolean")return;let A=O.RULES.keywords;for(let M in w)A[M]||S(x,`unknown keyword: "${M}"`)}t.checkUnknownRules=a;function o(x,w){if(typeof x=="boolean")return!x;for(let E in x)if(w[E])return!0;return!1}t.schemaHasRules=o;function s(x,w){if(typeof x=="boolean")return!x;for(let E in x)if(E!=="$ref"&&w.all[E])return!0;return!1}t.schemaHasRulesButRef=s;function c({topSchemaRef:x,schemaPath:w},E,O,A){if(!A){if(typeof E=="number"||typeof E=="boolean")return E;if(typeof E=="string")return(0,e._)`${E}`}return(0,e._)`${x}${w}${(0,e.getProperty)(O)}`}t.schemaRefOrVal=c;function u(x){return p(decodeURIComponent(x))}t.unescapeFragment=u;function l(x){return encodeURIComponent(d(x))}t.escapeFragment=l;function d(x){return typeof x=="number"?`${x}`:x.replace(/~/g,"~0").replace(/\//g,"~1")}t.escapeJsonPointer=d;function p(x){return x.replace(/~1/g,"/").replace(/~0/g,"~")}t.unescapeJsonPointer=p;function f(x,w){if(Array.isArray(x))for(let E of x)w(E);else w(x)}t.eachItem=f;function h({mergeNames:x,mergeToName:w,mergeValues:E,resultToName:O}){return(A,M,L,B)=>{let U=L===void 0?M:L instanceof e.Name?(M instanceof e.Name?x(A,M,L):w(A,M,L),L):M instanceof e.Name?(w(A,L,M),M):E(M,L);return B===e.Name&&!(U instanceof e.Name)?O(A,U):U}}t.mergeEvaluated={props:h({mergeNames:(x,w,E)=>x.if((0,e._)`${E} !== true && ${w} !== undefined`,()=>{x.if((0,e._)`${w} === true`,()=>x.assign(E,!0),()=>x.assign(E,(0,e._)`${E} || {}`).code((0,e._)`Object.assign(${E}, ${w})`))}),mergeToName:(x,w,E)=>x.if((0,e._)`${E} !== true`,()=>{w===!0?x.assign(E,!0):(x.assign(E,(0,e._)`${E} || {}`),g(x,E,w))}),mergeValues:(x,w)=>x===!0?!0:{...x,...w},resultToName:_}),items:h({mergeNames:(x,w,E)=>x.if((0,e._)`${E} !== true && ${w} !== undefined`,()=>x.assign(E,(0,e._)`${w} === true ? true : ${E} > ${w} ? ${E} : ${w}`)),mergeToName:(x,w,E)=>x.if((0,e._)`${E} !== true`,()=>x.assign(E,w===!0?!0:(0,e._)`${E} > ${w} ? ${E} : ${w}`)),mergeValues:(x,w)=>x===!0?!0:Math.max(x,w),resultToName:(x,w)=>x.var("items",w)})};function _(x,w){if(w===!0)return x.var("props",!0);let E=x.var("props",(0,e._)`{}`);return w!==void 0&&g(x,E,w),E}t.evaluatedPropsToName=_;function g(x,w,E){Object.keys(E).forEach(O=>x.assign((0,e._)`${w}${(0,e.getProperty)(O)}`,!0))}t.setEvaluated=g;var m={};function y(x,w){return x.scopeValue("func",{ref:w,code:m[w.code]||(m[w.code]=new r._Code(w.code))})}t.useFunc=y;var v;(function(x){x[x.Num=0]="Num",x[x.Str=1]="Str"})(v||(t.Type=v={}));function b(x,w,E){if(x instanceof e.Name){let O=w===v.Num;return E?O?(0,e._)`"[" + ${x} + "]"`:(0,e._)`"['" + ${x} + "']"`:O?(0,e._)`"/" + ${x}`:(0,e._)`"/" + ${x}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return E?(0,e.getProperty)(x).toString():"/"+d(x)}t.getErrorPath=b;function S(x,w,E=x.opts.strictSchema){if(E){if(w=`strict mode: ${w}`,E===!0)throw new Error(w);x.self.logger.warn(w)}}t.checkStrictMode=S}),Ta=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={data:new e.Name("data"),valCxt:new e.Name("valCxt"),instancePath:new e.Name("instancePath"),parentData:new e.Name("parentData"),parentDataProperty:new e.Name("parentDataProperty"),rootData:new e.Name("rootData"),dynamicAnchors:new e.Name("dynamicAnchors"),vErrors:new e.Name("vErrors"),errors:new e.Name("errors"),this:new e.Name("this"),self:new e.Name("self"),scope:new e.Name("scope"),json:new e.Name("json"),jsonPos:new e.Name("jsonPos"),jsonLen:new e.Name("jsonLen"),jsonPart:new e.Name("jsonPart")};t.default=r}),qh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;var e=Je(),r=ut(),n=Ta();t.keywordError={message:({keyword:g})=>(0,e.str)`must pass "${g}" keyword validation`},t.keyword$DataError={message:({keyword:g,schemaType:m})=>m?(0,e.str)`"${g}" keyword must be ${m} ($data)`:(0,e.str)`"${g}" keyword is invalid ($data)`};function i(g,m=t.keywordError,y,v){let{it:b}=g,{gen:S,compositeRule:x,allErrors:w}=b,E=d(g,m,y);v??(x||w)?c(S,E):u(b,(0,e._)`[${E}]`)}t.reportError=i;function a(g,m=t.keywordError,y){let{it:v}=g,{gen:b,compositeRule:S,allErrors:x}=v,w=d(g,m,y);c(b,w),S||x||u(v,n.default.vErrors)}t.reportExtraError=a;function o(g,m){g.assign(n.default.errors,m),g.if((0,e._)`${n.default.vErrors} !== null`,()=>g.if(m,()=>g.assign((0,e._)`${n.default.vErrors}.length`,m),()=>g.assign(n.default.vErrors,null)))}t.resetErrorsCount=o;function s({gen:g,keyword:m,schemaValue:y,data:v,errsCount:b,it:S}){if(b===void 0)throw new Error("ajv implementation error");let x=g.name("err");g.forRange("i",b,n.default.errors,w=>{g.const(x,(0,e._)`${n.default.vErrors}[${w}]`),g.if((0,e._)`${x}.instancePath === undefined`,()=>g.assign((0,e._)`${x}.instancePath`,(0,e.strConcat)(n.default.instancePath,S.errorPath))),g.assign((0,e._)`${x}.schemaPath`,(0,e.str)`${S.errSchemaPath}/${m}`),S.opts.verbose&&(g.assign((0,e._)`${x}.schema`,y),g.assign((0,e._)`${x}.data`,v))})}t.extendErrors=s;function c(g,m){let y=g.const("err",m);g.if((0,e._)`${n.default.vErrors} === null`,()=>g.assign(n.default.vErrors,(0,e._)`[${y}]`),(0,e._)`${n.default.vErrors}.push(${y})`),g.code((0,e._)`${n.default.errors}++`)}function u(g,m){let{gen:y,validateName:v,schemaEnv:b}=g;b.$async?y.throw((0,e._)`new ${g.ValidationError}(${m})`):(y.assign((0,e._)`${v}.errors`,m),y.return(!1))}var l={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function d(g,m,y){let{createErrors:v}=g.it;return v===!1?(0,e._)`{}`:p(g,m,y)}function p(g,m,y={}){let{gen:v,it:b}=g,S=[f(b,y),h(g,y)];return _(g,m,S),v.object(...S)}function f({errorPath:g},{instancePath:m}){let y=m?(0,e.str)`${g}${(0,r.getErrorPath)(m,r.Type.Str)}`:g;return[n.default.instancePath,(0,e.strConcat)(n.default.instancePath,y)]}function h({keyword:g,it:{errSchemaPath:m}},{schemaPath:y,parentSchema:v}){let b=v?m:(0,e.str)`${m}/${g}`;return y&&(b=(0,e.str)`${b}${(0,r.getErrorPath)(y,r.Type.Str)}`),[l.schemaPath,b]}function _(g,{params:m,message:y},v){let{keyword:b,data:S,schemaValue:x,it:w}=g,{opts:E,propertyName:O,topSchemaRef:A,schemaPath:M}=w;v.push([l.keyword,b],[l.params,typeof m=="function"?m(g):m||(0,e._)`{}`]),E.messages&&v.push([l.message,typeof y=="function"?y(g):y]),E.verbose&&v.push([l.schema,x],[l.parentSchema,(0,e._)`${A}${M}`],[n.default.data,S]),O&&v.push([l.propertyName,O])}}),fne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;var e=qh(),r=Je(),n=Ta(),i={message:"boolean schema is false"};function a(c){let{gen:u,schema:l,validateName:d}=c;l===!1?s(c,!1):typeof l=="object"&&l.$async===!0?u.return(n.default.data):(u.assign((0,r._)`${d}.errors`,null),u.return(!0))}t.topBoolOrEmptySchema=a;function o(c,u){let{gen:l,schema:d}=c;d===!1?(l.var(u,!1),s(c)):l.var(u,!0)}t.boolOrEmptySchema=o;function s(c,u){let{gen:l,data:d}=c,p={gen:l,keyword:"false schema",data:d,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:c};(0,e.reportError)(p,i,void 0,u)}}),p2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;var e=["string","number","integer","boolean","null","object","array"],r=new Set(e);function n(a){return typeof a=="string"&&r.has(a)}t.isJSONType=n;function i(){let a={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...a,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},a.number,a.string,a.array,a.object],post:{rules:[]},all:{},keywords:{}}}t.getRules=i}),f2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0;function e({schema:i,self:a},o){let s=a.RULES.types[o];return s&&s!==!0&&r(i,s)}t.schemaHasRulesForType=e;function r(i,a){return a.rules.some(o=>n(i,o))}t.shouldUseGroup=r;function n(i,a){var o;return i[a.keyword]!==void 0||((o=a.definition.implements)===null||o===void 0?void 0:o.some(s=>i[s]!==void 0))}t.shouldUseRule=n}),Ch=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;var e=p2(),r=f2(),n=qh(),i=Je(),a=ut(),o;(function(v){v[v.Correct=0]="Correct",v[v.Wrong=1]="Wrong"})(o||(t.DataType=o={}));function s(v){let b=c(v.type);if(b.includes("null")){if(v.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!b.length&&v.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');v.nullable===!0&&b.push("null")}return b}t.getSchemaTypes=s;function c(v){let b=Array.isArray(v)?v:v?[v]:[];if(b.every(e.isJSONType))return b;throw new Error("type must be JSONType or JSONType[]: "+b.join(","))}t.getJSONTypes=c;function u(v,b){let{gen:S,data:x,opts:w}=v,E=d(b,w.coerceTypes),O=b.length>0&&!(E.length===0&&b.length===1&&(0,r.schemaHasRulesForType)(v,b[0]));if(O){let A=_(b,x,w.strictNumbers,o.Wrong);S.if(A,()=>{E.length?p(v,b,E):m(v)})}return O}t.coerceAndCheckDataType=u;var l=new Set(["string","number","integer","boolean","null"]);function d(v,b){return b?v.filter(S=>l.has(S)||b==="array"&&S==="array"):[]}function p(v,b,S){let{gen:x,data:w,opts:E}=v,O=x.let("dataType",(0,i._)`typeof ${w}`),A=x.let("coerced",(0,i._)`undefined`);E.coerceTypes==="array"&&x.if((0,i._)`${O} == 'object' && Array.isArray(${w}) && ${w}.length == 1`,()=>x.assign(w,(0,i._)`${w}[0]`).assign(O,(0,i._)`typeof ${w}`).if(_(b,w,E.strictNumbers),()=>x.assign(A,w))),x.if((0,i._)`${A} !== undefined`);for(let L of S)(l.has(L)||L==="array"&&E.coerceTypes==="array")&&M(L);x.else(),m(v),x.endIf(),x.if((0,i._)`${A} !== undefined`,()=>{x.assign(w,A),f(v,A)});function M(L){switch(L){case"string":x.elseIf((0,i._)`${O} == "number" || ${O} == "boolean"`).assign(A,(0,i._)`"" + ${w}`).elseIf((0,i._)`${w} === null`).assign(A,(0,i._)`""`);return;case"number":x.elseIf((0,i._)`${O} == "boolean" || ${w} === null || (${O} == "string" && ${w} && ${w} == +${w})`).assign(A,(0,i._)`+${w}`);return;case"integer":x.elseIf((0,i._)`${O} === "boolean" || ${w} === null || (${O} === "string" && ${w} && ${w} == +${w} && !(${w} % 1))`).assign(A,(0,i._)`+${w}`);return;case"boolean":x.elseIf((0,i._)`${w} === "false" || ${w} === 0 || ${w} === null`).assign(A,!1).elseIf((0,i._)`${w} === "true" || ${w} === 1`).assign(A,!0);return;case"null":x.elseIf((0,i._)`${w} === "" || ${w} === 0 || ${w} === false`),x.assign(A,null);return;case"array":x.elseIf((0,i._)`${O} === "string" || ${O} === "number" - || ${O} === "boolean" || ${w} === null`).assign(A,(0,i._)`[${w}]`)}}}function f({gen:v,parentData:b,parentDataProperty:S},x){v.if((0,i._)`${b} !== undefined`,()=>v.assign((0,i._)`${b}[${S}]`,x))}function h(v,b,S,x=o.Correct){let w=x===o.Correct?i.operators.EQ:i.operators.NEQ,E;switch(v){case"null":return(0,i._)`${b} ${w} null`;case"array":E=(0,i._)`Array.isArray(${b})`;break;case"object":E=(0,i._)`${b} && typeof ${b} == "object" && !Array.isArray(${b})`;break;case"integer":E=O((0,i._)`!(${b} % 1) && !isNaN(${b})`);break;case"number":E=O();break;default:return(0,i._)`typeof ${b} ${w} ${v}`}return x===o.Correct?E:(0,i.not)(E);function O(A=i.nil){return(0,i.and)((0,i._)`typeof ${b} == "number"`,A,S?(0,i._)`isFinite(${b})`:i.nil)}}t.checkDataType=h;function _(v,b,S,x){if(v.length===1)return h(v[0],b,S,x);let w,E=(0,a.toHash)(v);if(E.array&&E.object){let O=(0,i._)`typeof ${b} != "object"`;w=E.null?O:(0,i._)`!${b} || ${O}`,delete E.null,delete E.array,delete E.object}else w=i.nil;E.number&&delete E.integer;for(let O in E)w=(0,i.and)(w,h(O,b,S,x));return w}t.checkDataTypes=_;var g={message:({schema:v})=>`must be ${v}`,params:({schema:v,schemaValue:b})=>typeof v=="string"?(0,i._)`{type: ${v}}`:(0,i._)`{type: ${b}}`};function m(v){let b=y(v);(0,n.reportError)(b,g)}t.reportTypeError=m;function y(v){let{gen:b,data:S,schema:x}=v,w=(0,a.schemaRefOrVal)(v,x,"type");return{gen:b,keyword:"type",data:S,schema:x.type,schemaCode:w,schemaValue:w,parentSchema:x,params:{},it:v}}}),fne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;var e=Je(),r=ut();function n(a,o){let{properties:s,items:c}=a.schema;if(o==="object"&&s)for(let u in s)i(a,u,s[u].default);else o==="array"&&Array.isArray(c)&&c.forEach((u,l)=>i(a,l,u.default))}t.assignDefaults=n;function i(a,o,s){let{gen:c,compositeRule:u,data:l,opts:d}=a;if(s===void 0)return;let p=(0,e._)`${l}${(0,e.getProperty)(o)}`;if(u){(0,r.checkStrictMode)(a,`default is ignored for: ${p}`);return}let f=(0,e._)`${p} === undefined`;d.useDefaults==="empty"&&(f=(0,e._)`${f} || ${p} === null || ${p} === ""`),c.if(f,(0,e._)`${p} = ${(0,e.stringify)(s)}`)}}),Yn=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;var e=Je(),r=ut(),n=ka(),i=ut();function a(v,b){let{gen:S,data:x,it:w}=v;S.if(d(S,x,b,w.opts.ownProperties),()=>{v.setParams({missingProperty:(0,e._)`${b}`},!0),v.error()})}t.checkReportMissingProp=a;function o({gen:v,data:b,it:{opts:S}},x,w){return(0,e.or)(...x.map(E=>(0,e.and)(d(v,b,E,S.ownProperties),(0,e._)`${w} = ${E}`)))}t.checkMissingProp=o;function s(v,b){v.setParams({missingProperty:b},!0),v.error()}t.reportMissingProp=s;function c(v){return v.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}t.hasPropFunc=c;function u(v,b,S){return(0,e._)`${c(v)}.call(${b}, ${S})`}t.isOwnProperty=u;function l(v,b,S,x){let w=(0,e._)`${b}${(0,e.getProperty)(S)} !== undefined`;return x?(0,e._)`${w} && ${u(v,b,S)}`:w}t.propertyInData=l;function d(v,b,S,x){let w=(0,e._)`${b}${(0,e.getProperty)(S)} === undefined`;return x?(0,e.or)(w,(0,e.not)(u(v,b,S))):w}t.noPropertyInData=d;function p(v){return v?Object.keys(v).filter(b=>b!=="__proto__"):[]}t.allSchemaProperties=p;function f(v,b){return p(b).filter(S=>!(0,r.alwaysValidSchema)(v,b[S]))}t.schemaProperties=f;function h({schemaCode:v,data:b,it:{gen:S,topSchemaRef:x,schemaPath:w,errorPath:E},it:O},A,M,q){let B=q?(0,e._)`${v}, ${b}, ${x}${w}`:b,U=[[n.default.instancePath,(0,e.strConcat)(n.default.instancePath,E)],[n.default.parentData,O.parentData],[n.default.parentDataProperty,O.parentDataProperty],[n.default.rootData,n.default.rootData]];O.opts.dynamicRef&&U.push([n.default.dynamicAnchors,n.default.dynamicAnchors]);let Y=(0,e._)`${B}, ${S.object(...U)}`;return M!==e.nil?(0,e._)`${A}.call(${M}, ${Y})`:(0,e._)`${A}(${Y})`}t.callValidateCode=h;var _=(0,e._)`new RegExp`;function g({gen:v,it:{opts:b}},S){let x=b.unicodeRegExp?"u":"",{regExp:w}=b.code,E=w(S,x);return v.scopeValue("pattern",{key:E.toString(),ref:E,code:(0,e._)`${w.code==="new RegExp"?_:(0,i.useFunc)(v,w)}(${S}, ${x})`})}t.usePattern=g;function m(v){let{gen:b,data:S,keyword:x,it:w}=v,E=b.name("valid");if(w.allErrors){let A=b.let("valid",!0);return O(()=>b.assign(A,!1)),A}return b.var(E,!0),O(()=>b.break()),E;function O(A){let M=b.const("len",(0,e._)`${S}.length`);b.forRange("i",0,M,q=>{v.subschema({keyword:x,dataProp:q,dataPropType:r.Type.Num},E),b.if((0,e.not)(E),A)})}}t.validateArray=m;function y(v){let{gen:b,schema:S,keyword:x,it:w}=v;if(!Array.isArray(S))throw new Error("ajv implementation error");if(S.some(M=>(0,r.alwaysValidSchema)(w,M))&&!w.opts.unevaluated)return;let O=b.let("valid",!1),A=b.name("_valid");b.block(()=>S.forEach((M,q)=>{let B=v.subschema({keyword:x,schemaProp:q,compositeRule:!0},A);b.assign(O,(0,e._)`${O} || ${A}`),v.mergeValidEvaluated(B,A)||b.if((0,e.not)(O))})),v.result(O,()=>v.reset(),()=>v.error(!0))}t.validateUnion=y}),mne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;var e=Je(),r=ka(),n=Yn(),i=Lh();function a(f,h){let{gen:_,keyword:g,schema:m,parentSchema:y,it:v}=f,b=h.macro.call(v.self,m,y,v),S=l(_,g,b);v.opts.validateSchema!==!1&&v.self.validateSchema(b,!0);let x=_.name("valid");f.subschema({schema:b,schemaPath:e.nil,errSchemaPath:`${v.errSchemaPath}/${g}`,topSchemaRef:S,compositeRule:!0},x),f.pass(x,()=>f.error(!0))}t.macroKeywordCode=a;function o(f,h){var _;let{gen:g,keyword:m,schema:y,parentSchema:v,$data:b,it:S}=f;u(S,h);let x=!b&&h.compile?h.compile.call(S.self,y,v,S):h.validate,w=l(g,m,x),E=g.let("valid");f.block$data(E,O),f.ok((_=h.valid)!==null&&_!==void 0?_:E);function O(){if(h.errors===!1)q(),h.modifying&&s(f),B(()=>f.error());else{let U=h.async?A():M();h.modifying&&s(f),B(()=>c(f,U))}}function A(){let U=g.let("ruleErrs",null);return g.try(()=>q((0,e._)`await `),Y=>g.assign(E,!1).if((0,e._)`${Y} instanceof ${S.ValidationError}`,()=>g.assign(U,(0,e._)`${Y}.errors`),()=>g.throw(Y))),U}function M(){let U=(0,e._)`${w}.errors`;return g.assign(U,null),q(e.nil),U}function q(U=h.async?(0,e._)`await `:e.nil){let Y=S.opts.passContext?r.default.this:r.default.self,me=!("compile"in h&&!b||h.schema===!1);g.assign(E,(0,e._)`${U}${(0,n.callValidateCode)(f,w,Y,me)}`,h.modifying)}function B(U){var Y;g.if((0,e.not)((Y=h.valid)!==null&&Y!==void 0?Y:E),U)}}t.funcKeywordCode=o;function s(f){let{gen:h,data:_,it:g}=f;h.if(g.parentData,()=>h.assign(_,(0,e._)`${g.parentData}[${g.parentDataProperty}]`))}function c(f,h){let{gen:_}=f;_.if((0,e._)`Array.isArray(${h})`,()=>{_.assign(r.default.vErrors,(0,e._)`${r.default.vErrors} === null ? ${h} : ${r.default.vErrors}.concat(${h})`).assign(r.default.errors,(0,e._)`${r.default.vErrors}.length`),(0,i.extendErrors)(f)},()=>f.error())}function u({schemaEnv:f},h){if(h.async&&!f.$async)throw new Error("async keyword in sync schema")}function l(f,h,_){if(_===void 0)throw new Error(`keyword "${h}" failed to compile`);return f.scopeValue("keyword",typeof _=="function"?{ref:_}:{ref:_,code:(0,e.stringify)(_)})}function d(f,h,_=!1){return!h.length||h.some(g=>g==="array"?Array.isArray(f):g==="object"?f&&typeof f=="object"&&!Array.isArray(f):typeof f==g||_&&typeof f>"u")}t.validSchemaType=d;function p({schema:f,opts:h,self:_,errSchemaPath:g},m,y){if(Array.isArray(m.keyword)?!m.keyword.includes(y):m.keyword!==y)throw new Error("ajv implementation error");let v=m.dependencies;if(v?.some(b=>!Object.prototype.hasOwnProperty.call(f,b)))throw new Error(`parent schema must have dependencies of ${y}: ${v.join(",")}`);if(m.validateSchema&&!m.validateSchema(f[y])){let S=`keyword "${y}" value is invalid at path "${g}": `+_.errorsText(m.validateSchema.errors);if(h.validateSchema==="log")_.logger.error(S);else throw new Error(S)}}t.validateKeywordUsage=p}),hne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;var e=Je(),r=ut();function n(o,{keyword:s,schemaProp:c,schema:u,schemaPath:l,errSchemaPath:d,topSchemaRef:p}){if(s!==void 0&&u!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(s!==void 0){let f=o.schema[s];return c===void 0?{schema:f,schemaPath:(0,e._)`${o.schemaPath}${(0,e.getProperty)(s)}`,errSchemaPath:`${o.errSchemaPath}/${s}`}:{schema:f[c],schemaPath:(0,e._)`${o.schemaPath}${(0,e.getProperty)(s)}${(0,e.getProperty)(c)}`,errSchemaPath:`${o.errSchemaPath}/${s}/${(0,r.escapeFragment)(c)}`}}if(u!==void 0){if(l===void 0||d===void 0||p===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:u,schemaPath:l,topSchemaRef:p,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}t.getSubschema=n;function i(o,s,{dataProp:c,dataPropType:u,data:l,dataTypes:d,propertyName:p}){if(l!==void 0&&c!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:f}=s;if(c!==void 0){let{errorPath:_,dataPathArr:g,opts:m}=s,y=f.let("data",(0,e._)`${s.data}${(0,e.getProperty)(c)}`,!0);h(y),o.errorPath=(0,e.str)`${_}${(0,r.getErrorPath)(c,u,m.jsPropertySyntax)}`,o.parentDataProperty=(0,e._)`${c}`,o.dataPathArr=[...g,o.parentDataProperty]}if(l!==void 0){let _=l instanceof e.Name?l:f.let("data",l,!0);h(_),p!==void 0&&(o.propertyName=p)}d&&(o.dataTypes=d);function h(_){o.data=_,o.dataLevel=s.dataLevel+1,o.dataTypes=[],s.definedProperties=new Set,o.parentData=s.data,o.dataNames=[...s.dataNames,_]}}t.extendSubschemaData=i;function a(o,{jtdDiscriminator:s,jtdMetadata:c,compositeRule:u,createErrors:l,allErrors:d}){u!==void 0&&(o.compositeRule=u),l!==void 0&&(o.createErrors=l),d!==void 0&&(o.allErrors=d),o.jtdDiscriminator=s,o.jtdMetadata=c}t.extendSubschemaMode=a}),Fh=V((t,e)=>{e.exports=function r(n,i){if(n===i)return!0;if(n&&i&&typeof n=="object"&&typeof i=="object"){if(n.constructor!==i.constructor)return!1;var a,o,s;if(Array.isArray(n)){if(a=n.length,a!=i.length)return!1;for(o=a;o--!==0;)if(!r(n[o],i[o]))return!1;return!0}if(n.constructor===RegExp)return n.source===i.source&&n.flags===i.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===i.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===i.toString();if(s=Object.keys(n),a=s.length,a!==Object.keys(i).length)return!1;for(o=a;o--!==0;)if(!Object.prototype.hasOwnProperty.call(i,s[o]))return!1;for(o=a;o--!==0;){var c=s[o];if(!r(n[c],i[c]))return!1}return!0}return n!==n&&i!==i}}),gne=V((t,e)=>{var r=e.exports=function(a,o,s){typeof o=="function"&&(s=o,o={}),s=o.cb||s;var c=typeof s=="function"?s:s.pre||function(){},u=s.post||function(){};n(o,c,u,a,"",a)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function n(a,o,s,c,u,l,d,p,f,h){if(c&&typeof c=="object"&&!Array.isArray(c)){o(c,u,l,d,p,f,h);for(var _ in c){var g=c[_];if(Array.isArray(g)){if(_ in r.arrayKeywords)for(var m=0;m{Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;var e=ut(),r=Fh(),n=gne(),i=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function a(g,m=!0){return typeof g=="boolean"?!0:m===!0?!s(g):m?c(g)<=m:!1}t.inlineRef=a;var o=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function s(g){for(let m in g){if(o.has(m))return!0;let y=g[m];if(Array.isArray(y)&&y.some(s)||typeof y=="object"&&s(y))return!0}return!1}function c(g){let m=0;for(let y in g){if(y==="$ref")return 1/0;if(m++,!i.has(y)&&(typeof g[y]=="object"&&(0,e.eachItem)(g[y],v=>m+=c(v)),m===1/0))return 1/0}return m}function u(g,m="",y){y!==!1&&(m=p(m));let v=g.parse(m);return l(g,v)}t.getFullPath=u;function l(g,m){return g.serialize(m).split("#")[0]+"#"}t._getFullPath=l;var d=/#\/?$/;function p(g){return g?g.replace(d,""):""}t.normalizeId=p;function f(g,m,y){return y=p(y),g.resolve(m,y)}t.resolveUrl=f;var h=/^[a-z_][-a-z0-9._]*$/i;function _(g,m){if(typeof g=="boolean")return{};let{schemaId:y,uriResolver:v}=this.opts,b=p(g[y]||m),S={"":b},x=u(v,b,!1),w={},E=new Set;return n(g,{allKeys:!0},(M,q,B,U)=>{if(U===void 0)return;let Y=x+q,me=S[U];typeof M[y]=="string"&&(me=Qe.call(this,M[y])),mt.call(this,M.$anchor),mt.call(this,M.$dynamicAnchor),S[q]=me;function Qe(fe){let F=this.opts.uriResolver.resolve;if(fe=p(me?F(me,fe):fe),E.has(fe))throw A(fe);E.add(fe);let I=this.refs[fe];return typeof I=="string"&&(I=this.refs[I]),typeof I=="object"?O(M,I.schema,fe):fe!==p(Y)&&(fe[0]==="#"?(O(M,w[fe],fe),w[fe]=M):this.refs[fe]=Y),fe}function mt(fe){if(typeof fe=="string"){if(!h.test(fe))throw new Error(`invalid anchor "${fe}"`);Qe.call(this,`#${fe}`)}}}),w;function O(M,q,B){if(q!==void 0&&!r(M,q))throw A(B)}function A(M){return new Error(`reference "${M}" resolves to more than one schema`)}}t.getSchemaRefs=_}),Hh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;var e=pne(),r=Ch(),n=s2(),i=Ch(),a=fne(),o=mne(),s=hne(),c=Je(),u=ka(),l=Zh(),d=ut(),p=Lh();function f(P){if(x(P)&&(E(P),S(P))){m(P);return}h(P,()=>(0,e.topBoolOrEmptySchema)(P))}t.validateFunctionCode=f;function h({gen:P,validateName:R,schema:z,schemaEnv:Z,opts:J},ie){J.code.es5?P.func(R,(0,c._)`${u.default.data}, ${u.default.valCxt}`,Z.$async,()=>{P.code((0,c._)`"use strict"; ${v(z,J)}`),g(P,J),P.code(ie)}):P.func(R,(0,c._)`${u.default.data}, ${_(J)}`,Z.$async,()=>P.code(v(z,J)).code(ie))}function _(P){return(0,c._)`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${P.dynamicRef?(0,c._)`, ${u.default.dynamicAnchors}={}`:c.nil}}={}`}function g(P,R){P.if(u.default.valCxt,()=>{P.var(u.default.instancePath,(0,c._)`${u.default.valCxt}.${u.default.instancePath}`),P.var(u.default.parentData,(0,c._)`${u.default.valCxt}.${u.default.parentData}`),P.var(u.default.parentDataProperty,(0,c._)`${u.default.valCxt}.${u.default.parentDataProperty}`),P.var(u.default.rootData,(0,c._)`${u.default.valCxt}.${u.default.rootData}`),R.dynamicRef&&P.var(u.default.dynamicAnchors,(0,c._)`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{P.var(u.default.instancePath,(0,c._)`""`),P.var(u.default.parentData,(0,c._)`undefined`),P.var(u.default.parentDataProperty,(0,c._)`undefined`),P.var(u.default.rootData,u.default.data),R.dynamicRef&&P.var(u.default.dynamicAnchors,(0,c._)`{}`)})}function m(P){let{schema:R,opts:z,gen:Z}=P;h(P,()=>{z.$comment&&R.$comment&&U(P),M(P),Z.let(u.default.vErrors,null),Z.let(u.default.errors,0),z.unevaluated&&y(P),O(P),Y(P)})}function y(P){let{gen:R,validateName:z}=P;P.evaluated=R.const("evaluated",(0,c._)`${z}.evaluated`),R.if((0,c._)`${P.evaluated}.dynamicProps`,()=>R.assign((0,c._)`${P.evaluated}.props`,(0,c._)`undefined`)),R.if((0,c._)`${P.evaluated}.dynamicItems`,()=>R.assign((0,c._)`${P.evaluated}.items`,(0,c._)`undefined`))}function v(P,R){let z=typeof P=="object"&&P[R.schemaId];return z&&(R.code.source||R.code.process)?(0,c._)`/*# sourceURL=${z} */`:c.nil}function b(P,R){if(x(P)&&(E(P),S(P))){w(P,R);return}(0,e.boolOrEmptySchema)(P,R)}function S({schema:P,self:R}){if(typeof P=="boolean")return!P;for(let z in P)if(R.RULES.all[z])return!0;return!1}function x(P){return typeof P.schema!="boolean"}function w(P,R){let{schema:z,gen:Z,opts:J}=P;J.$comment&&z.$comment&&U(P),q(P),B(P);let ie=Z.const("_errs",u.default.errors);O(P,ie),Z.var(R,(0,c._)`${ie} === ${u.default.errors}`)}function E(P){(0,d.checkUnknownRules)(P),A(P)}function O(P,R){if(P.opts.jtd)return Qe(P,[],!1,R);let z=(0,r.getSchemaTypes)(P.schema),Z=(0,r.coerceAndCheckDataType)(P,z);Qe(P,z,!Z,R)}function A(P){let{schema:R,errSchemaPath:z,opts:Z,self:J}=P;R.$ref&&Z.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(R,J.RULES)&&J.logger.warn(`$ref: keywords ignored in schema at path "${z}"`)}function M(P){let{schema:R,opts:z}=P;R.default!==void 0&&z.useDefaults&&z.strictSchema&&(0,d.checkStrictMode)(P,"default is ignored in the schema root")}function q(P){let R=P.schema[P.opts.schemaId];R&&(P.baseId=(0,l.resolveUrl)(P.opts.uriResolver,P.baseId,R))}function B(P){if(P.schema.$async&&!P.schemaEnv.$async)throw new Error("async schema in sync schema")}function U({gen:P,schemaEnv:R,schema:z,errSchemaPath:Z,opts:J}){let ie=z.$comment;if(J.$comment===!0)P.code((0,c._)`${u.default.self}.logger.log(${ie})`);else if(typeof J.$comment=="function"){let et=(0,c.str)`${Z}/$comment`,Zt=P.scopeValue("root",{ref:R.root});P.code((0,c._)`${u.default.self}.opts.$comment(${ie}, ${et}, ${Zt}.schema)`)}}function Y(P){let{gen:R,schemaEnv:z,validateName:Z,ValidationError:J,opts:ie}=P;z.$async?R.if((0,c._)`${u.default.errors} === 0`,()=>R.return(u.default.data),()=>R.throw((0,c._)`new ${J}(${u.default.vErrors})`)):(R.assign((0,c._)`${Z}.errors`,u.default.vErrors),ie.unevaluated&&me(P),R.return((0,c._)`${u.default.errors} === 0`))}function me({gen:P,evaluated:R,props:z,items:Z}){z instanceof c.Name&&P.assign((0,c._)`${R}.props`,z),Z instanceof c.Name&&P.assign((0,c._)`${R}.items`,Z)}function Qe(P,R,z,Z){let{gen:J,schema:ie,data:et,allErrors:Zt,opts:vt,self:yt}=P,{RULES:tt}=yt;if(ie.$ref&&(vt.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(ie,tt))){J.block(()=>K(P,"$ref",tt.all.$ref.definition));return}vt.jtd||fe(P,R),J.block(()=>{for(let Ct of tt.rules)Yr(Ct);Yr(tt.post)});function Yr(Ct){(0,n.shouldUseGroup)(ie,Ct)&&(Ct.type?(J.if((0,i.checkDataType)(Ct.type,et,vt.strictNumbers)),mt(P,Ct),R.length===1&&R[0]===Ct.type&&z&&(J.else(),(0,i.reportTypeError)(P)),J.endIf()):mt(P,Ct),Zt||J.if((0,c._)`${u.default.errors} === ${Z||0}`))}}function mt(P,R){let{gen:z,schema:Z,opts:{useDefaults:J}}=P;J&&(0,a.assignDefaults)(P,R.type),z.block(()=>{for(let ie of R.rules)(0,n.shouldUseRule)(Z,ie)&&K(P,ie.keyword,ie.definition,R.type)})}function fe(P,R){P.schemaEnv.meta||!P.opts.strictTypes||(F(P,R),P.opts.allowUnionTypes||I(P,R),D(P,P.dataTypes))}function F(P,R){if(R.length){if(!P.dataTypes.length){P.dataTypes=R;return}R.forEach(z=>{$(P.dataTypes,z)||N(P,`type "${z}" not allowed by context "${P.dataTypes.join(",")}"`)}),T(P,R)}}function I(P,R){R.length>1&&!(R.length===2&&R.includes("null"))&&N(P,"use allowUnionTypes to allow union type keyword")}function D(P,R){let z=P.self.RULES.all;for(let Z in z){let J=z[Z];if(typeof J=="object"&&(0,n.shouldUseRule)(P.schema,J)){let{type:ie}=J.definition;ie.length&&!ie.some(et=>C(R,et))&&N(P,`missing type "${ie.join(",")}" for keyword "${Z}"`)}}}function C(P,R){return P.includes(R)||R==="number"&&P.includes("integer")}function $(P,R){return P.includes(R)||R==="integer"&&P.includes("number")}function T(P,R){let z=[];for(let Z of P.dataTypes)$(R,Z)?z.push(Z):R.includes("integer")&&Z==="number"&&z.push("integer");P.dataTypes=z}function N(P,R){let z=P.schemaEnv.baseId+P.errSchemaPath;R+=` at "${z}" (strictTypes)`,(0,d.checkStrictMode)(P,R,P.opts.strictTypes)}class W{constructor(R,z,Z){if((0,o.validateKeywordUsage)(R,z,Z),this.gen=R.gen,this.allErrors=R.allErrors,this.keyword=Z,this.data=R.data,this.schema=R.schema[Z],this.$data=z.$data&&R.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(R,this.schema,Z,this.$data),this.schemaType=z.schemaType,this.parentSchema=R.schema,this.params={},this.it=R,this.def=z,this.$data)this.schemaCode=R.gen.const("vSchema",je(this.$data,R));else if(this.schemaCode=this.schemaValue,!(0,o.validSchemaType)(this.schema,z.schemaType,z.allowUndefined))throw new Error(`${Z} value must be ${JSON.stringify(z.schemaType)}`);("code"in z?z.trackErrors:z.errors!==!1)&&(this.errsCount=R.gen.const("_errs",u.default.errors))}result(R,z,Z){this.failResult((0,c.not)(R),z,Z)}failResult(R,z,Z){this.gen.if(R),Z?Z():this.error(),z?(this.gen.else(),z(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(R,z){this.failResult((0,c.not)(R),void 0,z)}fail(R){if(R===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(R),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(R){if(!this.$data)return this.fail(R);let{schemaCode:z}=this;this.fail((0,c._)`${z} !== undefined && (${(0,c.or)(this.invalid$data(),R)})`)}error(R,z,Z){if(z){this.setParams(z),this._error(R,Z),this.setParams({});return}this._error(R,Z)}_error(R,z){(R?p.reportExtraError:p.reportError)(this,this.def.error,z)}$dataError(){(0,p.reportError)(this,this.def.$dataError||p.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,p.resetErrorsCount)(this.gen,this.errsCount)}ok(R){this.allErrors||this.gen.if(R)}setParams(R,z){z?Object.assign(this.params,R):this.params=R}block$data(R,z,Z=c.nil){this.gen.block(()=>{this.check$data(R,Z),z()})}check$data(R=c.nil,z=c.nil){if(!this.$data)return;let{gen:Z,schemaCode:J,schemaType:ie,def:et}=this;Z.if((0,c.or)((0,c._)`${J} === undefined`,z)),R!==c.nil&&Z.assign(R,!0),(ie.length||et.validateSchema)&&(Z.elseIf(this.invalid$data()),this.$dataError(),R!==c.nil&&Z.assign(R,!1)),Z.else()}invalid$data(){let{gen:R,schemaCode:z,schemaType:Z,def:J,it:ie}=this;return(0,c.or)(et(),Zt());function et(){if(Z.length){if(!(z instanceof c.Name))throw new Error("ajv implementation error");let vt=Array.isArray(Z)?Z:[Z];return(0,c._)`${(0,i.checkDataTypes)(vt,z,ie.opts.strictNumbers,i.DataType.Wrong)}`}return c.nil}function Zt(){if(J.validateSchema){let vt=R.scopeValue("validate$data",{ref:J.validateSchema});return(0,c._)`!${vt}(${z})`}return c.nil}}subschema(R,z){let Z=(0,s.getSubschema)(this.it,R);(0,s.extendSubschemaData)(Z,this.it,R),(0,s.extendSubschemaMode)(Z,R);let J={...this.it,...Z,items:void 0,props:void 0};return b(J,z),J}mergeEvaluated(R,z){let{it:Z,gen:J}=this;Z.opts.unevaluated&&(Z.props!==!0&&R.props!==void 0&&(Z.props=d.mergeEvaluated.props(J,R.props,Z.props,z)),Z.items!==!0&&R.items!==void 0&&(Z.items=d.mergeEvaluated.items(J,R.items,Z.items,z)))}mergeValidEvaluated(R,z){let{it:Z,gen:J}=this;if(Z.opts.unevaluated&&(Z.props!==!0||Z.items!==!0))return J.if(z,()=>this.mergeEvaluated(R,c.Name)),!0}}t.KeywordCxt=W;function K(P,R,z,Z){let J=new W(P,z,R);"code"in z?z.code(J,Z):J.$data&&z.validate?(0,o.funcKeywordCode)(J,z):"macro"in z?(0,o.macroKeywordCode)(J,z):(z.compile||z.validate)&&(0,o.funcKeywordCode)(J,z)}var pe=/^\/(?:[^~]|~0|~1)*$/,ce=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function je(P,{dataLevel:R,dataNames:z,dataPathArr:Z}){let J,ie;if(P==="")return u.default.rootData;if(P[0]==="/"){if(!pe.test(P))throw new Error(`Invalid JSON-pointer: ${P}`);J=P,ie=u.default.rootData}else{let yt=ce.exec(P);if(!yt)throw new Error(`Invalid JSON-pointer: ${P}`);let tt=+yt[1];if(J=yt[2],J==="#"){if(tt>=R)throw new Error(vt("property/index",tt));return Z[R-tt]}if(tt>R)throw new Error(vt("data",tt));if(ie=z[R-tt],!J)return ie}let et=ie,Zt=J.split("/");for(let yt of Zt)yt&&(ie=(0,c._)`${ie}${(0,c.getProperty)((0,d.unescapeJsonPointer)(yt))}`,et=(0,c._)`${et} && ${ie}`);return et;function vt(yt,tt){return`Cannot access ${yt} ${tt} levels up, current level is ${R}`}}t.getData=je}),O$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});class e extends Error{constructor(n){super("validation failed"),this.errors=n,this.ajv=this.validation=!0}}t.default=e}),Bh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Zh();class r extends Error{constructor(i,a,o,s){super(s||`can't resolve reference ${o} from id ${a}`),this.missingRef=(0,e.resolveUrl)(i,a,o),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(i,this.missingRef))}}t.default=r}),R$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;var e=Je(),r=O$(),n=ka(),i=Zh(),a=ut(),o=Hh();class s{constructor(y){var v;this.refs={},this.dynamicAnchors={};let b;typeof y.schema=="object"&&(b=y.schema),this.schema=y.schema,this.schemaId=y.schemaId,this.root=y.root||this,this.baseId=(v=y.baseId)!==null&&v!==void 0?v:(0,i.normalizeId)(b?.[y.schemaId||"$id"]),this.schemaPath=y.schemaPath,this.localRefs=y.localRefs,this.meta=y.meta,this.$async=b?.$async,this.refs={}}}t.SchemaEnv=s;function c(m){let y=d.call(this,m);if(y)return y;let v=(0,i.getFullPath)(this.opts.uriResolver,m.root.baseId),{es5:b,lines:S}=this.opts.code,{ownProperties:x}=this.opts,w=new e.CodeGen(this.scope,{es5:b,lines:S,ownProperties:x}),E;m.$async&&(E=w.scopeValue("Error",{ref:r.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));let O=w.scopeName("validate");m.validateName=O;let A={gen:w,allErrors:this.opts.allErrors,data:n.default.data,parentData:n.default.parentData,parentDataProperty:n.default.parentDataProperty,dataNames:[n.default.data],dataPathArr:[e.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:w.scopeValue("schema",this.opts.code.source===!0?{ref:m.schema,code:(0,e.stringify)(m.schema)}:{ref:m.schema}),validateName:O,ValidationError:E,schema:m.schema,schemaEnv:m,rootId:v,baseId:m.baseId||v,schemaPath:e.nil,errSchemaPath:m.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this},M;try{this._compilations.add(m),(0,o.validateFunctionCode)(A),w.optimize(this.opts.code.optimize);let q=w.toString();M=`${w.scopeRefs(n.default.scope)}return ${q}`,this.opts.code.process&&(M=this.opts.code.process(M,m));let U=new Function(`${n.default.self}`,`${n.default.scope}`,M)(this,this.scope.get());if(this.scope.value(O,{ref:U}),U.errors=null,U.schema=m.schema,U.schemaEnv=m,m.$async&&(U.$async=!0),this.opts.code.source===!0&&(U.source={validateName:O,validateCode:q,scopeValues:w._values}),this.opts.unevaluated){let{props:Y,items:me}=A;U.evaluated={props:Y instanceof e.Name?void 0:Y,items:me instanceof e.Name?void 0:me,dynamicProps:Y instanceof e.Name,dynamicItems:me instanceof e.Name},U.source&&(U.source.evaluated=(0,e.stringify)(U.evaluated))}return m.validate=U,m}catch(q){throw delete m.validate,delete m.validateName,M&&this.logger.error("Error compiling schema, function code:",M),q}finally{this._compilations.delete(m)}}t.compileSchema=c;function u(m,y,v){var b;v=(0,i.resolveUrl)(this.opts.uriResolver,y,v);let S=m.refs[v];if(S)return S;let x=f.call(this,m,v);if(x===void 0){let w=(b=m.localRefs)===null||b===void 0?void 0:b[v],{schemaId:E}=this.opts;w&&(x=new s({schema:w,schemaId:E,root:m,baseId:y}))}if(x!==void 0)return m.refs[v]=l.call(this,x)}t.resolveRef=u;function l(m){return(0,i.inlineRef)(m.schema,this.opts.inlineRefs)?m.schema:m.validate?m:c.call(this,m)}function d(m){for(let y of this._compilations)if(p(y,m))return y}t.getCompilingSchema=d;function p(m,y){return m.schema===y.schema&&m.root===y.root&&m.baseId===y.baseId}function f(m,y){let v;for(;typeof(v=this.refs[y])=="string";)y=v;return v||this.schemas[y]||h.call(this,m,y)}function h(m,y){let v=this.opts.uriResolver.parse(y),b=(0,i._getFullPath)(this.opts.uriResolver,v),S=(0,i.getFullPath)(this.opts.uriResolver,m.baseId,void 0);if(Object.keys(m.schema).length>0&&b===S)return g.call(this,v,m);let x=(0,i.normalizeId)(b),w=this.refs[x]||this.schemas[x];if(typeof w=="string"){let E=h.call(this,m,w);return typeof E?.schema!="object"?void 0:g.call(this,v,E)}if(typeof w?.schema=="object"){if(w.validate||c.call(this,w),x===(0,i.normalizeId)(y)){let{schema:E}=w,{schemaId:O}=this.opts,A=E[O];return A&&(S=(0,i.resolveUrl)(this.opts.uriResolver,S,A)),new s({schema:E,schemaId:O,root:m,baseId:S})}return g.call(this,v,w)}}t.resolveSchema=h;var _=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function g(m,{baseId:y,schema:v,root:b}){var S;if(((S=m.fragment)===null||S===void 0?void 0:S[0])!=="/")return;for(let E of m.fragment.slice(1).split("/")){if(typeof v=="boolean")return;let O=v[(0,a.unescapeFragment)(E)];if(O===void 0)return;v=O;let A=typeof v=="object"&&v[this.opts.schemaId];!_.has(E)&&A&&(y=(0,i.resolveUrl)(this.opts.uriResolver,y,A))}let x;if(typeof v!="boolean"&&v.$ref&&!(0,a.schemaHasRulesButRef)(v,this.RULES)){let E=(0,i.resolveUrl)(this.opts.uriResolver,y,v.$ref);x=h.call(this,b,E)}let{schemaId:w}=this.opts;if(x=x||new s({schema:v,schemaId:w,root:b,baseId:y}),x.schema!==x.root.schema)return x}}),vne=V((t,e)=>{e.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}}),yne=V((t,e)=>{var r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};e.exports={HEX:r}}),_ne=V((t,e)=>{var{HEX:r}=yne(),n=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function i(m){if(u(m,".")<3)return{host:m,isIPV4:!1};let y=m.match(n)||[],[v]=y;return v?{host:c(v,"."),isIPV4:!0}:{host:m,isIPV4:!1}}function a(m,y=!1){let v="",b=!0;for(let S of m){if(r[S]===void 0)return;S!=="0"&&b===!0&&(b=!1),b||(v+=S)}return y&&v.length===0&&(v="0"),v}function o(m){let y=0,v={error:!1,address:"",zone:""},b=[],S=[],x=!1,w=!1,E=!1;function O(){if(S.length){if(x===!1){let A=a(S);if(A!==void 0)b.push(A);else return v.error=!0,!1}S.length=0}return!0}for(let A=0;A7){v.error=!0;break}A-1>=0&&m[A-1]===":"&&(w=!0);continue}else if(M==="%"){if(!O())break;x=!0}else{S.push(M);continue}}return S.length&&(x?v.zone=S.join(""):E?b.push(S.join("")):b.push(a(S))),v.address=b.join(""),v}function s(m){if(u(m,":")<2)return{host:m,isIPV6:!1};let y=o(m);if(y.error)return{host:m,isIPV6:!1};{let v=y.address,b=y.address;return y.zone&&(v+="%"+y.zone,b+="%25"+y.zone),{host:v,escapedHost:b,isIPV6:!0}}}function c(m,y){let v="",b=!0,S=m.length;for(let x=0;x{var r=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,n=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function i(b){return typeof b.secure=="boolean"?b.secure:String(b.scheme).toLowerCase()==="wss"}function a(b){return b.host||(b.error=b.error||"HTTP URIs must have a host."),b}function o(b){let S=String(b.scheme).toLowerCase()==="https";return(b.port===(S?443:80)||b.port==="")&&(b.port=void 0),b.path||(b.path="/"),b}function s(b){return b.secure=i(b),b.resourceName=(b.path||"/")+(b.query?"?"+b.query:""),b.path=void 0,b.query=void 0,b}function c(b){if((b.port===(i(b)?443:80)||b.port==="")&&(b.port=void 0),typeof b.secure=="boolean"&&(b.scheme=b.secure?"wss":"ws",b.secure=void 0),b.resourceName){let[S,x]=b.resourceName.split("?");b.path=S&&S!=="/"?S:void 0,b.query=x,b.resourceName=void 0}return b.fragment=void 0,b}function u(b,S){if(!b.path)return b.error="URN can not be parsed",b;let x=b.path.match(n);if(x){let w=S.scheme||b.scheme||"urn";b.nid=x[1].toLowerCase(),b.nss=x[2];let E=`${w}:${S.nid||b.nid}`,O=v[E];b.path=void 0,O&&(b=O.parse(b,S))}else b.error=b.error||"URN can not be parsed.";return b}function l(b,S){let x=S.scheme||b.scheme||"urn",w=b.nid.toLowerCase(),E=`${x}:${S.nid||w}`,O=v[E];O&&(b=O.serialize(b,S));let A=b,M=b.nss;return A.path=`${w||S.nid}:${M}`,S.skipEscape=!0,A}function d(b,S){let x=b;return x.uuid=x.nss,x.nss=void 0,!S.tolerant&&(!x.uuid||!r.test(x.uuid))&&(x.error=x.error||"UUID is not valid."),x}function p(b){let S=b;return S.nss=(b.uuid||"").toLowerCase(),S}var f={scheme:"http",domainHost:!0,parse:a,serialize:o},h={scheme:"https",domainHost:f.domainHost,parse:a,serialize:o},_={scheme:"ws",domainHost:!0,parse:s,serialize:c},g={scheme:"wss",domainHost:_.domainHost,parse:_.parse,serialize:_.serialize},m={scheme:"urn",parse:u,serialize:l,skipNormalize:!0},y={scheme:"urn:uuid",parse:d,serialize:p,skipNormalize:!0},v={http:f,https:h,ws:_,wss:g,urn:m,"urn:uuid":y};e.exports=v}),c2=V((t,e)=>{var{normalizeIPv6:r,normalizeIPv4:n,removeDotSegments:i,recomposeAuthority:a,normalizeComponentEncoding:o}=_ne(),s=bne();function c(y,v){return typeof y=="string"?y=p(g(y,v),v):typeof y=="object"&&(y=g(p(y,v),v)),y}function u(y,v,b){let S=Object.assign({scheme:"null"},b),x=l(g(y,S),g(v,S),S,!0);return p(x,{...S,skipEscape:!0})}function l(y,v,b,S){let x={};return S||(y=g(p(y,b),b),v=g(p(v,b),b)),b=b||{},!b.tolerant&&v.scheme?(x.scheme=v.scheme,x.userinfo=v.userinfo,x.host=v.host,x.port=v.port,x.path=i(v.path||""),x.query=v.query):(v.userinfo!==void 0||v.host!==void 0||v.port!==void 0?(x.userinfo=v.userinfo,x.host=v.host,x.port=v.port,x.path=i(v.path||""),x.query=v.query):(v.path?(v.path.charAt(0)==="/"?x.path=i(v.path):((y.userinfo!==void 0||y.host!==void 0||y.port!==void 0)&&!y.path?x.path="/"+v.path:y.path?x.path=y.path.slice(0,y.path.lastIndexOf("/")+1)+v.path:x.path=v.path,x.path=i(x.path)),x.query=v.query):(x.path=y.path,v.query!==void 0?x.query=v.query:x.query=y.query),x.userinfo=y.userinfo,x.host=y.host,x.port=y.port),x.scheme=y.scheme),x.fragment=v.fragment,x}function d(y,v,b){return typeof y=="string"?(y=unescape(y),y=p(o(g(y,b),!0),{...b,skipEscape:!0})):typeof y=="object"&&(y=p(o(y,!0),{...b,skipEscape:!0})),typeof v=="string"?(v=unescape(v),v=p(o(g(v,b),!0),{...b,skipEscape:!0})):typeof v=="object"&&(v=p(o(v,!0),{...b,skipEscape:!0})),y.toLowerCase()===v.toLowerCase()}function p(y,v){let b={host:y.host,scheme:y.scheme,userinfo:y.userinfo,port:y.port,path:y.path,query:y.query,nid:y.nid,nss:y.nss,uuid:y.uuid,fragment:y.fragment,reference:y.reference,resourceName:y.resourceName,secure:y.secure,error:""},S=Object.assign({},v),x=[],w=s[(S.scheme||b.scheme||"").toLowerCase()];w&&w.serialize&&w.serialize(b,S),b.path!==void 0&&(S.skipEscape?b.path=unescape(b.path):(b.path=escape(b.path),b.scheme!==void 0&&(b.path=b.path.split("%3A").join(":")))),S.reference!=="suffix"&&b.scheme&&x.push(b.scheme,":");let E=a(b);if(E!==void 0&&(S.reference!=="suffix"&&x.push("//"),x.push(E),b.path&&b.path.charAt(0)!=="/"&&x.push("/")),b.path!==void 0){let O=b.path;!S.absolutePath&&(!w||!w.absolutePath)&&(O=i(O)),E===void 0&&(O=O.replace(/^\/\//u,"/%2F")),x.push(O)}return b.query!==void 0&&x.push("?",b.query),b.fragment!==void 0&&x.push("#",b.fragment),x.join("")}var f=Array.from({length:127},(y,v)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(v)));function h(y){let v=0;for(let b=0,S=y.length;b126||f[v])return!0;return!1}var _=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function g(y,v){let b=Object.assign({},v),S={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},x=y.indexOf("%")!==-1,w=!1;b.reference==="suffix"&&(y=(b.scheme?b.scheme+":":"")+"//"+y);let E=y.match(_);if(E){if(S.scheme=E[1],S.userinfo=E[3],S.host=E[4],S.port=parseInt(E[5],10),S.path=E[6]||"",S.query=E[7],S.fragment=E[8],isNaN(S.port)&&(S.port=E[5]),S.host){let A=n(S.host);if(A.isIPV4===!1){let M=r(A.host);S.host=M.host.toLowerCase(),w=M.isIPV6}else S.host=A.host,w=!0}S.scheme===void 0&&S.userinfo===void 0&&S.host===void 0&&S.port===void 0&&S.query===void 0&&!S.path?S.reference="same-document":S.scheme===void 0?S.reference="relative":S.fragment===void 0?S.reference="absolute":S.reference="uri",b.reference&&b.reference!=="suffix"&&b.reference!==S.reference&&(S.error=S.error||"URI is not a "+b.reference+" reference.");let O=s[(b.scheme||S.scheme||"").toLowerCase()];if(!b.unicodeSupport&&(!O||!O.unicodeSupport)&&S.host&&(b.domainHost||O&&O.domainHost)&&w===!1&&h(S.host))try{S.host=URL.domainToASCII(S.host.toLowerCase())}catch(A){S.error=S.error||"Host's domain name can not be converted to ASCII: "+A}(!O||O&&!O.skipNormalize)&&(x&&S.scheme!==void 0&&(S.scheme=unescape(S.scheme)),x&&S.host!==void 0&&(S.host=unescape(S.host)),S.path&&(S.path=escape(unescape(S.path))),S.fragment&&(S.fragment=encodeURI(decodeURIComponent(S.fragment)))),O&&O.parse&&O.parse(S,b)}else S.error=S.error||"URI can not be parsed.";return S}var m={SCHEMES:s,normalize:c,resolve:u,resolveComponents:l,equal:d,serialize:p,parse:g};e.exports=m,e.exports.default=m,e.exports.fastUri=m}),xne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=c2();e.code='require("ajv/dist/runtime/uri").default',t.default=e}),Sne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var e=Hh();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var r=Je();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});var n=O$(),i=Bh(),a=o2(),o=R$(),s=Je(),c=Zh(),u=Ch(),l=ut(),d=vne(),p=xne(),f=(F,I)=>new RegExp(F,I);f.code="new RegExp";var h=["removeAdditional","useDefaults","coerceTypes"],_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),g={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},m={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},y=200;function v(F){var I,D,C,$,T,N,W,K,pe,ce,je,P,R,z,Z,J,ie,et,Zt,vt,yt,tt,Yr,Ct,Pa;let Rn=F.strict,Oa=(I=F.code)===null||I===void 0?void 0:I.optimize,Rc=Oa===!0||Oa===void 0?1:Oa||0,Cc=(C=(D=F.code)===null||D===void 0?void 0:D.regExp)!==null&&C!==void 0?C:f,Ng=($=F.uriResolver)!==null&&$!==void 0?$:p.default;return{strictSchema:(N=(T=F.strictSchema)!==null&&T!==void 0?T:Rn)!==null&&N!==void 0?N:!0,strictNumbers:(K=(W=F.strictNumbers)!==null&&W!==void 0?W:Rn)!==null&&K!==void 0?K:!0,strictTypes:(ce=(pe=F.strictTypes)!==null&&pe!==void 0?pe:Rn)!==null&&ce!==void 0?ce:"log",strictTuples:(P=(je=F.strictTuples)!==null&&je!==void 0?je:Rn)!==null&&P!==void 0?P:"log",strictRequired:(z=(R=F.strictRequired)!==null&&R!==void 0?R:Rn)!==null&&z!==void 0?z:!1,code:F.code?{...F.code,optimize:Rc,regExp:Cc}:{optimize:Rc,regExp:Cc},loopRequired:(Z=F.loopRequired)!==null&&Z!==void 0?Z:y,loopEnum:(J=F.loopEnum)!==null&&J!==void 0?J:y,meta:(ie=F.meta)!==null&&ie!==void 0?ie:!0,messages:(et=F.messages)!==null&&et!==void 0?et:!0,inlineRefs:(Zt=F.inlineRefs)!==null&&Zt!==void 0?Zt:!0,schemaId:(vt=F.schemaId)!==null&&vt!==void 0?vt:"$id",addUsedSchema:(yt=F.addUsedSchema)!==null&&yt!==void 0?yt:!0,validateSchema:(tt=F.validateSchema)!==null&&tt!==void 0?tt:!0,validateFormats:(Yr=F.validateFormats)!==null&&Yr!==void 0?Yr:!0,unicodeRegExp:(Ct=F.unicodeRegExp)!==null&&Ct!==void 0?Ct:!0,int32range:(Pa=F.int32range)!==null&&Pa!==void 0?Pa:!0,uriResolver:Ng}}class b{constructor(I={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,I=this.opts={...I,...v(I)};let{es5:D,lines:C}=this.opts.code;this.scope=new s.ValueScope({scope:{},prefixes:_,es5:D,lines:C}),this.logger=q(I.logger);let $=I.validateFormats;I.validateFormats=!1,this.RULES=(0,a.getRules)(),S.call(this,g,I,"NOT SUPPORTED"),S.call(this,m,I,"DEPRECATED","warn"),this._metaOpts=A.call(this),I.formats&&E.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),I.keywords&&O.call(this,I.keywords),typeof I.meta=="object"&&this.addMetaSchema(I.meta),w.call(this),I.validateFormats=$}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:I,meta:D,schemaId:C}=this.opts,$=d;C==="id"&&($={...d},$.id=$.$id,delete $.$id),D&&I&&this.addMetaSchema($,$[C],!1)}defaultMeta(){let{meta:I,schemaId:D}=this.opts;return this.opts.defaultMeta=typeof I=="object"?I[D]||I:void 0}validate(I,D){let C;if(typeof I=="string"){if(C=this.getSchema(I),!C)throw new Error(`no schema with key or ref "${I}"`)}else C=this.compile(I);let $=C(D);return"$async"in C||(this.errors=C.errors),$}compile(I,D){let C=this._addSchema(I,D);return C.validate||this._compileSchemaEnv(C)}compileAsync(I,D){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:C}=this.opts;return $.call(this,I,D);async function $(ce,je){await T.call(this,ce.$schema);let P=this._addSchema(ce,je);return P.validate||N.call(this,P)}async function T(ce){ce&&!this.getSchema(ce)&&await $.call(this,{$ref:ce},!0)}async function N(ce){try{return this._compileSchemaEnv(ce)}catch(je){if(!(je instanceof i.default))throw je;return W.call(this,je),await K.call(this,je.missingSchema),N.call(this,ce)}}function W({missingSchema:ce,missingRef:je}){if(this.refs[ce])throw new Error(`AnySchema ${ce} is loaded but ${je} cannot be resolved`)}async function K(ce){let je=await pe.call(this,ce);this.refs[ce]||await T.call(this,je.$schema),this.refs[ce]||this.addSchema(je,ce,D)}async function pe(ce){let je=this._loading[ce];if(je)return je;try{return await(this._loading[ce]=C(ce))}finally{delete this._loading[ce]}}}addSchema(I,D,C,$=this.opts.validateSchema){if(Array.isArray(I)){for(let N of I)this.addSchema(N,void 0,C,$);return this}let T;if(typeof I=="object"){let{schemaId:N}=this.opts;if(T=I[N],T!==void 0&&typeof T!="string")throw new Error(`schema ${N} must be string`)}return D=(0,c.normalizeId)(D||T),this._checkUnique(D),this.schemas[D]=this._addSchema(I,C,D,$,!0),this}addMetaSchema(I,D,C=this.opts.validateSchema){return this.addSchema(I,D,!0,C),this}validateSchema(I,D){if(typeof I=="boolean")return!0;let C;if(C=I.$schema,C!==void 0&&typeof C!="string")throw new Error("$schema must be a string");if(C=C||this.opts.defaultMeta||this.defaultMeta(),!C)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let $=this.validate(C,I);if(!$&&D){let T="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(T);else throw new Error(T)}return $}getSchema(I){let D;for(;typeof(D=x.call(this,I))=="string";)I=D;if(D===void 0){let{schemaId:C}=this.opts,$=new o.SchemaEnv({schema:{},schemaId:C});if(D=o.resolveSchema.call(this,$,I),!D)return;this.refs[I]=D}return D.validate||this._compileSchemaEnv(D)}removeSchema(I){if(I instanceof RegExp)return this._removeAllSchemas(this.schemas,I),this._removeAllSchemas(this.refs,I),this;switch(typeof I){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let D=x.call(this,I);return typeof D=="object"&&this._cache.delete(D.schema),delete this.schemas[I],delete this.refs[I],this}case"object":{let D=I;this._cache.delete(D);let C=I[this.opts.schemaId];return C&&(C=(0,c.normalizeId)(C),delete this.schemas[C],delete this.refs[C]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(I){for(let D of I)this.addKeyword(D);return this}addKeyword(I,D){let C;if(typeof I=="string")C=I,typeof D=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),D.keyword=C);else if(typeof I=="object"&&D===void 0){if(D=I,C=D.keyword,Array.isArray(C)&&!C.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(U.call(this,C,D),!D)return(0,l.eachItem)(C,T=>Y.call(this,T)),this;Qe.call(this,D);let $={...D,type:(0,u.getJSONTypes)(D.type),schemaType:(0,u.getJSONTypes)(D.schemaType)};return(0,l.eachItem)(C,$.type.length===0?T=>Y.call(this,T,$):T=>$.type.forEach(N=>Y.call(this,T,$,N))),this}getKeyword(I){let D=this.RULES.all[I];return typeof D=="object"?D.definition:!!D}removeKeyword(I){let{RULES:D}=this;delete D.keywords[I],delete D.all[I];for(let C of D.rules){let $=C.rules.findIndex(T=>T.keyword===I);$>=0&&C.rules.splice($,1)}return this}addFormat(I,D){return typeof D=="string"&&(D=new RegExp(D)),this.formats[I]=D,this}errorsText(I=this.errors,{separator:D=", ",dataVar:C="data"}={}){return!I||I.length===0?"No errors":I.map($=>`${C}${$.instancePath} ${$.message}`).reduce(($,T)=>$+D+T)}$dataMetaSchema(I,D){let C=this.RULES.all;I=JSON.parse(JSON.stringify(I));for(let $ of D){let T=$.split("/").slice(1),N=I;for(let W of T)N=N[W];for(let W in C){let K=C[W];if(typeof K!="object")continue;let{$data:pe}=K.definition,ce=N[W];pe&&ce&&(N[W]=fe(ce))}}return I}_removeAllSchemas(I,D){for(let C in I){let $=I[C];(!D||D.test(C))&&(typeof $=="string"?delete I[C]:$&&!$.meta&&(this._cache.delete($.schema),delete I[C]))}}_addSchema(I,D,C,$=this.opts.validateSchema,T=this.opts.addUsedSchema){let N,{schemaId:W}=this.opts;if(typeof I=="object")N=I[W];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof I!="boolean")throw new Error("schema must be object or boolean")}let K=this._cache.get(I);if(K!==void 0)return K;C=(0,c.normalizeId)(N||C);let pe=c.getSchemaRefs.call(this,I,C);return K=new o.SchemaEnv({schema:I,schemaId:W,meta:D,baseId:C,localRefs:pe}),this._cache.set(K.schema,K),T&&!C.startsWith("#")&&(C&&this._checkUnique(C),this.refs[C]=K),$&&this.validateSchema(I,!0),K}_checkUnique(I){if(this.schemas[I]||this.refs[I])throw new Error(`schema with key or id "${I}" already exists`)}_compileSchemaEnv(I){if(I.meta?this._compileMetaSchema(I):o.compileSchema.call(this,I),!I.validate)throw new Error("ajv implementation error");return I.validate}_compileMetaSchema(I){let D=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,I)}finally{this.opts=D}}}b.ValidationError=n.default,b.MissingRefError=i.default,t.default=b;function S(F,I,D,C="error"){for(let $ in F){let T=$;T in I&&this.logger[C](`${D}: option ${$}. ${F[T]}`)}}function x(F){return F=(0,c.normalizeId)(F),this.schemas[F]||this.refs[F]}function w(){let F=this.opts.schemas;if(F)if(Array.isArray(F))this.addSchema(F);else for(let I in F)this.addSchema(F[I],I)}function E(){for(let F in this.opts.formats){let I=this.opts.formats[F];I&&this.addFormat(F,I)}}function O(F){if(Array.isArray(F)){this.addVocabulary(F);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let I in F){let D=F[I];D.keyword||(D.keyword=I),this.addKeyword(D)}}function A(){let F={...this.opts};for(let I of h)delete F[I];return F}var M={log(){},warn(){},error(){}};function q(F){if(F===!1)return M;if(F===void 0)return console;if(F.log&&F.warn&&F.error)return F;throw new Error("logger must implement log, warn and error methods")}var B=/^[a-z_$][a-z0-9_$:-]*$/i;function U(F,I){let{RULES:D}=this;if((0,l.eachItem)(F,C=>{if(D.keywords[C])throw new Error(`Keyword ${C} is already defined`);if(!B.test(C))throw new Error(`Keyword ${C} has invalid name`)}),!!I&&I.$data&&!("code"in I||"validate"in I))throw new Error('$data keyword must have "code" or "validate" function')}function Y(F,I,D){var C;let $=I?.post;if(D&&$)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:T}=this,N=$?T.post:T.rules.find(({type:K})=>K===D);if(N||(N={type:D,rules:[]},T.rules.push(N)),T.keywords[F]=!0,!I)return;let W={keyword:F,definition:{...I,type:(0,u.getJSONTypes)(I.type),schemaType:(0,u.getJSONTypes)(I.schemaType)}};I.before?me.call(this,N,W,I.before):N.rules.push(W),T.all[F]=W,(C=I.implements)===null||C===void 0||C.forEach(K=>this.addKeyword(K))}function me(F,I,D){let C=F.rules.findIndex($=>$.keyword===D);C>=0?F.rules.splice(C,0,I):(F.rules.push(I),this.logger.warn(`rule ${D} is not defined`))}function Qe(F){let{metaSchema:I}=F;I!==void 0&&(F.$data&&this.opts.$data&&(I=fe(I)),F.validateSchema=this.compile(I,!0))}var mt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function fe(F){return{anyOf:[F,mt]}}}),wne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=e}),$ne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;var e=Bh(),r=Yn(),n=Je(),i=ka(),a=R$(),o=ut(),s={keyword:"$ref",schemaType:"string",code(l){let{gen:d,schema:p,it:f}=l,{baseId:h,schemaEnv:_,validateName:g,opts:m,self:y}=f,{root:v}=_;if((p==="#"||p==="#/")&&h===v.baseId)return S();let b=a.resolveRef.call(y,v,h,p);if(b===void 0)throw new e.default(f.opts.uriResolver,h,p);if(b instanceof a.SchemaEnv)return x(b);return w(b);function S(){if(_===v)return u(l,g,_,_.$async);let E=d.scopeValue("root",{ref:v});return u(l,(0,n._)`${E}.validate`,v,v.$async)}function x(E){let O=c(l,E);u(l,O,E,E.$async)}function w(E){let O=d.scopeValue("schema",m.code.source===!0?{ref:E,code:(0,n.stringify)(E)}:{ref:E}),A=d.name("valid"),M=l.subschema({schema:E,dataTypes:[],schemaPath:n.nil,topSchemaRef:O,errSchemaPath:p},A);l.mergeEvaluated(M),l.ok(A)}}};function c(l,d){let{gen:p}=l;return d.validate?p.scopeValue("validate",{ref:d.validate}):(0,n._)`${p.scopeValue("wrapper",{ref:d})}.validate`}t.getValidate=c;function u(l,d,p,f){let{gen:h,it:_}=l,{allErrors:g,schemaEnv:m,opts:y}=_,v=y.passContext?i.default.this:n.nil;f?b():S();function b(){if(!m.$async)throw new Error("async schema referenced by sync schema");let E=h.let("valid");h.try(()=>{h.code((0,n._)`await ${(0,r.callValidateCode)(l,d,v)}`),w(d),g||h.assign(E,!0)},O=>{h.if((0,n._)`!(${O} instanceof ${_.ValidationError})`,()=>h.throw(O)),x(O),g||h.assign(E,!1)}),l.ok(E)}function S(){l.result((0,r.callValidateCode)(l,d,v),()=>w(d),()=>x(d))}function x(E){let O=(0,n._)`${E}.errors`;h.assign(i.default.vErrors,(0,n._)`${i.default.vErrors} === null ? ${O} : ${i.default.vErrors}.concat(${O})`),h.assign(i.default.errors,(0,n._)`${i.default.vErrors}.length`)}function w(E){var O;if(!_.opts.unevaluated)return;let A=(O=p?.validate)===null||O===void 0?void 0:O.evaluated;if(_.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(_.props=o.mergeEvaluated.props(h,A.props,_.props));else{let M=h.var("props",(0,n._)`${E}.evaluated.props`);_.props=o.mergeEvaluated.props(h,M,_.props,n.Name)}if(_.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(_.items=o.mergeEvaluated.items(h,A.items,_.items));else{let M=h.var("items",(0,n._)`${E}.evaluated.items`);_.items=o.mergeEvaluated.items(h,M,_.items,n.Name)}}}t.callRef=u,t.default=s}),Ene=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=wne(),r=$ne(),n=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,r.default];t.default=n}),kne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=e.operators,n={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},i={message:({keyword:o,schemaCode:s})=>(0,e.str)`must be ${n[o].okStr} ${s}`,params:({keyword:o,schemaCode:s})=>(0,e._)`{comparison: ${n[o].okStr}, limit: ${s}}`},a={keyword:Object.keys(n),type:"number",schemaType:"number",$data:!0,error:i,code(o){let{keyword:s,data:c,schemaCode:u}=o;o.fail$data((0,e._)`${c} ${n[s].fail} ${u} || isNaN(${c})`)}};t.default=a}),Tne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={message:({schemaCode:i})=>(0,e.str)`must be multiple of ${i}`,params:({schemaCode:i})=>(0,e._)`{multipleOf: ${i}}`},n={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:r,code(i){let{gen:a,data:o,schemaCode:s,it:c}=i,u=c.opts.multipleOfPrecision,l=a.let("res"),d=u?(0,e._)`Math.abs(Math.round(${l}) - ${l}) > 1e-${u}`:(0,e._)`${l} !== parseInt(${l})`;i.fail$data((0,e._)`(${s} === 0 || (${l} = ${o}/${s}, ${d}))`)}};t.default=n}),Ine=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});function e(r){let n=r.length,i=0,a=0,o;for(;a=55296&&o<=56319&&a{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n=Ine(),i={message({keyword:o,schemaCode:s}){let c=o==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${c} than ${s} characters`},params:({schemaCode:o})=>(0,e._)`{limit: ${o}}`},a={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:i,code(o){let{keyword:s,data:c,schemaCode:u,it:l}=o,d=s==="maxLength"?e.operators.GT:e.operators.LT,p=l.opts.unicode===!1?(0,e._)`${c}.length`:(0,e._)`${(0,r.useFunc)(o.gen,n.default)}(${c})`;o.fail$data((0,e._)`${p} ${d} ${u}`)}};t.default=a}),One=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Yn(),r=Je(),n={message:({schemaCode:a})=>(0,r.str)`must match pattern "${a}"`,params:({schemaCode:a})=>(0,r._)`{pattern: ${a}}`},i={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:n,code(a){let{data:o,$data:s,schema:c,schemaCode:u,it:l}=a,d=l.opts.unicodeRegExp?"u":"",p=s?(0,r._)`(new RegExp(${u}, ${d}))`:(0,e.usePattern)(a,c);a.fail$data((0,r._)`!${p}.test(${o})`)}};t.default=i}),Rne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={message({keyword:i,schemaCode:a}){let o=i==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${a} properties`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},n={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:r,code(i){let{keyword:a,data:o,schemaCode:s}=i,c=a==="maxProperties"?e.operators.GT:e.operators.LT;i.fail$data((0,e._)`Object.keys(${o}).length ${c} ${s}`)}};t.default=n}),Cne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Yn(),r=Je(),n=ut(),i={message:({params:{missingProperty:o}})=>(0,r.str)`must have required property '${o}'`,params:({params:{missingProperty:o}})=>(0,r._)`{missingProperty: ${o}}`},a={keyword:"required",type:"object",schemaType:"array",$data:!0,error:i,code(o){let{gen:s,schema:c,schemaCode:u,data:l,$data:d,it:p}=o,{opts:f}=p;if(!d&&c.length===0)return;let h=c.length>=f.loopRequired;if(p.allErrors?_():g(),f.strictRequired){let v=o.parentSchema.properties,{definedProperties:b}=o.it;for(let S of c)if(v?.[S]===void 0&&!b.has(S)){let x=p.schemaEnv.baseId+p.errSchemaPath,w=`required property "${S}" is not defined at "${x}" (strictRequired)`;(0,n.checkStrictMode)(p,w,p.opts.strictRequired)}}function _(){if(h||d)o.block$data(r.nil,m);else for(let v of c)(0,e.checkReportMissingProp)(o,v)}function g(){let v=s.let("missing");if(h||d){let b=s.let("valid",!0);o.block$data(b,()=>y(v,b)),o.ok(b)}else s.if((0,e.checkMissingProp)(o,c,v)),(0,e.reportMissingProp)(o,v),s.else()}function m(){s.forOf("prop",u,v=>{o.setParams({missingProperty:v}),s.if((0,e.noPropertyInData)(s,l,v,f.ownProperties),()=>o.error())})}function y(v,b){o.setParams({missingProperty:v}),s.forOf(v,u,()=>{s.assign(b,(0,e.propertyInData)(s,l,v,f.ownProperties)),s.if((0,r.not)(b),()=>{o.error(),s.break()})},r.nil)}}};t.default=a}),Nne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={message({keyword:i,schemaCode:a}){let o=i==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${a} items`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},n={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:r,code(i){let{keyword:a,data:o,schemaCode:s}=i,c=a==="maxItems"?e.operators.GT:e.operators.LT;i.fail$data((0,e._)`${o}.length ${c} ${s}`)}};t.default=n}),C$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Fh();e.code='require("ajv/dist/runtime/equal").default',t.default=e}),jne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ch(),r=Je(),n=ut(),i=C$(),a={message:({params:{i:s,j:c}})=>(0,r.str)`must NOT have duplicate items (items ## ${c} and ${s} are identical)`,params:({params:{i:s,j:c}})=>(0,r._)`{i: ${s}, j: ${c}}`},o={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:a,code(s){let{gen:c,data:u,$data:l,schema:d,parentSchema:p,schemaCode:f,it:h}=s;if(!l&&!d)return;let _=c.let("valid"),g=p.items?(0,e.getSchemaTypes)(p.items):[];s.block$data(_,m,(0,r._)`${f} === false`),s.ok(_);function m(){let S=c.let("i",(0,r._)`${u}.length`),x=c.let("j");s.setParams({i:S,j:x}),c.assign(_,!0),c.if((0,r._)`${S} > 1`,()=>(y()?v:b)(S,x))}function y(){return g.length>0&&!g.some(S=>S==="object"||S==="array")}function v(S,x){let w=c.name("item"),E=(0,e.checkDataTypes)(g,w,h.opts.strictNumbers,e.DataType.Wrong),O=c.const("indices",(0,r._)`{}`);c.for((0,r._)`;${S}--;`,()=>{c.let(w,(0,r._)`${u}[${S}]`),c.if(E,(0,r._)`continue`),g.length>1&&c.if((0,r._)`typeof ${w} == "string"`,(0,r._)`${w} += "_"`),c.if((0,r._)`typeof ${O}[${w}] == "number"`,()=>{c.assign(x,(0,r._)`${O}[${w}]`),s.error(),c.assign(_,!1).break()}).code((0,r._)`${O}[${w}] = ${S}`)})}function b(S,x){let w=(0,n.useFunc)(c,i.default),E=c.name("outer");c.label(E).for((0,r._)`;${S}--;`,()=>c.for((0,r._)`${x} = ${S}; ${x}--;`,()=>c.if((0,r._)`${w}(${u}[${S}], ${u}[${x}])`,()=>{s.error(),c.assign(_,!1).break(E)})))}}};t.default=o}),Ane=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n=C$(),i={message:"must be equal to constant",params:({schemaCode:o})=>(0,e._)`{allowedValue: ${o}}`},a={keyword:"const",$data:!0,error:i,code(o){let{gen:s,data:c,$data:u,schemaCode:l,schema:d}=o;u||d&&typeof d=="object"?o.fail$data((0,e._)`!${(0,r.useFunc)(s,n.default)}(${c}, ${l})`):o.fail((0,e._)`${d} !== ${c}`)}};t.default=a}),Mne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n=C$(),i={message:"must be equal to one of the allowed values",params:({schemaCode:o})=>(0,e._)`{allowedValues: ${o}}`},a={keyword:"enum",schemaType:"array",$data:!0,error:i,code(o){let{gen:s,data:c,$data:u,schema:l,schemaCode:d,it:p}=o;if(!u&&l.length===0)throw new Error("enum must have non-empty array");let f=l.length>=p.opts.loopEnum,h,_=()=>h??(h=(0,r.useFunc)(s,n.default)),g;if(f||u)g=s.let("valid"),o.block$data(g,m);else{if(!Array.isArray(l))throw new Error("ajv implementation error");let v=s.const("vSchema",d);g=(0,e.or)(...l.map((b,S)=>y(v,S)))}o.pass(g);function m(){s.assign(g,!1),s.forOf("v",d,v=>s.if((0,e._)`${_()}(${c}, ${v})`,()=>s.assign(g,!0).break()))}function y(v,b){let S=l[b];return typeof S=="object"&&S!==null?(0,e._)`${_()}(${c}, ${v}[${b}])`:(0,e._)`${c} === ${S}`}}};t.default=a}),Dne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=kne(),r=Tne(),n=Pne(),i=One(),a=Rne(),o=Cne(),s=Nne(),c=jne(),u=Ane(),l=Mne(),d=[e.default,r.default,n.default,i.default,a.default,o.default,s.default,c.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,l.default];t.default=d}),u2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;var e=Je(),r=ut(),n={message:({params:{len:o}})=>(0,e.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,e._)`{limit: ${o}}`},i={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:n,code(o){let{parentSchema:s,it:c}=o,{items:u}=s;if(!Array.isArray(u)){(0,r.checkStrictMode)(c,'"additionalItems" is ignored when "items" is not an array of schemas');return}a(o,u)}};function a(o,s){let{gen:c,schema:u,data:l,keyword:d,it:p}=o;p.items=!0;let f=c.const("len",(0,e._)`${l}.length`);if(u===!1)o.setParams({len:s.length}),o.pass((0,e._)`${f} <= ${s.length}`);else if(typeof u=="object"&&!(0,r.alwaysValidSchema)(p,u)){let _=c.var("valid",(0,e._)`${f} <= ${s.length}`);c.if((0,e.not)(_),()=>h(_)),o.ok(_)}function h(_){c.forRange("i",s.length,f,g=>{o.subschema({keyword:d,dataProp:g,dataPropType:r.Type.Num},_),p.allErrors||c.if((0,e.not)(_),()=>c.break())})}}t.validateAdditionalItems=a,t.default=i}),l2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;var e=Je(),r=ut(),n=Yn(),i={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(o){let{schema:s,it:c}=o;if(Array.isArray(s))return a(o,"additionalItems",s);c.items=!0,!(0,r.alwaysValidSchema)(c,s)&&o.ok((0,n.validateArray)(o))}};function a(o,s,c=o.schema){let{gen:u,parentSchema:l,data:d,keyword:p,it:f}=o;g(l),f.opts.unevaluated&&c.length&&f.items!==!0&&(f.items=r.mergeEvaluated.items(u,c.length,f.items));let h=u.name("valid"),_=u.const("len",(0,e._)`${d}.length`);c.forEach((m,y)=>{(0,r.alwaysValidSchema)(f,m)||(u.if((0,e._)`${_} > ${y}`,()=>o.subschema({keyword:p,schemaProp:y,dataProp:y},h)),o.ok(h))});function g(m){let{opts:y,errSchemaPath:v}=f,b=c.length,S=b===m.minItems&&(b===m.maxItems||m[s]===!1);if(y.strictTuples&&!S){let x=`"${p}" is ${b}-tuple, but minItems or maxItems/${s} are not specified or different at path "${v}"`;(0,r.checkStrictMode)(f,x,y.strictTuples)}}}t.validateTuple=a,t.default=i}),zne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=l2(),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,e.validateTuple)(n,"items")};t.default=r}),Une=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n=Yn(),i=u2(),a={message:({params:{len:s}})=>(0,e.str)`must NOT have more than ${s} items`,params:({params:{len:s}})=>(0,e._)`{limit: ${s}}`},o={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:a,code(s){let{schema:c,parentSchema:u,it:l}=s,{prefixItems:d}=u;l.items=!0,!(0,r.alwaysValidSchema)(l,c)&&(d?(0,i.validateAdditionalItems)(s,d):s.ok((0,n.validateArray)(s)))}};t.default=o}),qne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n={message:({params:{min:a,max:o}})=>o===void 0?(0,e.str)`must contain at least ${a} valid item(s)`:(0,e.str)`must contain at least ${a} and no more than ${o} valid item(s)`,params:({params:{min:a,max:o}})=>o===void 0?(0,e._)`{minContains: ${a}}`:(0,e._)`{minContains: ${a}, maxContains: ${o}}`},i={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:n,code(a){let{gen:o,schema:s,parentSchema:c,data:u,it:l}=a,d,p,{minContains:f,maxContains:h}=c;l.opts.next?(d=f===void 0?1:f,p=h):d=1;let _=o.const("len",(0,e._)`${u}.length`);if(a.setParams({min:d,max:p}),p===void 0&&d===0){(0,r.checkStrictMode)(l,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(p!==void 0&&d>p){(0,r.checkStrictMode)(l,'"minContains" > "maxContains" is always invalid'),a.fail();return}if((0,r.alwaysValidSchema)(l,s)){let b=(0,e._)`${_} >= ${d}`;p!==void 0&&(b=(0,e._)`${b} && ${_} <= ${p}`),a.pass(b);return}l.items=!0;let g=o.name("valid");p===void 0&&d===1?y(g,()=>o.if(g,()=>o.break())):d===0?(o.let(g,!0),p!==void 0&&o.if((0,e._)`${u}.length > 0`,m)):(o.let(g,!1),m()),a.result(g,()=>a.reset());function m(){let b=o.name("_valid"),S=o.let("count",0);y(b,()=>o.if(b,()=>v(S)))}function y(b,S){o.forRange("i",0,_,x=>{a.subschema({keyword:"contains",dataProp:x,dataPropType:r.Type.Num,compositeRule:!0},b),S()})}function v(b){o.code((0,e._)`${b}++`),p===void 0?o.if((0,e._)`${b} >= ${d}`,()=>o.assign(g,!0).break()):(o.if((0,e._)`${b} > ${p}`,()=>o.assign(g,!1).break()),d===1?o.assign(g,!0):o.if((0,e._)`${b} >= ${d}`,()=>o.assign(g,!0)))}}};t.default=i}),Lne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;var e=Je(),r=ut(),n=Yn();t.error={message:({params:{property:c,depsCount:u,deps:l}})=>{let d=u===1?"property":"properties";return(0,e.str)`must have ${d} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:d}})=>(0,e._)`{property: ${c}, + || ${O} === "boolean" || ${w} === null`).assign(A,(0,i._)`[${w}]`)}}}function f({gen:v,parentData:b,parentDataProperty:S},x){v.if((0,i._)`${b} !== undefined`,()=>v.assign((0,i._)`${b}[${S}]`,x))}function h(v,b,S,x=o.Correct){let w=x===o.Correct?i.operators.EQ:i.operators.NEQ,E;switch(v){case"null":return(0,i._)`${b} ${w} null`;case"array":E=(0,i._)`Array.isArray(${b})`;break;case"object":E=(0,i._)`${b} && typeof ${b} == "object" && !Array.isArray(${b})`;break;case"integer":E=O((0,i._)`!(${b} % 1) && !isNaN(${b})`);break;case"number":E=O();break;default:return(0,i._)`typeof ${b} ${w} ${v}`}return x===o.Correct?E:(0,i.not)(E);function O(A=i.nil){return(0,i.and)((0,i._)`typeof ${b} == "number"`,A,S?(0,i._)`isFinite(${b})`:i.nil)}}t.checkDataType=h;function _(v,b,S,x){if(v.length===1)return h(v[0],b,S,x);let w,E=(0,a.toHash)(v);if(E.array&&E.object){let O=(0,i._)`typeof ${b} != "object"`;w=E.null?O:(0,i._)`!${b} || ${O}`,delete E.null,delete E.array,delete E.object}else w=i.nil;E.number&&delete E.integer;for(let O in E)w=(0,i.and)(w,h(O,b,S,x));return w}t.checkDataTypes=_;var g={message:({schema:v})=>`must be ${v}`,params:({schema:v,schemaValue:b})=>typeof v=="string"?(0,i._)`{type: ${v}}`:(0,i._)`{type: ${b}}`};function m(v){let b=y(v);(0,n.reportError)(b,g)}t.reportTypeError=m;function y(v){let{gen:b,data:S,schema:x}=v,w=(0,a.schemaRefOrVal)(v,x,"type");return{gen:b,keyword:"type",data:S,schema:x.type,schemaCode:w,schemaValue:w,parentSchema:x,params:{},it:v}}}),mne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;var e=Je(),r=ut();function n(a,o){let{properties:s,items:c}=a.schema;if(o==="object"&&s)for(let u in s)i(a,u,s[u].default);else o==="array"&&Array.isArray(c)&&c.forEach((u,l)=>i(a,l,u.default))}t.assignDefaults=n;function i(a,o,s){let{gen:c,compositeRule:u,data:l,opts:d}=a;if(s===void 0)return;let p=(0,e._)`${l}${(0,e.getProperty)(o)}`;if(u){(0,r.checkStrictMode)(a,`default is ignored for: ${p}`);return}let f=(0,e._)`${p} === undefined`;d.useDefaults==="empty"&&(f=(0,e._)`${f} || ${p} === null || ${p} === ""`),c.if(f,(0,e._)`${p} = ${(0,e.stringify)(s)}`)}}),Qn=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;var e=Je(),r=ut(),n=Ta(),i=ut();function a(v,b){let{gen:S,data:x,it:w}=v;S.if(d(S,x,b,w.opts.ownProperties),()=>{v.setParams({missingProperty:(0,e._)`${b}`},!0),v.error()})}t.checkReportMissingProp=a;function o({gen:v,data:b,it:{opts:S}},x,w){return(0,e.or)(...x.map(E=>(0,e.and)(d(v,b,E,S.ownProperties),(0,e._)`${w} = ${E}`)))}t.checkMissingProp=o;function s(v,b){v.setParams({missingProperty:b},!0),v.error()}t.reportMissingProp=s;function c(v){return v.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}t.hasPropFunc=c;function u(v,b,S){return(0,e._)`${c(v)}.call(${b}, ${S})`}t.isOwnProperty=u;function l(v,b,S,x){let w=(0,e._)`${b}${(0,e.getProperty)(S)} !== undefined`;return x?(0,e._)`${w} && ${u(v,b,S)}`:w}t.propertyInData=l;function d(v,b,S,x){let w=(0,e._)`${b}${(0,e.getProperty)(S)} === undefined`;return x?(0,e.or)(w,(0,e.not)(u(v,b,S))):w}t.noPropertyInData=d;function p(v){return v?Object.keys(v).filter(b=>b!=="__proto__"):[]}t.allSchemaProperties=p;function f(v,b){return p(b).filter(S=>!(0,r.alwaysValidSchema)(v,b[S]))}t.schemaProperties=f;function h({schemaCode:v,data:b,it:{gen:S,topSchemaRef:x,schemaPath:w,errorPath:E},it:O},A,M,L){let B=L?(0,e._)`${v}, ${b}, ${x}${w}`:b,U=[[n.default.instancePath,(0,e.strConcat)(n.default.instancePath,E)],[n.default.parentData,O.parentData],[n.default.parentDataProperty,O.parentDataProperty],[n.default.rootData,n.default.rootData]];O.opts.dynamicRef&&U.push([n.default.dynamicAnchors,n.default.dynamicAnchors]);let Y=(0,e._)`${B}, ${S.object(...U)}`;return M!==e.nil?(0,e._)`${A}.call(${M}, ${Y})`:(0,e._)`${A}(${Y})`}t.callValidateCode=h;var _=(0,e._)`new RegExp`;function g({gen:v,it:{opts:b}},S){let x=b.unicodeRegExp?"u":"",{regExp:w}=b.code,E=w(S,x);return v.scopeValue("pattern",{key:E.toString(),ref:E,code:(0,e._)`${w.code==="new RegExp"?_:(0,i.useFunc)(v,w)}(${S}, ${x})`})}t.usePattern=g;function m(v){let{gen:b,data:S,keyword:x,it:w}=v,E=b.name("valid");if(w.allErrors){let A=b.let("valid",!0);return O(()=>b.assign(A,!1)),A}return b.var(E,!0),O(()=>b.break()),E;function O(A){let M=b.const("len",(0,e._)`${S}.length`);b.forRange("i",0,M,L=>{v.subschema({keyword:x,dataProp:L,dataPropType:r.Type.Num},E),b.if((0,e.not)(E),A)})}}t.validateArray=m;function y(v){let{gen:b,schema:S,keyword:x,it:w}=v;if(!Array.isArray(S))throw new Error("ajv implementation error");if(S.some(M=>(0,r.alwaysValidSchema)(w,M))&&!w.opts.unevaluated)return;let O=b.let("valid",!1),A=b.name("_valid");b.block(()=>S.forEach((M,L)=>{let B=v.subschema({keyword:x,schemaProp:L,compositeRule:!0},A);b.assign(O,(0,e._)`${O} || ${A}`),v.mergeValidEvaluated(B,A)||b.if((0,e.not)(O))})),v.result(O,()=>v.reset(),()=>v.error(!0))}t.validateUnion=y}),hne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;var e=Je(),r=Ta(),n=Qn(),i=qh();function a(f,h){let{gen:_,keyword:g,schema:m,parentSchema:y,it:v}=f,b=h.macro.call(v.self,m,y,v),S=l(_,g,b);v.opts.validateSchema!==!1&&v.self.validateSchema(b,!0);let x=_.name("valid");f.subschema({schema:b,schemaPath:e.nil,errSchemaPath:`${v.errSchemaPath}/${g}`,topSchemaRef:S,compositeRule:!0},x),f.pass(x,()=>f.error(!0))}t.macroKeywordCode=a;function o(f,h){var _;let{gen:g,keyword:m,schema:y,parentSchema:v,$data:b,it:S}=f;u(S,h);let x=!b&&h.compile?h.compile.call(S.self,y,v,S):h.validate,w=l(g,m,x),E=g.let("valid");f.block$data(E,O),f.ok((_=h.valid)!==null&&_!==void 0?_:E);function O(){if(h.errors===!1)L(),h.modifying&&s(f),B(()=>f.error());else{let U=h.async?A():M();h.modifying&&s(f),B(()=>c(f,U))}}function A(){let U=g.let("ruleErrs",null);return g.try(()=>L((0,e._)`await `),Y=>g.assign(E,!1).if((0,e._)`${Y} instanceof ${S.ValidationError}`,()=>g.assign(U,(0,e._)`${Y}.errors`),()=>g.throw(Y))),U}function M(){let U=(0,e._)`${w}.errors`;return g.assign(U,null),L(e.nil),U}function L(U=h.async?(0,e._)`await `:e.nil){let Y=S.opts.passContext?r.default.this:r.default.self,me=!("compile"in h&&!b||h.schema===!1);g.assign(E,(0,e._)`${U}${(0,n.callValidateCode)(f,w,Y,me)}`,h.modifying)}function B(U){var Y;g.if((0,e.not)((Y=h.valid)!==null&&Y!==void 0?Y:E),U)}}t.funcKeywordCode=o;function s(f){let{gen:h,data:_,it:g}=f;h.if(g.parentData,()=>h.assign(_,(0,e._)`${g.parentData}[${g.parentDataProperty}]`))}function c(f,h){let{gen:_}=f;_.if((0,e._)`Array.isArray(${h})`,()=>{_.assign(r.default.vErrors,(0,e._)`${r.default.vErrors} === null ? ${h} : ${r.default.vErrors}.concat(${h})`).assign(r.default.errors,(0,e._)`${r.default.vErrors}.length`),(0,i.extendErrors)(f)},()=>f.error())}function u({schemaEnv:f},h){if(h.async&&!f.$async)throw new Error("async keyword in sync schema")}function l(f,h,_){if(_===void 0)throw new Error(`keyword "${h}" failed to compile`);return f.scopeValue("keyword",typeof _=="function"?{ref:_}:{ref:_,code:(0,e.stringify)(_)})}function d(f,h,_=!1){return!h.length||h.some(g=>g==="array"?Array.isArray(f):g==="object"?f&&typeof f=="object"&&!Array.isArray(f):typeof f==g||_&&typeof f>"u")}t.validSchemaType=d;function p({schema:f,opts:h,self:_,errSchemaPath:g},m,y){if(Array.isArray(m.keyword)?!m.keyword.includes(y):m.keyword!==y)throw new Error("ajv implementation error");let v=m.dependencies;if(v?.some(b=>!Object.prototype.hasOwnProperty.call(f,b)))throw new Error(`parent schema must have dependencies of ${y}: ${v.join(",")}`);if(m.validateSchema&&!m.validateSchema(f[y])){let S=`keyword "${y}" value is invalid at path "${g}": `+_.errorsText(m.validateSchema.errors);if(h.validateSchema==="log")_.logger.error(S);else throw new Error(S)}}t.validateKeywordUsage=p}),gne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;var e=Je(),r=ut();function n(o,{keyword:s,schemaProp:c,schema:u,schemaPath:l,errSchemaPath:d,topSchemaRef:p}){if(s!==void 0&&u!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(s!==void 0){let f=o.schema[s];return c===void 0?{schema:f,schemaPath:(0,e._)`${o.schemaPath}${(0,e.getProperty)(s)}`,errSchemaPath:`${o.errSchemaPath}/${s}`}:{schema:f[c],schemaPath:(0,e._)`${o.schemaPath}${(0,e.getProperty)(s)}${(0,e.getProperty)(c)}`,errSchemaPath:`${o.errSchemaPath}/${s}/${(0,r.escapeFragment)(c)}`}}if(u!==void 0){if(l===void 0||d===void 0||p===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:u,schemaPath:l,topSchemaRef:p,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}t.getSubschema=n;function i(o,s,{dataProp:c,dataPropType:u,data:l,dataTypes:d,propertyName:p}){if(l!==void 0&&c!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:f}=s;if(c!==void 0){let{errorPath:_,dataPathArr:g,opts:m}=s,y=f.let("data",(0,e._)`${s.data}${(0,e.getProperty)(c)}`,!0);h(y),o.errorPath=(0,e.str)`${_}${(0,r.getErrorPath)(c,u,m.jsPropertySyntax)}`,o.parentDataProperty=(0,e._)`${c}`,o.dataPathArr=[...g,o.parentDataProperty]}if(l!==void 0){let _=l instanceof e.Name?l:f.let("data",l,!0);h(_),p!==void 0&&(o.propertyName=p)}d&&(o.dataTypes=d);function h(_){o.data=_,o.dataLevel=s.dataLevel+1,o.dataTypes=[],s.definedProperties=new Set,o.parentData=s.data,o.dataNames=[...s.dataNames,_]}}t.extendSubschemaData=i;function a(o,{jtdDiscriminator:s,jtdMetadata:c,compositeRule:u,createErrors:l,allErrors:d}){u!==void 0&&(o.compositeRule=u),l!==void 0&&(o.createErrors=l),d!==void 0&&(o.allErrors=d),o.jtdDiscriminator=s,o.jtdMetadata=c}t.extendSubschemaMode=a}),Fh=V((t,e)=>{e.exports=function r(n,i){if(n===i)return!0;if(n&&i&&typeof n=="object"&&typeof i=="object"){if(n.constructor!==i.constructor)return!1;var a,o,s;if(Array.isArray(n)){if(a=n.length,a!=i.length)return!1;for(o=a;o--!==0;)if(!r(n[o],i[o]))return!1;return!0}if(n.constructor===RegExp)return n.source===i.source&&n.flags===i.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===i.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===i.toString();if(s=Object.keys(n),a=s.length,a!==Object.keys(i).length)return!1;for(o=a;o--!==0;)if(!Object.prototype.hasOwnProperty.call(i,s[o]))return!1;for(o=a;o--!==0;){var c=s[o];if(!r(n[c],i[c]))return!1}return!0}return n!==n&&i!==i}}),vne=V((t,e)=>{var r=e.exports=function(a,o,s){typeof o=="function"&&(s=o,o={}),s=o.cb||s;var c=typeof s=="function"?s:s.pre||function(){},u=s.post||function(){};n(o,c,u,a,"",a)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function n(a,o,s,c,u,l,d,p,f,h){if(c&&typeof c=="object"&&!Array.isArray(c)){o(c,u,l,d,p,f,h);for(var _ in c){var g=c[_];if(Array.isArray(g)){if(_ in r.arrayKeywords)for(var m=0;m{Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;var e=ut(),r=Fh(),n=vne(),i=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function a(g,m=!0){return typeof g=="boolean"?!0:m===!0?!s(g):m?c(g)<=m:!1}t.inlineRef=a;var o=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function s(g){for(let m in g){if(o.has(m))return!0;let y=g[m];if(Array.isArray(y)&&y.some(s)||typeof y=="object"&&s(y))return!0}return!1}function c(g){let m=0;for(let y in g){if(y==="$ref")return 1/0;if(m++,!i.has(y)&&(typeof g[y]=="object"&&(0,e.eachItem)(g[y],v=>m+=c(v)),m===1/0))return 1/0}return m}function u(g,m="",y){y!==!1&&(m=p(m));let v=g.parse(m);return l(g,v)}t.getFullPath=u;function l(g,m){return g.serialize(m).split("#")[0]+"#"}t._getFullPath=l;var d=/#\/?$/;function p(g){return g?g.replace(d,""):""}t.normalizeId=p;function f(g,m,y){return y=p(y),g.resolve(m,y)}t.resolveUrl=f;var h=/^[a-z_][-a-z0-9._]*$/i;function _(g,m){if(typeof g=="boolean")return{};let{schemaId:y,uriResolver:v}=this.opts,b=p(g[y]||m),S={"":b},x=u(v,b,!1),w={},E=new Set;return n(g,{allKeys:!0},(M,L,B,U)=>{if(U===void 0)return;let Y=x+L,me=S[U];typeof M[y]=="string"&&(me=Qe.call(this,M[y])),mt.call(this,M.$anchor),mt.call(this,M.$dynamicAnchor),S[L]=me;function Qe(fe){let F=this.opts.uriResolver.resolve;if(fe=p(me?F(me,fe):fe),E.has(fe))throw A(fe);E.add(fe);let I=this.refs[fe];return typeof I=="string"&&(I=this.refs[I]),typeof I=="object"?O(M,I.schema,fe):fe!==p(Y)&&(fe[0]==="#"?(O(M,w[fe],fe),w[fe]=M):this.refs[fe]=Y),fe}function mt(fe){if(typeof fe=="string"){if(!h.test(fe))throw new Error(`invalid anchor "${fe}"`);Qe.call(this,`#${fe}`)}}}),w;function O(M,L,B){if(L!==void 0&&!r(M,L))throw A(B)}function A(M){return new Error(`reference "${M}" resolves to more than one schema`)}}t.getSchemaRefs=_}),Hh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;var e=fne(),r=Ch(),n=f2(),i=Ch(),a=mne(),o=hne(),s=gne(),c=Je(),u=Ta(),l=Zh(),d=ut(),p=qh();function f(P){if(x(P)&&(E(P),S(P))){m(P);return}h(P,()=>(0,e.topBoolOrEmptySchema)(P))}t.validateFunctionCode=f;function h({gen:P,validateName:R,schema:z,schemaEnv:Z,opts:J},ie){J.code.es5?P.func(R,(0,c._)`${u.default.data}, ${u.default.valCxt}`,Z.$async,()=>{P.code((0,c._)`"use strict"; ${v(z,J)}`),g(P,J),P.code(ie)}):P.func(R,(0,c._)`${u.default.data}, ${_(J)}`,Z.$async,()=>P.code(v(z,J)).code(ie))}function _(P){return(0,c._)`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${P.dynamicRef?(0,c._)`, ${u.default.dynamicAnchors}={}`:c.nil}}={}`}function g(P,R){P.if(u.default.valCxt,()=>{P.var(u.default.instancePath,(0,c._)`${u.default.valCxt}.${u.default.instancePath}`),P.var(u.default.parentData,(0,c._)`${u.default.valCxt}.${u.default.parentData}`),P.var(u.default.parentDataProperty,(0,c._)`${u.default.valCxt}.${u.default.parentDataProperty}`),P.var(u.default.rootData,(0,c._)`${u.default.valCxt}.${u.default.rootData}`),R.dynamicRef&&P.var(u.default.dynamicAnchors,(0,c._)`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{P.var(u.default.instancePath,(0,c._)`""`),P.var(u.default.parentData,(0,c._)`undefined`),P.var(u.default.parentDataProperty,(0,c._)`undefined`),P.var(u.default.rootData,u.default.data),R.dynamicRef&&P.var(u.default.dynamicAnchors,(0,c._)`{}`)})}function m(P){let{schema:R,opts:z,gen:Z}=P;h(P,()=>{z.$comment&&R.$comment&&U(P),M(P),Z.let(u.default.vErrors,null),Z.let(u.default.errors,0),z.unevaluated&&y(P),O(P),Y(P)})}function y(P){let{gen:R,validateName:z}=P;P.evaluated=R.const("evaluated",(0,c._)`${z}.evaluated`),R.if((0,c._)`${P.evaluated}.dynamicProps`,()=>R.assign((0,c._)`${P.evaluated}.props`,(0,c._)`undefined`)),R.if((0,c._)`${P.evaluated}.dynamicItems`,()=>R.assign((0,c._)`${P.evaluated}.items`,(0,c._)`undefined`))}function v(P,R){let z=typeof P=="object"&&P[R.schemaId];return z&&(R.code.source||R.code.process)?(0,c._)`/*# sourceURL=${z} */`:c.nil}function b(P,R){if(x(P)&&(E(P),S(P))){w(P,R);return}(0,e.boolOrEmptySchema)(P,R)}function S({schema:P,self:R}){if(typeof P=="boolean")return!P;for(let z in P)if(R.RULES.all[z])return!0;return!1}function x(P){return typeof P.schema!="boolean"}function w(P,R){let{schema:z,gen:Z,opts:J}=P;J.$comment&&z.$comment&&U(P),L(P),B(P);let ie=Z.const("_errs",u.default.errors);O(P,ie),Z.var(R,(0,c._)`${ie} === ${u.default.errors}`)}function E(P){(0,d.checkUnknownRules)(P),A(P)}function O(P,R){if(P.opts.jtd)return Qe(P,[],!1,R);let z=(0,r.getSchemaTypes)(P.schema),Z=(0,r.coerceAndCheckDataType)(P,z);Qe(P,z,!Z,R)}function A(P){let{schema:R,errSchemaPath:z,opts:Z,self:J}=P;R.$ref&&Z.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(R,J.RULES)&&J.logger.warn(`$ref: keywords ignored in schema at path "${z}"`)}function M(P){let{schema:R,opts:z}=P;R.default!==void 0&&z.useDefaults&&z.strictSchema&&(0,d.checkStrictMode)(P,"default is ignored in the schema root")}function L(P){let R=P.schema[P.opts.schemaId];R&&(P.baseId=(0,l.resolveUrl)(P.opts.uriResolver,P.baseId,R))}function B(P){if(P.schema.$async&&!P.schemaEnv.$async)throw new Error("async schema in sync schema")}function U({gen:P,schemaEnv:R,schema:z,errSchemaPath:Z,opts:J}){let ie=z.$comment;if(J.$comment===!0)P.code((0,c._)`${u.default.self}.logger.log(${ie})`);else if(typeof J.$comment=="function"){let et=(0,c.str)`${Z}/$comment`,Zt=P.scopeValue("root",{ref:R.root});P.code((0,c._)`${u.default.self}.opts.$comment(${ie}, ${et}, ${Zt}.schema)`)}}function Y(P){let{gen:R,schemaEnv:z,validateName:Z,ValidationError:J,opts:ie}=P;z.$async?R.if((0,c._)`${u.default.errors} === 0`,()=>R.return(u.default.data),()=>R.throw((0,c._)`new ${J}(${u.default.vErrors})`)):(R.assign((0,c._)`${Z}.errors`,u.default.vErrors),ie.unevaluated&&me(P),R.return((0,c._)`${u.default.errors} === 0`))}function me({gen:P,evaluated:R,props:z,items:Z}){z instanceof c.Name&&P.assign((0,c._)`${R}.props`,z),Z instanceof c.Name&&P.assign((0,c._)`${R}.items`,Z)}function Qe(P,R,z,Z){let{gen:J,schema:ie,data:et,allErrors:Zt,opts:vt,self:yt}=P,{RULES:tt}=yt;if(ie.$ref&&(vt.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(ie,tt))){J.block(()=>K(P,"$ref",tt.all.$ref.definition));return}vt.jtd||fe(P,R),J.block(()=>{for(let Ct of tt.rules)Yr(Ct);Yr(tt.post)});function Yr(Ct){(0,n.shouldUseGroup)(ie,Ct)&&(Ct.type?(J.if((0,i.checkDataType)(Ct.type,et,vt.strictNumbers)),mt(P,Ct),R.length===1&&R[0]===Ct.type&&z&&(J.else(),(0,i.reportTypeError)(P)),J.endIf()):mt(P,Ct),Zt||J.if((0,c._)`${u.default.errors} === ${Z||0}`))}}function mt(P,R){let{gen:z,schema:Z,opts:{useDefaults:J}}=P;J&&(0,a.assignDefaults)(P,R.type),z.block(()=>{for(let ie of R.rules)(0,n.shouldUseRule)(Z,ie)&&K(P,ie.keyword,ie.definition,R.type)})}function fe(P,R){P.schemaEnv.meta||!P.opts.strictTypes||(F(P,R),P.opts.allowUnionTypes||I(P,R),D(P,P.dataTypes))}function F(P,R){if(R.length){if(!P.dataTypes.length){P.dataTypes=R;return}R.forEach(z=>{$(P.dataTypes,z)||N(P,`type "${z}" not allowed by context "${P.dataTypes.join(",")}"`)}),T(P,R)}}function I(P,R){R.length>1&&!(R.length===2&&R.includes("null"))&&N(P,"use allowUnionTypes to allow union type keyword")}function D(P,R){let z=P.self.RULES.all;for(let Z in z){let J=z[Z];if(typeof J=="object"&&(0,n.shouldUseRule)(P.schema,J)){let{type:ie}=J.definition;ie.length&&!ie.some(et=>C(R,et))&&N(P,`missing type "${ie.join(",")}" for keyword "${Z}"`)}}}function C(P,R){return P.includes(R)||R==="number"&&P.includes("integer")}function $(P,R){return P.includes(R)||R==="integer"&&P.includes("number")}function T(P,R){let z=[];for(let Z of P.dataTypes)$(R,Z)?z.push(Z):R.includes("integer")&&Z==="number"&&z.push("integer");P.dataTypes=z}function N(P,R){let z=P.schemaEnv.baseId+P.errSchemaPath;R+=` at "${z}" (strictTypes)`,(0,d.checkStrictMode)(P,R,P.opts.strictTypes)}class W{constructor(R,z,Z){if((0,o.validateKeywordUsage)(R,z,Z),this.gen=R.gen,this.allErrors=R.allErrors,this.keyword=Z,this.data=R.data,this.schema=R.schema[Z],this.$data=z.$data&&R.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(R,this.schema,Z,this.$data),this.schemaType=z.schemaType,this.parentSchema=R.schema,this.params={},this.it=R,this.def=z,this.$data)this.schemaCode=R.gen.const("vSchema",je(this.$data,R));else if(this.schemaCode=this.schemaValue,!(0,o.validSchemaType)(this.schema,z.schemaType,z.allowUndefined))throw new Error(`${Z} value must be ${JSON.stringify(z.schemaType)}`);("code"in z?z.trackErrors:z.errors!==!1)&&(this.errsCount=R.gen.const("_errs",u.default.errors))}result(R,z,Z){this.failResult((0,c.not)(R),z,Z)}failResult(R,z,Z){this.gen.if(R),Z?Z():this.error(),z?(this.gen.else(),z(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(R,z){this.failResult((0,c.not)(R),void 0,z)}fail(R){if(R===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(R),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(R){if(!this.$data)return this.fail(R);let{schemaCode:z}=this;this.fail((0,c._)`${z} !== undefined && (${(0,c.or)(this.invalid$data(),R)})`)}error(R,z,Z){if(z){this.setParams(z),this._error(R,Z),this.setParams({});return}this._error(R,Z)}_error(R,z){(R?p.reportExtraError:p.reportError)(this,this.def.error,z)}$dataError(){(0,p.reportError)(this,this.def.$dataError||p.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,p.resetErrorsCount)(this.gen,this.errsCount)}ok(R){this.allErrors||this.gen.if(R)}setParams(R,z){z?Object.assign(this.params,R):this.params=R}block$data(R,z,Z=c.nil){this.gen.block(()=>{this.check$data(R,Z),z()})}check$data(R=c.nil,z=c.nil){if(!this.$data)return;let{gen:Z,schemaCode:J,schemaType:ie,def:et}=this;Z.if((0,c.or)((0,c._)`${J} === undefined`,z)),R!==c.nil&&Z.assign(R,!0),(ie.length||et.validateSchema)&&(Z.elseIf(this.invalid$data()),this.$dataError(),R!==c.nil&&Z.assign(R,!1)),Z.else()}invalid$data(){let{gen:R,schemaCode:z,schemaType:Z,def:J,it:ie}=this;return(0,c.or)(et(),Zt());function et(){if(Z.length){if(!(z instanceof c.Name))throw new Error("ajv implementation error");let vt=Array.isArray(Z)?Z:[Z];return(0,c._)`${(0,i.checkDataTypes)(vt,z,ie.opts.strictNumbers,i.DataType.Wrong)}`}return c.nil}function Zt(){if(J.validateSchema){let vt=R.scopeValue("validate$data",{ref:J.validateSchema});return(0,c._)`!${vt}(${z})`}return c.nil}}subschema(R,z){let Z=(0,s.getSubschema)(this.it,R);(0,s.extendSubschemaData)(Z,this.it,R),(0,s.extendSubschemaMode)(Z,R);let J={...this.it,...Z,items:void 0,props:void 0};return b(J,z),J}mergeEvaluated(R,z){let{it:Z,gen:J}=this;Z.opts.unevaluated&&(Z.props!==!0&&R.props!==void 0&&(Z.props=d.mergeEvaluated.props(J,R.props,Z.props,z)),Z.items!==!0&&R.items!==void 0&&(Z.items=d.mergeEvaluated.items(J,R.items,Z.items,z)))}mergeValidEvaluated(R,z){let{it:Z,gen:J}=this;if(Z.opts.unevaluated&&(Z.props!==!0||Z.items!==!0))return J.if(z,()=>this.mergeEvaluated(R,c.Name)),!0}}t.KeywordCxt=W;function K(P,R,z,Z){let J=new W(P,z,R);"code"in z?z.code(J,Z):J.$data&&z.validate?(0,o.funcKeywordCode)(J,z):"macro"in z?(0,o.macroKeywordCode)(J,z):(z.compile||z.validate)&&(0,o.funcKeywordCode)(J,z)}var pe=/^\/(?:[^~]|~0|~1)*$/,ce=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function je(P,{dataLevel:R,dataNames:z,dataPathArr:Z}){let J,ie;if(P==="")return u.default.rootData;if(P[0]==="/"){if(!pe.test(P))throw new Error(`Invalid JSON-pointer: ${P}`);J=P,ie=u.default.rootData}else{let yt=ce.exec(P);if(!yt)throw new Error(`Invalid JSON-pointer: ${P}`);let tt=+yt[1];if(J=yt[2],J==="#"){if(tt>=R)throw new Error(vt("property/index",tt));return Z[R-tt]}if(tt>R)throw new Error(vt("data",tt));if(ie=z[R-tt],!J)return ie}let et=ie,Zt=J.split("/");for(let yt of Zt)yt&&(ie=(0,c._)`${ie}${(0,c.getProperty)((0,d.unescapeJsonPointer)(yt))}`,et=(0,c._)`${et} && ${ie}`);return et;function vt(yt,tt){return`Cannot access ${yt} ${tt} levels up, current level is ${R}`}}t.getData=je}),R$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});class e extends Error{constructor(n){super("validation failed"),this.errors=n,this.ajv=this.validation=!0}}t.default=e}),Bh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Zh();class r extends Error{constructor(i,a,o,s){super(s||`can't resolve reference ${o} from id ${a}`),this.missingRef=(0,e.resolveUrl)(i,a,o),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(i,this.missingRef))}}t.default=r}),C$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;var e=Je(),r=R$(),n=Ta(),i=Zh(),a=ut(),o=Hh();class s{constructor(y){var v;this.refs={},this.dynamicAnchors={};let b;typeof y.schema=="object"&&(b=y.schema),this.schema=y.schema,this.schemaId=y.schemaId,this.root=y.root||this,this.baseId=(v=y.baseId)!==null&&v!==void 0?v:(0,i.normalizeId)(b?.[y.schemaId||"$id"]),this.schemaPath=y.schemaPath,this.localRefs=y.localRefs,this.meta=y.meta,this.$async=b?.$async,this.refs={}}}t.SchemaEnv=s;function c(m){let y=d.call(this,m);if(y)return y;let v=(0,i.getFullPath)(this.opts.uriResolver,m.root.baseId),{es5:b,lines:S}=this.opts.code,{ownProperties:x}=this.opts,w=new e.CodeGen(this.scope,{es5:b,lines:S,ownProperties:x}),E;m.$async&&(E=w.scopeValue("Error",{ref:r.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));let O=w.scopeName("validate");m.validateName=O;let A={gen:w,allErrors:this.opts.allErrors,data:n.default.data,parentData:n.default.parentData,parentDataProperty:n.default.parentDataProperty,dataNames:[n.default.data],dataPathArr:[e.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:w.scopeValue("schema",this.opts.code.source===!0?{ref:m.schema,code:(0,e.stringify)(m.schema)}:{ref:m.schema}),validateName:O,ValidationError:E,schema:m.schema,schemaEnv:m,rootId:v,baseId:m.baseId||v,schemaPath:e.nil,errSchemaPath:m.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this},M;try{this._compilations.add(m),(0,o.validateFunctionCode)(A),w.optimize(this.opts.code.optimize);let L=w.toString();M=`${w.scopeRefs(n.default.scope)}return ${L}`,this.opts.code.process&&(M=this.opts.code.process(M,m));let U=new Function(`${n.default.self}`,`${n.default.scope}`,M)(this,this.scope.get());if(this.scope.value(O,{ref:U}),U.errors=null,U.schema=m.schema,U.schemaEnv=m,m.$async&&(U.$async=!0),this.opts.code.source===!0&&(U.source={validateName:O,validateCode:L,scopeValues:w._values}),this.opts.unevaluated){let{props:Y,items:me}=A;U.evaluated={props:Y instanceof e.Name?void 0:Y,items:me instanceof e.Name?void 0:me,dynamicProps:Y instanceof e.Name,dynamicItems:me instanceof e.Name},U.source&&(U.source.evaluated=(0,e.stringify)(U.evaluated))}return m.validate=U,m}catch(L){throw delete m.validate,delete m.validateName,M&&this.logger.error("Error compiling schema, function code:",M),L}finally{this._compilations.delete(m)}}t.compileSchema=c;function u(m,y,v){var b;v=(0,i.resolveUrl)(this.opts.uriResolver,y,v);let S=m.refs[v];if(S)return S;let x=f.call(this,m,v);if(x===void 0){let w=(b=m.localRefs)===null||b===void 0?void 0:b[v],{schemaId:E}=this.opts;w&&(x=new s({schema:w,schemaId:E,root:m,baseId:y}))}if(x!==void 0)return m.refs[v]=l.call(this,x)}t.resolveRef=u;function l(m){return(0,i.inlineRef)(m.schema,this.opts.inlineRefs)?m.schema:m.validate?m:c.call(this,m)}function d(m){for(let y of this._compilations)if(p(y,m))return y}t.getCompilingSchema=d;function p(m,y){return m.schema===y.schema&&m.root===y.root&&m.baseId===y.baseId}function f(m,y){let v;for(;typeof(v=this.refs[y])=="string";)y=v;return v||this.schemas[y]||h.call(this,m,y)}function h(m,y){let v=this.opts.uriResolver.parse(y),b=(0,i._getFullPath)(this.opts.uriResolver,v),S=(0,i.getFullPath)(this.opts.uriResolver,m.baseId,void 0);if(Object.keys(m.schema).length>0&&b===S)return g.call(this,v,m);let x=(0,i.normalizeId)(b),w=this.refs[x]||this.schemas[x];if(typeof w=="string"){let E=h.call(this,m,w);return typeof E?.schema!="object"?void 0:g.call(this,v,E)}if(typeof w?.schema=="object"){if(w.validate||c.call(this,w),x===(0,i.normalizeId)(y)){let{schema:E}=w,{schemaId:O}=this.opts,A=E[O];return A&&(S=(0,i.resolveUrl)(this.opts.uriResolver,S,A)),new s({schema:E,schemaId:O,root:m,baseId:S})}return g.call(this,v,w)}}t.resolveSchema=h;var _=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function g(m,{baseId:y,schema:v,root:b}){var S;if(((S=m.fragment)===null||S===void 0?void 0:S[0])!=="/")return;for(let E of m.fragment.slice(1).split("/")){if(typeof v=="boolean")return;let O=v[(0,a.unescapeFragment)(E)];if(O===void 0)return;v=O;let A=typeof v=="object"&&v[this.opts.schemaId];!_.has(E)&&A&&(y=(0,i.resolveUrl)(this.opts.uriResolver,y,A))}let x;if(typeof v!="boolean"&&v.$ref&&!(0,a.schemaHasRulesButRef)(v,this.RULES)){let E=(0,i.resolveUrl)(this.opts.uriResolver,y,v.$ref);x=h.call(this,b,E)}let{schemaId:w}=this.opts;if(x=x||new s({schema:v,schemaId:w,root:b,baseId:y}),x.schema!==x.root.schema)return x}}),yne=V((t,e)=>{e.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}}),_ne=V((t,e)=>{var r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};e.exports={HEX:r}}),bne=V((t,e)=>{var{HEX:r}=_ne(),n=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function i(m){if(u(m,".")<3)return{host:m,isIPV4:!1};let y=m.match(n)||[],[v]=y;return v?{host:c(v,"."),isIPV4:!0}:{host:m,isIPV4:!1}}function a(m,y=!1){let v="",b=!0;for(let S of m){if(r[S]===void 0)return;S!=="0"&&b===!0&&(b=!1),b||(v+=S)}return y&&v.length===0&&(v="0"),v}function o(m){let y=0,v={error:!1,address:"",zone:""},b=[],S=[],x=!1,w=!1,E=!1;function O(){if(S.length){if(x===!1){let A=a(S);if(A!==void 0)b.push(A);else return v.error=!0,!1}S.length=0}return!0}for(let A=0;A7){v.error=!0;break}A-1>=0&&m[A-1]===":"&&(w=!0);continue}else if(M==="%"){if(!O())break;x=!0}else{S.push(M);continue}}return S.length&&(x?v.zone=S.join(""):E?b.push(S.join("")):b.push(a(S))),v.address=b.join(""),v}function s(m){if(u(m,":")<2)return{host:m,isIPV6:!1};let y=o(m);if(y.error)return{host:m,isIPV6:!1};{let v=y.address,b=y.address;return y.zone&&(v+="%"+y.zone,b+="%25"+y.zone),{host:v,escapedHost:b,isIPV6:!0}}}function c(m,y){let v="",b=!0,S=m.length;for(let x=0;x{var r=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,n=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function i(b){return typeof b.secure=="boolean"?b.secure:String(b.scheme).toLowerCase()==="wss"}function a(b){return b.host||(b.error=b.error||"HTTP URIs must have a host."),b}function o(b){let S=String(b.scheme).toLowerCase()==="https";return(b.port===(S?443:80)||b.port==="")&&(b.port=void 0),b.path||(b.path="/"),b}function s(b){return b.secure=i(b),b.resourceName=(b.path||"/")+(b.query?"?"+b.query:""),b.path=void 0,b.query=void 0,b}function c(b){if((b.port===(i(b)?443:80)||b.port==="")&&(b.port=void 0),typeof b.secure=="boolean"&&(b.scheme=b.secure?"wss":"ws",b.secure=void 0),b.resourceName){let[S,x]=b.resourceName.split("?");b.path=S&&S!=="/"?S:void 0,b.query=x,b.resourceName=void 0}return b.fragment=void 0,b}function u(b,S){if(!b.path)return b.error="URN can not be parsed",b;let x=b.path.match(n);if(x){let w=S.scheme||b.scheme||"urn";b.nid=x[1].toLowerCase(),b.nss=x[2];let E=`${w}:${S.nid||b.nid}`,O=v[E];b.path=void 0,O&&(b=O.parse(b,S))}else b.error=b.error||"URN can not be parsed.";return b}function l(b,S){let x=S.scheme||b.scheme||"urn",w=b.nid.toLowerCase(),E=`${x}:${S.nid||w}`,O=v[E];O&&(b=O.serialize(b,S));let A=b,M=b.nss;return A.path=`${w||S.nid}:${M}`,S.skipEscape=!0,A}function d(b,S){let x=b;return x.uuid=x.nss,x.nss=void 0,!S.tolerant&&(!x.uuid||!r.test(x.uuid))&&(x.error=x.error||"UUID is not valid."),x}function p(b){let S=b;return S.nss=(b.uuid||"").toLowerCase(),S}var f={scheme:"http",domainHost:!0,parse:a,serialize:o},h={scheme:"https",domainHost:f.domainHost,parse:a,serialize:o},_={scheme:"ws",domainHost:!0,parse:s,serialize:c},g={scheme:"wss",domainHost:_.domainHost,parse:_.parse,serialize:_.serialize},m={scheme:"urn",parse:u,serialize:l,skipNormalize:!0},y={scheme:"urn:uuid",parse:d,serialize:p,skipNormalize:!0},v={http:f,https:h,ws:_,wss:g,urn:m,"urn:uuid":y};e.exports=v}),m2=V((t,e)=>{var{normalizeIPv6:r,normalizeIPv4:n,removeDotSegments:i,recomposeAuthority:a,normalizeComponentEncoding:o}=bne(),s=xne();function c(y,v){return typeof y=="string"?y=p(g(y,v),v):typeof y=="object"&&(y=g(p(y,v),v)),y}function u(y,v,b){let S=Object.assign({scheme:"null"},b),x=l(g(y,S),g(v,S),S,!0);return p(x,{...S,skipEscape:!0})}function l(y,v,b,S){let x={};return S||(y=g(p(y,b),b),v=g(p(v,b),b)),b=b||{},!b.tolerant&&v.scheme?(x.scheme=v.scheme,x.userinfo=v.userinfo,x.host=v.host,x.port=v.port,x.path=i(v.path||""),x.query=v.query):(v.userinfo!==void 0||v.host!==void 0||v.port!==void 0?(x.userinfo=v.userinfo,x.host=v.host,x.port=v.port,x.path=i(v.path||""),x.query=v.query):(v.path?(v.path.charAt(0)==="/"?x.path=i(v.path):((y.userinfo!==void 0||y.host!==void 0||y.port!==void 0)&&!y.path?x.path="/"+v.path:y.path?x.path=y.path.slice(0,y.path.lastIndexOf("/")+1)+v.path:x.path=v.path,x.path=i(x.path)),x.query=v.query):(x.path=y.path,v.query!==void 0?x.query=v.query:x.query=y.query),x.userinfo=y.userinfo,x.host=y.host,x.port=y.port),x.scheme=y.scheme),x.fragment=v.fragment,x}function d(y,v,b){return typeof y=="string"?(y=unescape(y),y=p(o(g(y,b),!0),{...b,skipEscape:!0})):typeof y=="object"&&(y=p(o(y,!0),{...b,skipEscape:!0})),typeof v=="string"?(v=unescape(v),v=p(o(g(v,b),!0),{...b,skipEscape:!0})):typeof v=="object"&&(v=p(o(v,!0),{...b,skipEscape:!0})),y.toLowerCase()===v.toLowerCase()}function p(y,v){let b={host:y.host,scheme:y.scheme,userinfo:y.userinfo,port:y.port,path:y.path,query:y.query,nid:y.nid,nss:y.nss,uuid:y.uuid,fragment:y.fragment,reference:y.reference,resourceName:y.resourceName,secure:y.secure,error:""},S=Object.assign({},v),x=[],w=s[(S.scheme||b.scheme||"").toLowerCase()];w&&w.serialize&&w.serialize(b,S),b.path!==void 0&&(S.skipEscape?b.path=unescape(b.path):(b.path=escape(b.path),b.scheme!==void 0&&(b.path=b.path.split("%3A").join(":")))),S.reference!=="suffix"&&b.scheme&&x.push(b.scheme,":");let E=a(b);if(E!==void 0&&(S.reference!=="suffix"&&x.push("//"),x.push(E),b.path&&b.path.charAt(0)!=="/"&&x.push("/")),b.path!==void 0){let O=b.path;!S.absolutePath&&(!w||!w.absolutePath)&&(O=i(O)),E===void 0&&(O=O.replace(/^\/\//u,"/%2F")),x.push(O)}return b.query!==void 0&&x.push("?",b.query),b.fragment!==void 0&&x.push("#",b.fragment),x.join("")}var f=Array.from({length:127},(y,v)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(v)));function h(y){let v=0;for(let b=0,S=y.length;b126||f[v])return!0;return!1}var _=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function g(y,v){let b=Object.assign({},v),S={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},x=y.indexOf("%")!==-1,w=!1;b.reference==="suffix"&&(y=(b.scheme?b.scheme+":":"")+"//"+y);let E=y.match(_);if(E){if(S.scheme=E[1],S.userinfo=E[3],S.host=E[4],S.port=parseInt(E[5],10),S.path=E[6]||"",S.query=E[7],S.fragment=E[8],isNaN(S.port)&&(S.port=E[5]),S.host){let A=n(S.host);if(A.isIPV4===!1){let M=r(A.host);S.host=M.host.toLowerCase(),w=M.isIPV6}else S.host=A.host,w=!0}S.scheme===void 0&&S.userinfo===void 0&&S.host===void 0&&S.port===void 0&&S.query===void 0&&!S.path?S.reference="same-document":S.scheme===void 0?S.reference="relative":S.fragment===void 0?S.reference="absolute":S.reference="uri",b.reference&&b.reference!=="suffix"&&b.reference!==S.reference&&(S.error=S.error||"URI is not a "+b.reference+" reference.");let O=s[(b.scheme||S.scheme||"").toLowerCase()];if(!b.unicodeSupport&&(!O||!O.unicodeSupport)&&S.host&&(b.domainHost||O&&O.domainHost)&&w===!1&&h(S.host))try{S.host=URL.domainToASCII(S.host.toLowerCase())}catch(A){S.error=S.error||"Host's domain name can not be converted to ASCII: "+A}(!O||O&&!O.skipNormalize)&&(x&&S.scheme!==void 0&&(S.scheme=unescape(S.scheme)),x&&S.host!==void 0&&(S.host=unescape(S.host)),S.path&&(S.path=escape(unescape(S.path))),S.fragment&&(S.fragment=encodeURI(decodeURIComponent(S.fragment)))),O&&O.parse&&O.parse(S,b)}else S.error=S.error||"URI can not be parsed.";return S}var m={SCHEMES:s,normalize:c,resolve:u,resolveComponents:l,equal:d,serialize:p,parse:g};e.exports=m,e.exports.default=m,e.exports.fastUri=m}),Sne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=m2();e.code='require("ajv/dist/runtime/uri").default',t.default=e}),wne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var e=Hh();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var r=Je();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});var n=R$(),i=Bh(),a=p2(),o=C$(),s=Je(),c=Zh(),u=Ch(),l=ut(),d=yne(),p=Sne(),f=(F,I)=>new RegExp(F,I);f.code="new RegExp";var h=["removeAdditional","useDefaults","coerceTypes"],_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),g={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},m={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},y=200;function v(F){var I,D,C,$,T,N,W,K,pe,ce,je,P,R,z,Z,J,ie,et,Zt,vt,yt,tt,Yr,Ct,Oa;let Rn=F.strict,Ra=(I=F.code)===null||I===void 0?void 0:I.optimize,Rc=Ra===!0||Ra===void 0?1:Ra||0,Cc=(C=(D=F.code)===null||D===void 0?void 0:D.regExp)!==null&&C!==void 0?C:f,Ng=($=F.uriResolver)!==null&&$!==void 0?$:p.default;return{strictSchema:(N=(T=F.strictSchema)!==null&&T!==void 0?T:Rn)!==null&&N!==void 0?N:!0,strictNumbers:(K=(W=F.strictNumbers)!==null&&W!==void 0?W:Rn)!==null&&K!==void 0?K:!0,strictTypes:(ce=(pe=F.strictTypes)!==null&&pe!==void 0?pe:Rn)!==null&&ce!==void 0?ce:"log",strictTuples:(P=(je=F.strictTuples)!==null&&je!==void 0?je:Rn)!==null&&P!==void 0?P:"log",strictRequired:(z=(R=F.strictRequired)!==null&&R!==void 0?R:Rn)!==null&&z!==void 0?z:!1,code:F.code?{...F.code,optimize:Rc,regExp:Cc}:{optimize:Rc,regExp:Cc},loopRequired:(Z=F.loopRequired)!==null&&Z!==void 0?Z:y,loopEnum:(J=F.loopEnum)!==null&&J!==void 0?J:y,meta:(ie=F.meta)!==null&&ie!==void 0?ie:!0,messages:(et=F.messages)!==null&&et!==void 0?et:!0,inlineRefs:(Zt=F.inlineRefs)!==null&&Zt!==void 0?Zt:!0,schemaId:(vt=F.schemaId)!==null&&vt!==void 0?vt:"$id",addUsedSchema:(yt=F.addUsedSchema)!==null&&yt!==void 0?yt:!0,validateSchema:(tt=F.validateSchema)!==null&&tt!==void 0?tt:!0,validateFormats:(Yr=F.validateFormats)!==null&&Yr!==void 0?Yr:!0,unicodeRegExp:(Ct=F.unicodeRegExp)!==null&&Ct!==void 0?Ct:!0,int32range:(Oa=F.int32range)!==null&&Oa!==void 0?Oa:!0,uriResolver:Ng}}class b{constructor(I={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,I=this.opts={...I,...v(I)};let{es5:D,lines:C}=this.opts.code;this.scope=new s.ValueScope({scope:{},prefixes:_,es5:D,lines:C}),this.logger=L(I.logger);let $=I.validateFormats;I.validateFormats=!1,this.RULES=(0,a.getRules)(),S.call(this,g,I,"NOT SUPPORTED"),S.call(this,m,I,"DEPRECATED","warn"),this._metaOpts=A.call(this),I.formats&&E.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),I.keywords&&O.call(this,I.keywords),typeof I.meta=="object"&&this.addMetaSchema(I.meta),w.call(this),I.validateFormats=$}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:I,meta:D,schemaId:C}=this.opts,$=d;C==="id"&&($={...d},$.id=$.$id,delete $.$id),D&&I&&this.addMetaSchema($,$[C],!1)}defaultMeta(){let{meta:I,schemaId:D}=this.opts;return this.opts.defaultMeta=typeof I=="object"?I[D]||I:void 0}validate(I,D){let C;if(typeof I=="string"){if(C=this.getSchema(I),!C)throw new Error(`no schema with key or ref "${I}"`)}else C=this.compile(I);let $=C(D);return"$async"in C||(this.errors=C.errors),$}compile(I,D){let C=this._addSchema(I,D);return C.validate||this._compileSchemaEnv(C)}compileAsync(I,D){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:C}=this.opts;return $.call(this,I,D);async function $(ce,je){await T.call(this,ce.$schema);let P=this._addSchema(ce,je);return P.validate||N.call(this,P)}async function T(ce){ce&&!this.getSchema(ce)&&await $.call(this,{$ref:ce},!0)}async function N(ce){try{return this._compileSchemaEnv(ce)}catch(je){if(!(je instanceof i.default))throw je;return W.call(this,je),await K.call(this,je.missingSchema),N.call(this,ce)}}function W({missingSchema:ce,missingRef:je}){if(this.refs[ce])throw new Error(`AnySchema ${ce} is loaded but ${je} cannot be resolved`)}async function K(ce){let je=await pe.call(this,ce);this.refs[ce]||await T.call(this,je.$schema),this.refs[ce]||this.addSchema(je,ce,D)}async function pe(ce){let je=this._loading[ce];if(je)return je;try{return await(this._loading[ce]=C(ce))}finally{delete this._loading[ce]}}}addSchema(I,D,C,$=this.opts.validateSchema){if(Array.isArray(I)){for(let N of I)this.addSchema(N,void 0,C,$);return this}let T;if(typeof I=="object"){let{schemaId:N}=this.opts;if(T=I[N],T!==void 0&&typeof T!="string")throw new Error(`schema ${N} must be string`)}return D=(0,c.normalizeId)(D||T),this._checkUnique(D),this.schemas[D]=this._addSchema(I,C,D,$,!0),this}addMetaSchema(I,D,C=this.opts.validateSchema){return this.addSchema(I,D,!0,C),this}validateSchema(I,D){if(typeof I=="boolean")return!0;let C;if(C=I.$schema,C!==void 0&&typeof C!="string")throw new Error("$schema must be a string");if(C=C||this.opts.defaultMeta||this.defaultMeta(),!C)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let $=this.validate(C,I);if(!$&&D){let T="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(T);else throw new Error(T)}return $}getSchema(I){let D;for(;typeof(D=x.call(this,I))=="string";)I=D;if(D===void 0){let{schemaId:C}=this.opts,$=new o.SchemaEnv({schema:{},schemaId:C});if(D=o.resolveSchema.call(this,$,I),!D)return;this.refs[I]=D}return D.validate||this._compileSchemaEnv(D)}removeSchema(I){if(I instanceof RegExp)return this._removeAllSchemas(this.schemas,I),this._removeAllSchemas(this.refs,I),this;switch(typeof I){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let D=x.call(this,I);return typeof D=="object"&&this._cache.delete(D.schema),delete this.schemas[I],delete this.refs[I],this}case"object":{let D=I;this._cache.delete(D);let C=I[this.opts.schemaId];return C&&(C=(0,c.normalizeId)(C),delete this.schemas[C],delete this.refs[C]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(I){for(let D of I)this.addKeyword(D);return this}addKeyword(I,D){let C;if(typeof I=="string")C=I,typeof D=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),D.keyword=C);else if(typeof I=="object"&&D===void 0){if(D=I,C=D.keyword,Array.isArray(C)&&!C.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(U.call(this,C,D),!D)return(0,l.eachItem)(C,T=>Y.call(this,T)),this;Qe.call(this,D);let $={...D,type:(0,u.getJSONTypes)(D.type),schemaType:(0,u.getJSONTypes)(D.schemaType)};return(0,l.eachItem)(C,$.type.length===0?T=>Y.call(this,T,$):T=>$.type.forEach(N=>Y.call(this,T,$,N))),this}getKeyword(I){let D=this.RULES.all[I];return typeof D=="object"?D.definition:!!D}removeKeyword(I){let{RULES:D}=this;delete D.keywords[I],delete D.all[I];for(let C of D.rules){let $=C.rules.findIndex(T=>T.keyword===I);$>=0&&C.rules.splice($,1)}return this}addFormat(I,D){return typeof D=="string"&&(D=new RegExp(D)),this.formats[I]=D,this}errorsText(I=this.errors,{separator:D=", ",dataVar:C="data"}={}){return!I||I.length===0?"No errors":I.map($=>`${C}${$.instancePath} ${$.message}`).reduce(($,T)=>$+D+T)}$dataMetaSchema(I,D){let C=this.RULES.all;I=JSON.parse(JSON.stringify(I));for(let $ of D){let T=$.split("/").slice(1),N=I;for(let W of T)N=N[W];for(let W in C){let K=C[W];if(typeof K!="object")continue;let{$data:pe}=K.definition,ce=N[W];pe&&ce&&(N[W]=fe(ce))}}return I}_removeAllSchemas(I,D){for(let C in I){let $=I[C];(!D||D.test(C))&&(typeof $=="string"?delete I[C]:$&&!$.meta&&(this._cache.delete($.schema),delete I[C]))}}_addSchema(I,D,C,$=this.opts.validateSchema,T=this.opts.addUsedSchema){let N,{schemaId:W}=this.opts;if(typeof I=="object")N=I[W];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof I!="boolean")throw new Error("schema must be object or boolean")}let K=this._cache.get(I);if(K!==void 0)return K;C=(0,c.normalizeId)(N||C);let pe=c.getSchemaRefs.call(this,I,C);return K=new o.SchemaEnv({schema:I,schemaId:W,meta:D,baseId:C,localRefs:pe}),this._cache.set(K.schema,K),T&&!C.startsWith("#")&&(C&&this._checkUnique(C),this.refs[C]=K),$&&this.validateSchema(I,!0),K}_checkUnique(I){if(this.schemas[I]||this.refs[I])throw new Error(`schema with key or id "${I}" already exists`)}_compileSchemaEnv(I){if(I.meta?this._compileMetaSchema(I):o.compileSchema.call(this,I),!I.validate)throw new Error("ajv implementation error");return I.validate}_compileMetaSchema(I){let D=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,I)}finally{this.opts=D}}}b.ValidationError=n.default,b.MissingRefError=i.default,t.default=b;function S(F,I,D,C="error"){for(let $ in F){let T=$;T in I&&this.logger[C](`${D}: option ${$}. ${F[T]}`)}}function x(F){return F=(0,c.normalizeId)(F),this.schemas[F]||this.refs[F]}function w(){let F=this.opts.schemas;if(F)if(Array.isArray(F))this.addSchema(F);else for(let I in F)this.addSchema(F[I],I)}function E(){for(let F in this.opts.formats){let I=this.opts.formats[F];I&&this.addFormat(F,I)}}function O(F){if(Array.isArray(F)){this.addVocabulary(F);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let I in F){let D=F[I];D.keyword||(D.keyword=I),this.addKeyword(D)}}function A(){let F={...this.opts};for(let I of h)delete F[I];return F}var M={log(){},warn(){},error(){}};function L(F){if(F===!1)return M;if(F===void 0)return console;if(F.log&&F.warn&&F.error)return F;throw new Error("logger must implement log, warn and error methods")}var B=/^[a-z_$][a-z0-9_$:-]*$/i;function U(F,I){let{RULES:D}=this;if((0,l.eachItem)(F,C=>{if(D.keywords[C])throw new Error(`Keyword ${C} is already defined`);if(!B.test(C))throw new Error(`Keyword ${C} has invalid name`)}),!!I&&I.$data&&!("code"in I||"validate"in I))throw new Error('$data keyword must have "code" or "validate" function')}function Y(F,I,D){var C;let $=I?.post;if(D&&$)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:T}=this,N=$?T.post:T.rules.find(({type:K})=>K===D);if(N||(N={type:D,rules:[]},T.rules.push(N)),T.keywords[F]=!0,!I)return;let W={keyword:F,definition:{...I,type:(0,u.getJSONTypes)(I.type),schemaType:(0,u.getJSONTypes)(I.schemaType)}};I.before?me.call(this,N,W,I.before):N.rules.push(W),T.all[F]=W,(C=I.implements)===null||C===void 0||C.forEach(K=>this.addKeyword(K))}function me(F,I,D){let C=F.rules.findIndex($=>$.keyword===D);C>=0?F.rules.splice(C,0,I):(F.rules.push(I),this.logger.warn(`rule ${D} is not defined`))}function Qe(F){let{metaSchema:I}=F;I!==void 0&&(F.$data&&this.opts.$data&&(I=fe(I)),F.validateSchema=this.compile(I,!0))}var mt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function fe(F){return{anyOf:[F,mt]}}}),$ne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=e}),Ene=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;var e=Bh(),r=Qn(),n=Je(),i=Ta(),a=C$(),o=ut(),s={keyword:"$ref",schemaType:"string",code(l){let{gen:d,schema:p,it:f}=l,{baseId:h,schemaEnv:_,validateName:g,opts:m,self:y}=f,{root:v}=_;if((p==="#"||p==="#/")&&h===v.baseId)return S();let b=a.resolveRef.call(y,v,h,p);if(b===void 0)throw new e.default(f.opts.uriResolver,h,p);if(b instanceof a.SchemaEnv)return x(b);return w(b);function S(){if(_===v)return u(l,g,_,_.$async);let E=d.scopeValue("root",{ref:v});return u(l,(0,n._)`${E}.validate`,v,v.$async)}function x(E){let O=c(l,E);u(l,O,E,E.$async)}function w(E){let O=d.scopeValue("schema",m.code.source===!0?{ref:E,code:(0,n.stringify)(E)}:{ref:E}),A=d.name("valid"),M=l.subschema({schema:E,dataTypes:[],schemaPath:n.nil,topSchemaRef:O,errSchemaPath:p},A);l.mergeEvaluated(M),l.ok(A)}}};function c(l,d){let{gen:p}=l;return d.validate?p.scopeValue("validate",{ref:d.validate}):(0,n._)`${p.scopeValue("wrapper",{ref:d})}.validate`}t.getValidate=c;function u(l,d,p,f){let{gen:h,it:_}=l,{allErrors:g,schemaEnv:m,opts:y}=_,v=y.passContext?i.default.this:n.nil;f?b():S();function b(){if(!m.$async)throw new Error("async schema referenced by sync schema");let E=h.let("valid");h.try(()=>{h.code((0,n._)`await ${(0,r.callValidateCode)(l,d,v)}`),w(d),g||h.assign(E,!0)},O=>{h.if((0,n._)`!(${O} instanceof ${_.ValidationError})`,()=>h.throw(O)),x(O),g||h.assign(E,!1)}),l.ok(E)}function S(){l.result((0,r.callValidateCode)(l,d,v),()=>w(d),()=>x(d))}function x(E){let O=(0,n._)`${E}.errors`;h.assign(i.default.vErrors,(0,n._)`${i.default.vErrors} === null ? ${O} : ${i.default.vErrors}.concat(${O})`),h.assign(i.default.errors,(0,n._)`${i.default.vErrors}.length`)}function w(E){var O;if(!_.opts.unevaluated)return;let A=(O=p?.validate)===null||O===void 0?void 0:O.evaluated;if(_.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(_.props=o.mergeEvaluated.props(h,A.props,_.props));else{let M=h.var("props",(0,n._)`${E}.evaluated.props`);_.props=o.mergeEvaluated.props(h,M,_.props,n.Name)}if(_.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(_.items=o.mergeEvaluated.items(h,A.items,_.items));else{let M=h.var("items",(0,n._)`${E}.evaluated.items`);_.items=o.mergeEvaluated.items(h,M,_.items,n.Name)}}}t.callRef=u,t.default=s}),kne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=$ne(),r=Ene(),n=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,r.default];t.default=n}),Tne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=e.operators,n={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},i={message:({keyword:o,schemaCode:s})=>(0,e.str)`must be ${n[o].okStr} ${s}`,params:({keyword:o,schemaCode:s})=>(0,e._)`{comparison: ${n[o].okStr}, limit: ${s}}`},a={keyword:Object.keys(n),type:"number",schemaType:"number",$data:!0,error:i,code(o){let{keyword:s,data:c,schemaCode:u}=o;o.fail$data((0,e._)`${c} ${n[s].fail} ${u} || isNaN(${c})`)}};t.default=a}),Ine=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={message:({schemaCode:i})=>(0,e.str)`must be multiple of ${i}`,params:({schemaCode:i})=>(0,e._)`{multipleOf: ${i}}`},n={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:r,code(i){let{gen:a,data:o,schemaCode:s,it:c}=i,u=c.opts.multipleOfPrecision,l=a.let("res"),d=u?(0,e._)`Math.abs(Math.round(${l}) - ${l}) > 1e-${u}`:(0,e._)`${l} !== parseInt(${l})`;i.fail$data((0,e._)`(${s} === 0 || (${l} = ${o}/${s}, ${d}))`)}};t.default=n}),Pne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});function e(r){let n=r.length,i=0,a=0,o;for(;a=55296&&o<=56319&&a{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n=Pne(),i={message({keyword:o,schemaCode:s}){let c=o==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${c} than ${s} characters`},params:({schemaCode:o})=>(0,e._)`{limit: ${o}}`},a={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:i,code(o){let{keyword:s,data:c,schemaCode:u,it:l}=o,d=s==="maxLength"?e.operators.GT:e.operators.LT,p=l.opts.unicode===!1?(0,e._)`${c}.length`:(0,e._)`${(0,r.useFunc)(o.gen,n.default)}(${c})`;o.fail$data((0,e._)`${p} ${d} ${u}`)}};t.default=a}),Rne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r=Je(),n={message:({schemaCode:a})=>(0,r.str)`must match pattern "${a}"`,params:({schemaCode:a})=>(0,r._)`{pattern: ${a}}`},i={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:n,code(a){let{data:o,$data:s,schema:c,schemaCode:u,it:l}=a,d=l.opts.unicodeRegExp?"u":"",p=s?(0,r._)`(new RegExp(${u}, ${d}))`:(0,e.usePattern)(a,c);a.fail$data((0,r._)`!${p}.test(${o})`)}};t.default=i}),Cne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={message({keyword:i,schemaCode:a}){let o=i==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${a} properties`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},n={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:r,code(i){let{keyword:a,data:o,schemaCode:s}=i,c=a==="maxProperties"?e.operators.GT:e.operators.LT;i.fail$data((0,e._)`Object.keys(${o}).length ${c} ${s}`)}};t.default=n}),Nne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r=Je(),n=ut(),i={message:({params:{missingProperty:o}})=>(0,r.str)`must have required property '${o}'`,params:({params:{missingProperty:o}})=>(0,r._)`{missingProperty: ${o}}`},a={keyword:"required",type:"object",schemaType:"array",$data:!0,error:i,code(o){let{gen:s,schema:c,schemaCode:u,data:l,$data:d,it:p}=o,{opts:f}=p;if(!d&&c.length===0)return;let h=c.length>=f.loopRequired;if(p.allErrors?_():g(),f.strictRequired){let v=o.parentSchema.properties,{definedProperties:b}=o.it;for(let S of c)if(v?.[S]===void 0&&!b.has(S)){let x=p.schemaEnv.baseId+p.errSchemaPath,w=`required property "${S}" is not defined at "${x}" (strictRequired)`;(0,n.checkStrictMode)(p,w,p.opts.strictRequired)}}function _(){if(h||d)o.block$data(r.nil,m);else for(let v of c)(0,e.checkReportMissingProp)(o,v)}function g(){let v=s.let("missing");if(h||d){let b=s.let("valid",!0);o.block$data(b,()=>y(v,b)),o.ok(b)}else s.if((0,e.checkMissingProp)(o,c,v)),(0,e.reportMissingProp)(o,v),s.else()}function m(){s.forOf("prop",u,v=>{o.setParams({missingProperty:v}),s.if((0,e.noPropertyInData)(s,l,v,f.ownProperties),()=>o.error())})}function y(v,b){o.setParams({missingProperty:v}),s.forOf(v,u,()=>{s.assign(b,(0,e.propertyInData)(s,l,v,f.ownProperties)),s.if((0,r.not)(b),()=>{o.error(),s.break()})},r.nil)}}};t.default=a}),jne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={message({keyword:i,schemaCode:a}){let o=i==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${a} items`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},n={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:r,code(i){let{keyword:a,data:o,schemaCode:s}=i,c=a==="maxItems"?e.operators.GT:e.operators.LT;i.fail$data((0,e._)`${o}.length ${c} ${s}`)}};t.default=n}),N$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Fh();e.code='require("ajv/dist/runtime/equal").default',t.default=e}),Ane=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ch(),r=Je(),n=ut(),i=N$(),a={message:({params:{i:s,j:c}})=>(0,r.str)`must NOT have duplicate items (items ## ${c} and ${s} are identical)`,params:({params:{i:s,j:c}})=>(0,r._)`{i: ${s}, j: ${c}}`},o={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:a,code(s){let{gen:c,data:u,$data:l,schema:d,parentSchema:p,schemaCode:f,it:h}=s;if(!l&&!d)return;let _=c.let("valid"),g=p.items?(0,e.getSchemaTypes)(p.items):[];s.block$data(_,m,(0,r._)`${f} === false`),s.ok(_);function m(){let S=c.let("i",(0,r._)`${u}.length`),x=c.let("j");s.setParams({i:S,j:x}),c.assign(_,!0),c.if((0,r._)`${S} > 1`,()=>(y()?v:b)(S,x))}function y(){return g.length>0&&!g.some(S=>S==="object"||S==="array")}function v(S,x){let w=c.name("item"),E=(0,e.checkDataTypes)(g,w,h.opts.strictNumbers,e.DataType.Wrong),O=c.const("indices",(0,r._)`{}`);c.for((0,r._)`;${S}--;`,()=>{c.let(w,(0,r._)`${u}[${S}]`),c.if(E,(0,r._)`continue`),g.length>1&&c.if((0,r._)`typeof ${w} == "string"`,(0,r._)`${w} += "_"`),c.if((0,r._)`typeof ${O}[${w}] == "number"`,()=>{c.assign(x,(0,r._)`${O}[${w}]`),s.error(),c.assign(_,!1).break()}).code((0,r._)`${O}[${w}] = ${S}`)})}function b(S,x){let w=(0,n.useFunc)(c,i.default),E=c.name("outer");c.label(E).for((0,r._)`;${S}--;`,()=>c.for((0,r._)`${x} = ${S}; ${x}--;`,()=>c.if((0,r._)`${w}(${u}[${S}], ${u}[${x}])`,()=>{s.error(),c.assign(_,!1).break(E)})))}}};t.default=o}),Mne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n=N$(),i={message:"must be equal to constant",params:({schemaCode:o})=>(0,e._)`{allowedValue: ${o}}`},a={keyword:"const",$data:!0,error:i,code(o){let{gen:s,data:c,$data:u,schemaCode:l,schema:d}=o;u||d&&typeof d=="object"?o.fail$data((0,e._)`!${(0,r.useFunc)(s,n.default)}(${c}, ${l})`):o.fail((0,e._)`${d} !== ${c}`)}};t.default=a}),Dne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n=N$(),i={message:"must be equal to one of the allowed values",params:({schemaCode:o})=>(0,e._)`{allowedValues: ${o}}`},a={keyword:"enum",schemaType:"array",$data:!0,error:i,code(o){let{gen:s,data:c,$data:u,schema:l,schemaCode:d,it:p}=o;if(!u&&l.length===0)throw new Error("enum must have non-empty array");let f=l.length>=p.opts.loopEnum,h,_=()=>h??(h=(0,r.useFunc)(s,n.default)),g;if(f||u)g=s.let("valid"),o.block$data(g,m);else{if(!Array.isArray(l))throw new Error("ajv implementation error");let v=s.const("vSchema",d);g=(0,e.or)(...l.map((b,S)=>y(v,S)))}o.pass(g);function m(){s.assign(g,!1),s.forOf("v",d,v=>s.if((0,e._)`${_()}(${c}, ${v})`,()=>s.assign(g,!0).break()))}function y(v,b){let S=l[b];return typeof S=="object"&&S!==null?(0,e._)`${_()}(${c}, ${v}[${b}])`:(0,e._)`${c} === ${S}`}}};t.default=a}),zne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Tne(),r=Ine(),n=One(),i=Rne(),a=Cne(),o=Nne(),s=jne(),c=Ane(),u=Mne(),l=Dne(),d=[e.default,r.default,n.default,i.default,a.default,o.default,s.default,c.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,l.default];t.default=d}),h2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;var e=Je(),r=ut(),n={message:({params:{len:o}})=>(0,e.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,e._)`{limit: ${o}}`},i={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:n,code(o){let{parentSchema:s,it:c}=o,{items:u}=s;if(!Array.isArray(u)){(0,r.checkStrictMode)(c,'"additionalItems" is ignored when "items" is not an array of schemas');return}a(o,u)}};function a(o,s){let{gen:c,schema:u,data:l,keyword:d,it:p}=o;p.items=!0;let f=c.const("len",(0,e._)`${l}.length`);if(u===!1)o.setParams({len:s.length}),o.pass((0,e._)`${f} <= ${s.length}`);else if(typeof u=="object"&&!(0,r.alwaysValidSchema)(p,u)){let _=c.var("valid",(0,e._)`${f} <= ${s.length}`);c.if((0,e.not)(_),()=>h(_)),o.ok(_)}function h(_){c.forRange("i",s.length,f,g=>{o.subschema({keyword:d,dataProp:g,dataPropType:r.Type.Num},_),p.allErrors||c.if((0,e.not)(_),()=>c.break())})}}t.validateAdditionalItems=a,t.default=i}),g2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;var e=Je(),r=ut(),n=Qn(),i={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(o){let{schema:s,it:c}=o;if(Array.isArray(s))return a(o,"additionalItems",s);c.items=!0,!(0,r.alwaysValidSchema)(c,s)&&o.ok((0,n.validateArray)(o))}};function a(o,s,c=o.schema){let{gen:u,parentSchema:l,data:d,keyword:p,it:f}=o;g(l),f.opts.unevaluated&&c.length&&f.items!==!0&&(f.items=r.mergeEvaluated.items(u,c.length,f.items));let h=u.name("valid"),_=u.const("len",(0,e._)`${d}.length`);c.forEach((m,y)=>{(0,r.alwaysValidSchema)(f,m)||(u.if((0,e._)`${_} > ${y}`,()=>o.subschema({keyword:p,schemaProp:y,dataProp:y},h)),o.ok(h))});function g(m){let{opts:y,errSchemaPath:v}=f,b=c.length,S=b===m.minItems&&(b===m.maxItems||m[s]===!1);if(y.strictTuples&&!S){let x=`"${p}" is ${b}-tuple, but minItems or maxItems/${s} are not specified or different at path "${v}"`;(0,r.checkStrictMode)(f,x,y.strictTuples)}}}t.validateTuple=a,t.default=i}),Une=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=g2(),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,e.validateTuple)(n,"items")};t.default=r}),Lne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n=Qn(),i=h2(),a={message:({params:{len:s}})=>(0,e.str)`must NOT have more than ${s} items`,params:({params:{len:s}})=>(0,e._)`{limit: ${s}}`},o={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:a,code(s){let{schema:c,parentSchema:u,it:l}=s,{prefixItems:d}=u;l.items=!0,!(0,r.alwaysValidSchema)(l,c)&&(d?(0,i.validateAdditionalItems)(s,d):s.ok((0,n.validateArray)(s)))}};t.default=o}),qne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n={message:({params:{min:a,max:o}})=>o===void 0?(0,e.str)`must contain at least ${a} valid item(s)`:(0,e.str)`must contain at least ${a} and no more than ${o} valid item(s)`,params:({params:{min:a,max:o}})=>o===void 0?(0,e._)`{minContains: ${a}}`:(0,e._)`{minContains: ${a}, maxContains: ${o}}`},i={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:n,code(a){let{gen:o,schema:s,parentSchema:c,data:u,it:l}=a,d,p,{minContains:f,maxContains:h}=c;l.opts.next?(d=f===void 0?1:f,p=h):d=1;let _=o.const("len",(0,e._)`${u}.length`);if(a.setParams({min:d,max:p}),p===void 0&&d===0){(0,r.checkStrictMode)(l,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(p!==void 0&&d>p){(0,r.checkStrictMode)(l,'"minContains" > "maxContains" is always invalid'),a.fail();return}if((0,r.alwaysValidSchema)(l,s)){let b=(0,e._)`${_} >= ${d}`;p!==void 0&&(b=(0,e._)`${b} && ${_} <= ${p}`),a.pass(b);return}l.items=!0;let g=o.name("valid");p===void 0&&d===1?y(g,()=>o.if(g,()=>o.break())):d===0?(o.let(g,!0),p!==void 0&&o.if((0,e._)`${u}.length > 0`,m)):(o.let(g,!1),m()),a.result(g,()=>a.reset());function m(){let b=o.name("_valid"),S=o.let("count",0);y(b,()=>o.if(b,()=>v(S)))}function y(b,S){o.forRange("i",0,_,x=>{a.subschema({keyword:"contains",dataProp:x,dataPropType:r.Type.Num,compositeRule:!0},b),S()})}function v(b){o.code((0,e._)`${b}++`),p===void 0?o.if((0,e._)`${b} >= ${d}`,()=>o.assign(g,!0).break()):(o.if((0,e._)`${b} > ${p}`,()=>o.assign(g,!1).break()),d===1?o.assign(g,!0):o.if((0,e._)`${b} >= ${d}`,()=>o.assign(g,!0)))}}};t.default=i}),Fne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;var e=Je(),r=ut(),n=Qn();t.error={message:({params:{property:c,depsCount:u,deps:l}})=>{let d=u===1?"property":"properties";return(0,e.str)`must have ${d} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:d}})=>(0,e._)`{property: ${c}, missingProperty: ${d}, depsCount: ${u}, - deps: ${l}}`};var i={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(c){let[u,l]=a(c);o(c,u),s(c,l)}};function a({schema:c}){let u={},l={};for(let d in c){if(d==="__proto__")continue;let p=Array.isArray(c[d])?u:l;p[d]=c[d]}return[u,l]}function o(c,u=c.schema){let{gen:l,data:d,it:p}=c;if(Object.keys(u).length===0)return;let f=l.let("missing");for(let h in u){let _=u[h];if(_.length===0)continue;let g=(0,n.propertyInData)(l,d,h,p.opts.ownProperties);c.setParams({property:h,depsCount:_.length,deps:_.join(", ")}),p.allErrors?l.if(g,()=>{for(let m of _)(0,n.checkReportMissingProp)(c,m)}):(l.if((0,e._)`${g} && (${(0,n.checkMissingProp)(c,_,f)})`),(0,n.reportMissingProp)(c,f),l.else())}}t.validatePropertyDeps=o;function s(c,u=c.schema){let{gen:l,data:d,keyword:p,it:f}=c,h=l.name("valid");for(let _ in u)(0,r.alwaysValidSchema)(f,u[_])||(l.if((0,n.propertyInData)(l,d,_,f.opts.ownProperties),()=>{let g=c.subschema({keyword:p,schemaProp:_},h);c.mergeValidEvaluated(g,h)},()=>l.var(h,!0)),c.ok(h))}t.validateSchemaDeps=s,t.default=i}),Fne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n={message:"property name must be valid",params:({params:a})=>(0,e._)`{propertyName: ${a.propertyName}}`},i={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:n,code(a){let{gen:o,schema:s,data:c,it:u}=a;if((0,r.alwaysValidSchema)(u,s))return;let l=o.name("valid");o.forIn("key",c,d=>{a.setParams({propertyName:d}),a.subschema({keyword:"propertyNames",data:d,dataTypes:["string"],propertyName:d,compositeRule:!0},l),o.if((0,e.not)(l),()=>{a.error(!0),u.allErrors||o.break()})}),a.ok(l)}};t.default=i}),d2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Yn(),r=Je(),n=ka(),i=ut(),a={message:"must NOT have additional properties",params:({params:s})=>(0,r._)`{additionalProperty: ${s.additionalProperty}}`},o={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:a,code(s){let{gen:c,schema:u,parentSchema:l,data:d,errsCount:p,it:f}=s;if(!p)throw new Error("ajv implementation error");let{allErrors:h,opts:_}=f;if(f.props=!0,_.removeAdditional!=="all"&&(0,i.alwaysValidSchema)(f,u))return;let g=(0,e.allSchemaProperties)(l.properties),m=(0,e.allSchemaProperties)(l.patternProperties);y(),s.ok((0,r._)`${p} === ${n.default.errors}`);function y(){c.forIn("key",d,w=>{!g.length&&!m.length?S(w):c.if(v(w),()=>S(w))})}function v(w){let E;if(g.length>8){let O=(0,i.schemaRefOrVal)(f,l.properties,"properties");E=(0,e.isOwnProperty)(c,O,w)}else g.length?E=(0,r.or)(...g.map(O=>(0,r._)`${w} === ${O}`)):E=r.nil;return m.length&&(E=(0,r.or)(E,...m.map(O=>(0,r._)`${(0,e.usePattern)(s,O)}.test(${w})`))),(0,r.not)(E)}function b(w){c.code((0,r._)`delete ${d}[${w}]`)}function S(w){if(_.removeAdditional==="all"||_.removeAdditional&&u===!1){b(w);return}if(u===!1){s.setParams({additionalProperty:w}),s.error(),h||c.break();return}if(typeof u=="object"&&!(0,i.alwaysValidSchema)(f,u)){let E=c.name("valid");_.removeAdditional==="failing"?(x(w,E,!1),c.if((0,r.not)(E),()=>{s.reset(),b(w)})):(x(w,E),h||c.if((0,r.not)(E),()=>c.break()))}}function x(w,E,O){let A={keyword:"additionalProperties",dataProp:w,dataPropType:i.Type.Str};O===!1&&Object.assign(A,{compositeRule:!0,createErrors:!1,allErrors:!1}),s.subschema(A,E)}}};t.default=o}),Zne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Hh(),r=Yn(),n=ut(),i=d2(),a={keyword:"properties",type:"object",schemaType:"object",code(o){let{gen:s,schema:c,parentSchema:u,data:l,it:d}=o;d.opts.removeAdditional==="all"&&u.additionalProperties===void 0&&i.default.code(new e.KeywordCxt(d,i.default,"additionalProperties"));let p=(0,r.allSchemaProperties)(c);for(let m of p)d.definedProperties.add(m);d.opts.unevaluated&&p.length&&d.props!==!0&&(d.props=n.mergeEvaluated.props(s,(0,n.toHash)(p),d.props));let f=p.filter(m=>!(0,n.alwaysValidSchema)(d,c[m]));if(f.length===0)return;let h=s.name("valid");for(let m of f)_(m)?g(m):(s.if((0,r.propertyInData)(s,l,m,d.opts.ownProperties)),g(m),d.allErrors||s.else().var(h,!0),s.endIf()),o.it.definedProperties.add(m),o.ok(h);function _(m){return d.opts.useDefaults&&!d.compositeRule&&c[m].default!==void 0}function g(m){o.subschema({keyword:"properties",schemaProp:m,dataProp:m},h)}}};t.default=a}),Hne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Yn(),r=Je(),n=ut(),i=ut(),a={keyword:"patternProperties",type:"object",schemaType:"object",code(o){let{gen:s,schema:c,data:u,parentSchema:l,it:d}=o,{opts:p}=d,f=(0,e.allSchemaProperties)(c),h=f.filter(S=>(0,n.alwaysValidSchema)(d,c[S]));if(f.length===0||h.length===f.length&&(!d.opts.unevaluated||d.props===!0))return;let _=p.strictSchema&&!p.allowMatchingProperties&&l.properties,g=s.name("valid");d.props!==!0&&!(d.props instanceof r.Name)&&(d.props=(0,i.evaluatedPropsToName)(s,d.props));let{props:m}=d;y();function y(){for(let S of f)_&&v(S),d.allErrors?b(S):(s.var(g,!0),b(S),s.if(g))}function v(S){for(let x in _)new RegExp(S).test(x)&&(0,n.checkStrictMode)(d,`property ${x} matches pattern ${S} (use allowMatchingProperties)`)}function b(S){s.forIn("key",u,x=>{s.if((0,r._)`${(0,e.usePattern)(o,S)}.test(${x})`,()=>{let w=h.includes(S);w||o.subschema({keyword:"patternProperties",schemaProp:S,dataProp:x,dataPropType:i.Type.Str},g),d.opts.unevaluated&&m!==!0?s.assign((0,r._)`${m}[${x}]`,!0):!w&&!d.allErrors&&s.if((0,r.not)(g),()=>s.break())})})}}};t.default=a}),Bne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ut(),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:i,schema:a,it:o}=n;if((0,e.alwaysValidSchema)(o,a)){n.fail();return}let s=i.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),n.failResult(s,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};t.default=r}),Vne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Yn(),r={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:e.validateUnion,error:{message:"must match a schema in anyOf"}};t.default=r}),Gne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n={message:"must match exactly one schema in oneOf",params:({params:a})=>(0,e._)`{passingSchemas: ${a.passing}}`},i={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:n,code(a){let{gen:o,schema:s,parentSchema:c,it:u}=a;if(!Array.isArray(s))throw new Error("ajv implementation error");if(u.opts.discriminator&&c.discriminator)return;let l=s,d=o.let("valid",!1),p=o.let("passing",null),f=o.name("_valid");a.setParams({passing:p}),o.block(h),a.result(d,()=>a.reset(),()=>a.error(!0));function h(){l.forEach((_,g)=>{let m;(0,r.alwaysValidSchema)(u,_)?o.var(f,!0):m=a.subschema({keyword:"oneOf",schemaProp:g,compositeRule:!0},f),g>0&&o.if((0,e._)`${f} && ${d}`).assign(d,!1).assign(p,(0,e._)`[${p}, ${g}]`).else(),o.if(f,()=>{o.assign(d,!0),o.assign(p,g),m&&a.mergeEvaluated(m,e.Name)})})}}};t.default=i}),Wne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ut(),r={keyword:"allOf",schemaType:"array",code(n){let{gen:i,schema:a,it:o}=n;if(!Array.isArray(a))throw new Error("ajv implementation error");let s=i.name("valid");a.forEach((c,u)=>{if((0,e.alwaysValidSchema)(o,c))return;let l=n.subschema({keyword:"allOf",schemaProp:u},s);n.ok(s),n.mergeEvaluated(l)})}};t.default=r}),Kne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n={message:({params:o})=>(0,e.str)`must match "${o.ifClause}" schema`,params:({params:o})=>(0,e._)`{failingKeyword: ${o.ifClause}}`},i={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:n,code(o){let{gen:s,parentSchema:c,it:u}=o;c.then===void 0&&c.else===void 0&&(0,r.checkStrictMode)(u,'"if" without "then" and "else" is ignored');let l=a(u,"then"),d=a(u,"else");if(!l&&!d)return;let p=s.let("valid",!0),f=s.name("_valid");if(h(),o.reset(),l&&d){let g=s.let("ifClause");o.setParams({ifClause:g}),s.if(f,_("then",g),_("else",g))}else l?s.if(f,_("then")):s.if((0,e.not)(f),_("else"));o.pass(p,()=>o.error(!0));function h(){let g=o.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},f);o.mergeEvaluated(g)}function _(g,m){return()=>{let y=o.subschema({keyword:g},f);s.assign(p,f),o.mergeValidEvaluated(y,p),m?s.assign(m,(0,e._)`${g}`):o.setParams({ifClause:g})}}}};function a(o,s){let c=o.schema[s];return c!==void 0&&!(0,r.alwaysValidSchema)(o,c)}t.default=i}),Jne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ut(),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:i,it:a}){i.if===void 0&&(0,e.checkStrictMode)(a,`"${n}" without "if" is ignored`)}};t.default=r}),Xne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=u2(),r=zne(),n=l2(),i=Une(),a=qne(),o=Lne(),s=Fne(),c=d2(),u=Zne(),l=Hne(),d=Bne(),p=Vne(),f=Gne(),h=Wne(),_=Kne(),g=Jne();function m(y=!1){let v=[d.default,p.default,f.default,h.default,_.default,g.default,s.default,c.default,o.default,u.default,l.default];return y?v.push(r.default,i.default):v.push(e.default,n.default),v.push(a.default),v}t.default=m}),Yne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={message:({schemaCode:i})=>(0,e.str)`must match format "${i}"`,params:({schemaCode:i})=>(0,e._)`{format: ${i}}`},n={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:r,code(i,a){let{gen:o,data:s,$data:c,schema:u,schemaCode:l,it:d}=i,{opts:p,errSchemaPath:f,schemaEnv:h,self:_}=d;if(!p.validateFormats)return;c?g():m();function g(){let y=o.scopeValue("formats",{ref:_.formats,code:p.code.formats}),v=o.const("fDef",(0,e._)`${y}[${l}]`),b=o.let("fType"),S=o.let("format");o.if((0,e._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>o.assign(b,(0,e._)`${v}.type || "string"`).assign(S,(0,e._)`${v}.validate`),()=>o.assign(b,(0,e._)`"string"`).assign(S,v)),i.fail$data((0,e.or)(x(),w()));function x(){return p.strictSchema===!1?e.nil:(0,e._)`${l} && !${S}`}function w(){let E=h.$async?(0,e._)`(${v}.async ? await ${S}(${s}) : ${S}(${s}))`:(0,e._)`${S}(${s})`,O=(0,e._)`(typeof ${S} == "function" ? ${E} : ${S}.test(${s}))`;return(0,e._)`${S} && ${S} !== true && ${b} === ${a} && !${O}`}}function m(){let y=_.formats[u];if(!y){x();return}if(y===!0)return;let[v,b,S]=w(y);v===a&&i.pass(E());function x(){if(p.strictSchema===!1){_.logger.warn(O());return}throw new Error(O());function O(){return`unknown format "${u}" ignored in schema at path "${f}"`}}function w(O){let A=O instanceof RegExp?(0,e.regexpCode)(O):p.code.formats?(0,e._)`${p.code.formats}${(0,e.getProperty)(u)}`:void 0,M=o.scopeValue("formats",{key:u,ref:O,code:A});return typeof O=="object"&&!(O instanceof RegExp)?[O.type||"string",O.validate,(0,e._)`${M}.validate`]:["string",O,M]}function E(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!h.$async)throw new Error("async format in sync schema");return(0,e._)`await ${S}(${s})`}return typeof b=="function"?(0,e._)`${S}(${s})`:(0,e._)`${S}.test(${s})`}}}};t.default=n}),Qne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Yne(),r=[e.default];t.default=r}),eie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]}),tie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ene(),r=Dne(),n=Xne(),i=Qne(),a=eie(),o=[e.default,r.default,(0,n.default)(),i.default,a.metadataVocabulary,a.contentVocabulary];t.default=o}),rie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0;var e;(function(r){r.Tag="tag",r.Mapping="mapping"})(e||(t.DiscrError=e={}))}),nie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=rie(),n=R$(),i=Bh(),a=ut(),o={message:({params:{discrError:c,tagName:u}})=>c===r.DiscrError.Tag?`tag "${u}" must be string`:`value of tag "${u}" must be in oneOf`,params:({params:{discrError:c,tag:u,tagName:l}})=>(0,e._)`{error: ${c}, tag: ${l}, tagValue: ${u}}`},s={keyword:"discriminator",type:"object",schemaType:"object",error:o,code(c){let{gen:u,data:l,schema:d,parentSchema:p,it:f}=c,{oneOf:h}=p;if(!f.opts.discriminator)throw new Error("discriminator: requires discriminator option");let _=d.propertyName;if(typeof _!="string")throw new Error("discriminator: requires propertyName");if(d.mapping)throw new Error("discriminator: mapping is not supported");if(!h)throw new Error("discriminator: requires oneOf keyword");let g=u.let("valid",!1),m=u.const("tag",(0,e._)`${l}${(0,e.getProperty)(_)}`);u.if((0,e._)`typeof ${m} == "string"`,()=>y(),()=>c.error(!1,{discrError:r.DiscrError.Tag,tag:m,tagName:_})),c.ok(g);function y(){let S=b();u.if(!1);for(let x in S)u.elseIf((0,e._)`${m} === ${x}`),u.assign(g,v(S[x]));u.else(),c.error(!1,{discrError:r.DiscrError.Mapping,tag:m,tagName:_}),u.endIf()}function v(S){let x=u.name("valid"),w=c.subschema({keyword:"oneOf",schemaProp:S},x);return c.mergeEvaluated(w,e.Name),x}function b(){var S;let x={},w=O(p),E=!0;for(let q=0;q{e.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}}),aie=V((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;var r=Sne(),n=tie(),i=nie(),a=iie(),o=["/properties"],s="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),n.default.forEach(h=>this.addVocabulary(h)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let h=this.opts.$data?this.$dataMetaSchema(a,o):a;this.addMetaSchema(h,s,!1),this.refs["http://json-schema.org/schema"]=s}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(s)?s:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var u=Hh();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var l=Je();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var d=O$();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return d.default}});var p=Bh();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})}),oie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.formatNames=t.fastFormats=t.fullFormats=void 0;function e(M,q){return{validate:M,compare:q}}t.fullFormats={date:e(a,o),time:e(c(!0),u),"date-time":e(p(!0),f),"iso-time":e(c(),l),"iso-date-time":e(p(),h),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:m,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:A,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:v,int32:{type:"number",validate:x},int64:{type:"number",validate:w},float:{type:"number",validate:E},double:{type:"number",validate:E},password:!0,binary:!0},t.fastFormats={...t.fullFormats,date:e(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,u),"date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,f),"iso-time":e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,l),"iso-date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,h),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},t.formatNames=Object.keys(t.fullFormats);function r(M){return M%4===0&&(M%100!==0||M%400===0)}var n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(M){let q=n.exec(M);if(!q)return!1;let B=+q[1],U=+q[2],Y=+q[3];return U>=1&&U<=12&&Y>=1&&Y<=(U===2&&r(B)?29:i[U])}function o(M,q){if(M&&q)return M>q?1:M23||I>59||M&&!mt)return!1;if(Y<=23&&me<=59&&Qe<60)return!0;let D=me-I*fe,C=Y-F*fe-(D<0?1:0);return(C===23||C===-1)&&(D===59||D===-1)&&Qe<61}}function u(M,q){if(!(M&&q))return;let B=new Date("2020-01-01T"+M).valueOf(),U=new Date("2020-01-01T"+q).valueOf();if(B&&U)return B-U}function l(M,q){if(!(M&&q))return;let B=s.exec(M),U=s.exec(q);if(B&&U)return M=B[1]+B[2]+B[3],q=U[1]+U[2]+U[3],M>q?1:M=b}function w(M){return Number.isInteger(M)}function E(){return!0}var O=/[^\\]\\Z/;function A(M){if(O.test(M))return!1;try{return new RegExp(M),!0}catch{return!1}}}),Nh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class e{}t._CodeOrName=e,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends e{constructor(y){if(super(),!t.IDENTIFIER.test(y))throw new Error("CodeGen: name must be a valid identifier");this.str=y}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=r;class n extends e{constructor(y){super(),this._items=typeof y=="string"?[y]:y}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let y=this._items[0];return y===""||y==='""'}get str(){var y;return(y=this._str)!==null&&y!==void 0?y:this._str=this._items.reduce((v,b)=>`${v}${b}`,"")}get names(){var y;return(y=this._names)!==null&&y!==void 0?y:this._names=this._items.reduce((v,b)=>(b instanceof r&&(v[b.str]=(v[b.str]||0)+1),v),{})}}t._Code=n,t.nil=new n("");function i(m,...y){let v=[m[0]],b=0;for(;b{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;var e=Nh();class r extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var n;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(n||(t.UsedValueState=n={})),t.varKinds={const:new e.Name("const"),let:new e.Name("let"),var:new e.Name("var")};class i{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof e.Name?u:this.name(u)}name(u){return new e.Name(this._newName(u))}_newName(u){let l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,d;if(!((d=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||d===void 0)&&d.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}t.Scope=i;class a extends e.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:d}){this.value=u,this.scopePath=(0,e._)`.${new e.Name(l)}[${d}]`}}t.ValueScopeName=a;var o=(0,e._)`\n`;class s extends i{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?o:e.nil}}get(){return this._scope}name(u){return new a(u,this._newName(u))}value(u,l){var d;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(u),{prefix:f}=p,h=(d=l.key)!==null&&d!==void 0?d:l.ref,_=this._values[f];if(_){let y=_.get(h);if(y)return y}else _=this._values[f]=new Map;_.set(h,p);let g=this._scope[f]||(this._scope[f]=[]),m=g.length;return g[m]=l.ref,p.setValue(l,{property:f,itemIndex:m}),p}getValue(u,l){let d=this._values[u];if(d)return d.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,d=>{if(d.scopePath===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return(0,e._)`${u}${d.scopePath}`})}scopeCode(u=this._values,l,d){return this._reduceValues(u,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},l,d)}_reduceValues(u,l,d={},p){let f=e.nil;for(let h in u){let _=u[h];if(!_)continue;let g=d[h]=d[h]||new Map;_.forEach(m=>{if(g.has(m))return;g.set(m,n.Started);let y=l(m);if(y){let v=this.opts.es5?t.varKinds.var:t.varKinds.const;f=(0,e._)`${f}${v} ${m} = ${y};${this.opts._n}`}else if(y=p?.(m))f=(0,e._)`${f}${y}${this.opts._n}`;else throw new r(m);g.set(m,n.Completed)})}return f}}t.ValueScope=s}),Be=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;var e=Nh(),r=T4(),n=Nh();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return n.Name}});var i=T4();Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),t.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class a{optimizeNodes(){return this}optimizeNames($,T){return this}}class o extends a{constructor($,T,N){super(),this.varKind=$,this.name=T,this.rhs=N}render({es5:$,_n:T}){let N=$?r.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${N} ${this.name}${W};`+T}optimizeNames($,T){if($[this.name.str])return this.rhs&&(this.rhs=U(this.rhs,$,T)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class s extends a{constructor($,T,N){super(),this.lhs=$,this.rhs=T,this.sideEffects=N}render({_n:$}){return`${this.lhs} = ${this.rhs};`+$}optimizeNames($,T){if(!(this.lhs instanceof e.Name&&!$[this.lhs.str]&&!this.sideEffects))return this.rhs=U(this.rhs,$,T),this}get names(){let $=this.lhs instanceof e.Name?{}:{...this.lhs.names};return B($,this.rhs)}}class c extends s{constructor($,T,N,W){super($,N,W),this.op=T}render({_n:$}){return`${this.lhs} ${this.op}= ${this.rhs};`+$}}class u extends a{constructor($){super(),this.label=$,this.names={}}render({_n:$}){return`${this.label}:`+$}}class l extends a{constructor($){super(),this.label=$,this.names={}}render({_n:$}){return`break${this.label?` ${this.label}`:""};`+$}}class d extends a{constructor($){super(),this.error=$}render({_n:$}){return`throw ${this.error};`+$}get names(){return this.error.names}}class p extends a{constructor($){super(),this.code=$}render({_n:$}){return`${this.code};`+$}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames($,T){return this.code=U(this.code,$,T),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class f extends a{constructor($=[]){super(),this.nodes=$}render($){return this.nodes.reduce((T,N)=>T+N.render($),"")}optimizeNodes(){let{nodes:$}=this,T=$.length;for(;T--;){let N=$[T].optimizeNodes();Array.isArray(N)?$.splice(T,1,...N):N?$[T]=N:$.splice(T,1)}return $.length>0?this:void 0}optimizeNames($,T){let{nodes:N}=this,W=N.length;for(;W--;){let K=N[W];K.optimizeNames($,T)||(Y($,K.names),N.splice(W,1))}return N.length>0?this:void 0}get names(){return this.nodes.reduce(($,T)=>q($,T.names),{})}}class h extends f{render($){return"{"+$._n+super.render($)+"}"+$._n}}class _ extends f{}class g extends h{}g.kind="else";class m extends h{constructor($,T){super(T),this.condition=$}render($){let T=`if(${this.condition})`+super.render($);return this.else&&(T+="else "+this.else.render($)),T}optimizeNodes(){super.optimizeNodes();let $=this.condition;if($===!0)return this.nodes;let T=this.else;if(T){let N=T.optimizeNodes();T=this.else=Array.isArray(N)?new g(N):N}if(T)return $===!1?T instanceof m?T:T.nodes:this.nodes.length?this:new m(me($),T instanceof m?[T]:T.nodes);if(!($===!1||!this.nodes.length))return this}optimizeNames($,T){var N;if(this.else=(N=this.else)===null||N===void 0?void 0:N.optimizeNames($,T),!!(super.optimizeNames($,T)||this.else))return this.condition=U(this.condition,$,T),this}get names(){let $=super.names;return B($,this.condition),this.else&&q($,this.else.names),$}}m.kind="if";class y extends h{}y.kind="for";class v extends y{constructor($){super(),this.iteration=$}render($){return`for(${this.iteration})`+super.render($)}optimizeNames($,T){if(super.optimizeNames($,T))return this.iteration=U(this.iteration,$,T),this}get names(){return q(super.names,this.iteration.names)}}class b extends y{constructor($,T,N,W){super(),this.varKind=$,this.name=T,this.from=N,this.to=W}render($){let T=$.es5?r.varKinds.var:this.varKind,{name:N,from:W,to:K}=this;return`for(${T} ${N}=${W}; ${N}<${K}; ${N}++)`+super.render($)}get names(){let $=B(super.names,this.from);return B($,this.to)}}class S extends y{constructor($,T,N,W){super(),this.loop=$,this.varKind=T,this.name=N,this.iterable=W}render($){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render($)}optimizeNames($,T){if(super.optimizeNames($,T))return this.iterable=U(this.iterable,$,T),this}get names(){return q(super.names,this.iterable.names)}}class x extends h{constructor($,T,N){super(),this.name=$,this.args=T,this.async=N}render($){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render($)}}x.kind="func";class w extends f{render($){return"return "+super.render($)}}w.kind="return";class E extends h{render($){let T="try"+super.render($);return this.catch&&(T+=this.catch.render($)),this.finally&&(T+=this.finally.render($)),T}optimizeNodes(){var $,T;return super.optimizeNodes(),($=this.catch)===null||$===void 0||$.optimizeNodes(),(T=this.finally)===null||T===void 0||T.optimizeNodes(),this}optimizeNames($,T){var N,W;return super.optimizeNames($,T),(N=this.catch)===null||N===void 0||N.optimizeNames($,T),(W=this.finally)===null||W===void 0||W.optimizeNames($,T),this}get names(){let $=super.names;return this.catch&&q($,this.catch.names),this.finally&&q($,this.finally.names),$}}class O extends h{constructor($){super(),this.error=$}render($){return`catch(${this.error})`+super.render($)}}O.kind="catch";class A extends h{render($){return"finally"+super.render($)}}A.kind="finally";class M{constructor($,T={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...T,_n:T.lines?` -`:""},this._extScope=$,this._scope=new r.Scope({parent:$}),this._nodes=[new _]}toString(){return this._root.render(this.opts)}name($){return this._scope.name($)}scopeName($){return this._extScope.name($)}scopeValue($,T){let N=this._extScope.value($,T);return(this._values[N.prefix]||(this._values[N.prefix]=new Set)).add(N),N}getScopeValue($,T){return this._extScope.getValue($,T)}scopeRefs($){return this._extScope.scopeRefs($,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def($,T,N,W){let K=this._scope.toName(T);return N!==void 0&&W&&(this._constants[K.str]=N),this._leafNode(new o($,K,N)),K}const($,T,N){return this._def(r.varKinds.const,$,T,N)}let($,T,N){return this._def(r.varKinds.let,$,T,N)}var($,T,N){return this._def(r.varKinds.var,$,T,N)}assign($,T,N){return this._leafNode(new s($,T,N))}add($,T){return this._leafNode(new c($,t.operators.ADD,T))}code($){return typeof $=="function"?$():$!==e.nil&&this._leafNode(new p($)),this}object(...$){let T=["{"];for(let[N,W]of $)T.length>1&&T.push(","),T.push(N),(N!==W||this.opts.es5)&&(T.push(":"),(0,e.addCodeArg)(T,W));return T.push("}"),new e._Code(T)}if($,T,N){if(this._blockNode(new m($)),T&&N)this.code(T).else().code(N).endIf();else if(T)this.code(T).endIf();else if(N)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf($){return this._elseNode(new m($))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(m,g)}_for($,T){return this._blockNode($),T&&this.code(T).endFor(),this}for($,T){return this._for(new v($),T)}forRange($,T,N,W,K=this.opts.es5?r.varKinds.var:r.varKinds.let){let pe=this._scope.toName($);return this._for(new b(K,pe,T,N),()=>W(pe))}forOf($,T,N,W=r.varKinds.const){let K=this._scope.toName($);if(this.opts.es5){let pe=T instanceof e.Name?T:this.var("_arr",T);return this.forRange("_i",0,(0,e._)`${pe}.length`,ce=>{this.var(K,(0,e._)`${pe}[${ce}]`),N(K)})}return this._for(new S("of",W,K,T),()=>N(K))}forIn($,T,N,W=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf($,(0,e._)`Object.keys(${T})`,N);let K=this._scope.toName($);return this._for(new S("in",W,K,T),()=>N(K))}endFor(){return this._endBlockNode(y)}label($){return this._leafNode(new u($))}break($){return this._leafNode(new l($))}return($){let T=new w;if(this._blockNode(T),this.code($),T.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(w)}try($,T,N){if(!T&&!N)throw new Error('CodeGen: "try" without "catch" and "finally"');let W=new E;if(this._blockNode(W),this.code($),T){let K=this.name("e");this._currNode=W.catch=new O(K),T(K)}return N&&(this._currNode=W.finally=new A,this.code(N)),this._endBlockNode(O,A)}throw($){return this._leafNode(new d($))}block($,T){return this._blockStarts.push(this._nodes.length),$&&this.code($).endBlock(T),this}endBlock($){let T=this._blockStarts.pop();if(T===void 0)throw new Error("CodeGen: not in self-balancing block");let N=this._nodes.length-T;if(N<0||$!==void 0&&N!==$)throw new Error(`CodeGen: wrong number of nodes: ${N} vs ${$} expected`);return this._nodes.length=T,this}func($,T=e.nil,N,W){return this._blockNode(new x($,T,N)),W&&this.code(W).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize($=1){for(;$-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode($){return this._currNode.nodes.push($),this}_blockNode($){this._currNode.nodes.push($),this._nodes.push($)}_endBlockNode($,T){let N=this._currNode;if(N instanceof $||T&&N instanceof T)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${T?`${$.kind}/${T.kind}`:$.kind}"`)}_elseNode($){let T=this._currNode;if(!(T instanceof m))throw new Error('CodeGen: "else" without "if"');return this._currNode=T.else=$,this}get _root(){return this._nodes[0]}get _currNode(){let $=this._nodes;return $[$.length-1]}set _currNode($){let T=this._nodes;T[T.length-1]=$}}t.CodeGen=M;function q(C,$){for(let T in $)C[T]=(C[T]||0)+($[T]||0);return C}function B(C,$){return $ instanceof e._CodeOrName?q(C,$.names):C}function U(C,$,T){if(C instanceof e.Name)return N(C);if(!W(C))return C;return new e._Code(C._items.reduce((K,pe)=>(pe instanceof e.Name&&(pe=N(pe)),pe instanceof e._Code?K.push(...pe._items):K.push(pe),K),[]));function N(K){let pe=T[K.str];return pe===void 0||$[K.str]!==1?K:(delete $[K.str],pe)}function W(K){return K instanceof e._Code&&K._items.some(pe=>pe instanceof e.Name&&$[pe.str]===1&&T[pe.str]!==void 0)}}function Y(C,$){for(let T in $)C[T]=(C[T]||0)-($[T]||0)}function me(C){return typeof C=="boolean"||typeof C=="number"||C===null?!C:(0,e._)`!${D(C)}`}t.not=me;var Qe=I(t.operators.AND);function mt(...C){return C.reduce(Qe)}t.and=mt;var fe=I(t.operators.OR);function F(...C){return C.reduce(fe)}t.or=F;function I(C){return($,T)=>$===e.nil?T:T===e.nil?$:(0,e._)`${D($)} ${C} ${D(T)}`}function D(C){return C instanceof e.Name?C:(0,e._)`(${C})`}}),lt=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;var e=Be(),r=Nh();function n(x){let w={};for(let E of x)w[E]=!0;return w}t.toHash=n;function i(x,w){return typeof w=="boolean"?w:Object.keys(w).length===0?!0:(a(x,w),!o(w,x.self.RULES.all))}t.alwaysValidSchema=i;function a(x,w=x.schema){let{opts:E,self:O}=x;if(!E.strictSchema||typeof w=="boolean")return;let A=O.RULES.keywords;for(let M in w)A[M]||S(x,`unknown keyword: "${M}"`)}t.checkUnknownRules=a;function o(x,w){if(typeof x=="boolean")return!x;for(let E in x)if(w[E])return!0;return!1}t.schemaHasRules=o;function s(x,w){if(typeof x=="boolean")return!x;for(let E in x)if(E!=="$ref"&&w.all[E])return!0;return!1}t.schemaHasRulesButRef=s;function c({topSchemaRef:x,schemaPath:w},E,O,A){if(!A){if(typeof E=="number"||typeof E=="boolean")return E;if(typeof E=="string")return(0,e._)`${E}`}return(0,e._)`${x}${w}${(0,e.getProperty)(O)}`}t.schemaRefOrVal=c;function u(x){return p(decodeURIComponent(x))}t.unescapeFragment=u;function l(x){return encodeURIComponent(d(x))}t.escapeFragment=l;function d(x){return typeof x=="number"?`${x}`:x.replace(/~/g,"~0").replace(/\//g,"~1")}t.escapeJsonPointer=d;function p(x){return x.replace(/~1/g,"/").replace(/~0/g,"~")}t.unescapeJsonPointer=p;function f(x,w){if(Array.isArray(x))for(let E of x)w(E);else w(x)}t.eachItem=f;function h({mergeNames:x,mergeToName:w,mergeValues:E,resultToName:O}){return(A,M,q,B)=>{let U=q===void 0?M:q instanceof e.Name?(M instanceof e.Name?x(A,M,q):w(A,M,q),q):M instanceof e.Name?(w(A,q,M),M):E(M,q);return B===e.Name&&!(U instanceof e.Name)?O(A,U):U}}t.mergeEvaluated={props:h({mergeNames:(x,w,E)=>x.if((0,e._)`${E} !== true && ${w} !== undefined`,()=>{x.if((0,e._)`${w} === true`,()=>x.assign(E,!0),()=>x.assign(E,(0,e._)`${E} || {}`).code((0,e._)`Object.assign(${E}, ${w})`))}),mergeToName:(x,w,E)=>x.if((0,e._)`${E} !== true`,()=>{w===!0?x.assign(E,!0):(x.assign(E,(0,e._)`${E} || {}`),g(x,E,w))}),mergeValues:(x,w)=>x===!0?!0:{...x,...w},resultToName:_}),items:h({mergeNames:(x,w,E)=>x.if((0,e._)`${E} !== true && ${w} !== undefined`,()=>x.assign(E,(0,e._)`${w} === true ? true : ${E} > ${w} ? ${E} : ${w}`)),mergeToName:(x,w,E)=>x.if((0,e._)`${E} !== true`,()=>x.assign(E,w===!0?!0:(0,e._)`${E} > ${w} ? ${E} : ${w}`)),mergeValues:(x,w)=>x===!0?!0:Math.max(x,w),resultToName:(x,w)=>x.var("items",w)})};function _(x,w){if(w===!0)return x.var("props",!0);let E=x.var("props",(0,e._)`{}`);return w!==void 0&&g(x,E,w),E}t.evaluatedPropsToName=_;function g(x,w,E){Object.keys(E).forEach(O=>x.assign((0,e._)`${w}${(0,e.getProperty)(O)}`,!0))}t.setEvaluated=g;var m={};function y(x,w){return x.scopeValue("func",{ref:w,code:m[w.code]||(m[w.code]=new r._Code(w.code))})}t.useFunc=y;var v;(function(x){x[x.Num=0]="Num",x[x.Str=1]="Str"})(v||(t.Type=v={}));function b(x,w,E){if(x instanceof e.Name){let O=w===v.Num;return E?O?(0,e._)`"[" + ${x} + "]"`:(0,e._)`"['" + ${x} + "']"`:O?(0,e._)`"/" + ${x}`:(0,e._)`"/" + ${x}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return E?(0,e.getProperty)(x).toString():"/"+d(x)}t.getErrorPath=b;function S(x,w,E=x.opts.strictSchema){if(E){if(w=`strict mode: ${w}`,E===!0)throw new Error(w);x.self.logger.warn(w)}}t.checkStrictMode=S}),Ta=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={data:new e.Name("data"),valCxt:new e.Name("valCxt"),instancePath:new e.Name("instancePath"),parentData:new e.Name("parentData"),parentDataProperty:new e.Name("parentDataProperty"),rootData:new e.Name("rootData"),dynamicAnchors:new e.Name("dynamicAnchors"),vErrors:new e.Name("vErrors"),errors:new e.Name("errors"),this:new e.Name("this"),self:new e.Name("self"),scope:new e.Name("scope"),json:new e.Name("json"),jsonPos:new e.Name("jsonPos"),jsonLen:new e.Name("jsonLen"),jsonPart:new e.Name("jsonPart")};t.default=r}),Vh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;var e=Be(),r=lt(),n=Ta();t.keywordError={message:({keyword:g})=>(0,e.str)`must pass "${g}" keyword validation`},t.keyword$DataError={message:({keyword:g,schemaType:m})=>m?(0,e.str)`"${g}" keyword must be ${m} ($data)`:(0,e.str)`"${g}" keyword is invalid ($data)`};function i(g,m=t.keywordError,y,v){let{it:b}=g,{gen:S,compositeRule:x,allErrors:w}=b,E=d(g,m,y);v??(x||w)?c(S,E):u(b,(0,e._)`[${E}]`)}t.reportError=i;function a(g,m=t.keywordError,y){let{it:v}=g,{gen:b,compositeRule:S,allErrors:x}=v,w=d(g,m,y);c(b,w),S||x||u(v,n.default.vErrors)}t.reportExtraError=a;function o(g,m){g.assign(n.default.errors,m),g.if((0,e._)`${n.default.vErrors} !== null`,()=>g.if(m,()=>g.assign((0,e._)`${n.default.vErrors}.length`,m),()=>g.assign(n.default.vErrors,null)))}t.resetErrorsCount=o;function s({gen:g,keyword:m,schemaValue:y,data:v,errsCount:b,it:S}){if(b===void 0)throw new Error("ajv implementation error");let x=g.name("err");g.forRange("i",b,n.default.errors,w=>{g.const(x,(0,e._)`${n.default.vErrors}[${w}]`),g.if((0,e._)`${x}.instancePath === undefined`,()=>g.assign((0,e._)`${x}.instancePath`,(0,e.strConcat)(n.default.instancePath,S.errorPath))),g.assign((0,e._)`${x}.schemaPath`,(0,e.str)`${S.errSchemaPath}/${m}`),S.opts.verbose&&(g.assign((0,e._)`${x}.schema`,y),g.assign((0,e._)`${x}.data`,v))})}t.extendErrors=s;function c(g,m){let y=g.const("err",m);g.if((0,e._)`${n.default.vErrors} === null`,()=>g.assign(n.default.vErrors,(0,e._)`[${y}]`),(0,e._)`${n.default.vErrors}.push(${y})`),g.code((0,e._)`${n.default.errors}++`)}function u(g,m){let{gen:y,validateName:v,schemaEnv:b}=g;b.$async?y.throw((0,e._)`new ${g.ValidationError}(${m})`):(y.assign((0,e._)`${v}.errors`,m),y.return(!1))}var l={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function d(g,m,y){let{createErrors:v}=g.it;return v===!1?(0,e._)`{}`:p(g,m,y)}function p(g,m,y={}){let{gen:v,it:b}=g,S=[f(b,y),h(g,y)];return _(g,m,S),v.object(...S)}function f({errorPath:g},{instancePath:m}){let y=m?(0,e.str)`${g}${(0,r.getErrorPath)(m,r.Type.Str)}`:g;return[n.default.instancePath,(0,e.strConcat)(n.default.instancePath,y)]}function h({keyword:g,it:{errSchemaPath:m}},{schemaPath:y,parentSchema:v}){let b=v?m:(0,e.str)`${m}/${g}`;return y&&(b=(0,e.str)`${b}${(0,r.getErrorPath)(y,r.Type.Str)}`),[l.schemaPath,b]}function _(g,{params:m,message:y},v){let{keyword:b,data:S,schemaValue:x,it:w}=g,{opts:E,propertyName:O,topSchemaRef:A,schemaPath:M}=w;v.push([l.keyword,b],[l.params,typeof m=="function"?m(g):m||(0,e._)`{}`]),E.messages&&v.push([l.message,typeof y=="function"?y(g):y]),E.verbose&&v.push([l.schema,x],[l.parentSchema,(0,e._)`${A}${M}`],[n.default.data,S]),O&&v.push([l.propertyName,O])}}),sie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;var e=Vh(),r=Be(),n=Ta(),i={message:"boolean schema is false"};function a(c){let{gen:u,schema:l,validateName:d}=c;l===!1?s(c,!1):typeof l=="object"&&l.$async===!0?u.return(n.default.data):(u.assign((0,r._)`${d}.errors`,null),u.return(!0))}t.topBoolOrEmptySchema=a;function o(c,u){let{gen:l,schema:d}=c;d===!1?(l.var(u,!1),s(c)):l.var(u,!0)}t.boolOrEmptySchema=o;function s(c,u){let{gen:l,data:d}=c,p={gen:l,keyword:"false schema",data:d,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:c};(0,e.reportError)(p,i,void 0,u)}}),p2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;var e=["string","number","integer","boolean","null","object","array"],r=new Set(e);function n(a){return typeof a=="string"&&r.has(a)}t.isJSONType=n;function i(){let a={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...a,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},a.number,a.string,a.array,a.object],post:{rules:[]},all:{},keywords:{}}}t.getRules=i}),f2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0;function e({schema:i,self:a},o){let s=a.RULES.types[o];return s&&s!==!0&&r(i,s)}t.schemaHasRulesForType=e;function r(i,a){return a.rules.some(o=>n(i,o))}t.shouldUseGroup=r;function n(i,a){var o;return i[a.keyword]!==void 0||((o=a.definition.implements)===null||o===void 0?void 0:o.some(s=>i[s]!==void 0))}t.shouldUseRule=n}),jh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;var e=p2(),r=f2(),n=Vh(),i=Be(),a=lt(),o;(function(v){v[v.Correct=0]="Correct",v[v.Wrong=1]="Wrong"})(o||(t.DataType=o={}));function s(v){let b=c(v.type);if(b.includes("null")){if(v.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!b.length&&v.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');v.nullable===!0&&b.push("null")}return b}t.getSchemaTypes=s;function c(v){let b=Array.isArray(v)?v:v?[v]:[];if(b.every(e.isJSONType))return b;throw new Error("type must be JSONType or JSONType[]: "+b.join(","))}t.getJSONTypes=c;function u(v,b){let{gen:S,data:x,opts:w}=v,E=d(b,w.coerceTypes),O=b.length>0&&!(E.length===0&&b.length===1&&(0,r.schemaHasRulesForType)(v,b[0]));if(O){let A=_(b,x,w.strictNumbers,o.Wrong);S.if(A,()=>{E.length?p(v,b,E):m(v)})}return O}t.coerceAndCheckDataType=u;var l=new Set(["string","number","integer","boolean","null"]);function d(v,b){return b?v.filter(S=>l.has(S)||b==="array"&&S==="array"):[]}function p(v,b,S){let{gen:x,data:w,opts:E}=v,O=x.let("dataType",(0,i._)`typeof ${w}`),A=x.let("coerced",(0,i._)`undefined`);E.coerceTypes==="array"&&x.if((0,i._)`${O} == 'object' && Array.isArray(${w}) && ${w}.length == 1`,()=>x.assign(w,(0,i._)`${w}[0]`).assign(O,(0,i._)`typeof ${w}`).if(_(b,w,E.strictNumbers),()=>x.assign(A,w))),x.if((0,i._)`${A} !== undefined`);for(let q of S)(l.has(q)||q==="array"&&E.coerceTypes==="array")&&M(q);x.else(),m(v),x.endIf(),x.if((0,i._)`${A} !== undefined`,()=>{x.assign(w,A),f(v,A)});function M(q){switch(q){case"string":x.elseIf((0,i._)`${O} == "number" || ${O} == "boolean"`).assign(A,(0,i._)`"" + ${w}`).elseIf((0,i._)`${w} === null`).assign(A,(0,i._)`""`);return;case"number":x.elseIf((0,i._)`${O} == "boolean" || ${w} === null + deps: ${l}}`};var i={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(c){let[u,l]=a(c);o(c,u),s(c,l)}};function a({schema:c}){let u={},l={};for(let d in c){if(d==="__proto__")continue;let p=Array.isArray(c[d])?u:l;p[d]=c[d]}return[u,l]}function o(c,u=c.schema){let{gen:l,data:d,it:p}=c;if(Object.keys(u).length===0)return;let f=l.let("missing");for(let h in u){let _=u[h];if(_.length===0)continue;let g=(0,n.propertyInData)(l,d,h,p.opts.ownProperties);c.setParams({property:h,depsCount:_.length,deps:_.join(", ")}),p.allErrors?l.if(g,()=>{for(let m of _)(0,n.checkReportMissingProp)(c,m)}):(l.if((0,e._)`${g} && (${(0,n.checkMissingProp)(c,_,f)})`),(0,n.reportMissingProp)(c,f),l.else())}}t.validatePropertyDeps=o;function s(c,u=c.schema){let{gen:l,data:d,keyword:p,it:f}=c,h=l.name("valid");for(let _ in u)(0,r.alwaysValidSchema)(f,u[_])||(l.if((0,n.propertyInData)(l,d,_,f.opts.ownProperties),()=>{let g=c.subschema({keyword:p,schemaProp:_},h);c.mergeValidEvaluated(g,h)},()=>l.var(h,!0)),c.ok(h))}t.validateSchemaDeps=s,t.default=i}),Zne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n={message:"property name must be valid",params:({params:a})=>(0,e._)`{propertyName: ${a.propertyName}}`},i={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:n,code(a){let{gen:o,schema:s,data:c,it:u}=a;if((0,r.alwaysValidSchema)(u,s))return;let l=o.name("valid");o.forIn("key",c,d=>{a.setParams({propertyName:d}),a.subschema({keyword:"propertyNames",data:d,dataTypes:["string"],propertyName:d,compositeRule:!0},l),o.if((0,e.not)(l),()=>{a.error(!0),u.allErrors||o.break()})}),a.ok(l)}};t.default=i}),v2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r=Je(),n=Ta(),i=ut(),a={message:"must NOT have additional properties",params:({params:s})=>(0,r._)`{additionalProperty: ${s.additionalProperty}}`},o={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:a,code(s){let{gen:c,schema:u,parentSchema:l,data:d,errsCount:p,it:f}=s;if(!p)throw new Error("ajv implementation error");let{allErrors:h,opts:_}=f;if(f.props=!0,_.removeAdditional!=="all"&&(0,i.alwaysValidSchema)(f,u))return;let g=(0,e.allSchemaProperties)(l.properties),m=(0,e.allSchemaProperties)(l.patternProperties);y(),s.ok((0,r._)`${p} === ${n.default.errors}`);function y(){c.forIn("key",d,w=>{!g.length&&!m.length?S(w):c.if(v(w),()=>S(w))})}function v(w){let E;if(g.length>8){let O=(0,i.schemaRefOrVal)(f,l.properties,"properties");E=(0,e.isOwnProperty)(c,O,w)}else g.length?E=(0,r.or)(...g.map(O=>(0,r._)`${w} === ${O}`)):E=r.nil;return m.length&&(E=(0,r.or)(E,...m.map(O=>(0,r._)`${(0,e.usePattern)(s,O)}.test(${w})`))),(0,r.not)(E)}function b(w){c.code((0,r._)`delete ${d}[${w}]`)}function S(w){if(_.removeAdditional==="all"||_.removeAdditional&&u===!1){b(w);return}if(u===!1){s.setParams({additionalProperty:w}),s.error(),h||c.break();return}if(typeof u=="object"&&!(0,i.alwaysValidSchema)(f,u)){let E=c.name("valid");_.removeAdditional==="failing"?(x(w,E,!1),c.if((0,r.not)(E),()=>{s.reset(),b(w)})):(x(w,E),h||c.if((0,r.not)(E),()=>c.break()))}}function x(w,E,O){let A={keyword:"additionalProperties",dataProp:w,dataPropType:i.Type.Str};O===!1&&Object.assign(A,{compositeRule:!0,createErrors:!1,allErrors:!1}),s.subschema(A,E)}}};t.default=o}),Hne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Hh(),r=Qn(),n=ut(),i=v2(),a={keyword:"properties",type:"object",schemaType:"object",code(o){let{gen:s,schema:c,parentSchema:u,data:l,it:d}=o;d.opts.removeAdditional==="all"&&u.additionalProperties===void 0&&i.default.code(new e.KeywordCxt(d,i.default,"additionalProperties"));let p=(0,r.allSchemaProperties)(c);for(let m of p)d.definedProperties.add(m);d.opts.unevaluated&&p.length&&d.props!==!0&&(d.props=n.mergeEvaluated.props(s,(0,n.toHash)(p),d.props));let f=p.filter(m=>!(0,n.alwaysValidSchema)(d,c[m]));if(f.length===0)return;let h=s.name("valid");for(let m of f)_(m)?g(m):(s.if((0,r.propertyInData)(s,l,m,d.opts.ownProperties)),g(m),d.allErrors||s.else().var(h,!0),s.endIf()),o.it.definedProperties.add(m),o.ok(h);function _(m){return d.opts.useDefaults&&!d.compositeRule&&c[m].default!==void 0}function g(m){o.subschema({keyword:"properties",schemaProp:m,dataProp:m},h)}}};t.default=a}),Bne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r=Je(),n=ut(),i=ut(),a={keyword:"patternProperties",type:"object",schemaType:"object",code(o){let{gen:s,schema:c,data:u,parentSchema:l,it:d}=o,{opts:p}=d,f=(0,e.allSchemaProperties)(c),h=f.filter(S=>(0,n.alwaysValidSchema)(d,c[S]));if(f.length===0||h.length===f.length&&(!d.opts.unevaluated||d.props===!0))return;let _=p.strictSchema&&!p.allowMatchingProperties&&l.properties,g=s.name("valid");d.props!==!0&&!(d.props instanceof r.Name)&&(d.props=(0,i.evaluatedPropsToName)(s,d.props));let{props:m}=d;y();function y(){for(let S of f)_&&v(S),d.allErrors?b(S):(s.var(g,!0),b(S),s.if(g))}function v(S){for(let x in _)new RegExp(S).test(x)&&(0,n.checkStrictMode)(d,`property ${x} matches pattern ${S} (use allowMatchingProperties)`)}function b(S){s.forIn("key",u,x=>{s.if((0,r._)`${(0,e.usePattern)(o,S)}.test(${x})`,()=>{let w=h.includes(S);w||o.subschema({keyword:"patternProperties",schemaProp:S,dataProp:x,dataPropType:i.Type.Str},g),d.opts.unevaluated&&m!==!0?s.assign((0,r._)`${m}[${x}]`,!0):!w&&!d.allErrors&&s.if((0,r.not)(g),()=>s.break())})})}}};t.default=a}),Vne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ut(),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:i,schema:a,it:o}=n;if((0,e.alwaysValidSchema)(o,a)){n.fail();return}let s=i.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),n.failResult(s,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};t.default=r}),Gne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:e.validateUnion,error:{message:"must match a schema in anyOf"}};t.default=r}),Wne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n={message:"must match exactly one schema in oneOf",params:({params:a})=>(0,e._)`{passingSchemas: ${a.passing}}`},i={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:n,code(a){let{gen:o,schema:s,parentSchema:c,it:u}=a;if(!Array.isArray(s))throw new Error("ajv implementation error");if(u.opts.discriminator&&c.discriminator)return;let l=s,d=o.let("valid",!1),p=o.let("passing",null),f=o.name("_valid");a.setParams({passing:p}),o.block(h),a.result(d,()=>a.reset(),()=>a.error(!0));function h(){l.forEach((_,g)=>{let m;(0,r.alwaysValidSchema)(u,_)?o.var(f,!0):m=a.subschema({keyword:"oneOf",schemaProp:g,compositeRule:!0},f),g>0&&o.if((0,e._)`${f} && ${d}`).assign(d,!1).assign(p,(0,e._)`[${p}, ${g}]`).else(),o.if(f,()=>{o.assign(d,!0),o.assign(p,g),m&&a.mergeEvaluated(m,e.Name)})})}}};t.default=i}),Kne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ut(),r={keyword:"allOf",schemaType:"array",code(n){let{gen:i,schema:a,it:o}=n;if(!Array.isArray(a))throw new Error("ajv implementation error");let s=i.name("valid");a.forEach((c,u)=>{if((0,e.alwaysValidSchema)(o,c))return;let l=n.subschema({keyword:"allOf",schemaProp:u},s);n.ok(s),n.mergeEvaluated(l)})}};t.default=r}),Jne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=ut(),n={message:({params:o})=>(0,e.str)`must match "${o.ifClause}" schema`,params:({params:o})=>(0,e._)`{failingKeyword: ${o.ifClause}}`},i={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:n,code(o){let{gen:s,parentSchema:c,it:u}=o;c.then===void 0&&c.else===void 0&&(0,r.checkStrictMode)(u,'"if" without "then" and "else" is ignored');let l=a(u,"then"),d=a(u,"else");if(!l&&!d)return;let p=s.let("valid",!0),f=s.name("_valid");if(h(),o.reset(),l&&d){let g=s.let("ifClause");o.setParams({ifClause:g}),s.if(f,_("then",g),_("else",g))}else l?s.if(f,_("then")):s.if((0,e.not)(f),_("else"));o.pass(p,()=>o.error(!0));function h(){let g=o.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},f);o.mergeEvaluated(g)}function _(g,m){return()=>{let y=o.subschema({keyword:g},f);s.assign(p,f),o.mergeValidEvaluated(y,p),m?s.assign(m,(0,e._)`${g}`):o.setParams({ifClause:g})}}}};function a(o,s){let c=o.schema[s];return c!==void 0&&!(0,r.alwaysValidSchema)(o,c)}t.default=i}),Xne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ut(),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:i,it:a}){i.if===void 0&&(0,e.checkStrictMode)(a,`"${n}" without "if" is ignored`)}};t.default=r}),Yne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=h2(),r=Une(),n=g2(),i=Lne(),a=qne(),o=Fne(),s=Zne(),c=v2(),u=Hne(),l=Bne(),d=Vne(),p=Gne(),f=Wne(),h=Kne(),_=Jne(),g=Xne();function m(y=!1){let v=[d.default,p.default,f.default,h.default,_.default,g.default,s.default,c.default,o.default,u.default,l.default];return y?v.push(r.default,i.default):v.push(e.default,n.default),v.push(a.default),v}t.default=m}),Qne=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r={message:({schemaCode:i})=>(0,e.str)`must match format "${i}"`,params:({schemaCode:i})=>(0,e._)`{format: ${i}}`},n={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:r,code(i,a){let{gen:o,data:s,$data:c,schema:u,schemaCode:l,it:d}=i,{opts:p,errSchemaPath:f,schemaEnv:h,self:_}=d;if(!p.validateFormats)return;c?g():m();function g(){let y=o.scopeValue("formats",{ref:_.formats,code:p.code.formats}),v=o.const("fDef",(0,e._)`${y}[${l}]`),b=o.let("fType"),S=o.let("format");o.if((0,e._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>o.assign(b,(0,e._)`${v}.type || "string"`).assign(S,(0,e._)`${v}.validate`),()=>o.assign(b,(0,e._)`"string"`).assign(S,v)),i.fail$data((0,e.or)(x(),w()));function x(){return p.strictSchema===!1?e.nil:(0,e._)`${l} && !${S}`}function w(){let E=h.$async?(0,e._)`(${v}.async ? await ${S}(${s}) : ${S}(${s}))`:(0,e._)`${S}(${s})`,O=(0,e._)`(typeof ${S} == "function" ? ${E} : ${S}.test(${s}))`;return(0,e._)`${S} && ${S} !== true && ${b} === ${a} && !${O}`}}function m(){let y=_.formats[u];if(!y){x();return}if(y===!0)return;let[v,b,S]=w(y);v===a&&i.pass(E());function x(){if(p.strictSchema===!1){_.logger.warn(O());return}throw new Error(O());function O(){return`unknown format "${u}" ignored in schema at path "${f}"`}}function w(O){let A=O instanceof RegExp?(0,e.regexpCode)(O):p.code.formats?(0,e._)`${p.code.formats}${(0,e.getProperty)(u)}`:void 0,M=o.scopeValue("formats",{key:u,ref:O,code:A});return typeof O=="object"&&!(O instanceof RegExp)?[O.type||"string",O.validate,(0,e._)`${M}.validate`]:["string",O,M]}function E(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!h.$async)throw new Error("async format in sync schema");return(0,e._)`await ${S}(${s})`}return typeof b=="function"?(0,e._)`${S}(${s})`:(0,e._)`${S}.test(${s})`}}}};t.default=n}),eie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qne(),r=[e.default];t.default=r}),tie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]}),rie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=kne(),r=zne(),n=Yne(),i=eie(),a=tie(),o=[e.default,r.default,(0,n.default)(),i.default,a.metadataVocabulary,a.contentVocabulary];t.default=o}),nie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0;var e;(function(r){r.Tag="tag",r.Mapping="mapping"})(e||(t.DiscrError=e={}))}),iie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Je(),r=nie(),n=C$(),i=Bh(),a=ut(),o={message:({params:{discrError:c,tagName:u}})=>c===r.DiscrError.Tag?`tag "${u}" must be string`:`value of tag "${u}" must be in oneOf`,params:({params:{discrError:c,tag:u,tagName:l}})=>(0,e._)`{error: ${c}, tag: ${l}, tagValue: ${u}}`},s={keyword:"discriminator",type:"object",schemaType:"object",error:o,code(c){let{gen:u,data:l,schema:d,parentSchema:p,it:f}=c,{oneOf:h}=p;if(!f.opts.discriminator)throw new Error("discriminator: requires discriminator option");let _=d.propertyName;if(typeof _!="string")throw new Error("discriminator: requires propertyName");if(d.mapping)throw new Error("discriminator: mapping is not supported");if(!h)throw new Error("discriminator: requires oneOf keyword");let g=u.let("valid",!1),m=u.const("tag",(0,e._)`${l}${(0,e.getProperty)(_)}`);u.if((0,e._)`typeof ${m} == "string"`,()=>y(),()=>c.error(!1,{discrError:r.DiscrError.Tag,tag:m,tagName:_})),c.ok(g);function y(){let S=b();u.if(!1);for(let x in S)u.elseIf((0,e._)`${m} === ${x}`),u.assign(g,v(S[x]));u.else(),c.error(!1,{discrError:r.DiscrError.Mapping,tag:m,tagName:_}),u.endIf()}function v(S){let x=u.name("valid"),w=c.subschema({keyword:"oneOf",schemaProp:S},x);return c.mergeEvaluated(w,e.Name),x}function b(){var S;let x={},w=O(p),E=!0;for(let L=0;L{e.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}}),oie=V((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;var r=wne(),n=rie(),i=iie(),a=aie(),o=["/properties"],s="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),n.default.forEach(h=>this.addVocabulary(h)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let h=this.opts.$data?this.$dataMetaSchema(a,o):a;this.addMetaSchema(h,s,!1),this.refs["http://json-schema.org/schema"]=s}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(s)?s:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var u=Hh();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var l=Je();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var d=R$();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return d.default}});var p=Bh();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})}),sie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.formatNames=t.fastFormats=t.fullFormats=void 0;function e(M,L){return{validate:M,compare:L}}t.fullFormats={date:e(a,o),time:e(c(!0),u),"date-time":e(p(!0),f),"iso-time":e(c(),l),"iso-date-time":e(p(),h),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:m,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:A,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:v,int32:{type:"number",validate:x},int64:{type:"number",validate:w},float:{type:"number",validate:E},double:{type:"number",validate:E},password:!0,binary:!0},t.fastFormats={...t.fullFormats,date:e(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,u),"date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,f),"iso-time":e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,l),"iso-date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,h),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},t.formatNames=Object.keys(t.fullFormats);function r(M){return M%4===0&&(M%100!==0||M%400===0)}var n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(M){let L=n.exec(M);if(!L)return!1;let B=+L[1],U=+L[2],Y=+L[3];return U>=1&&U<=12&&Y>=1&&Y<=(U===2&&r(B)?29:i[U])}function o(M,L){if(M&&L)return M>L?1:M23||I>59||M&&!mt)return!1;if(Y<=23&&me<=59&&Qe<60)return!0;let D=me-I*fe,C=Y-F*fe-(D<0?1:0);return(C===23||C===-1)&&(D===59||D===-1)&&Qe<61}}function u(M,L){if(!(M&&L))return;let B=new Date("2020-01-01T"+M).valueOf(),U=new Date("2020-01-01T"+L).valueOf();if(B&&U)return B-U}function l(M,L){if(!(M&&L))return;let B=s.exec(M),U=s.exec(L);if(B&&U)return M=B[1]+B[2]+B[3],L=U[1]+U[2]+U[3],M>L?1:M=b}function w(M){return Number.isInteger(M)}function E(){return!0}var O=/[^\\]\\Z/;function A(M){if(O.test(M))return!1;try{return new RegExp(M),!0}catch{return!1}}}),Nh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class e{}t._CodeOrName=e,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends e{constructor(y){if(super(),!t.IDENTIFIER.test(y))throw new Error("CodeGen: name must be a valid identifier");this.str=y}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=r;class n extends e{constructor(y){super(),this._items=typeof y=="string"?[y]:y}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let y=this._items[0];return y===""||y==='""'}get str(){var y;return(y=this._str)!==null&&y!==void 0?y:this._str=this._items.reduce((v,b)=>`${v}${b}`,"")}get names(){var y;return(y=this._names)!==null&&y!==void 0?y:this._names=this._items.reduce((v,b)=>(b instanceof r&&(v[b.str]=(v[b.str]||0)+1),v),{})}}t._Code=n,t.nil=new n("");function i(m,...y){let v=[m[0]],b=0;for(;b{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;var e=Nh();class r extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var n;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(n||(t.UsedValueState=n={})),t.varKinds={const:new e.Name("const"),let:new e.Name("let"),var:new e.Name("var")};class i{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof e.Name?u:this.name(u)}name(u){return new e.Name(this._newName(u))}_newName(u){let l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,d;if(!((d=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||d===void 0)&&d.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}t.Scope=i;class a extends e.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:d}){this.value=u,this.scopePath=(0,e._)`.${new e.Name(l)}[${d}]`}}t.ValueScopeName=a;var o=(0,e._)`\n`;class s extends i{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?o:e.nil}}get(){return this._scope}name(u){return new a(u,this._newName(u))}value(u,l){var d;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(u),{prefix:f}=p,h=(d=l.key)!==null&&d!==void 0?d:l.ref,_=this._values[f];if(_){let y=_.get(h);if(y)return y}else _=this._values[f]=new Map;_.set(h,p);let g=this._scope[f]||(this._scope[f]=[]),m=g.length;return g[m]=l.ref,p.setValue(l,{property:f,itemIndex:m}),p}getValue(u,l){let d=this._values[u];if(d)return d.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,d=>{if(d.scopePath===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return(0,e._)`${u}${d.scopePath}`})}scopeCode(u=this._values,l,d){return this._reduceValues(u,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},l,d)}_reduceValues(u,l,d={},p){let f=e.nil;for(let h in u){let _=u[h];if(!_)continue;let g=d[h]=d[h]||new Map;_.forEach(m=>{if(g.has(m))return;g.set(m,n.Started);let y=l(m);if(y){let v=this.opts.es5?t.varKinds.var:t.varKinds.const;f=(0,e._)`${f}${v} ${m} = ${y};${this.opts._n}`}else if(y=p?.(m))f=(0,e._)`${f}${y}${this.opts._n}`;else throw new r(m);g.set(m,n.Completed)})}return f}}t.ValueScope=s}),Be=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;var e=Nh(),r=N4(),n=Nh();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return n.Name}});var i=N4();Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),t.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class a{optimizeNodes(){return this}optimizeNames($,T){return this}}class o extends a{constructor($,T,N){super(),this.varKind=$,this.name=T,this.rhs=N}render({es5:$,_n:T}){let N=$?r.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${N} ${this.name}${W};`+T}optimizeNames($,T){if($[this.name.str])return this.rhs&&(this.rhs=U(this.rhs,$,T)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class s extends a{constructor($,T,N){super(),this.lhs=$,this.rhs=T,this.sideEffects=N}render({_n:$}){return`${this.lhs} = ${this.rhs};`+$}optimizeNames($,T){if(!(this.lhs instanceof e.Name&&!$[this.lhs.str]&&!this.sideEffects))return this.rhs=U(this.rhs,$,T),this}get names(){let $=this.lhs instanceof e.Name?{}:{...this.lhs.names};return B($,this.rhs)}}class c extends s{constructor($,T,N,W){super($,N,W),this.op=T}render({_n:$}){return`${this.lhs} ${this.op}= ${this.rhs};`+$}}class u extends a{constructor($){super(),this.label=$,this.names={}}render({_n:$}){return`${this.label}:`+$}}class l extends a{constructor($){super(),this.label=$,this.names={}}render({_n:$}){return`break${this.label?` ${this.label}`:""};`+$}}class d extends a{constructor($){super(),this.error=$}render({_n:$}){return`throw ${this.error};`+$}get names(){return this.error.names}}class p extends a{constructor($){super(),this.code=$}render({_n:$}){return`${this.code};`+$}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames($,T){return this.code=U(this.code,$,T),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class f extends a{constructor($=[]){super(),this.nodes=$}render($){return this.nodes.reduce((T,N)=>T+N.render($),"")}optimizeNodes(){let{nodes:$}=this,T=$.length;for(;T--;){let N=$[T].optimizeNodes();Array.isArray(N)?$.splice(T,1,...N):N?$[T]=N:$.splice(T,1)}return $.length>0?this:void 0}optimizeNames($,T){let{nodes:N}=this,W=N.length;for(;W--;){let K=N[W];K.optimizeNames($,T)||(Y($,K.names),N.splice(W,1))}return N.length>0?this:void 0}get names(){return this.nodes.reduce(($,T)=>L($,T.names),{})}}class h extends f{render($){return"{"+$._n+super.render($)+"}"+$._n}}class _ extends f{}class g extends h{}g.kind="else";class m extends h{constructor($,T){super(T),this.condition=$}render($){let T=`if(${this.condition})`+super.render($);return this.else&&(T+="else "+this.else.render($)),T}optimizeNodes(){super.optimizeNodes();let $=this.condition;if($===!0)return this.nodes;let T=this.else;if(T){let N=T.optimizeNodes();T=this.else=Array.isArray(N)?new g(N):N}if(T)return $===!1?T instanceof m?T:T.nodes:this.nodes.length?this:new m(me($),T instanceof m?[T]:T.nodes);if(!($===!1||!this.nodes.length))return this}optimizeNames($,T){var N;if(this.else=(N=this.else)===null||N===void 0?void 0:N.optimizeNames($,T),!!(super.optimizeNames($,T)||this.else))return this.condition=U(this.condition,$,T),this}get names(){let $=super.names;return B($,this.condition),this.else&&L($,this.else.names),$}}m.kind="if";class y extends h{}y.kind="for";class v extends y{constructor($){super(),this.iteration=$}render($){return`for(${this.iteration})`+super.render($)}optimizeNames($,T){if(super.optimizeNames($,T))return this.iteration=U(this.iteration,$,T),this}get names(){return L(super.names,this.iteration.names)}}class b extends y{constructor($,T,N,W){super(),this.varKind=$,this.name=T,this.from=N,this.to=W}render($){let T=$.es5?r.varKinds.var:this.varKind,{name:N,from:W,to:K}=this;return`for(${T} ${N}=${W}; ${N}<${K}; ${N}++)`+super.render($)}get names(){let $=B(super.names,this.from);return B($,this.to)}}class S extends y{constructor($,T,N,W){super(),this.loop=$,this.varKind=T,this.name=N,this.iterable=W}render($){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render($)}optimizeNames($,T){if(super.optimizeNames($,T))return this.iterable=U(this.iterable,$,T),this}get names(){return L(super.names,this.iterable.names)}}class x extends h{constructor($,T,N){super(),this.name=$,this.args=T,this.async=N}render($){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render($)}}x.kind="func";class w extends f{render($){return"return "+super.render($)}}w.kind="return";class E extends h{render($){let T="try"+super.render($);return this.catch&&(T+=this.catch.render($)),this.finally&&(T+=this.finally.render($)),T}optimizeNodes(){var $,T;return super.optimizeNodes(),($=this.catch)===null||$===void 0||$.optimizeNodes(),(T=this.finally)===null||T===void 0||T.optimizeNodes(),this}optimizeNames($,T){var N,W;return super.optimizeNames($,T),(N=this.catch)===null||N===void 0||N.optimizeNames($,T),(W=this.finally)===null||W===void 0||W.optimizeNames($,T),this}get names(){let $=super.names;return this.catch&&L($,this.catch.names),this.finally&&L($,this.finally.names),$}}class O extends h{constructor($){super(),this.error=$}render($){return`catch(${this.error})`+super.render($)}}O.kind="catch";class A extends h{render($){return"finally"+super.render($)}}A.kind="finally";class M{constructor($,T={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...T,_n:T.lines?` +`:""},this._extScope=$,this._scope=new r.Scope({parent:$}),this._nodes=[new _]}toString(){return this._root.render(this.opts)}name($){return this._scope.name($)}scopeName($){return this._extScope.name($)}scopeValue($,T){let N=this._extScope.value($,T);return(this._values[N.prefix]||(this._values[N.prefix]=new Set)).add(N),N}getScopeValue($,T){return this._extScope.getValue($,T)}scopeRefs($){return this._extScope.scopeRefs($,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def($,T,N,W){let K=this._scope.toName(T);return N!==void 0&&W&&(this._constants[K.str]=N),this._leafNode(new o($,K,N)),K}const($,T,N){return this._def(r.varKinds.const,$,T,N)}let($,T,N){return this._def(r.varKinds.let,$,T,N)}var($,T,N){return this._def(r.varKinds.var,$,T,N)}assign($,T,N){return this._leafNode(new s($,T,N))}add($,T){return this._leafNode(new c($,t.operators.ADD,T))}code($){return typeof $=="function"?$():$!==e.nil&&this._leafNode(new p($)),this}object(...$){let T=["{"];for(let[N,W]of $)T.length>1&&T.push(","),T.push(N),(N!==W||this.opts.es5)&&(T.push(":"),(0,e.addCodeArg)(T,W));return T.push("}"),new e._Code(T)}if($,T,N){if(this._blockNode(new m($)),T&&N)this.code(T).else().code(N).endIf();else if(T)this.code(T).endIf();else if(N)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf($){return this._elseNode(new m($))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(m,g)}_for($,T){return this._blockNode($),T&&this.code(T).endFor(),this}for($,T){return this._for(new v($),T)}forRange($,T,N,W,K=this.opts.es5?r.varKinds.var:r.varKinds.let){let pe=this._scope.toName($);return this._for(new b(K,pe,T,N),()=>W(pe))}forOf($,T,N,W=r.varKinds.const){let K=this._scope.toName($);if(this.opts.es5){let pe=T instanceof e.Name?T:this.var("_arr",T);return this.forRange("_i",0,(0,e._)`${pe}.length`,ce=>{this.var(K,(0,e._)`${pe}[${ce}]`),N(K)})}return this._for(new S("of",W,K,T),()=>N(K))}forIn($,T,N,W=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf($,(0,e._)`Object.keys(${T})`,N);let K=this._scope.toName($);return this._for(new S("in",W,K,T),()=>N(K))}endFor(){return this._endBlockNode(y)}label($){return this._leafNode(new u($))}break($){return this._leafNode(new l($))}return($){let T=new w;if(this._blockNode(T),this.code($),T.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(w)}try($,T,N){if(!T&&!N)throw new Error('CodeGen: "try" without "catch" and "finally"');let W=new E;if(this._blockNode(W),this.code($),T){let K=this.name("e");this._currNode=W.catch=new O(K),T(K)}return N&&(this._currNode=W.finally=new A,this.code(N)),this._endBlockNode(O,A)}throw($){return this._leafNode(new d($))}block($,T){return this._blockStarts.push(this._nodes.length),$&&this.code($).endBlock(T),this}endBlock($){let T=this._blockStarts.pop();if(T===void 0)throw new Error("CodeGen: not in self-balancing block");let N=this._nodes.length-T;if(N<0||$!==void 0&&N!==$)throw new Error(`CodeGen: wrong number of nodes: ${N} vs ${$} expected`);return this._nodes.length=T,this}func($,T=e.nil,N,W){return this._blockNode(new x($,T,N)),W&&this.code(W).endFunc(),this}endFunc(){return this._endBlockNode(x)}optimize($=1){for(;$-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode($){return this._currNode.nodes.push($),this}_blockNode($){this._currNode.nodes.push($),this._nodes.push($)}_endBlockNode($,T){let N=this._currNode;if(N instanceof $||T&&N instanceof T)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${T?`${$.kind}/${T.kind}`:$.kind}"`)}_elseNode($){let T=this._currNode;if(!(T instanceof m))throw new Error('CodeGen: "else" without "if"');return this._currNode=T.else=$,this}get _root(){return this._nodes[0]}get _currNode(){let $=this._nodes;return $[$.length-1]}set _currNode($){let T=this._nodes;T[T.length-1]=$}}t.CodeGen=M;function L(C,$){for(let T in $)C[T]=(C[T]||0)+($[T]||0);return C}function B(C,$){return $ instanceof e._CodeOrName?L(C,$.names):C}function U(C,$,T){if(C instanceof e.Name)return N(C);if(!W(C))return C;return new e._Code(C._items.reduce((K,pe)=>(pe instanceof e.Name&&(pe=N(pe)),pe instanceof e._Code?K.push(...pe._items):K.push(pe),K),[]));function N(K){let pe=T[K.str];return pe===void 0||$[K.str]!==1?K:(delete $[K.str],pe)}function W(K){return K instanceof e._Code&&K._items.some(pe=>pe instanceof e.Name&&$[pe.str]===1&&T[pe.str]!==void 0)}}function Y(C,$){for(let T in $)C[T]=(C[T]||0)-($[T]||0)}function me(C){return typeof C=="boolean"||typeof C=="number"||C===null?!C:(0,e._)`!${D(C)}`}t.not=me;var Qe=I(t.operators.AND);function mt(...C){return C.reduce(Qe)}t.and=mt;var fe=I(t.operators.OR);function F(...C){return C.reduce(fe)}t.or=F;function I(C){return($,T)=>$===e.nil?T:T===e.nil?$:(0,e._)`${D($)} ${C} ${D(T)}`}function D(C){return C instanceof e.Name?C:(0,e._)`(${C})`}}),lt=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;var e=Be(),r=Nh();function n(x){let w={};for(let E of x)w[E]=!0;return w}t.toHash=n;function i(x,w){return typeof w=="boolean"?w:Object.keys(w).length===0?!0:(a(x,w),!o(w,x.self.RULES.all))}t.alwaysValidSchema=i;function a(x,w=x.schema){let{opts:E,self:O}=x;if(!E.strictSchema||typeof w=="boolean")return;let A=O.RULES.keywords;for(let M in w)A[M]||S(x,`unknown keyword: "${M}"`)}t.checkUnknownRules=a;function o(x,w){if(typeof x=="boolean")return!x;for(let E in x)if(w[E])return!0;return!1}t.schemaHasRules=o;function s(x,w){if(typeof x=="boolean")return!x;for(let E in x)if(E!=="$ref"&&w.all[E])return!0;return!1}t.schemaHasRulesButRef=s;function c({topSchemaRef:x,schemaPath:w},E,O,A){if(!A){if(typeof E=="number"||typeof E=="boolean")return E;if(typeof E=="string")return(0,e._)`${E}`}return(0,e._)`${x}${w}${(0,e.getProperty)(O)}`}t.schemaRefOrVal=c;function u(x){return p(decodeURIComponent(x))}t.unescapeFragment=u;function l(x){return encodeURIComponent(d(x))}t.escapeFragment=l;function d(x){return typeof x=="number"?`${x}`:x.replace(/~/g,"~0").replace(/\//g,"~1")}t.escapeJsonPointer=d;function p(x){return x.replace(/~1/g,"/").replace(/~0/g,"~")}t.unescapeJsonPointer=p;function f(x,w){if(Array.isArray(x))for(let E of x)w(E);else w(x)}t.eachItem=f;function h({mergeNames:x,mergeToName:w,mergeValues:E,resultToName:O}){return(A,M,L,B)=>{let U=L===void 0?M:L instanceof e.Name?(M instanceof e.Name?x(A,M,L):w(A,M,L),L):M instanceof e.Name?(w(A,L,M),M):E(M,L);return B===e.Name&&!(U instanceof e.Name)?O(A,U):U}}t.mergeEvaluated={props:h({mergeNames:(x,w,E)=>x.if((0,e._)`${E} !== true && ${w} !== undefined`,()=>{x.if((0,e._)`${w} === true`,()=>x.assign(E,!0),()=>x.assign(E,(0,e._)`${E} || {}`).code((0,e._)`Object.assign(${E}, ${w})`))}),mergeToName:(x,w,E)=>x.if((0,e._)`${E} !== true`,()=>{w===!0?x.assign(E,!0):(x.assign(E,(0,e._)`${E} || {}`),g(x,E,w))}),mergeValues:(x,w)=>x===!0?!0:{...x,...w},resultToName:_}),items:h({mergeNames:(x,w,E)=>x.if((0,e._)`${E} !== true && ${w} !== undefined`,()=>x.assign(E,(0,e._)`${w} === true ? true : ${E} > ${w} ? ${E} : ${w}`)),mergeToName:(x,w,E)=>x.if((0,e._)`${E} !== true`,()=>x.assign(E,w===!0?!0:(0,e._)`${E} > ${w} ? ${E} : ${w}`)),mergeValues:(x,w)=>x===!0?!0:Math.max(x,w),resultToName:(x,w)=>x.var("items",w)})};function _(x,w){if(w===!0)return x.var("props",!0);let E=x.var("props",(0,e._)`{}`);return w!==void 0&&g(x,E,w),E}t.evaluatedPropsToName=_;function g(x,w,E){Object.keys(E).forEach(O=>x.assign((0,e._)`${w}${(0,e.getProperty)(O)}`,!0))}t.setEvaluated=g;var m={};function y(x,w){return x.scopeValue("func",{ref:w,code:m[w.code]||(m[w.code]=new r._Code(w.code))})}t.useFunc=y;var v;(function(x){x[x.Num=0]="Num",x[x.Str=1]="Str"})(v||(t.Type=v={}));function b(x,w,E){if(x instanceof e.Name){let O=w===v.Num;return E?O?(0,e._)`"[" + ${x} + "]"`:(0,e._)`"['" + ${x} + "']"`:O?(0,e._)`"/" + ${x}`:(0,e._)`"/" + ${x}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return E?(0,e.getProperty)(x).toString():"/"+d(x)}t.getErrorPath=b;function S(x,w,E=x.opts.strictSchema){if(E){if(w=`strict mode: ${w}`,E===!0)throw new Error(w);x.self.logger.warn(w)}}t.checkStrictMode=S}),Ia=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={data:new e.Name("data"),valCxt:new e.Name("valCxt"),instancePath:new e.Name("instancePath"),parentData:new e.Name("parentData"),parentDataProperty:new e.Name("parentDataProperty"),rootData:new e.Name("rootData"),dynamicAnchors:new e.Name("dynamicAnchors"),vErrors:new e.Name("vErrors"),errors:new e.Name("errors"),this:new e.Name("this"),self:new e.Name("self"),scope:new e.Name("scope"),json:new e.Name("json"),jsonPos:new e.Name("jsonPos"),jsonLen:new e.Name("jsonLen"),jsonPart:new e.Name("jsonPart")};t.default=r}),Vh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;var e=Be(),r=lt(),n=Ia();t.keywordError={message:({keyword:g})=>(0,e.str)`must pass "${g}" keyword validation`},t.keyword$DataError={message:({keyword:g,schemaType:m})=>m?(0,e.str)`"${g}" keyword must be ${m} ($data)`:(0,e.str)`"${g}" keyword is invalid ($data)`};function i(g,m=t.keywordError,y,v){let{it:b}=g,{gen:S,compositeRule:x,allErrors:w}=b,E=d(g,m,y);v??(x||w)?c(S,E):u(b,(0,e._)`[${E}]`)}t.reportError=i;function a(g,m=t.keywordError,y){let{it:v}=g,{gen:b,compositeRule:S,allErrors:x}=v,w=d(g,m,y);c(b,w),S||x||u(v,n.default.vErrors)}t.reportExtraError=a;function o(g,m){g.assign(n.default.errors,m),g.if((0,e._)`${n.default.vErrors} !== null`,()=>g.if(m,()=>g.assign((0,e._)`${n.default.vErrors}.length`,m),()=>g.assign(n.default.vErrors,null)))}t.resetErrorsCount=o;function s({gen:g,keyword:m,schemaValue:y,data:v,errsCount:b,it:S}){if(b===void 0)throw new Error("ajv implementation error");let x=g.name("err");g.forRange("i",b,n.default.errors,w=>{g.const(x,(0,e._)`${n.default.vErrors}[${w}]`),g.if((0,e._)`${x}.instancePath === undefined`,()=>g.assign((0,e._)`${x}.instancePath`,(0,e.strConcat)(n.default.instancePath,S.errorPath))),g.assign((0,e._)`${x}.schemaPath`,(0,e.str)`${S.errSchemaPath}/${m}`),S.opts.verbose&&(g.assign((0,e._)`${x}.schema`,y),g.assign((0,e._)`${x}.data`,v))})}t.extendErrors=s;function c(g,m){let y=g.const("err",m);g.if((0,e._)`${n.default.vErrors} === null`,()=>g.assign(n.default.vErrors,(0,e._)`[${y}]`),(0,e._)`${n.default.vErrors}.push(${y})`),g.code((0,e._)`${n.default.errors}++`)}function u(g,m){let{gen:y,validateName:v,schemaEnv:b}=g;b.$async?y.throw((0,e._)`new ${g.ValidationError}(${m})`):(y.assign((0,e._)`${v}.errors`,m),y.return(!1))}var l={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function d(g,m,y){let{createErrors:v}=g.it;return v===!1?(0,e._)`{}`:p(g,m,y)}function p(g,m,y={}){let{gen:v,it:b}=g,S=[f(b,y),h(g,y)];return _(g,m,S),v.object(...S)}function f({errorPath:g},{instancePath:m}){let y=m?(0,e.str)`${g}${(0,r.getErrorPath)(m,r.Type.Str)}`:g;return[n.default.instancePath,(0,e.strConcat)(n.default.instancePath,y)]}function h({keyword:g,it:{errSchemaPath:m}},{schemaPath:y,parentSchema:v}){let b=v?m:(0,e.str)`${m}/${g}`;return y&&(b=(0,e.str)`${b}${(0,r.getErrorPath)(y,r.Type.Str)}`),[l.schemaPath,b]}function _(g,{params:m,message:y},v){let{keyword:b,data:S,schemaValue:x,it:w}=g,{opts:E,propertyName:O,topSchemaRef:A,schemaPath:M}=w;v.push([l.keyword,b],[l.params,typeof m=="function"?m(g):m||(0,e._)`{}`]),E.messages&&v.push([l.message,typeof y=="function"?y(g):y]),E.verbose&&v.push([l.schema,x],[l.parentSchema,(0,e._)`${A}${M}`],[n.default.data,S]),O&&v.push([l.propertyName,O])}}),cie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;var e=Vh(),r=Be(),n=Ia(),i={message:"boolean schema is false"};function a(c){let{gen:u,schema:l,validateName:d}=c;l===!1?s(c,!1):typeof l=="object"&&l.$async===!0?u.return(n.default.data):(u.assign((0,r._)`${d}.errors`,null),u.return(!0))}t.topBoolOrEmptySchema=a;function o(c,u){let{gen:l,schema:d}=c;d===!1?(l.var(u,!1),s(c)):l.var(u,!0)}t.boolOrEmptySchema=o;function s(c,u){let{gen:l,data:d}=c,p={gen:l,keyword:"false schema",data:d,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:c};(0,e.reportError)(p,i,void 0,u)}}),y2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;var e=["string","number","integer","boolean","null","object","array"],r=new Set(e);function n(a){return typeof a=="string"&&r.has(a)}t.isJSONType=n;function i(){let a={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...a,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},a.number,a.string,a.array,a.object],post:{rules:[]},all:{},keywords:{}}}t.getRules=i}),_2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0;function e({schema:i,self:a},o){let s=a.RULES.types[o];return s&&s!==!0&&r(i,s)}t.schemaHasRulesForType=e;function r(i,a){return a.rules.some(o=>n(i,o))}t.shouldUseGroup=r;function n(i,a){var o;return i[a.keyword]!==void 0||((o=a.definition.implements)===null||o===void 0?void 0:o.some(s=>i[s]!==void 0))}t.shouldUseRule=n}),jh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;var e=y2(),r=_2(),n=Vh(),i=Be(),a=lt(),o;(function(v){v[v.Correct=0]="Correct",v[v.Wrong=1]="Wrong"})(o||(t.DataType=o={}));function s(v){let b=c(v.type);if(b.includes("null")){if(v.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!b.length&&v.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');v.nullable===!0&&b.push("null")}return b}t.getSchemaTypes=s;function c(v){let b=Array.isArray(v)?v:v?[v]:[];if(b.every(e.isJSONType))return b;throw new Error("type must be JSONType or JSONType[]: "+b.join(","))}t.getJSONTypes=c;function u(v,b){let{gen:S,data:x,opts:w}=v,E=d(b,w.coerceTypes),O=b.length>0&&!(E.length===0&&b.length===1&&(0,r.schemaHasRulesForType)(v,b[0]));if(O){let A=_(b,x,w.strictNumbers,o.Wrong);S.if(A,()=>{E.length?p(v,b,E):m(v)})}return O}t.coerceAndCheckDataType=u;var l=new Set(["string","number","integer","boolean","null"]);function d(v,b){return b?v.filter(S=>l.has(S)||b==="array"&&S==="array"):[]}function p(v,b,S){let{gen:x,data:w,opts:E}=v,O=x.let("dataType",(0,i._)`typeof ${w}`),A=x.let("coerced",(0,i._)`undefined`);E.coerceTypes==="array"&&x.if((0,i._)`${O} == 'object' && Array.isArray(${w}) && ${w}.length == 1`,()=>x.assign(w,(0,i._)`${w}[0]`).assign(O,(0,i._)`typeof ${w}`).if(_(b,w,E.strictNumbers),()=>x.assign(A,w))),x.if((0,i._)`${A} !== undefined`);for(let L of S)(l.has(L)||L==="array"&&E.coerceTypes==="array")&&M(L);x.else(),m(v),x.endIf(),x.if((0,i._)`${A} !== undefined`,()=>{x.assign(w,A),f(v,A)});function M(L){switch(L){case"string":x.elseIf((0,i._)`${O} == "number" || ${O} == "boolean"`).assign(A,(0,i._)`"" + ${w}`).elseIf((0,i._)`${w} === null`).assign(A,(0,i._)`""`);return;case"number":x.elseIf((0,i._)`${O} == "boolean" || ${w} === null || (${O} == "string" && ${w} && ${w} == +${w})`).assign(A,(0,i._)`+${w}`);return;case"integer":x.elseIf((0,i._)`${O} === "boolean" || ${w} === null || (${O} === "string" && ${w} && ${w} == +${w} && !(${w} % 1))`).assign(A,(0,i._)`+${w}`);return;case"boolean":x.elseIf((0,i._)`${w} === "false" || ${w} === 0 || ${w} === null`).assign(A,!1).elseIf((0,i._)`${w} === "true" || ${w} === 1`).assign(A,!0);return;case"null":x.elseIf((0,i._)`${w} === "" || ${w} === 0 || ${w} === false`),x.assign(A,null);return;case"array":x.elseIf((0,i._)`${O} === "string" || ${O} === "number" - || ${O} === "boolean" || ${w} === null`).assign(A,(0,i._)`[${w}]`)}}}function f({gen:v,parentData:b,parentDataProperty:S},x){v.if((0,i._)`${b} !== undefined`,()=>v.assign((0,i._)`${b}[${S}]`,x))}function h(v,b,S,x=o.Correct){let w=x===o.Correct?i.operators.EQ:i.operators.NEQ,E;switch(v){case"null":return(0,i._)`${b} ${w} null`;case"array":E=(0,i._)`Array.isArray(${b})`;break;case"object":E=(0,i._)`${b} && typeof ${b} == "object" && !Array.isArray(${b})`;break;case"integer":E=O((0,i._)`!(${b} % 1) && !isNaN(${b})`);break;case"number":E=O();break;default:return(0,i._)`typeof ${b} ${w} ${v}`}return x===o.Correct?E:(0,i.not)(E);function O(A=i.nil){return(0,i.and)((0,i._)`typeof ${b} == "number"`,A,S?(0,i._)`isFinite(${b})`:i.nil)}}t.checkDataType=h;function _(v,b,S,x){if(v.length===1)return h(v[0],b,S,x);let w,E=(0,a.toHash)(v);if(E.array&&E.object){let O=(0,i._)`typeof ${b} != "object"`;w=E.null?O:(0,i._)`!${b} || ${O}`,delete E.null,delete E.array,delete E.object}else w=i.nil;E.number&&delete E.integer;for(let O in E)w=(0,i.and)(w,h(O,b,S,x));return w}t.checkDataTypes=_;var g={message:({schema:v})=>`must be ${v}`,params:({schema:v,schemaValue:b})=>typeof v=="string"?(0,i._)`{type: ${v}}`:(0,i._)`{type: ${b}}`};function m(v){let b=y(v);(0,n.reportError)(b,g)}t.reportTypeError=m;function y(v){let{gen:b,data:S,schema:x}=v,w=(0,a.schemaRefOrVal)(v,x,"type");return{gen:b,keyword:"type",data:S,schema:x.type,schemaCode:w,schemaValue:w,parentSchema:x,params:{},it:v}}}),cie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;var e=Be(),r=lt();function n(a,o){let{properties:s,items:c}=a.schema;if(o==="object"&&s)for(let u in s)i(a,u,s[u].default);else o==="array"&&Array.isArray(c)&&c.forEach((u,l)=>i(a,l,u.default))}t.assignDefaults=n;function i(a,o,s){let{gen:c,compositeRule:u,data:l,opts:d}=a;if(s===void 0)return;let p=(0,e._)`${l}${(0,e.getProperty)(o)}`;if(u){(0,r.checkStrictMode)(a,`default is ignored for: ${p}`);return}let f=(0,e._)`${p} === undefined`;d.useDefaults==="empty"&&(f=(0,e._)`${f} || ${p} === null || ${p} === ""`),c.if(f,(0,e._)`${p} = ${(0,e.stringify)(s)}`)}}),Qn=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;var e=Be(),r=lt(),n=Ta(),i=lt();function a(v,b){let{gen:S,data:x,it:w}=v;S.if(d(S,x,b,w.opts.ownProperties),()=>{v.setParams({missingProperty:(0,e._)`${b}`},!0),v.error()})}t.checkReportMissingProp=a;function o({gen:v,data:b,it:{opts:S}},x,w){return(0,e.or)(...x.map(E=>(0,e.and)(d(v,b,E,S.ownProperties),(0,e._)`${w} = ${E}`)))}t.checkMissingProp=o;function s(v,b){v.setParams({missingProperty:b},!0),v.error()}t.reportMissingProp=s;function c(v){return v.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}t.hasPropFunc=c;function u(v,b,S){return(0,e._)`${c(v)}.call(${b}, ${S})`}t.isOwnProperty=u;function l(v,b,S,x){let w=(0,e._)`${b}${(0,e.getProperty)(S)} !== undefined`;return x?(0,e._)`${w} && ${u(v,b,S)}`:w}t.propertyInData=l;function d(v,b,S,x){let w=(0,e._)`${b}${(0,e.getProperty)(S)} === undefined`;return x?(0,e.or)(w,(0,e.not)(u(v,b,S))):w}t.noPropertyInData=d;function p(v){return v?Object.keys(v).filter(b=>b!=="__proto__"):[]}t.allSchemaProperties=p;function f(v,b){return p(b).filter(S=>!(0,r.alwaysValidSchema)(v,b[S]))}t.schemaProperties=f;function h({schemaCode:v,data:b,it:{gen:S,topSchemaRef:x,schemaPath:w,errorPath:E},it:O},A,M,q){let B=q?(0,e._)`${v}, ${b}, ${x}${w}`:b,U=[[n.default.instancePath,(0,e.strConcat)(n.default.instancePath,E)],[n.default.parentData,O.parentData],[n.default.parentDataProperty,O.parentDataProperty],[n.default.rootData,n.default.rootData]];O.opts.dynamicRef&&U.push([n.default.dynamicAnchors,n.default.dynamicAnchors]);let Y=(0,e._)`${B}, ${S.object(...U)}`;return M!==e.nil?(0,e._)`${A}.call(${M}, ${Y})`:(0,e._)`${A}(${Y})`}t.callValidateCode=h;var _=(0,e._)`new RegExp`;function g({gen:v,it:{opts:b}},S){let x=b.unicodeRegExp?"u":"",{regExp:w}=b.code,E=w(S,x);return v.scopeValue("pattern",{key:E.toString(),ref:E,code:(0,e._)`${w.code==="new RegExp"?_:(0,i.useFunc)(v,w)}(${S}, ${x})`})}t.usePattern=g;function m(v){let{gen:b,data:S,keyword:x,it:w}=v,E=b.name("valid");if(w.allErrors){let A=b.let("valid",!0);return O(()=>b.assign(A,!1)),A}return b.var(E,!0),O(()=>b.break()),E;function O(A){let M=b.const("len",(0,e._)`${S}.length`);b.forRange("i",0,M,q=>{v.subschema({keyword:x,dataProp:q,dataPropType:r.Type.Num},E),b.if((0,e.not)(E),A)})}}t.validateArray=m;function y(v){let{gen:b,schema:S,keyword:x,it:w}=v;if(!Array.isArray(S))throw new Error("ajv implementation error");if(S.some(M=>(0,r.alwaysValidSchema)(w,M))&&!w.opts.unevaluated)return;let O=b.let("valid",!1),A=b.name("_valid");b.block(()=>S.forEach((M,q)=>{let B=v.subschema({keyword:x,schemaProp:q,compositeRule:!0},A);b.assign(O,(0,e._)`${O} || ${A}`),v.mergeValidEvaluated(B,A)||b.if((0,e.not)(O))})),v.result(O,()=>v.reset(),()=>v.error(!0))}t.validateUnion=y}),uie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;var e=Be(),r=Ta(),n=Qn(),i=Vh();function a(f,h){let{gen:_,keyword:g,schema:m,parentSchema:y,it:v}=f,b=h.macro.call(v.self,m,y,v),S=l(_,g,b);v.opts.validateSchema!==!1&&v.self.validateSchema(b,!0);let x=_.name("valid");f.subschema({schema:b,schemaPath:e.nil,errSchemaPath:`${v.errSchemaPath}/${g}`,topSchemaRef:S,compositeRule:!0},x),f.pass(x,()=>f.error(!0))}t.macroKeywordCode=a;function o(f,h){var _;let{gen:g,keyword:m,schema:y,parentSchema:v,$data:b,it:S}=f;u(S,h);let x=!b&&h.compile?h.compile.call(S.self,y,v,S):h.validate,w=l(g,m,x),E=g.let("valid");f.block$data(E,O),f.ok((_=h.valid)!==null&&_!==void 0?_:E);function O(){if(h.errors===!1)q(),h.modifying&&s(f),B(()=>f.error());else{let U=h.async?A():M();h.modifying&&s(f),B(()=>c(f,U))}}function A(){let U=g.let("ruleErrs",null);return g.try(()=>q((0,e._)`await `),Y=>g.assign(E,!1).if((0,e._)`${Y} instanceof ${S.ValidationError}`,()=>g.assign(U,(0,e._)`${Y}.errors`),()=>g.throw(Y))),U}function M(){let U=(0,e._)`${w}.errors`;return g.assign(U,null),q(e.nil),U}function q(U=h.async?(0,e._)`await `:e.nil){let Y=S.opts.passContext?r.default.this:r.default.self,me=!("compile"in h&&!b||h.schema===!1);g.assign(E,(0,e._)`${U}${(0,n.callValidateCode)(f,w,Y,me)}`,h.modifying)}function B(U){var Y;g.if((0,e.not)((Y=h.valid)!==null&&Y!==void 0?Y:E),U)}}t.funcKeywordCode=o;function s(f){let{gen:h,data:_,it:g}=f;h.if(g.parentData,()=>h.assign(_,(0,e._)`${g.parentData}[${g.parentDataProperty}]`))}function c(f,h){let{gen:_}=f;_.if((0,e._)`Array.isArray(${h})`,()=>{_.assign(r.default.vErrors,(0,e._)`${r.default.vErrors} === null ? ${h} : ${r.default.vErrors}.concat(${h})`).assign(r.default.errors,(0,e._)`${r.default.vErrors}.length`),(0,i.extendErrors)(f)},()=>f.error())}function u({schemaEnv:f},h){if(h.async&&!f.$async)throw new Error("async keyword in sync schema")}function l(f,h,_){if(_===void 0)throw new Error(`keyword "${h}" failed to compile`);return f.scopeValue("keyword",typeof _=="function"?{ref:_}:{ref:_,code:(0,e.stringify)(_)})}function d(f,h,_=!1){return!h.length||h.some(g=>g==="array"?Array.isArray(f):g==="object"?f&&typeof f=="object"&&!Array.isArray(f):typeof f==g||_&&typeof f>"u")}t.validSchemaType=d;function p({schema:f,opts:h,self:_,errSchemaPath:g},m,y){if(Array.isArray(m.keyword)?!m.keyword.includes(y):m.keyword!==y)throw new Error("ajv implementation error");let v=m.dependencies;if(v?.some(b=>!Object.prototype.hasOwnProperty.call(f,b)))throw new Error(`parent schema must have dependencies of ${y}: ${v.join(",")}`);if(m.validateSchema&&!m.validateSchema(f[y])){let S=`keyword "${y}" value is invalid at path "${g}": `+_.errorsText(m.validateSchema.errors);if(h.validateSchema==="log")_.logger.error(S);else throw new Error(S)}}t.validateKeywordUsage=p}),lie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;var e=Be(),r=lt();function n(o,{keyword:s,schemaProp:c,schema:u,schemaPath:l,errSchemaPath:d,topSchemaRef:p}){if(s!==void 0&&u!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(s!==void 0){let f=o.schema[s];return c===void 0?{schema:f,schemaPath:(0,e._)`${o.schemaPath}${(0,e.getProperty)(s)}`,errSchemaPath:`${o.errSchemaPath}/${s}`}:{schema:f[c],schemaPath:(0,e._)`${o.schemaPath}${(0,e.getProperty)(s)}${(0,e.getProperty)(c)}`,errSchemaPath:`${o.errSchemaPath}/${s}/${(0,r.escapeFragment)(c)}`}}if(u!==void 0){if(l===void 0||d===void 0||p===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:u,schemaPath:l,topSchemaRef:p,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}t.getSubschema=n;function i(o,s,{dataProp:c,dataPropType:u,data:l,dataTypes:d,propertyName:p}){if(l!==void 0&&c!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:f}=s;if(c!==void 0){let{errorPath:_,dataPathArr:g,opts:m}=s,y=f.let("data",(0,e._)`${s.data}${(0,e.getProperty)(c)}`,!0);h(y),o.errorPath=(0,e.str)`${_}${(0,r.getErrorPath)(c,u,m.jsPropertySyntax)}`,o.parentDataProperty=(0,e._)`${c}`,o.dataPathArr=[...g,o.parentDataProperty]}if(l!==void 0){let _=l instanceof e.Name?l:f.let("data",l,!0);h(_),p!==void 0&&(o.propertyName=p)}d&&(o.dataTypes=d);function h(_){o.data=_,o.dataLevel=s.dataLevel+1,o.dataTypes=[],s.definedProperties=new Set,o.parentData=s.data,o.dataNames=[...s.dataNames,_]}}t.extendSubschemaData=i;function a(o,{jtdDiscriminator:s,jtdMetadata:c,compositeRule:u,createErrors:l,allErrors:d}){u!==void 0&&(o.compositeRule=u),l!==void 0&&(o.createErrors=l),d!==void 0&&(o.allErrors=d),o.jtdDiscriminator=s,o.jtdMetadata=c}t.extendSubschemaMode=a}),die=V((t,e)=>{var r=e.exports=function(a,o,s){typeof o=="function"&&(s=o,o={}),s=o.cb||s;var c=typeof s=="function"?s:s.pre||function(){},u=s.post||function(){};n(o,c,u,a,"",a)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function n(a,o,s,c,u,l,d,p,f,h){if(c&&typeof c=="object"&&!Array.isArray(c)){o(c,u,l,d,p,f,h);for(var _ in c){var g=c[_];if(Array.isArray(g)){if(_ in r.arrayKeywords)for(var m=0;m{Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;var e=lt(),r=Fh(),n=die(),i=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function a(g,m=!0){return typeof g=="boolean"?!0:m===!0?!s(g):m?c(g)<=m:!1}t.inlineRef=a;var o=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function s(g){for(let m in g){if(o.has(m))return!0;let y=g[m];if(Array.isArray(y)&&y.some(s)||typeof y=="object"&&s(y))return!0}return!1}function c(g){let m=0;for(let y in g){if(y==="$ref")return 1/0;if(m++,!i.has(y)&&(typeof g[y]=="object"&&(0,e.eachItem)(g[y],v=>m+=c(v)),m===1/0))return 1/0}return m}function u(g,m="",y){y!==!1&&(m=p(m));let v=g.parse(m);return l(g,v)}t.getFullPath=u;function l(g,m){return g.serialize(m).split("#")[0]+"#"}t._getFullPath=l;var d=/#\/?$/;function p(g){return g?g.replace(d,""):""}t.normalizeId=p;function f(g,m,y){return y=p(y),g.resolve(m,y)}t.resolveUrl=f;var h=/^[a-z_][-a-z0-9._]*$/i;function _(g,m){if(typeof g=="boolean")return{};let{schemaId:y,uriResolver:v}=this.opts,b=p(g[y]||m),S={"":b},x=u(v,b,!1),w={},E=new Set;return n(g,{allKeys:!0},(M,q,B,U)=>{if(U===void 0)return;let Y=x+q,me=S[U];typeof M[y]=="string"&&(me=Qe.call(this,M[y])),mt.call(this,M.$anchor),mt.call(this,M.$dynamicAnchor),S[q]=me;function Qe(fe){let F=this.opts.uriResolver.resolve;if(fe=p(me?F(me,fe):fe),E.has(fe))throw A(fe);E.add(fe);let I=this.refs[fe];return typeof I=="string"&&(I=this.refs[I]),typeof I=="object"?O(M,I.schema,fe):fe!==p(Y)&&(fe[0]==="#"?(O(M,w[fe],fe),w[fe]=M):this.refs[fe]=Y),fe}function mt(fe){if(typeof fe=="string"){if(!h.test(fe))throw new Error(`invalid anchor "${fe}"`);Qe.call(this,`#${fe}`)}}}),w;function O(M,q,B){if(q!==void 0&&!r(M,q))throw A(B)}function A(M){return new Error(`reference "${M}" resolves to more than one schema`)}}t.getSchemaRefs=_}),Wh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;var e=sie(),r=jh(),n=f2(),i=jh(),a=cie(),o=uie(),s=lie(),c=Be(),u=Ta(),l=Gh(),d=lt(),p=Vh();function f(P){if(x(P)&&(E(P),S(P))){m(P);return}h(P,()=>(0,e.topBoolOrEmptySchema)(P))}t.validateFunctionCode=f;function h({gen:P,validateName:R,schema:z,schemaEnv:Z,opts:J},ie){J.code.es5?P.func(R,(0,c._)`${u.default.data}, ${u.default.valCxt}`,Z.$async,()=>{P.code((0,c._)`"use strict"; ${v(z,J)}`),g(P,J),P.code(ie)}):P.func(R,(0,c._)`${u.default.data}, ${_(J)}`,Z.$async,()=>P.code(v(z,J)).code(ie))}function _(P){return(0,c._)`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${P.dynamicRef?(0,c._)`, ${u.default.dynamicAnchors}={}`:c.nil}}={}`}function g(P,R){P.if(u.default.valCxt,()=>{P.var(u.default.instancePath,(0,c._)`${u.default.valCxt}.${u.default.instancePath}`),P.var(u.default.parentData,(0,c._)`${u.default.valCxt}.${u.default.parentData}`),P.var(u.default.parentDataProperty,(0,c._)`${u.default.valCxt}.${u.default.parentDataProperty}`),P.var(u.default.rootData,(0,c._)`${u.default.valCxt}.${u.default.rootData}`),R.dynamicRef&&P.var(u.default.dynamicAnchors,(0,c._)`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{P.var(u.default.instancePath,(0,c._)`""`),P.var(u.default.parentData,(0,c._)`undefined`),P.var(u.default.parentDataProperty,(0,c._)`undefined`),P.var(u.default.rootData,u.default.data),R.dynamicRef&&P.var(u.default.dynamicAnchors,(0,c._)`{}`)})}function m(P){let{schema:R,opts:z,gen:Z}=P;h(P,()=>{z.$comment&&R.$comment&&U(P),M(P),Z.let(u.default.vErrors,null),Z.let(u.default.errors,0),z.unevaluated&&y(P),O(P),Y(P)})}function y(P){let{gen:R,validateName:z}=P;P.evaluated=R.const("evaluated",(0,c._)`${z}.evaluated`),R.if((0,c._)`${P.evaluated}.dynamicProps`,()=>R.assign((0,c._)`${P.evaluated}.props`,(0,c._)`undefined`)),R.if((0,c._)`${P.evaluated}.dynamicItems`,()=>R.assign((0,c._)`${P.evaluated}.items`,(0,c._)`undefined`))}function v(P,R){let z=typeof P=="object"&&P[R.schemaId];return z&&(R.code.source||R.code.process)?(0,c._)`/*# sourceURL=${z} */`:c.nil}function b(P,R){if(x(P)&&(E(P),S(P))){w(P,R);return}(0,e.boolOrEmptySchema)(P,R)}function S({schema:P,self:R}){if(typeof P=="boolean")return!P;for(let z in P)if(R.RULES.all[z])return!0;return!1}function x(P){return typeof P.schema!="boolean"}function w(P,R){let{schema:z,gen:Z,opts:J}=P;J.$comment&&z.$comment&&U(P),q(P),B(P);let ie=Z.const("_errs",u.default.errors);O(P,ie),Z.var(R,(0,c._)`${ie} === ${u.default.errors}`)}function E(P){(0,d.checkUnknownRules)(P),A(P)}function O(P,R){if(P.opts.jtd)return Qe(P,[],!1,R);let z=(0,r.getSchemaTypes)(P.schema),Z=(0,r.coerceAndCheckDataType)(P,z);Qe(P,z,!Z,R)}function A(P){let{schema:R,errSchemaPath:z,opts:Z,self:J}=P;R.$ref&&Z.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(R,J.RULES)&&J.logger.warn(`$ref: keywords ignored in schema at path "${z}"`)}function M(P){let{schema:R,opts:z}=P;R.default!==void 0&&z.useDefaults&&z.strictSchema&&(0,d.checkStrictMode)(P,"default is ignored in the schema root")}function q(P){let R=P.schema[P.opts.schemaId];R&&(P.baseId=(0,l.resolveUrl)(P.opts.uriResolver,P.baseId,R))}function B(P){if(P.schema.$async&&!P.schemaEnv.$async)throw new Error("async schema in sync schema")}function U({gen:P,schemaEnv:R,schema:z,errSchemaPath:Z,opts:J}){let ie=z.$comment;if(J.$comment===!0)P.code((0,c._)`${u.default.self}.logger.log(${ie})`);else if(typeof J.$comment=="function"){let et=(0,c.str)`${Z}/$comment`,Zt=P.scopeValue("root",{ref:R.root});P.code((0,c._)`${u.default.self}.opts.$comment(${ie}, ${et}, ${Zt}.schema)`)}}function Y(P){let{gen:R,schemaEnv:z,validateName:Z,ValidationError:J,opts:ie}=P;z.$async?R.if((0,c._)`${u.default.errors} === 0`,()=>R.return(u.default.data),()=>R.throw((0,c._)`new ${J}(${u.default.vErrors})`)):(R.assign((0,c._)`${Z}.errors`,u.default.vErrors),ie.unevaluated&&me(P),R.return((0,c._)`${u.default.errors} === 0`))}function me({gen:P,evaluated:R,props:z,items:Z}){z instanceof c.Name&&P.assign((0,c._)`${R}.props`,z),Z instanceof c.Name&&P.assign((0,c._)`${R}.items`,Z)}function Qe(P,R,z,Z){let{gen:J,schema:ie,data:et,allErrors:Zt,opts:vt,self:yt}=P,{RULES:tt}=yt;if(ie.$ref&&(vt.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(ie,tt))){J.block(()=>K(P,"$ref",tt.all.$ref.definition));return}vt.jtd||fe(P,R),J.block(()=>{for(let Ct of tt.rules)Yr(Ct);Yr(tt.post)});function Yr(Ct){(0,n.shouldUseGroup)(ie,Ct)&&(Ct.type?(J.if((0,i.checkDataType)(Ct.type,et,vt.strictNumbers)),mt(P,Ct),R.length===1&&R[0]===Ct.type&&z&&(J.else(),(0,i.reportTypeError)(P)),J.endIf()):mt(P,Ct),Zt||J.if((0,c._)`${u.default.errors} === ${Z||0}`))}}function mt(P,R){let{gen:z,schema:Z,opts:{useDefaults:J}}=P;J&&(0,a.assignDefaults)(P,R.type),z.block(()=>{for(let ie of R.rules)(0,n.shouldUseRule)(Z,ie)&&K(P,ie.keyword,ie.definition,R.type)})}function fe(P,R){P.schemaEnv.meta||!P.opts.strictTypes||(F(P,R),P.opts.allowUnionTypes||I(P,R),D(P,P.dataTypes))}function F(P,R){if(R.length){if(!P.dataTypes.length){P.dataTypes=R;return}R.forEach(z=>{$(P.dataTypes,z)||N(P,`type "${z}" not allowed by context "${P.dataTypes.join(",")}"`)}),T(P,R)}}function I(P,R){R.length>1&&!(R.length===2&&R.includes("null"))&&N(P,"use allowUnionTypes to allow union type keyword")}function D(P,R){let z=P.self.RULES.all;for(let Z in z){let J=z[Z];if(typeof J=="object"&&(0,n.shouldUseRule)(P.schema,J)){let{type:ie}=J.definition;ie.length&&!ie.some(et=>C(R,et))&&N(P,`missing type "${ie.join(",")}" for keyword "${Z}"`)}}}function C(P,R){return P.includes(R)||R==="number"&&P.includes("integer")}function $(P,R){return P.includes(R)||R==="integer"&&P.includes("number")}function T(P,R){let z=[];for(let Z of P.dataTypes)$(R,Z)?z.push(Z):R.includes("integer")&&Z==="number"&&z.push("integer");P.dataTypes=z}function N(P,R){let z=P.schemaEnv.baseId+P.errSchemaPath;R+=` at "${z}" (strictTypes)`,(0,d.checkStrictMode)(P,R,P.opts.strictTypes)}class W{constructor(R,z,Z){if((0,o.validateKeywordUsage)(R,z,Z),this.gen=R.gen,this.allErrors=R.allErrors,this.keyword=Z,this.data=R.data,this.schema=R.schema[Z],this.$data=z.$data&&R.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(R,this.schema,Z,this.$data),this.schemaType=z.schemaType,this.parentSchema=R.schema,this.params={},this.it=R,this.def=z,this.$data)this.schemaCode=R.gen.const("vSchema",je(this.$data,R));else if(this.schemaCode=this.schemaValue,!(0,o.validSchemaType)(this.schema,z.schemaType,z.allowUndefined))throw new Error(`${Z} value must be ${JSON.stringify(z.schemaType)}`);("code"in z?z.trackErrors:z.errors!==!1)&&(this.errsCount=R.gen.const("_errs",u.default.errors))}result(R,z,Z){this.failResult((0,c.not)(R),z,Z)}failResult(R,z,Z){this.gen.if(R),Z?Z():this.error(),z?(this.gen.else(),z(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(R,z){this.failResult((0,c.not)(R),void 0,z)}fail(R){if(R===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(R),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(R){if(!this.$data)return this.fail(R);let{schemaCode:z}=this;this.fail((0,c._)`${z} !== undefined && (${(0,c.or)(this.invalid$data(),R)})`)}error(R,z,Z){if(z){this.setParams(z),this._error(R,Z),this.setParams({});return}this._error(R,Z)}_error(R,z){(R?p.reportExtraError:p.reportError)(this,this.def.error,z)}$dataError(){(0,p.reportError)(this,this.def.$dataError||p.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,p.resetErrorsCount)(this.gen,this.errsCount)}ok(R){this.allErrors||this.gen.if(R)}setParams(R,z){z?Object.assign(this.params,R):this.params=R}block$data(R,z,Z=c.nil){this.gen.block(()=>{this.check$data(R,Z),z()})}check$data(R=c.nil,z=c.nil){if(!this.$data)return;let{gen:Z,schemaCode:J,schemaType:ie,def:et}=this;Z.if((0,c.or)((0,c._)`${J} === undefined`,z)),R!==c.nil&&Z.assign(R,!0),(ie.length||et.validateSchema)&&(Z.elseIf(this.invalid$data()),this.$dataError(),R!==c.nil&&Z.assign(R,!1)),Z.else()}invalid$data(){let{gen:R,schemaCode:z,schemaType:Z,def:J,it:ie}=this;return(0,c.or)(et(),Zt());function et(){if(Z.length){if(!(z instanceof c.Name))throw new Error("ajv implementation error");let vt=Array.isArray(Z)?Z:[Z];return(0,c._)`${(0,i.checkDataTypes)(vt,z,ie.opts.strictNumbers,i.DataType.Wrong)}`}return c.nil}function Zt(){if(J.validateSchema){let vt=R.scopeValue("validate$data",{ref:J.validateSchema});return(0,c._)`!${vt}(${z})`}return c.nil}}subschema(R,z){let Z=(0,s.getSubschema)(this.it,R);(0,s.extendSubschemaData)(Z,this.it,R),(0,s.extendSubschemaMode)(Z,R);let J={...this.it,...Z,items:void 0,props:void 0};return b(J,z),J}mergeEvaluated(R,z){let{it:Z,gen:J}=this;Z.opts.unevaluated&&(Z.props!==!0&&R.props!==void 0&&(Z.props=d.mergeEvaluated.props(J,R.props,Z.props,z)),Z.items!==!0&&R.items!==void 0&&(Z.items=d.mergeEvaluated.items(J,R.items,Z.items,z)))}mergeValidEvaluated(R,z){let{it:Z,gen:J}=this;if(Z.opts.unevaluated&&(Z.props!==!0||Z.items!==!0))return J.if(z,()=>this.mergeEvaluated(R,c.Name)),!0}}t.KeywordCxt=W;function K(P,R,z,Z){let J=new W(P,z,R);"code"in z?z.code(J,Z):J.$data&&z.validate?(0,o.funcKeywordCode)(J,z):"macro"in z?(0,o.macroKeywordCode)(J,z):(z.compile||z.validate)&&(0,o.funcKeywordCode)(J,z)}var pe=/^\/(?:[^~]|~0|~1)*$/,ce=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function je(P,{dataLevel:R,dataNames:z,dataPathArr:Z}){let J,ie;if(P==="")return u.default.rootData;if(P[0]==="/"){if(!pe.test(P))throw new Error(`Invalid JSON-pointer: ${P}`);J=P,ie=u.default.rootData}else{let yt=ce.exec(P);if(!yt)throw new Error(`Invalid JSON-pointer: ${P}`);let tt=+yt[1];if(J=yt[2],J==="#"){if(tt>=R)throw new Error(vt("property/index",tt));return Z[R-tt]}if(tt>R)throw new Error(vt("data",tt));if(ie=z[R-tt],!J)return ie}let et=ie,Zt=J.split("/");for(let yt of Zt)yt&&(ie=(0,c._)`${ie}${(0,c.getProperty)((0,d.unescapeJsonPointer)(yt))}`,et=(0,c._)`${et} && ${ie}`);return et;function vt(yt,tt){return`Cannot access ${yt} ${tt} levels up, current level is ${R}`}}t.getData=je}),N$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});class e extends Error{constructor(n){super("validation failed"),this.errors=n,this.ajv=this.validation=!0}}t.default=e}),Kh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gh();class r extends Error{constructor(i,a,o,s){super(s||`can't resolve reference ${o} from id ${a}`),this.missingRef=(0,e.resolveUrl)(i,a,o),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(i,this.missingRef))}}t.default=r}),j$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;var e=Be(),r=N$(),n=Ta(),i=Gh(),a=lt(),o=Wh();class s{constructor(y){var v;this.refs={},this.dynamicAnchors={};let b;typeof y.schema=="object"&&(b=y.schema),this.schema=y.schema,this.schemaId=y.schemaId,this.root=y.root||this,this.baseId=(v=y.baseId)!==null&&v!==void 0?v:(0,i.normalizeId)(b?.[y.schemaId||"$id"]),this.schemaPath=y.schemaPath,this.localRefs=y.localRefs,this.meta=y.meta,this.$async=b?.$async,this.refs={}}}t.SchemaEnv=s;function c(m){let y=d.call(this,m);if(y)return y;let v=(0,i.getFullPath)(this.opts.uriResolver,m.root.baseId),{es5:b,lines:S}=this.opts.code,{ownProperties:x}=this.opts,w=new e.CodeGen(this.scope,{es5:b,lines:S,ownProperties:x}),E;m.$async&&(E=w.scopeValue("Error",{ref:r.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));let O=w.scopeName("validate");m.validateName=O;let A={gen:w,allErrors:this.opts.allErrors,data:n.default.data,parentData:n.default.parentData,parentDataProperty:n.default.parentDataProperty,dataNames:[n.default.data],dataPathArr:[e.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:w.scopeValue("schema",this.opts.code.source===!0?{ref:m.schema,code:(0,e.stringify)(m.schema)}:{ref:m.schema}),validateName:O,ValidationError:E,schema:m.schema,schemaEnv:m,rootId:v,baseId:m.baseId||v,schemaPath:e.nil,errSchemaPath:m.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this},M;try{this._compilations.add(m),(0,o.validateFunctionCode)(A),w.optimize(this.opts.code.optimize);let q=w.toString();M=`${w.scopeRefs(n.default.scope)}return ${q}`,this.opts.code.process&&(M=this.opts.code.process(M,m));let U=new Function(`${n.default.self}`,`${n.default.scope}`,M)(this,this.scope.get());if(this.scope.value(O,{ref:U}),U.errors=null,U.schema=m.schema,U.schemaEnv=m,m.$async&&(U.$async=!0),this.opts.code.source===!0&&(U.source={validateName:O,validateCode:q,scopeValues:w._values}),this.opts.unevaluated){let{props:Y,items:me}=A;U.evaluated={props:Y instanceof e.Name?void 0:Y,items:me instanceof e.Name?void 0:me,dynamicProps:Y instanceof e.Name,dynamicItems:me instanceof e.Name},U.source&&(U.source.evaluated=(0,e.stringify)(U.evaluated))}return m.validate=U,m}catch(q){throw delete m.validate,delete m.validateName,M&&this.logger.error("Error compiling schema, function code:",M),q}finally{this._compilations.delete(m)}}t.compileSchema=c;function u(m,y,v){var b;v=(0,i.resolveUrl)(this.opts.uriResolver,y,v);let S=m.refs[v];if(S)return S;let x=f.call(this,m,v);if(x===void 0){let w=(b=m.localRefs)===null||b===void 0?void 0:b[v],{schemaId:E}=this.opts;w&&(x=new s({schema:w,schemaId:E,root:m,baseId:y}))}if(x!==void 0)return m.refs[v]=l.call(this,x)}t.resolveRef=u;function l(m){return(0,i.inlineRef)(m.schema,this.opts.inlineRefs)?m.schema:m.validate?m:c.call(this,m)}function d(m){for(let y of this._compilations)if(p(y,m))return y}t.getCompilingSchema=d;function p(m,y){return m.schema===y.schema&&m.root===y.root&&m.baseId===y.baseId}function f(m,y){let v;for(;typeof(v=this.refs[y])=="string";)y=v;return v||this.schemas[y]||h.call(this,m,y)}function h(m,y){let v=this.opts.uriResolver.parse(y),b=(0,i._getFullPath)(this.opts.uriResolver,v),S=(0,i.getFullPath)(this.opts.uriResolver,m.baseId,void 0);if(Object.keys(m.schema).length>0&&b===S)return g.call(this,v,m);let x=(0,i.normalizeId)(b),w=this.refs[x]||this.schemas[x];if(typeof w=="string"){let E=h.call(this,m,w);return typeof E?.schema!="object"?void 0:g.call(this,v,E)}if(typeof w?.schema=="object"){if(w.validate||c.call(this,w),x===(0,i.normalizeId)(y)){let{schema:E}=w,{schemaId:O}=this.opts,A=E[O];return A&&(S=(0,i.resolveUrl)(this.opts.uriResolver,S,A)),new s({schema:E,schemaId:O,root:m,baseId:S})}return g.call(this,v,w)}}t.resolveSchema=h;var _=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function g(m,{baseId:y,schema:v,root:b}){var S;if(((S=m.fragment)===null||S===void 0?void 0:S[0])!=="/")return;for(let E of m.fragment.slice(1).split("/")){if(typeof v=="boolean")return;let O=v[(0,a.unescapeFragment)(E)];if(O===void 0)return;v=O;let A=typeof v=="object"&&v[this.opts.schemaId];!_.has(E)&&A&&(y=(0,i.resolveUrl)(this.opts.uriResolver,y,A))}let x;if(typeof v!="boolean"&&v.$ref&&!(0,a.schemaHasRulesButRef)(v,this.RULES)){let E=(0,i.resolveUrl)(this.opts.uriResolver,y,v.$ref);x=h.call(this,b,E)}let{schemaId:w}=this.opts;if(x=x||new s({schema:v,schemaId:w,root:b,baseId:y}),x.schema!==x.root.schema)return x}}),pie=V((t,e)=>{e.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}}),fie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=c2();e.code='require("ajv/dist/runtime/uri").default',t.default=e}),mie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var e=Wh();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var r=Be();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});var n=N$(),i=Kh(),a=p2(),o=j$(),s=Be(),c=Gh(),u=jh(),l=lt(),d=pie(),p=fie(),f=(F,I)=>new RegExp(F,I);f.code="new RegExp";var h=["removeAdditional","useDefaults","coerceTypes"],_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),g={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},m={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},y=200;function v(F){var I,D,C,$,T,N,W,K,pe,ce,je,P,R,z,Z,J,ie,et,Zt,vt,yt,tt,Yr,Ct,Pa;let Rn=F.strict,Oa=(I=F.code)===null||I===void 0?void 0:I.optimize,Rc=Oa===!0||Oa===void 0?1:Oa||0,Cc=(C=(D=F.code)===null||D===void 0?void 0:D.regExp)!==null&&C!==void 0?C:f,Ng=($=F.uriResolver)!==null&&$!==void 0?$:p.default;return{strictSchema:(N=(T=F.strictSchema)!==null&&T!==void 0?T:Rn)!==null&&N!==void 0?N:!0,strictNumbers:(K=(W=F.strictNumbers)!==null&&W!==void 0?W:Rn)!==null&&K!==void 0?K:!0,strictTypes:(ce=(pe=F.strictTypes)!==null&&pe!==void 0?pe:Rn)!==null&&ce!==void 0?ce:"log",strictTuples:(P=(je=F.strictTuples)!==null&&je!==void 0?je:Rn)!==null&&P!==void 0?P:"log",strictRequired:(z=(R=F.strictRequired)!==null&&R!==void 0?R:Rn)!==null&&z!==void 0?z:!1,code:F.code?{...F.code,optimize:Rc,regExp:Cc}:{optimize:Rc,regExp:Cc},loopRequired:(Z=F.loopRequired)!==null&&Z!==void 0?Z:y,loopEnum:(J=F.loopEnum)!==null&&J!==void 0?J:y,meta:(ie=F.meta)!==null&&ie!==void 0?ie:!0,messages:(et=F.messages)!==null&&et!==void 0?et:!0,inlineRefs:(Zt=F.inlineRefs)!==null&&Zt!==void 0?Zt:!0,schemaId:(vt=F.schemaId)!==null&&vt!==void 0?vt:"$id",addUsedSchema:(yt=F.addUsedSchema)!==null&&yt!==void 0?yt:!0,validateSchema:(tt=F.validateSchema)!==null&&tt!==void 0?tt:!0,validateFormats:(Yr=F.validateFormats)!==null&&Yr!==void 0?Yr:!0,unicodeRegExp:(Ct=F.unicodeRegExp)!==null&&Ct!==void 0?Ct:!0,int32range:(Pa=F.int32range)!==null&&Pa!==void 0?Pa:!0,uriResolver:Ng}}class b{constructor(I={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,I=this.opts={...I,...v(I)};let{es5:D,lines:C}=this.opts.code;this.scope=new s.ValueScope({scope:{},prefixes:_,es5:D,lines:C}),this.logger=q(I.logger);let $=I.validateFormats;I.validateFormats=!1,this.RULES=(0,a.getRules)(),S.call(this,g,I,"NOT SUPPORTED"),S.call(this,m,I,"DEPRECATED","warn"),this._metaOpts=A.call(this),I.formats&&E.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),I.keywords&&O.call(this,I.keywords),typeof I.meta=="object"&&this.addMetaSchema(I.meta),w.call(this),I.validateFormats=$}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:I,meta:D,schemaId:C}=this.opts,$=d;C==="id"&&($={...d},$.id=$.$id,delete $.$id),D&&I&&this.addMetaSchema($,$[C],!1)}defaultMeta(){let{meta:I,schemaId:D}=this.opts;return this.opts.defaultMeta=typeof I=="object"?I[D]||I:void 0}validate(I,D){let C;if(typeof I=="string"){if(C=this.getSchema(I),!C)throw new Error(`no schema with key or ref "${I}"`)}else C=this.compile(I);let $=C(D);return"$async"in C||(this.errors=C.errors),$}compile(I,D){let C=this._addSchema(I,D);return C.validate||this._compileSchemaEnv(C)}compileAsync(I,D){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:C}=this.opts;return $.call(this,I,D);async function $(ce,je){await T.call(this,ce.$schema);let P=this._addSchema(ce,je);return P.validate||N.call(this,P)}async function T(ce){ce&&!this.getSchema(ce)&&await $.call(this,{$ref:ce},!0)}async function N(ce){try{return this._compileSchemaEnv(ce)}catch(je){if(!(je instanceof i.default))throw je;return W.call(this,je),await K.call(this,je.missingSchema),N.call(this,ce)}}function W({missingSchema:ce,missingRef:je}){if(this.refs[ce])throw new Error(`AnySchema ${ce} is loaded but ${je} cannot be resolved`)}async function K(ce){let je=await pe.call(this,ce);this.refs[ce]||await T.call(this,je.$schema),this.refs[ce]||this.addSchema(je,ce,D)}async function pe(ce){let je=this._loading[ce];if(je)return je;try{return await(this._loading[ce]=C(ce))}finally{delete this._loading[ce]}}}addSchema(I,D,C,$=this.opts.validateSchema){if(Array.isArray(I)){for(let N of I)this.addSchema(N,void 0,C,$);return this}let T;if(typeof I=="object"){let{schemaId:N}=this.opts;if(T=I[N],T!==void 0&&typeof T!="string")throw new Error(`schema ${N} must be string`)}return D=(0,c.normalizeId)(D||T),this._checkUnique(D),this.schemas[D]=this._addSchema(I,C,D,$,!0),this}addMetaSchema(I,D,C=this.opts.validateSchema){return this.addSchema(I,D,!0,C),this}validateSchema(I,D){if(typeof I=="boolean")return!0;let C;if(C=I.$schema,C!==void 0&&typeof C!="string")throw new Error("$schema must be a string");if(C=C||this.opts.defaultMeta||this.defaultMeta(),!C)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let $=this.validate(C,I);if(!$&&D){let T="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(T);else throw new Error(T)}return $}getSchema(I){let D;for(;typeof(D=x.call(this,I))=="string";)I=D;if(D===void 0){let{schemaId:C}=this.opts,$=new o.SchemaEnv({schema:{},schemaId:C});if(D=o.resolveSchema.call(this,$,I),!D)return;this.refs[I]=D}return D.validate||this._compileSchemaEnv(D)}removeSchema(I){if(I instanceof RegExp)return this._removeAllSchemas(this.schemas,I),this._removeAllSchemas(this.refs,I),this;switch(typeof I){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let D=x.call(this,I);return typeof D=="object"&&this._cache.delete(D.schema),delete this.schemas[I],delete this.refs[I],this}case"object":{let D=I;this._cache.delete(D);let C=I[this.opts.schemaId];return C&&(C=(0,c.normalizeId)(C),delete this.schemas[C],delete this.refs[C]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(I){for(let D of I)this.addKeyword(D);return this}addKeyword(I,D){let C;if(typeof I=="string")C=I,typeof D=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),D.keyword=C);else if(typeof I=="object"&&D===void 0){if(D=I,C=D.keyword,Array.isArray(C)&&!C.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(U.call(this,C,D),!D)return(0,l.eachItem)(C,T=>Y.call(this,T)),this;Qe.call(this,D);let $={...D,type:(0,u.getJSONTypes)(D.type),schemaType:(0,u.getJSONTypes)(D.schemaType)};return(0,l.eachItem)(C,$.type.length===0?T=>Y.call(this,T,$):T=>$.type.forEach(N=>Y.call(this,T,$,N))),this}getKeyword(I){let D=this.RULES.all[I];return typeof D=="object"?D.definition:!!D}removeKeyword(I){let{RULES:D}=this;delete D.keywords[I],delete D.all[I];for(let C of D.rules){let $=C.rules.findIndex(T=>T.keyword===I);$>=0&&C.rules.splice($,1)}return this}addFormat(I,D){return typeof D=="string"&&(D=new RegExp(D)),this.formats[I]=D,this}errorsText(I=this.errors,{separator:D=", ",dataVar:C="data"}={}){return!I||I.length===0?"No errors":I.map($=>`${C}${$.instancePath} ${$.message}`).reduce(($,T)=>$+D+T)}$dataMetaSchema(I,D){let C=this.RULES.all;I=JSON.parse(JSON.stringify(I));for(let $ of D){let T=$.split("/").slice(1),N=I;for(let W of T)N=N[W];for(let W in C){let K=C[W];if(typeof K!="object")continue;let{$data:pe}=K.definition,ce=N[W];pe&&ce&&(N[W]=fe(ce))}}return I}_removeAllSchemas(I,D){for(let C in I){let $=I[C];(!D||D.test(C))&&(typeof $=="string"?delete I[C]:$&&!$.meta&&(this._cache.delete($.schema),delete I[C]))}}_addSchema(I,D,C,$=this.opts.validateSchema,T=this.opts.addUsedSchema){let N,{schemaId:W}=this.opts;if(typeof I=="object")N=I[W];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof I!="boolean")throw new Error("schema must be object or boolean")}let K=this._cache.get(I);if(K!==void 0)return K;C=(0,c.normalizeId)(N||C);let pe=c.getSchemaRefs.call(this,I,C);return K=new o.SchemaEnv({schema:I,schemaId:W,meta:D,baseId:C,localRefs:pe}),this._cache.set(K.schema,K),T&&!C.startsWith("#")&&(C&&this._checkUnique(C),this.refs[C]=K),$&&this.validateSchema(I,!0),K}_checkUnique(I){if(this.schemas[I]||this.refs[I])throw new Error(`schema with key or id "${I}" already exists`)}_compileSchemaEnv(I){if(I.meta?this._compileMetaSchema(I):o.compileSchema.call(this,I),!I.validate)throw new Error("ajv implementation error");return I.validate}_compileMetaSchema(I){let D=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,I)}finally{this.opts=D}}}b.ValidationError=n.default,b.MissingRefError=i.default,t.default=b;function S(F,I,D,C="error"){for(let $ in F){let T=$;T in I&&this.logger[C](`${D}: option ${$}. ${F[T]}`)}}function x(F){return F=(0,c.normalizeId)(F),this.schemas[F]||this.refs[F]}function w(){let F=this.opts.schemas;if(F)if(Array.isArray(F))this.addSchema(F);else for(let I in F)this.addSchema(F[I],I)}function E(){for(let F in this.opts.formats){let I=this.opts.formats[F];I&&this.addFormat(F,I)}}function O(F){if(Array.isArray(F)){this.addVocabulary(F);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let I in F){let D=F[I];D.keyword||(D.keyword=I),this.addKeyword(D)}}function A(){let F={...this.opts};for(let I of h)delete F[I];return F}var M={log(){},warn(){},error(){}};function q(F){if(F===!1)return M;if(F===void 0)return console;if(F.log&&F.warn&&F.error)return F;throw new Error("logger must implement log, warn and error methods")}var B=/^[a-z_$][a-z0-9_$:-]*$/i;function U(F,I){let{RULES:D}=this;if((0,l.eachItem)(F,C=>{if(D.keywords[C])throw new Error(`Keyword ${C} is already defined`);if(!B.test(C))throw new Error(`Keyword ${C} has invalid name`)}),!!I&&I.$data&&!("code"in I||"validate"in I))throw new Error('$data keyword must have "code" or "validate" function')}function Y(F,I,D){var C;let $=I?.post;if(D&&$)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:T}=this,N=$?T.post:T.rules.find(({type:K})=>K===D);if(N||(N={type:D,rules:[]},T.rules.push(N)),T.keywords[F]=!0,!I)return;let W={keyword:F,definition:{...I,type:(0,u.getJSONTypes)(I.type),schemaType:(0,u.getJSONTypes)(I.schemaType)}};I.before?me.call(this,N,W,I.before):N.rules.push(W),T.all[F]=W,(C=I.implements)===null||C===void 0||C.forEach(K=>this.addKeyword(K))}function me(F,I,D){let C=F.rules.findIndex($=>$.keyword===D);C>=0?F.rules.splice(C,0,I):(F.rules.push(I),this.logger.warn(`rule ${D} is not defined`))}function Qe(F){let{metaSchema:I}=F;I!==void 0&&(F.$data&&this.opts.$data&&(I=fe(I)),F.validateSchema=this.compile(I,!0))}var mt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function fe(F){return{anyOf:[F,mt]}}}),hie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=e}),gie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;var e=Kh(),r=Qn(),n=Be(),i=Ta(),a=j$(),o=lt(),s={keyword:"$ref",schemaType:"string",code(l){let{gen:d,schema:p,it:f}=l,{baseId:h,schemaEnv:_,validateName:g,opts:m,self:y}=f,{root:v}=_;if((p==="#"||p==="#/")&&h===v.baseId)return S();let b=a.resolveRef.call(y,v,h,p);if(b===void 0)throw new e.default(f.opts.uriResolver,h,p);if(b instanceof a.SchemaEnv)return x(b);return w(b);function S(){if(_===v)return u(l,g,_,_.$async);let E=d.scopeValue("root",{ref:v});return u(l,(0,n._)`${E}.validate`,v,v.$async)}function x(E){let O=c(l,E);u(l,O,E,E.$async)}function w(E){let O=d.scopeValue("schema",m.code.source===!0?{ref:E,code:(0,n.stringify)(E)}:{ref:E}),A=d.name("valid"),M=l.subschema({schema:E,dataTypes:[],schemaPath:n.nil,topSchemaRef:O,errSchemaPath:p},A);l.mergeEvaluated(M),l.ok(A)}}};function c(l,d){let{gen:p}=l;return d.validate?p.scopeValue("validate",{ref:d.validate}):(0,n._)`${p.scopeValue("wrapper",{ref:d})}.validate`}t.getValidate=c;function u(l,d,p,f){let{gen:h,it:_}=l,{allErrors:g,schemaEnv:m,opts:y}=_,v=y.passContext?i.default.this:n.nil;f?b():S();function b(){if(!m.$async)throw new Error("async schema referenced by sync schema");let E=h.let("valid");h.try(()=>{h.code((0,n._)`await ${(0,r.callValidateCode)(l,d,v)}`),w(d),g||h.assign(E,!0)},O=>{h.if((0,n._)`!(${O} instanceof ${_.ValidationError})`,()=>h.throw(O)),x(O),g||h.assign(E,!1)}),l.ok(E)}function S(){l.result((0,r.callValidateCode)(l,d,v),()=>w(d),()=>x(d))}function x(E){let O=(0,n._)`${E}.errors`;h.assign(i.default.vErrors,(0,n._)`${i.default.vErrors} === null ? ${O} : ${i.default.vErrors}.concat(${O})`),h.assign(i.default.errors,(0,n._)`${i.default.vErrors}.length`)}function w(E){var O;if(!_.opts.unevaluated)return;let A=(O=p?.validate)===null||O===void 0?void 0:O.evaluated;if(_.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(_.props=o.mergeEvaluated.props(h,A.props,_.props));else{let M=h.var("props",(0,n._)`${E}.evaluated.props`);_.props=o.mergeEvaluated.props(h,M,_.props,n.Name)}if(_.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(_.items=o.mergeEvaluated.items(h,A.items,_.items));else{let M=h.var("items",(0,n._)`${E}.evaluated.items`);_.items=o.mergeEvaluated.items(h,M,_.items,n.Name)}}}t.callRef=u,t.default=s}),vie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=hie(),r=gie(),n=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,r.default];t.default=n}),yie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=e.operators,n={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},i={message:({keyword:o,schemaCode:s})=>(0,e.str)`must be ${n[o].okStr} ${s}`,params:({keyword:o,schemaCode:s})=>(0,e._)`{comparison: ${n[o].okStr}, limit: ${s}}`},a={keyword:Object.keys(n),type:"number",schemaType:"number",$data:!0,error:i,code(o){let{keyword:s,data:c,schemaCode:u}=o;o.fail$data((0,e._)`${c} ${n[s].fail} ${u} || isNaN(${c})`)}};t.default=a}),_ie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={message:({schemaCode:i})=>(0,e.str)`must be multiple of ${i}`,params:({schemaCode:i})=>(0,e._)`{multipleOf: ${i}}`},n={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:r,code(i){let{gen:a,data:o,schemaCode:s,it:c}=i,u=c.opts.multipleOfPrecision,l=a.let("res"),d=u?(0,e._)`Math.abs(Math.round(${l}) - ${l}) > 1e-${u}`:(0,e._)`${l} !== parseInt(${l})`;i.fail$data((0,e._)`(${s} === 0 || (${l} = ${o}/${s}, ${d}))`)}};t.default=n}),bie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});function e(r){let n=r.length,i=0,a=0,o;for(;a=55296&&o<=56319&&a{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n=bie(),i={message({keyword:o,schemaCode:s}){let c=o==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${c} than ${s} characters`},params:({schemaCode:o})=>(0,e._)`{limit: ${o}}`},a={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:i,code(o){let{keyword:s,data:c,schemaCode:u,it:l}=o,d=s==="maxLength"?e.operators.GT:e.operators.LT,p=l.opts.unicode===!1?(0,e._)`${c}.length`:(0,e._)`${(0,r.useFunc)(o.gen,n.default)}(${c})`;o.fail$data((0,e._)`${p} ${d} ${u}`)}};t.default=a}),Sie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r=Be(),n={message:({schemaCode:a})=>(0,r.str)`must match pattern "${a}"`,params:({schemaCode:a})=>(0,r._)`{pattern: ${a}}`},i={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:n,code(a){let{data:o,$data:s,schema:c,schemaCode:u,it:l}=a,d=l.opts.unicodeRegExp?"u":"",p=s?(0,r._)`(new RegExp(${u}, ${d}))`:(0,e.usePattern)(a,c);a.fail$data((0,r._)`!${p}.test(${o})`)}};t.default=i}),wie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={message({keyword:i,schemaCode:a}){let o=i==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${a} properties`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},n={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:r,code(i){let{keyword:a,data:o,schemaCode:s}=i,c=a==="maxProperties"?e.operators.GT:e.operators.LT;i.fail$data((0,e._)`Object.keys(${o}).length ${c} ${s}`)}};t.default=n}),$ie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r=Be(),n=lt(),i={message:({params:{missingProperty:o}})=>(0,r.str)`must have required property '${o}'`,params:({params:{missingProperty:o}})=>(0,r._)`{missingProperty: ${o}}`},a={keyword:"required",type:"object",schemaType:"array",$data:!0,error:i,code(o){let{gen:s,schema:c,schemaCode:u,data:l,$data:d,it:p}=o,{opts:f}=p;if(!d&&c.length===0)return;let h=c.length>=f.loopRequired;if(p.allErrors?_():g(),f.strictRequired){let v=o.parentSchema.properties,{definedProperties:b}=o.it;for(let S of c)if(v?.[S]===void 0&&!b.has(S)){let x=p.schemaEnv.baseId+p.errSchemaPath,w=`required property "${S}" is not defined at "${x}" (strictRequired)`;(0,n.checkStrictMode)(p,w,p.opts.strictRequired)}}function _(){if(h||d)o.block$data(r.nil,m);else for(let v of c)(0,e.checkReportMissingProp)(o,v)}function g(){let v=s.let("missing");if(h||d){let b=s.let("valid",!0);o.block$data(b,()=>y(v,b)),o.ok(b)}else s.if((0,e.checkMissingProp)(o,c,v)),(0,e.reportMissingProp)(o,v),s.else()}function m(){s.forOf("prop",u,v=>{o.setParams({missingProperty:v}),s.if((0,e.noPropertyInData)(s,l,v,f.ownProperties),()=>o.error())})}function y(v,b){o.setParams({missingProperty:v}),s.forOf(v,u,()=>{s.assign(b,(0,e.propertyInData)(s,l,v,f.ownProperties)),s.if((0,r.not)(b),()=>{o.error(),s.break()})},r.nil)}}};t.default=a}),Eie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={message({keyword:i,schemaCode:a}){let o=i==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${a} items`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},n={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:r,code(i){let{keyword:a,data:o,schemaCode:s}=i,c=a==="maxItems"?e.operators.GT:e.operators.LT;i.fail$data((0,e._)`${o}.length ${c} ${s}`)}};t.default=n}),A$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Fh();e.code='require("ajv/dist/runtime/equal").default',t.default=e}),kie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=jh(),r=Be(),n=lt(),i=A$(),a={message:({params:{i:s,j:c}})=>(0,r.str)`must NOT have duplicate items (items ## ${c} and ${s} are identical)`,params:({params:{i:s,j:c}})=>(0,r._)`{i: ${s}, j: ${c}}`},o={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:a,code(s){let{gen:c,data:u,$data:l,schema:d,parentSchema:p,schemaCode:f,it:h}=s;if(!l&&!d)return;let _=c.let("valid"),g=p.items?(0,e.getSchemaTypes)(p.items):[];s.block$data(_,m,(0,r._)`${f} === false`),s.ok(_);function m(){let S=c.let("i",(0,r._)`${u}.length`),x=c.let("j");s.setParams({i:S,j:x}),c.assign(_,!0),c.if((0,r._)`${S} > 1`,()=>(y()?v:b)(S,x))}function y(){return g.length>0&&!g.some(S=>S==="object"||S==="array")}function v(S,x){let w=c.name("item"),E=(0,e.checkDataTypes)(g,w,h.opts.strictNumbers,e.DataType.Wrong),O=c.const("indices",(0,r._)`{}`);c.for((0,r._)`;${S}--;`,()=>{c.let(w,(0,r._)`${u}[${S}]`),c.if(E,(0,r._)`continue`),g.length>1&&c.if((0,r._)`typeof ${w} == "string"`,(0,r._)`${w} += "_"`),c.if((0,r._)`typeof ${O}[${w}] == "number"`,()=>{c.assign(x,(0,r._)`${O}[${w}]`),s.error(),c.assign(_,!1).break()}).code((0,r._)`${O}[${w}] = ${S}`)})}function b(S,x){let w=(0,n.useFunc)(c,i.default),E=c.name("outer");c.label(E).for((0,r._)`;${S}--;`,()=>c.for((0,r._)`${x} = ${S}; ${x}--;`,()=>c.if((0,r._)`${w}(${u}[${S}], ${u}[${x}])`,()=>{s.error(),c.assign(_,!1).break(E)})))}}};t.default=o}),Tie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n=A$(),i={message:"must be equal to constant",params:({schemaCode:o})=>(0,e._)`{allowedValue: ${o}}`},a={keyword:"const",$data:!0,error:i,code(o){let{gen:s,data:c,$data:u,schemaCode:l,schema:d}=o;u||d&&typeof d=="object"?o.fail$data((0,e._)`!${(0,r.useFunc)(s,n.default)}(${c}, ${l})`):o.fail((0,e._)`${d} !== ${c}`)}};t.default=a}),Iie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n=A$(),i={message:"must be equal to one of the allowed values",params:({schemaCode:o})=>(0,e._)`{allowedValues: ${o}}`},a={keyword:"enum",schemaType:"array",$data:!0,error:i,code(o){let{gen:s,data:c,$data:u,schema:l,schemaCode:d,it:p}=o;if(!u&&l.length===0)throw new Error("enum must have non-empty array");let f=l.length>=p.opts.loopEnum,h,_=()=>h??(h=(0,r.useFunc)(s,n.default)),g;if(f||u)g=s.let("valid"),o.block$data(g,m);else{if(!Array.isArray(l))throw new Error("ajv implementation error");let v=s.const("vSchema",d);g=(0,e.or)(...l.map((b,S)=>y(v,S)))}o.pass(g);function m(){s.assign(g,!1),s.forOf("v",d,v=>s.if((0,e._)`${_()}(${c}, ${v})`,()=>s.assign(g,!0).break()))}function y(v,b){let S=l[b];return typeof S=="object"&&S!==null?(0,e._)`${_()}(${c}, ${v}[${b}])`:(0,e._)`${c} === ${S}`}}};t.default=a}),Pie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=yie(),r=_ie(),n=xie(),i=Sie(),a=wie(),o=$ie(),s=Eie(),c=kie(),u=Tie(),l=Iie(),d=[e.default,r.default,n.default,i.default,a.default,o.default,s.default,c.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,l.default];t.default=d}),m2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;var e=Be(),r=lt(),n={message:({params:{len:o}})=>(0,e.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,e._)`{limit: ${o}}`},i={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:n,code(o){let{parentSchema:s,it:c}=o,{items:u}=s;if(!Array.isArray(u)){(0,r.checkStrictMode)(c,'"additionalItems" is ignored when "items" is not an array of schemas');return}a(o,u)}};function a(o,s){let{gen:c,schema:u,data:l,keyword:d,it:p}=o;p.items=!0;let f=c.const("len",(0,e._)`${l}.length`);if(u===!1)o.setParams({len:s.length}),o.pass((0,e._)`${f} <= ${s.length}`);else if(typeof u=="object"&&!(0,r.alwaysValidSchema)(p,u)){let _=c.var("valid",(0,e._)`${f} <= ${s.length}`);c.if((0,e.not)(_),()=>h(_)),o.ok(_)}function h(_){c.forRange("i",s.length,f,g=>{o.subschema({keyword:d,dataProp:g,dataPropType:r.Type.Num},_),p.allErrors||c.if((0,e.not)(_),()=>c.break())})}}t.validateAdditionalItems=a,t.default=i}),h2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;var e=Be(),r=lt(),n=Qn(),i={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(o){let{schema:s,it:c}=o;if(Array.isArray(s))return a(o,"additionalItems",s);c.items=!0,!(0,r.alwaysValidSchema)(c,s)&&o.ok((0,n.validateArray)(o))}};function a(o,s,c=o.schema){let{gen:u,parentSchema:l,data:d,keyword:p,it:f}=o;g(l),f.opts.unevaluated&&c.length&&f.items!==!0&&(f.items=r.mergeEvaluated.items(u,c.length,f.items));let h=u.name("valid"),_=u.const("len",(0,e._)`${d}.length`);c.forEach((m,y)=>{(0,r.alwaysValidSchema)(f,m)||(u.if((0,e._)`${_} > ${y}`,()=>o.subschema({keyword:p,schemaProp:y,dataProp:y},h)),o.ok(h))});function g(m){let{opts:y,errSchemaPath:v}=f,b=c.length,S=b===m.minItems&&(b===m.maxItems||m[s]===!1);if(y.strictTuples&&!S){let x=`"${p}" is ${b}-tuple, but minItems or maxItems/${s} are not specified or different at path "${v}"`;(0,r.checkStrictMode)(f,x,y.strictTuples)}}}t.validateTuple=a,t.default=i}),Oie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=h2(),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,e.validateTuple)(n,"items")};t.default=r}),Rie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n=Qn(),i=m2(),a={message:({params:{len:s}})=>(0,e.str)`must NOT have more than ${s} items`,params:({params:{len:s}})=>(0,e._)`{limit: ${s}}`},o={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:a,code(s){let{schema:c,parentSchema:u,it:l}=s,{prefixItems:d}=u;l.items=!0,!(0,r.alwaysValidSchema)(l,c)&&(d?(0,i.validateAdditionalItems)(s,d):s.ok((0,n.validateArray)(s)))}};t.default=o}),Cie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n={message:({params:{min:a,max:o}})=>o===void 0?(0,e.str)`must contain at least ${a} valid item(s)`:(0,e.str)`must contain at least ${a} and no more than ${o} valid item(s)`,params:({params:{min:a,max:o}})=>o===void 0?(0,e._)`{minContains: ${a}}`:(0,e._)`{minContains: ${a}, maxContains: ${o}}`},i={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:n,code(a){let{gen:o,schema:s,parentSchema:c,data:u,it:l}=a,d,p,{minContains:f,maxContains:h}=c;l.opts.next?(d=f===void 0?1:f,p=h):d=1;let _=o.const("len",(0,e._)`${u}.length`);if(a.setParams({min:d,max:p}),p===void 0&&d===0){(0,r.checkStrictMode)(l,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(p!==void 0&&d>p){(0,r.checkStrictMode)(l,'"minContains" > "maxContains" is always invalid'),a.fail();return}if((0,r.alwaysValidSchema)(l,s)){let b=(0,e._)`${_} >= ${d}`;p!==void 0&&(b=(0,e._)`${b} && ${_} <= ${p}`),a.pass(b);return}l.items=!0;let g=o.name("valid");p===void 0&&d===1?y(g,()=>o.if(g,()=>o.break())):d===0?(o.let(g,!0),p!==void 0&&o.if((0,e._)`${u}.length > 0`,m)):(o.let(g,!1),m()),a.result(g,()=>a.reset());function m(){let b=o.name("_valid"),S=o.let("count",0);y(b,()=>o.if(b,()=>v(S)))}function y(b,S){o.forRange("i",0,_,x=>{a.subschema({keyword:"contains",dataProp:x,dataPropType:r.Type.Num,compositeRule:!0},b),S()})}function v(b){o.code((0,e._)`${b}++`),p===void 0?o.if((0,e._)`${b} >= ${d}`,()=>o.assign(g,!0).break()):(o.if((0,e._)`${b} > ${p}`,()=>o.assign(g,!1).break()),d===1?o.assign(g,!0):o.if((0,e._)`${b} >= ${d}`,()=>o.assign(g,!0)))}}};t.default=i}),Nie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;var e=Be(),r=lt(),n=Qn();t.error={message:({params:{property:c,depsCount:u,deps:l}})=>{let d=u===1?"property":"properties";return(0,e.str)`must have ${d} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:d}})=>(0,e._)`{property: ${c}, + || ${O} === "boolean" || ${w} === null`).assign(A,(0,i._)`[${w}]`)}}}function f({gen:v,parentData:b,parentDataProperty:S},x){v.if((0,i._)`${b} !== undefined`,()=>v.assign((0,i._)`${b}[${S}]`,x))}function h(v,b,S,x=o.Correct){let w=x===o.Correct?i.operators.EQ:i.operators.NEQ,E;switch(v){case"null":return(0,i._)`${b} ${w} null`;case"array":E=(0,i._)`Array.isArray(${b})`;break;case"object":E=(0,i._)`${b} && typeof ${b} == "object" && !Array.isArray(${b})`;break;case"integer":E=O((0,i._)`!(${b} % 1) && !isNaN(${b})`);break;case"number":E=O();break;default:return(0,i._)`typeof ${b} ${w} ${v}`}return x===o.Correct?E:(0,i.not)(E);function O(A=i.nil){return(0,i.and)((0,i._)`typeof ${b} == "number"`,A,S?(0,i._)`isFinite(${b})`:i.nil)}}t.checkDataType=h;function _(v,b,S,x){if(v.length===1)return h(v[0],b,S,x);let w,E=(0,a.toHash)(v);if(E.array&&E.object){let O=(0,i._)`typeof ${b} != "object"`;w=E.null?O:(0,i._)`!${b} || ${O}`,delete E.null,delete E.array,delete E.object}else w=i.nil;E.number&&delete E.integer;for(let O in E)w=(0,i.and)(w,h(O,b,S,x));return w}t.checkDataTypes=_;var g={message:({schema:v})=>`must be ${v}`,params:({schema:v,schemaValue:b})=>typeof v=="string"?(0,i._)`{type: ${v}}`:(0,i._)`{type: ${b}}`};function m(v){let b=y(v);(0,n.reportError)(b,g)}t.reportTypeError=m;function y(v){let{gen:b,data:S,schema:x}=v,w=(0,a.schemaRefOrVal)(v,x,"type");return{gen:b,keyword:"type",data:S,schema:x.type,schemaCode:w,schemaValue:w,parentSchema:x,params:{},it:v}}}),uie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;var e=Be(),r=lt();function n(a,o){let{properties:s,items:c}=a.schema;if(o==="object"&&s)for(let u in s)i(a,u,s[u].default);else o==="array"&&Array.isArray(c)&&c.forEach((u,l)=>i(a,l,u.default))}t.assignDefaults=n;function i(a,o,s){let{gen:c,compositeRule:u,data:l,opts:d}=a;if(s===void 0)return;let p=(0,e._)`${l}${(0,e.getProperty)(o)}`;if(u){(0,r.checkStrictMode)(a,`default is ignored for: ${p}`);return}let f=(0,e._)`${p} === undefined`;d.useDefaults==="empty"&&(f=(0,e._)`${f} || ${p} === null || ${p} === ""`),c.if(f,(0,e._)`${p} = ${(0,e.stringify)(s)}`)}}),ei=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;var e=Be(),r=lt(),n=Ia(),i=lt();function a(v,b){let{gen:S,data:x,it:w}=v;S.if(d(S,x,b,w.opts.ownProperties),()=>{v.setParams({missingProperty:(0,e._)`${b}`},!0),v.error()})}t.checkReportMissingProp=a;function o({gen:v,data:b,it:{opts:S}},x,w){return(0,e.or)(...x.map(E=>(0,e.and)(d(v,b,E,S.ownProperties),(0,e._)`${w} = ${E}`)))}t.checkMissingProp=o;function s(v,b){v.setParams({missingProperty:b},!0),v.error()}t.reportMissingProp=s;function c(v){return v.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}t.hasPropFunc=c;function u(v,b,S){return(0,e._)`${c(v)}.call(${b}, ${S})`}t.isOwnProperty=u;function l(v,b,S,x){let w=(0,e._)`${b}${(0,e.getProperty)(S)} !== undefined`;return x?(0,e._)`${w} && ${u(v,b,S)}`:w}t.propertyInData=l;function d(v,b,S,x){let w=(0,e._)`${b}${(0,e.getProperty)(S)} === undefined`;return x?(0,e.or)(w,(0,e.not)(u(v,b,S))):w}t.noPropertyInData=d;function p(v){return v?Object.keys(v).filter(b=>b!=="__proto__"):[]}t.allSchemaProperties=p;function f(v,b){return p(b).filter(S=>!(0,r.alwaysValidSchema)(v,b[S]))}t.schemaProperties=f;function h({schemaCode:v,data:b,it:{gen:S,topSchemaRef:x,schemaPath:w,errorPath:E},it:O},A,M,L){let B=L?(0,e._)`${v}, ${b}, ${x}${w}`:b,U=[[n.default.instancePath,(0,e.strConcat)(n.default.instancePath,E)],[n.default.parentData,O.parentData],[n.default.parentDataProperty,O.parentDataProperty],[n.default.rootData,n.default.rootData]];O.opts.dynamicRef&&U.push([n.default.dynamicAnchors,n.default.dynamicAnchors]);let Y=(0,e._)`${B}, ${S.object(...U)}`;return M!==e.nil?(0,e._)`${A}.call(${M}, ${Y})`:(0,e._)`${A}(${Y})`}t.callValidateCode=h;var _=(0,e._)`new RegExp`;function g({gen:v,it:{opts:b}},S){let x=b.unicodeRegExp?"u":"",{regExp:w}=b.code,E=w(S,x);return v.scopeValue("pattern",{key:E.toString(),ref:E,code:(0,e._)`${w.code==="new RegExp"?_:(0,i.useFunc)(v,w)}(${S}, ${x})`})}t.usePattern=g;function m(v){let{gen:b,data:S,keyword:x,it:w}=v,E=b.name("valid");if(w.allErrors){let A=b.let("valid",!0);return O(()=>b.assign(A,!1)),A}return b.var(E,!0),O(()=>b.break()),E;function O(A){let M=b.const("len",(0,e._)`${S}.length`);b.forRange("i",0,M,L=>{v.subschema({keyword:x,dataProp:L,dataPropType:r.Type.Num},E),b.if((0,e.not)(E),A)})}}t.validateArray=m;function y(v){let{gen:b,schema:S,keyword:x,it:w}=v;if(!Array.isArray(S))throw new Error("ajv implementation error");if(S.some(M=>(0,r.alwaysValidSchema)(w,M))&&!w.opts.unevaluated)return;let O=b.let("valid",!1),A=b.name("_valid");b.block(()=>S.forEach((M,L)=>{let B=v.subschema({keyword:x,schemaProp:L,compositeRule:!0},A);b.assign(O,(0,e._)`${O} || ${A}`),v.mergeValidEvaluated(B,A)||b.if((0,e.not)(O))})),v.result(O,()=>v.reset(),()=>v.error(!0))}t.validateUnion=y}),lie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;var e=Be(),r=Ia(),n=ei(),i=Vh();function a(f,h){let{gen:_,keyword:g,schema:m,parentSchema:y,it:v}=f,b=h.macro.call(v.self,m,y,v),S=l(_,g,b);v.opts.validateSchema!==!1&&v.self.validateSchema(b,!0);let x=_.name("valid");f.subschema({schema:b,schemaPath:e.nil,errSchemaPath:`${v.errSchemaPath}/${g}`,topSchemaRef:S,compositeRule:!0},x),f.pass(x,()=>f.error(!0))}t.macroKeywordCode=a;function o(f,h){var _;let{gen:g,keyword:m,schema:y,parentSchema:v,$data:b,it:S}=f;u(S,h);let x=!b&&h.compile?h.compile.call(S.self,y,v,S):h.validate,w=l(g,m,x),E=g.let("valid");f.block$data(E,O),f.ok((_=h.valid)!==null&&_!==void 0?_:E);function O(){if(h.errors===!1)L(),h.modifying&&s(f),B(()=>f.error());else{let U=h.async?A():M();h.modifying&&s(f),B(()=>c(f,U))}}function A(){let U=g.let("ruleErrs",null);return g.try(()=>L((0,e._)`await `),Y=>g.assign(E,!1).if((0,e._)`${Y} instanceof ${S.ValidationError}`,()=>g.assign(U,(0,e._)`${Y}.errors`),()=>g.throw(Y))),U}function M(){let U=(0,e._)`${w}.errors`;return g.assign(U,null),L(e.nil),U}function L(U=h.async?(0,e._)`await `:e.nil){let Y=S.opts.passContext?r.default.this:r.default.self,me=!("compile"in h&&!b||h.schema===!1);g.assign(E,(0,e._)`${U}${(0,n.callValidateCode)(f,w,Y,me)}`,h.modifying)}function B(U){var Y;g.if((0,e.not)((Y=h.valid)!==null&&Y!==void 0?Y:E),U)}}t.funcKeywordCode=o;function s(f){let{gen:h,data:_,it:g}=f;h.if(g.parentData,()=>h.assign(_,(0,e._)`${g.parentData}[${g.parentDataProperty}]`))}function c(f,h){let{gen:_}=f;_.if((0,e._)`Array.isArray(${h})`,()=>{_.assign(r.default.vErrors,(0,e._)`${r.default.vErrors} === null ? ${h} : ${r.default.vErrors}.concat(${h})`).assign(r.default.errors,(0,e._)`${r.default.vErrors}.length`),(0,i.extendErrors)(f)},()=>f.error())}function u({schemaEnv:f},h){if(h.async&&!f.$async)throw new Error("async keyword in sync schema")}function l(f,h,_){if(_===void 0)throw new Error(`keyword "${h}" failed to compile`);return f.scopeValue("keyword",typeof _=="function"?{ref:_}:{ref:_,code:(0,e.stringify)(_)})}function d(f,h,_=!1){return!h.length||h.some(g=>g==="array"?Array.isArray(f):g==="object"?f&&typeof f=="object"&&!Array.isArray(f):typeof f==g||_&&typeof f>"u")}t.validSchemaType=d;function p({schema:f,opts:h,self:_,errSchemaPath:g},m,y){if(Array.isArray(m.keyword)?!m.keyword.includes(y):m.keyword!==y)throw new Error("ajv implementation error");let v=m.dependencies;if(v?.some(b=>!Object.prototype.hasOwnProperty.call(f,b)))throw new Error(`parent schema must have dependencies of ${y}: ${v.join(",")}`);if(m.validateSchema&&!m.validateSchema(f[y])){let S=`keyword "${y}" value is invalid at path "${g}": `+_.errorsText(m.validateSchema.errors);if(h.validateSchema==="log")_.logger.error(S);else throw new Error(S)}}t.validateKeywordUsage=p}),die=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;var e=Be(),r=lt();function n(o,{keyword:s,schemaProp:c,schema:u,schemaPath:l,errSchemaPath:d,topSchemaRef:p}){if(s!==void 0&&u!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(s!==void 0){let f=o.schema[s];return c===void 0?{schema:f,schemaPath:(0,e._)`${o.schemaPath}${(0,e.getProperty)(s)}`,errSchemaPath:`${o.errSchemaPath}/${s}`}:{schema:f[c],schemaPath:(0,e._)`${o.schemaPath}${(0,e.getProperty)(s)}${(0,e.getProperty)(c)}`,errSchemaPath:`${o.errSchemaPath}/${s}/${(0,r.escapeFragment)(c)}`}}if(u!==void 0){if(l===void 0||d===void 0||p===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:u,schemaPath:l,topSchemaRef:p,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}t.getSubschema=n;function i(o,s,{dataProp:c,dataPropType:u,data:l,dataTypes:d,propertyName:p}){if(l!==void 0&&c!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:f}=s;if(c!==void 0){let{errorPath:_,dataPathArr:g,opts:m}=s,y=f.let("data",(0,e._)`${s.data}${(0,e.getProperty)(c)}`,!0);h(y),o.errorPath=(0,e.str)`${_}${(0,r.getErrorPath)(c,u,m.jsPropertySyntax)}`,o.parentDataProperty=(0,e._)`${c}`,o.dataPathArr=[...g,o.parentDataProperty]}if(l!==void 0){let _=l instanceof e.Name?l:f.let("data",l,!0);h(_),p!==void 0&&(o.propertyName=p)}d&&(o.dataTypes=d);function h(_){o.data=_,o.dataLevel=s.dataLevel+1,o.dataTypes=[],s.definedProperties=new Set,o.parentData=s.data,o.dataNames=[...s.dataNames,_]}}t.extendSubschemaData=i;function a(o,{jtdDiscriminator:s,jtdMetadata:c,compositeRule:u,createErrors:l,allErrors:d}){u!==void 0&&(o.compositeRule=u),l!==void 0&&(o.createErrors=l),d!==void 0&&(o.allErrors=d),o.jtdDiscriminator=s,o.jtdMetadata=c}t.extendSubschemaMode=a}),pie=V((t,e)=>{var r=e.exports=function(a,o,s){typeof o=="function"&&(s=o,o={}),s=o.cb||s;var c=typeof s=="function"?s:s.pre||function(){},u=s.post||function(){};n(o,c,u,a,"",a)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function n(a,o,s,c,u,l,d,p,f,h){if(c&&typeof c=="object"&&!Array.isArray(c)){o(c,u,l,d,p,f,h);for(var _ in c){var g=c[_];if(Array.isArray(g)){if(_ in r.arrayKeywords)for(var m=0;m{Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;var e=lt(),r=Fh(),n=pie(),i=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function a(g,m=!0){return typeof g=="boolean"?!0:m===!0?!s(g):m?c(g)<=m:!1}t.inlineRef=a;var o=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function s(g){for(let m in g){if(o.has(m))return!0;let y=g[m];if(Array.isArray(y)&&y.some(s)||typeof y=="object"&&s(y))return!0}return!1}function c(g){let m=0;for(let y in g){if(y==="$ref")return 1/0;if(m++,!i.has(y)&&(typeof g[y]=="object"&&(0,e.eachItem)(g[y],v=>m+=c(v)),m===1/0))return 1/0}return m}function u(g,m="",y){y!==!1&&(m=p(m));let v=g.parse(m);return l(g,v)}t.getFullPath=u;function l(g,m){return g.serialize(m).split("#")[0]+"#"}t._getFullPath=l;var d=/#\/?$/;function p(g){return g?g.replace(d,""):""}t.normalizeId=p;function f(g,m,y){return y=p(y),g.resolve(m,y)}t.resolveUrl=f;var h=/^[a-z_][-a-z0-9._]*$/i;function _(g,m){if(typeof g=="boolean")return{};let{schemaId:y,uriResolver:v}=this.opts,b=p(g[y]||m),S={"":b},x=u(v,b,!1),w={},E=new Set;return n(g,{allKeys:!0},(M,L,B,U)=>{if(U===void 0)return;let Y=x+L,me=S[U];typeof M[y]=="string"&&(me=Qe.call(this,M[y])),mt.call(this,M.$anchor),mt.call(this,M.$dynamicAnchor),S[L]=me;function Qe(fe){let F=this.opts.uriResolver.resolve;if(fe=p(me?F(me,fe):fe),E.has(fe))throw A(fe);E.add(fe);let I=this.refs[fe];return typeof I=="string"&&(I=this.refs[I]),typeof I=="object"?O(M,I.schema,fe):fe!==p(Y)&&(fe[0]==="#"?(O(M,w[fe],fe),w[fe]=M):this.refs[fe]=Y),fe}function mt(fe){if(typeof fe=="string"){if(!h.test(fe))throw new Error(`invalid anchor "${fe}"`);Qe.call(this,`#${fe}`)}}}),w;function O(M,L,B){if(L!==void 0&&!r(M,L))throw A(B)}function A(M){return new Error(`reference "${M}" resolves to more than one schema`)}}t.getSchemaRefs=_}),Wh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;var e=cie(),r=jh(),n=_2(),i=jh(),a=uie(),o=lie(),s=die(),c=Be(),u=Ia(),l=Gh(),d=lt(),p=Vh();function f(P){if(x(P)&&(E(P),S(P))){m(P);return}h(P,()=>(0,e.topBoolOrEmptySchema)(P))}t.validateFunctionCode=f;function h({gen:P,validateName:R,schema:z,schemaEnv:Z,opts:J},ie){J.code.es5?P.func(R,(0,c._)`${u.default.data}, ${u.default.valCxt}`,Z.$async,()=>{P.code((0,c._)`"use strict"; ${v(z,J)}`),g(P,J),P.code(ie)}):P.func(R,(0,c._)`${u.default.data}, ${_(J)}`,Z.$async,()=>P.code(v(z,J)).code(ie))}function _(P){return(0,c._)`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${P.dynamicRef?(0,c._)`, ${u.default.dynamicAnchors}={}`:c.nil}}={}`}function g(P,R){P.if(u.default.valCxt,()=>{P.var(u.default.instancePath,(0,c._)`${u.default.valCxt}.${u.default.instancePath}`),P.var(u.default.parentData,(0,c._)`${u.default.valCxt}.${u.default.parentData}`),P.var(u.default.parentDataProperty,(0,c._)`${u.default.valCxt}.${u.default.parentDataProperty}`),P.var(u.default.rootData,(0,c._)`${u.default.valCxt}.${u.default.rootData}`),R.dynamicRef&&P.var(u.default.dynamicAnchors,(0,c._)`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{P.var(u.default.instancePath,(0,c._)`""`),P.var(u.default.parentData,(0,c._)`undefined`),P.var(u.default.parentDataProperty,(0,c._)`undefined`),P.var(u.default.rootData,u.default.data),R.dynamicRef&&P.var(u.default.dynamicAnchors,(0,c._)`{}`)})}function m(P){let{schema:R,opts:z,gen:Z}=P;h(P,()=>{z.$comment&&R.$comment&&U(P),M(P),Z.let(u.default.vErrors,null),Z.let(u.default.errors,0),z.unevaluated&&y(P),O(P),Y(P)})}function y(P){let{gen:R,validateName:z}=P;P.evaluated=R.const("evaluated",(0,c._)`${z}.evaluated`),R.if((0,c._)`${P.evaluated}.dynamicProps`,()=>R.assign((0,c._)`${P.evaluated}.props`,(0,c._)`undefined`)),R.if((0,c._)`${P.evaluated}.dynamicItems`,()=>R.assign((0,c._)`${P.evaluated}.items`,(0,c._)`undefined`))}function v(P,R){let z=typeof P=="object"&&P[R.schemaId];return z&&(R.code.source||R.code.process)?(0,c._)`/*# sourceURL=${z} */`:c.nil}function b(P,R){if(x(P)&&(E(P),S(P))){w(P,R);return}(0,e.boolOrEmptySchema)(P,R)}function S({schema:P,self:R}){if(typeof P=="boolean")return!P;for(let z in P)if(R.RULES.all[z])return!0;return!1}function x(P){return typeof P.schema!="boolean"}function w(P,R){let{schema:z,gen:Z,opts:J}=P;J.$comment&&z.$comment&&U(P),L(P),B(P);let ie=Z.const("_errs",u.default.errors);O(P,ie),Z.var(R,(0,c._)`${ie} === ${u.default.errors}`)}function E(P){(0,d.checkUnknownRules)(P),A(P)}function O(P,R){if(P.opts.jtd)return Qe(P,[],!1,R);let z=(0,r.getSchemaTypes)(P.schema),Z=(0,r.coerceAndCheckDataType)(P,z);Qe(P,z,!Z,R)}function A(P){let{schema:R,errSchemaPath:z,opts:Z,self:J}=P;R.$ref&&Z.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(R,J.RULES)&&J.logger.warn(`$ref: keywords ignored in schema at path "${z}"`)}function M(P){let{schema:R,opts:z}=P;R.default!==void 0&&z.useDefaults&&z.strictSchema&&(0,d.checkStrictMode)(P,"default is ignored in the schema root")}function L(P){let R=P.schema[P.opts.schemaId];R&&(P.baseId=(0,l.resolveUrl)(P.opts.uriResolver,P.baseId,R))}function B(P){if(P.schema.$async&&!P.schemaEnv.$async)throw new Error("async schema in sync schema")}function U({gen:P,schemaEnv:R,schema:z,errSchemaPath:Z,opts:J}){let ie=z.$comment;if(J.$comment===!0)P.code((0,c._)`${u.default.self}.logger.log(${ie})`);else if(typeof J.$comment=="function"){let et=(0,c.str)`${Z}/$comment`,Zt=P.scopeValue("root",{ref:R.root});P.code((0,c._)`${u.default.self}.opts.$comment(${ie}, ${et}, ${Zt}.schema)`)}}function Y(P){let{gen:R,schemaEnv:z,validateName:Z,ValidationError:J,opts:ie}=P;z.$async?R.if((0,c._)`${u.default.errors} === 0`,()=>R.return(u.default.data),()=>R.throw((0,c._)`new ${J}(${u.default.vErrors})`)):(R.assign((0,c._)`${Z}.errors`,u.default.vErrors),ie.unevaluated&&me(P),R.return((0,c._)`${u.default.errors} === 0`))}function me({gen:P,evaluated:R,props:z,items:Z}){z instanceof c.Name&&P.assign((0,c._)`${R}.props`,z),Z instanceof c.Name&&P.assign((0,c._)`${R}.items`,Z)}function Qe(P,R,z,Z){let{gen:J,schema:ie,data:et,allErrors:Zt,opts:vt,self:yt}=P,{RULES:tt}=yt;if(ie.$ref&&(vt.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(ie,tt))){J.block(()=>K(P,"$ref",tt.all.$ref.definition));return}vt.jtd||fe(P,R),J.block(()=>{for(let Ct of tt.rules)Yr(Ct);Yr(tt.post)});function Yr(Ct){(0,n.shouldUseGroup)(ie,Ct)&&(Ct.type?(J.if((0,i.checkDataType)(Ct.type,et,vt.strictNumbers)),mt(P,Ct),R.length===1&&R[0]===Ct.type&&z&&(J.else(),(0,i.reportTypeError)(P)),J.endIf()):mt(P,Ct),Zt||J.if((0,c._)`${u.default.errors} === ${Z||0}`))}}function mt(P,R){let{gen:z,schema:Z,opts:{useDefaults:J}}=P;J&&(0,a.assignDefaults)(P,R.type),z.block(()=>{for(let ie of R.rules)(0,n.shouldUseRule)(Z,ie)&&K(P,ie.keyword,ie.definition,R.type)})}function fe(P,R){P.schemaEnv.meta||!P.opts.strictTypes||(F(P,R),P.opts.allowUnionTypes||I(P,R),D(P,P.dataTypes))}function F(P,R){if(R.length){if(!P.dataTypes.length){P.dataTypes=R;return}R.forEach(z=>{$(P.dataTypes,z)||N(P,`type "${z}" not allowed by context "${P.dataTypes.join(",")}"`)}),T(P,R)}}function I(P,R){R.length>1&&!(R.length===2&&R.includes("null"))&&N(P,"use allowUnionTypes to allow union type keyword")}function D(P,R){let z=P.self.RULES.all;for(let Z in z){let J=z[Z];if(typeof J=="object"&&(0,n.shouldUseRule)(P.schema,J)){let{type:ie}=J.definition;ie.length&&!ie.some(et=>C(R,et))&&N(P,`missing type "${ie.join(",")}" for keyword "${Z}"`)}}}function C(P,R){return P.includes(R)||R==="number"&&P.includes("integer")}function $(P,R){return P.includes(R)||R==="integer"&&P.includes("number")}function T(P,R){let z=[];for(let Z of P.dataTypes)$(R,Z)?z.push(Z):R.includes("integer")&&Z==="number"&&z.push("integer");P.dataTypes=z}function N(P,R){let z=P.schemaEnv.baseId+P.errSchemaPath;R+=` at "${z}" (strictTypes)`,(0,d.checkStrictMode)(P,R,P.opts.strictTypes)}class W{constructor(R,z,Z){if((0,o.validateKeywordUsage)(R,z,Z),this.gen=R.gen,this.allErrors=R.allErrors,this.keyword=Z,this.data=R.data,this.schema=R.schema[Z],this.$data=z.$data&&R.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(R,this.schema,Z,this.$data),this.schemaType=z.schemaType,this.parentSchema=R.schema,this.params={},this.it=R,this.def=z,this.$data)this.schemaCode=R.gen.const("vSchema",je(this.$data,R));else if(this.schemaCode=this.schemaValue,!(0,o.validSchemaType)(this.schema,z.schemaType,z.allowUndefined))throw new Error(`${Z} value must be ${JSON.stringify(z.schemaType)}`);("code"in z?z.trackErrors:z.errors!==!1)&&(this.errsCount=R.gen.const("_errs",u.default.errors))}result(R,z,Z){this.failResult((0,c.not)(R),z,Z)}failResult(R,z,Z){this.gen.if(R),Z?Z():this.error(),z?(this.gen.else(),z(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(R,z){this.failResult((0,c.not)(R),void 0,z)}fail(R){if(R===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(R),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(R){if(!this.$data)return this.fail(R);let{schemaCode:z}=this;this.fail((0,c._)`${z} !== undefined && (${(0,c.or)(this.invalid$data(),R)})`)}error(R,z,Z){if(z){this.setParams(z),this._error(R,Z),this.setParams({});return}this._error(R,Z)}_error(R,z){(R?p.reportExtraError:p.reportError)(this,this.def.error,z)}$dataError(){(0,p.reportError)(this,this.def.$dataError||p.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,p.resetErrorsCount)(this.gen,this.errsCount)}ok(R){this.allErrors||this.gen.if(R)}setParams(R,z){z?Object.assign(this.params,R):this.params=R}block$data(R,z,Z=c.nil){this.gen.block(()=>{this.check$data(R,Z),z()})}check$data(R=c.nil,z=c.nil){if(!this.$data)return;let{gen:Z,schemaCode:J,schemaType:ie,def:et}=this;Z.if((0,c.or)((0,c._)`${J} === undefined`,z)),R!==c.nil&&Z.assign(R,!0),(ie.length||et.validateSchema)&&(Z.elseIf(this.invalid$data()),this.$dataError(),R!==c.nil&&Z.assign(R,!1)),Z.else()}invalid$data(){let{gen:R,schemaCode:z,schemaType:Z,def:J,it:ie}=this;return(0,c.or)(et(),Zt());function et(){if(Z.length){if(!(z instanceof c.Name))throw new Error("ajv implementation error");let vt=Array.isArray(Z)?Z:[Z];return(0,c._)`${(0,i.checkDataTypes)(vt,z,ie.opts.strictNumbers,i.DataType.Wrong)}`}return c.nil}function Zt(){if(J.validateSchema){let vt=R.scopeValue("validate$data",{ref:J.validateSchema});return(0,c._)`!${vt}(${z})`}return c.nil}}subschema(R,z){let Z=(0,s.getSubschema)(this.it,R);(0,s.extendSubschemaData)(Z,this.it,R),(0,s.extendSubschemaMode)(Z,R);let J={...this.it,...Z,items:void 0,props:void 0};return b(J,z),J}mergeEvaluated(R,z){let{it:Z,gen:J}=this;Z.opts.unevaluated&&(Z.props!==!0&&R.props!==void 0&&(Z.props=d.mergeEvaluated.props(J,R.props,Z.props,z)),Z.items!==!0&&R.items!==void 0&&(Z.items=d.mergeEvaluated.items(J,R.items,Z.items,z)))}mergeValidEvaluated(R,z){let{it:Z,gen:J}=this;if(Z.opts.unevaluated&&(Z.props!==!0||Z.items!==!0))return J.if(z,()=>this.mergeEvaluated(R,c.Name)),!0}}t.KeywordCxt=W;function K(P,R,z,Z){let J=new W(P,z,R);"code"in z?z.code(J,Z):J.$data&&z.validate?(0,o.funcKeywordCode)(J,z):"macro"in z?(0,o.macroKeywordCode)(J,z):(z.compile||z.validate)&&(0,o.funcKeywordCode)(J,z)}var pe=/^\/(?:[^~]|~0|~1)*$/,ce=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function je(P,{dataLevel:R,dataNames:z,dataPathArr:Z}){let J,ie;if(P==="")return u.default.rootData;if(P[0]==="/"){if(!pe.test(P))throw new Error(`Invalid JSON-pointer: ${P}`);J=P,ie=u.default.rootData}else{let yt=ce.exec(P);if(!yt)throw new Error(`Invalid JSON-pointer: ${P}`);let tt=+yt[1];if(J=yt[2],J==="#"){if(tt>=R)throw new Error(vt("property/index",tt));return Z[R-tt]}if(tt>R)throw new Error(vt("data",tt));if(ie=z[R-tt],!J)return ie}let et=ie,Zt=J.split("/");for(let yt of Zt)yt&&(ie=(0,c._)`${ie}${(0,c.getProperty)((0,d.unescapeJsonPointer)(yt))}`,et=(0,c._)`${et} && ${ie}`);return et;function vt(yt,tt){return`Cannot access ${yt} ${tt} levels up, current level is ${R}`}}t.getData=je}),j$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});class e extends Error{constructor(n){super("validation failed"),this.errors=n,this.ajv=this.validation=!0}}t.default=e}),Kh=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gh();class r extends Error{constructor(i,a,o,s){super(s||`can't resolve reference ${o} from id ${a}`),this.missingRef=(0,e.resolveUrl)(i,a,o),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(i,this.missingRef))}}t.default=r}),A$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;var e=Be(),r=j$(),n=Ia(),i=Gh(),a=lt(),o=Wh();class s{constructor(y){var v;this.refs={},this.dynamicAnchors={};let b;typeof y.schema=="object"&&(b=y.schema),this.schema=y.schema,this.schemaId=y.schemaId,this.root=y.root||this,this.baseId=(v=y.baseId)!==null&&v!==void 0?v:(0,i.normalizeId)(b?.[y.schemaId||"$id"]),this.schemaPath=y.schemaPath,this.localRefs=y.localRefs,this.meta=y.meta,this.$async=b?.$async,this.refs={}}}t.SchemaEnv=s;function c(m){let y=d.call(this,m);if(y)return y;let v=(0,i.getFullPath)(this.opts.uriResolver,m.root.baseId),{es5:b,lines:S}=this.opts.code,{ownProperties:x}=this.opts,w=new e.CodeGen(this.scope,{es5:b,lines:S,ownProperties:x}),E;m.$async&&(E=w.scopeValue("Error",{ref:r.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));let O=w.scopeName("validate");m.validateName=O;let A={gen:w,allErrors:this.opts.allErrors,data:n.default.data,parentData:n.default.parentData,parentDataProperty:n.default.parentDataProperty,dataNames:[n.default.data],dataPathArr:[e.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:w.scopeValue("schema",this.opts.code.source===!0?{ref:m.schema,code:(0,e.stringify)(m.schema)}:{ref:m.schema}),validateName:O,ValidationError:E,schema:m.schema,schemaEnv:m,rootId:v,baseId:m.baseId||v,schemaPath:e.nil,errSchemaPath:m.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this},M;try{this._compilations.add(m),(0,o.validateFunctionCode)(A),w.optimize(this.opts.code.optimize);let L=w.toString();M=`${w.scopeRefs(n.default.scope)}return ${L}`,this.opts.code.process&&(M=this.opts.code.process(M,m));let U=new Function(`${n.default.self}`,`${n.default.scope}`,M)(this,this.scope.get());if(this.scope.value(O,{ref:U}),U.errors=null,U.schema=m.schema,U.schemaEnv=m,m.$async&&(U.$async=!0),this.opts.code.source===!0&&(U.source={validateName:O,validateCode:L,scopeValues:w._values}),this.opts.unevaluated){let{props:Y,items:me}=A;U.evaluated={props:Y instanceof e.Name?void 0:Y,items:me instanceof e.Name?void 0:me,dynamicProps:Y instanceof e.Name,dynamicItems:me instanceof e.Name},U.source&&(U.source.evaluated=(0,e.stringify)(U.evaluated))}return m.validate=U,m}catch(L){throw delete m.validate,delete m.validateName,M&&this.logger.error("Error compiling schema, function code:",M),L}finally{this._compilations.delete(m)}}t.compileSchema=c;function u(m,y,v){var b;v=(0,i.resolveUrl)(this.opts.uriResolver,y,v);let S=m.refs[v];if(S)return S;let x=f.call(this,m,v);if(x===void 0){let w=(b=m.localRefs)===null||b===void 0?void 0:b[v],{schemaId:E}=this.opts;w&&(x=new s({schema:w,schemaId:E,root:m,baseId:y}))}if(x!==void 0)return m.refs[v]=l.call(this,x)}t.resolveRef=u;function l(m){return(0,i.inlineRef)(m.schema,this.opts.inlineRefs)?m.schema:m.validate?m:c.call(this,m)}function d(m){for(let y of this._compilations)if(p(y,m))return y}t.getCompilingSchema=d;function p(m,y){return m.schema===y.schema&&m.root===y.root&&m.baseId===y.baseId}function f(m,y){let v;for(;typeof(v=this.refs[y])=="string";)y=v;return v||this.schemas[y]||h.call(this,m,y)}function h(m,y){let v=this.opts.uriResolver.parse(y),b=(0,i._getFullPath)(this.opts.uriResolver,v),S=(0,i.getFullPath)(this.opts.uriResolver,m.baseId,void 0);if(Object.keys(m.schema).length>0&&b===S)return g.call(this,v,m);let x=(0,i.normalizeId)(b),w=this.refs[x]||this.schemas[x];if(typeof w=="string"){let E=h.call(this,m,w);return typeof E?.schema!="object"?void 0:g.call(this,v,E)}if(typeof w?.schema=="object"){if(w.validate||c.call(this,w),x===(0,i.normalizeId)(y)){let{schema:E}=w,{schemaId:O}=this.opts,A=E[O];return A&&(S=(0,i.resolveUrl)(this.opts.uriResolver,S,A)),new s({schema:E,schemaId:O,root:m,baseId:S})}return g.call(this,v,w)}}t.resolveSchema=h;var _=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function g(m,{baseId:y,schema:v,root:b}){var S;if(((S=m.fragment)===null||S===void 0?void 0:S[0])!=="/")return;for(let E of m.fragment.slice(1).split("/")){if(typeof v=="boolean")return;let O=v[(0,a.unescapeFragment)(E)];if(O===void 0)return;v=O;let A=typeof v=="object"&&v[this.opts.schemaId];!_.has(E)&&A&&(y=(0,i.resolveUrl)(this.opts.uriResolver,y,A))}let x;if(typeof v!="boolean"&&v.$ref&&!(0,a.schemaHasRulesButRef)(v,this.RULES)){let E=(0,i.resolveUrl)(this.opts.uriResolver,y,v.$ref);x=h.call(this,b,E)}let{schemaId:w}=this.opts;if(x=x||new s({schema:v,schemaId:w,root:b,baseId:y}),x.schema!==x.root.schema)return x}}),fie=V((t,e)=>{e.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}}),mie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=m2();e.code='require("ajv/dist/runtime/uri").default',t.default=e}),hie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var e=Wh();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var r=Be();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});var n=j$(),i=Kh(),a=y2(),o=A$(),s=Be(),c=Gh(),u=jh(),l=lt(),d=fie(),p=mie(),f=(F,I)=>new RegExp(F,I);f.code="new RegExp";var h=["removeAdditional","useDefaults","coerceTypes"],_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),g={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},m={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},y=200;function v(F){var I,D,C,$,T,N,W,K,pe,ce,je,P,R,z,Z,J,ie,et,Zt,vt,yt,tt,Yr,Ct,Oa;let Rn=F.strict,Ra=(I=F.code)===null||I===void 0?void 0:I.optimize,Rc=Ra===!0||Ra===void 0?1:Ra||0,Cc=(C=(D=F.code)===null||D===void 0?void 0:D.regExp)!==null&&C!==void 0?C:f,Ng=($=F.uriResolver)!==null&&$!==void 0?$:p.default;return{strictSchema:(N=(T=F.strictSchema)!==null&&T!==void 0?T:Rn)!==null&&N!==void 0?N:!0,strictNumbers:(K=(W=F.strictNumbers)!==null&&W!==void 0?W:Rn)!==null&&K!==void 0?K:!0,strictTypes:(ce=(pe=F.strictTypes)!==null&&pe!==void 0?pe:Rn)!==null&&ce!==void 0?ce:"log",strictTuples:(P=(je=F.strictTuples)!==null&&je!==void 0?je:Rn)!==null&&P!==void 0?P:"log",strictRequired:(z=(R=F.strictRequired)!==null&&R!==void 0?R:Rn)!==null&&z!==void 0?z:!1,code:F.code?{...F.code,optimize:Rc,regExp:Cc}:{optimize:Rc,regExp:Cc},loopRequired:(Z=F.loopRequired)!==null&&Z!==void 0?Z:y,loopEnum:(J=F.loopEnum)!==null&&J!==void 0?J:y,meta:(ie=F.meta)!==null&&ie!==void 0?ie:!0,messages:(et=F.messages)!==null&&et!==void 0?et:!0,inlineRefs:(Zt=F.inlineRefs)!==null&&Zt!==void 0?Zt:!0,schemaId:(vt=F.schemaId)!==null&&vt!==void 0?vt:"$id",addUsedSchema:(yt=F.addUsedSchema)!==null&&yt!==void 0?yt:!0,validateSchema:(tt=F.validateSchema)!==null&&tt!==void 0?tt:!0,validateFormats:(Yr=F.validateFormats)!==null&&Yr!==void 0?Yr:!0,unicodeRegExp:(Ct=F.unicodeRegExp)!==null&&Ct!==void 0?Ct:!0,int32range:(Oa=F.int32range)!==null&&Oa!==void 0?Oa:!0,uriResolver:Ng}}class b{constructor(I={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,I=this.opts={...I,...v(I)};let{es5:D,lines:C}=this.opts.code;this.scope=new s.ValueScope({scope:{},prefixes:_,es5:D,lines:C}),this.logger=L(I.logger);let $=I.validateFormats;I.validateFormats=!1,this.RULES=(0,a.getRules)(),S.call(this,g,I,"NOT SUPPORTED"),S.call(this,m,I,"DEPRECATED","warn"),this._metaOpts=A.call(this),I.formats&&E.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),I.keywords&&O.call(this,I.keywords),typeof I.meta=="object"&&this.addMetaSchema(I.meta),w.call(this),I.validateFormats=$}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:I,meta:D,schemaId:C}=this.opts,$=d;C==="id"&&($={...d},$.id=$.$id,delete $.$id),D&&I&&this.addMetaSchema($,$[C],!1)}defaultMeta(){let{meta:I,schemaId:D}=this.opts;return this.opts.defaultMeta=typeof I=="object"?I[D]||I:void 0}validate(I,D){let C;if(typeof I=="string"){if(C=this.getSchema(I),!C)throw new Error(`no schema with key or ref "${I}"`)}else C=this.compile(I);let $=C(D);return"$async"in C||(this.errors=C.errors),$}compile(I,D){let C=this._addSchema(I,D);return C.validate||this._compileSchemaEnv(C)}compileAsync(I,D){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:C}=this.opts;return $.call(this,I,D);async function $(ce,je){await T.call(this,ce.$schema);let P=this._addSchema(ce,je);return P.validate||N.call(this,P)}async function T(ce){ce&&!this.getSchema(ce)&&await $.call(this,{$ref:ce},!0)}async function N(ce){try{return this._compileSchemaEnv(ce)}catch(je){if(!(je instanceof i.default))throw je;return W.call(this,je),await K.call(this,je.missingSchema),N.call(this,ce)}}function W({missingSchema:ce,missingRef:je}){if(this.refs[ce])throw new Error(`AnySchema ${ce} is loaded but ${je} cannot be resolved`)}async function K(ce){let je=await pe.call(this,ce);this.refs[ce]||await T.call(this,je.$schema),this.refs[ce]||this.addSchema(je,ce,D)}async function pe(ce){let je=this._loading[ce];if(je)return je;try{return await(this._loading[ce]=C(ce))}finally{delete this._loading[ce]}}}addSchema(I,D,C,$=this.opts.validateSchema){if(Array.isArray(I)){for(let N of I)this.addSchema(N,void 0,C,$);return this}let T;if(typeof I=="object"){let{schemaId:N}=this.opts;if(T=I[N],T!==void 0&&typeof T!="string")throw new Error(`schema ${N} must be string`)}return D=(0,c.normalizeId)(D||T),this._checkUnique(D),this.schemas[D]=this._addSchema(I,C,D,$,!0),this}addMetaSchema(I,D,C=this.opts.validateSchema){return this.addSchema(I,D,!0,C),this}validateSchema(I,D){if(typeof I=="boolean")return!0;let C;if(C=I.$schema,C!==void 0&&typeof C!="string")throw new Error("$schema must be a string");if(C=C||this.opts.defaultMeta||this.defaultMeta(),!C)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let $=this.validate(C,I);if(!$&&D){let T="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(T);else throw new Error(T)}return $}getSchema(I){let D;for(;typeof(D=x.call(this,I))=="string";)I=D;if(D===void 0){let{schemaId:C}=this.opts,$=new o.SchemaEnv({schema:{},schemaId:C});if(D=o.resolveSchema.call(this,$,I),!D)return;this.refs[I]=D}return D.validate||this._compileSchemaEnv(D)}removeSchema(I){if(I instanceof RegExp)return this._removeAllSchemas(this.schemas,I),this._removeAllSchemas(this.refs,I),this;switch(typeof I){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let D=x.call(this,I);return typeof D=="object"&&this._cache.delete(D.schema),delete this.schemas[I],delete this.refs[I],this}case"object":{let D=I;this._cache.delete(D);let C=I[this.opts.schemaId];return C&&(C=(0,c.normalizeId)(C),delete this.schemas[C],delete this.refs[C]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(I){for(let D of I)this.addKeyword(D);return this}addKeyword(I,D){let C;if(typeof I=="string")C=I,typeof D=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),D.keyword=C);else if(typeof I=="object"&&D===void 0){if(D=I,C=D.keyword,Array.isArray(C)&&!C.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(U.call(this,C,D),!D)return(0,l.eachItem)(C,T=>Y.call(this,T)),this;Qe.call(this,D);let $={...D,type:(0,u.getJSONTypes)(D.type),schemaType:(0,u.getJSONTypes)(D.schemaType)};return(0,l.eachItem)(C,$.type.length===0?T=>Y.call(this,T,$):T=>$.type.forEach(N=>Y.call(this,T,$,N))),this}getKeyword(I){let D=this.RULES.all[I];return typeof D=="object"?D.definition:!!D}removeKeyword(I){let{RULES:D}=this;delete D.keywords[I],delete D.all[I];for(let C of D.rules){let $=C.rules.findIndex(T=>T.keyword===I);$>=0&&C.rules.splice($,1)}return this}addFormat(I,D){return typeof D=="string"&&(D=new RegExp(D)),this.formats[I]=D,this}errorsText(I=this.errors,{separator:D=", ",dataVar:C="data"}={}){return!I||I.length===0?"No errors":I.map($=>`${C}${$.instancePath} ${$.message}`).reduce(($,T)=>$+D+T)}$dataMetaSchema(I,D){let C=this.RULES.all;I=JSON.parse(JSON.stringify(I));for(let $ of D){let T=$.split("/").slice(1),N=I;for(let W of T)N=N[W];for(let W in C){let K=C[W];if(typeof K!="object")continue;let{$data:pe}=K.definition,ce=N[W];pe&&ce&&(N[W]=fe(ce))}}return I}_removeAllSchemas(I,D){for(let C in I){let $=I[C];(!D||D.test(C))&&(typeof $=="string"?delete I[C]:$&&!$.meta&&(this._cache.delete($.schema),delete I[C]))}}_addSchema(I,D,C,$=this.opts.validateSchema,T=this.opts.addUsedSchema){let N,{schemaId:W}=this.opts;if(typeof I=="object")N=I[W];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof I!="boolean")throw new Error("schema must be object or boolean")}let K=this._cache.get(I);if(K!==void 0)return K;C=(0,c.normalizeId)(N||C);let pe=c.getSchemaRefs.call(this,I,C);return K=new o.SchemaEnv({schema:I,schemaId:W,meta:D,baseId:C,localRefs:pe}),this._cache.set(K.schema,K),T&&!C.startsWith("#")&&(C&&this._checkUnique(C),this.refs[C]=K),$&&this.validateSchema(I,!0),K}_checkUnique(I){if(this.schemas[I]||this.refs[I])throw new Error(`schema with key or id "${I}" already exists`)}_compileSchemaEnv(I){if(I.meta?this._compileMetaSchema(I):o.compileSchema.call(this,I),!I.validate)throw new Error("ajv implementation error");return I.validate}_compileMetaSchema(I){let D=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,I)}finally{this.opts=D}}}b.ValidationError=n.default,b.MissingRefError=i.default,t.default=b;function S(F,I,D,C="error"){for(let $ in F){let T=$;T in I&&this.logger[C](`${D}: option ${$}. ${F[T]}`)}}function x(F){return F=(0,c.normalizeId)(F),this.schemas[F]||this.refs[F]}function w(){let F=this.opts.schemas;if(F)if(Array.isArray(F))this.addSchema(F);else for(let I in F)this.addSchema(F[I],I)}function E(){for(let F in this.opts.formats){let I=this.opts.formats[F];I&&this.addFormat(F,I)}}function O(F){if(Array.isArray(F)){this.addVocabulary(F);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let I in F){let D=F[I];D.keyword||(D.keyword=I),this.addKeyword(D)}}function A(){let F={...this.opts};for(let I of h)delete F[I];return F}var M={log(){},warn(){},error(){}};function L(F){if(F===!1)return M;if(F===void 0)return console;if(F.log&&F.warn&&F.error)return F;throw new Error("logger must implement log, warn and error methods")}var B=/^[a-z_$][a-z0-9_$:-]*$/i;function U(F,I){let{RULES:D}=this;if((0,l.eachItem)(F,C=>{if(D.keywords[C])throw new Error(`Keyword ${C} is already defined`);if(!B.test(C))throw new Error(`Keyword ${C} has invalid name`)}),!!I&&I.$data&&!("code"in I||"validate"in I))throw new Error('$data keyword must have "code" or "validate" function')}function Y(F,I,D){var C;let $=I?.post;if(D&&$)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:T}=this,N=$?T.post:T.rules.find(({type:K})=>K===D);if(N||(N={type:D,rules:[]},T.rules.push(N)),T.keywords[F]=!0,!I)return;let W={keyword:F,definition:{...I,type:(0,u.getJSONTypes)(I.type),schemaType:(0,u.getJSONTypes)(I.schemaType)}};I.before?me.call(this,N,W,I.before):N.rules.push(W),T.all[F]=W,(C=I.implements)===null||C===void 0||C.forEach(K=>this.addKeyword(K))}function me(F,I,D){let C=F.rules.findIndex($=>$.keyword===D);C>=0?F.rules.splice(C,0,I):(F.rules.push(I),this.logger.warn(`rule ${D} is not defined`))}function Qe(F){let{metaSchema:I}=F;I!==void 0&&(F.$data&&this.opts.$data&&(I=fe(I)),F.validateSchema=this.compile(I,!0))}var mt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function fe(F){return{anyOf:[F,mt]}}}),gie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=e}),vie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;var e=Kh(),r=ei(),n=Be(),i=Ia(),a=A$(),o=lt(),s={keyword:"$ref",schemaType:"string",code(l){let{gen:d,schema:p,it:f}=l,{baseId:h,schemaEnv:_,validateName:g,opts:m,self:y}=f,{root:v}=_;if((p==="#"||p==="#/")&&h===v.baseId)return S();let b=a.resolveRef.call(y,v,h,p);if(b===void 0)throw new e.default(f.opts.uriResolver,h,p);if(b instanceof a.SchemaEnv)return x(b);return w(b);function S(){if(_===v)return u(l,g,_,_.$async);let E=d.scopeValue("root",{ref:v});return u(l,(0,n._)`${E}.validate`,v,v.$async)}function x(E){let O=c(l,E);u(l,O,E,E.$async)}function w(E){let O=d.scopeValue("schema",m.code.source===!0?{ref:E,code:(0,n.stringify)(E)}:{ref:E}),A=d.name("valid"),M=l.subschema({schema:E,dataTypes:[],schemaPath:n.nil,topSchemaRef:O,errSchemaPath:p},A);l.mergeEvaluated(M),l.ok(A)}}};function c(l,d){let{gen:p}=l;return d.validate?p.scopeValue("validate",{ref:d.validate}):(0,n._)`${p.scopeValue("wrapper",{ref:d})}.validate`}t.getValidate=c;function u(l,d,p,f){let{gen:h,it:_}=l,{allErrors:g,schemaEnv:m,opts:y}=_,v=y.passContext?i.default.this:n.nil;f?b():S();function b(){if(!m.$async)throw new Error("async schema referenced by sync schema");let E=h.let("valid");h.try(()=>{h.code((0,n._)`await ${(0,r.callValidateCode)(l,d,v)}`),w(d),g||h.assign(E,!0)},O=>{h.if((0,n._)`!(${O} instanceof ${_.ValidationError})`,()=>h.throw(O)),x(O),g||h.assign(E,!1)}),l.ok(E)}function S(){l.result((0,r.callValidateCode)(l,d,v),()=>w(d),()=>x(d))}function x(E){let O=(0,n._)`${E}.errors`;h.assign(i.default.vErrors,(0,n._)`${i.default.vErrors} === null ? ${O} : ${i.default.vErrors}.concat(${O})`),h.assign(i.default.errors,(0,n._)`${i.default.vErrors}.length`)}function w(E){var O;if(!_.opts.unevaluated)return;let A=(O=p?.validate)===null||O===void 0?void 0:O.evaluated;if(_.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(_.props=o.mergeEvaluated.props(h,A.props,_.props));else{let M=h.var("props",(0,n._)`${E}.evaluated.props`);_.props=o.mergeEvaluated.props(h,M,_.props,n.Name)}if(_.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(_.items=o.mergeEvaluated.items(h,A.items,_.items));else{let M=h.var("items",(0,n._)`${E}.evaluated.items`);_.items=o.mergeEvaluated.items(h,M,_.items,n.Name)}}}t.callRef=u,t.default=s}),yie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=gie(),r=vie(),n=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,r.default];t.default=n}),_ie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=e.operators,n={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},i={message:({keyword:o,schemaCode:s})=>(0,e.str)`must be ${n[o].okStr} ${s}`,params:({keyword:o,schemaCode:s})=>(0,e._)`{comparison: ${n[o].okStr}, limit: ${s}}`},a={keyword:Object.keys(n),type:"number",schemaType:"number",$data:!0,error:i,code(o){let{keyword:s,data:c,schemaCode:u}=o;o.fail$data((0,e._)`${c} ${n[s].fail} ${u} || isNaN(${c})`)}};t.default=a}),bie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={message:({schemaCode:i})=>(0,e.str)`must be multiple of ${i}`,params:({schemaCode:i})=>(0,e._)`{multipleOf: ${i}}`},n={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:r,code(i){let{gen:a,data:o,schemaCode:s,it:c}=i,u=c.opts.multipleOfPrecision,l=a.let("res"),d=u?(0,e._)`Math.abs(Math.round(${l}) - ${l}) > 1e-${u}`:(0,e._)`${l} !== parseInt(${l})`;i.fail$data((0,e._)`(${s} === 0 || (${l} = ${o}/${s}, ${d}))`)}};t.default=n}),xie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});function e(r){let n=r.length,i=0,a=0,o;for(;a=55296&&o<=56319&&a{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n=xie(),i={message({keyword:o,schemaCode:s}){let c=o==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${c} than ${s} characters`},params:({schemaCode:o})=>(0,e._)`{limit: ${o}}`},a={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:i,code(o){let{keyword:s,data:c,schemaCode:u,it:l}=o,d=s==="maxLength"?e.operators.GT:e.operators.LT,p=l.opts.unicode===!1?(0,e._)`${c}.length`:(0,e._)`${(0,r.useFunc)(o.gen,n.default)}(${c})`;o.fail$data((0,e._)`${p} ${d} ${u}`)}};t.default=a}),wie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ei(),r=Be(),n={message:({schemaCode:a})=>(0,r.str)`must match pattern "${a}"`,params:({schemaCode:a})=>(0,r._)`{pattern: ${a}}`},i={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:n,code(a){let{data:o,$data:s,schema:c,schemaCode:u,it:l}=a,d=l.opts.unicodeRegExp?"u":"",p=s?(0,r._)`(new RegExp(${u}, ${d}))`:(0,e.usePattern)(a,c);a.fail$data((0,r._)`!${p}.test(${o})`)}};t.default=i}),$ie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={message({keyword:i,schemaCode:a}){let o=i==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${a} properties`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},n={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:r,code(i){let{keyword:a,data:o,schemaCode:s}=i,c=a==="maxProperties"?e.operators.GT:e.operators.LT;i.fail$data((0,e._)`Object.keys(${o}).length ${c} ${s}`)}};t.default=n}),Eie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ei(),r=Be(),n=lt(),i={message:({params:{missingProperty:o}})=>(0,r.str)`must have required property '${o}'`,params:({params:{missingProperty:o}})=>(0,r._)`{missingProperty: ${o}}`},a={keyword:"required",type:"object",schemaType:"array",$data:!0,error:i,code(o){let{gen:s,schema:c,schemaCode:u,data:l,$data:d,it:p}=o,{opts:f}=p;if(!d&&c.length===0)return;let h=c.length>=f.loopRequired;if(p.allErrors?_():g(),f.strictRequired){let v=o.parentSchema.properties,{definedProperties:b}=o.it;for(let S of c)if(v?.[S]===void 0&&!b.has(S)){let x=p.schemaEnv.baseId+p.errSchemaPath,w=`required property "${S}" is not defined at "${x}" (strictRequired)`;(0,n.checkStrictMode)(p,w,p.opts.strictRequired)}}function _(){if(h||d)o.block$data(r.nil,m);else for(let v of c)(0,e.checkReportMissingProp)(o,v)}function g(){let v=s.let("missing");if(h||d){let b=s.let("valid",!0);o.block$data(b,()=>y(v,b)),o.ok(b)}else s.if((0,e.checkMissingProp)(o,c,v)),(0,e.reportMissingProp)(o,v),s.else()}function m(){s.forOf("prop",u,v=>{o.setParams({missingProperty:v}),s.if((0,e.noPropertyInData)(s,l,v,f.ownProperties),()=>o.error())})}function y(v,b){o.setParams({missingProperty:v}),s.forOf(v,u,()=>{s.assign(b,(0,e.propertyInData)(s,l,v,f.ownProperties)),s.if((0,r.not)(b),()=>{o.error(),s.break()})},r.nil)}}};t.default=a}),kie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={message({keyword:i,schemaCode:a}){let o=i==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${o} than ${a} items`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},n={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:r,code(i){let{keyword:a,data:o,schemaCode:s}=i,c=a==="maxItems"?e.operators.GT:e.operators.LT;i.fail$data((0,e._)`${o}.length ${c} ${s}`)}};t.default=n}),M$=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Fh();e.code='require("ajv/dist/runtime/equal").default',t.default=e}),Tie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=jh(),r=Be(),n=lt(),i=M$(),a={message:({params:{i:s,j:c}})=>(0,r.str)`must NOT have duplicate items (items ## ${c} and ${s} are identical)`,params:({params:{i:s,j:c}})=>(0,r._)`{i: ${s}, j: ${c}}`},o={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:a,code(s){let{gen:c,data:u,$data:l,schema:d,parentSchema:p,schemaCode:f,it:h}=s;if(!l&&!d)return;let _=c.let("valid"),g=p.items?(0,e.getSchemaTypes)(p.items):[];s.block$data(_,m,(0,r._)`${f} === false`),s.ok(_);function m(){let S=c.let("i",(0,r._)`${u}.length`),x=c.let("j");s.setParams({i:S,j:x}),c.assign(_,!0),c.if((0,r._)`${S} > 1`,()=>(y()?v:b)(S,x))}function y(){return g.length>0&&!g.some(S=>S==="object"||S==="array")}function v(S,x){let w=c.name("item"),E=(0,e.checkDataTypes)(g,w,h.opts.strictNumbers,e.DataType.Wrong),O=c.const("indices",(0,r._)`{}`);c.for((0,r._)`;${S}--;`,()=>{c.let(w,(0,r._)`${u}[${S}]`),c.if(E,(0,r._)`continue`),g.length>1&&c.if((0,r._)`typeof ${w} == "string"`,(0,r._)`${w} += "_"`),c.if((0,r._)`typeof ${O}[${w}] == "number"`,()=>{c.assign(x,(0,r._)`${O}[${w}]`),s.error(),c.assign(_,!1).break()}).code((0,r._)`${O}[${w}] = ${S}`)})}function b(S,x){let w=(0,n.useFunc)(c,i.default),E=c.name("outer");c.label(E).for((0,r._)`;${S}--;`,()=>c.for((0,r._)`${x} = ${S}; ${x}--;`,()=>c.if((0,r._)`${w}(${u}[${S}], ${u}[${x}])`,()=>{s.error(),c.assign(_,!1).break(E)})))}}};t.default=o}),Iie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n=M$(),i={message:"must be equal to constant",params:({schemaCode:o})=>(0,e._)`{allowedValue: ${o}}`},a={keyword:"const",$data:!0,error:i,code(o){let{gen:s,data:c,$data:u,schemaCode:l,schema:d}=o;u||d&&typeof d=="object"?o.fail$data((0,e._)`!${(0,r.useFunc)(s,n.default)}(${c}, ${l})`):o.fail((0,e._)`${d} !== ${c}`)}};t.default=a}),Pie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n=M$(),i={message:"must be equal to one of the allowed values",params:({schemaCode:o})=>(0,e._)`{allowedValues: ${o}}`},a={keyword:"enum",schemaType:"array",$data:!0,error:i,code(o){let{gen:s,data:c,$data:u,schema:l,schemaCode:d,it:p}=o;if(!u&&l.length===0)throw new Error("enum must have non-empty array");let f=l.length>=p.opts.loopEnum,h,_=()=>h??(h=(0,r.useFunc)(s,n.default)),g;if(f||u)g=s.let("valid"),o.block$data(g,m);else{if(!Array.isArray(l))throw new Error("ajv implementation error");let v=s.const("vSchema",d);g=(0,e.or)(...l.map((b,S)=>y(v,S)))}o.pass(g);function m(){s.assign(g,!1),s.forOf("v",d,v=>s.if((0,e._)`${_()}(${c}, ${v})`,()=>s.assign(g,!0).break()))}function y(v,b){let S=l[b];return typeof S=="object"&&S!==null?(0,e._)`${_()}(${c}, ${v}[${b}])`:(0,e._)`${c} === ${S}`}}};t.default=a}),Oie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=_ie(),r=bie(),n=Sie(),i=wie(),a=$ie(),o=Eie(),s=kie(),c=Tie(),u=Iie(),l=Pie(),d=[e.default,r.default,n.default,i.default,a.default,o.default,s.default,c.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,l.default];t.default=d}),b2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;var e=Be(),r=lt(),n={message:({params:{len:o}})=>(0,e.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,e._)`{limit: ${o}}`},i={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:n,code(o){let{parentSchema:s,it:c}=o,{items:u}=s;if(!Array.isArray(u)){(0,r.checkStrictMode)(c,'"additionalItems" is ignored when "items" is not an array of schemas');return}a(o,u)}};function a(o,s){let{gen:c,schema:u,data:l,keyword:d,it:p}=o;p.items=!0;let f=c.const("len",(0,e._)`${l}.length`);if(u===!1)o.setParams({len:s.length}),o.pass((0,e._)`${f} <= ${s.length}`);else if(typeof u=="object"&&!(0,r.alwaysValidSchema)(p,u)){let _=c.var("valid",(0,e._)`${f} <= ${s.length}`);c.if((0,e.not)(_),()=>h(_)),o.ok(_)}function h(_){c.forRange("i",s.length,f,g=>{o.subschema({keyword:d,dataProp:g,dataPropType:r.Type.Num},_),p.allErrors||c.if((0,e.not)(_),()=>c.break())})}}t.validateAdditionalItems=a,t.default=i}),x2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;var e=Be(),r=lt(),n=ei(),i={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(o){let{schema:s,it:c}=o;if(Array.isArray(s))return a(o,"additionalItems",s);c.items=!0,!(0,r.alwaysValidSchema)(c,s)&&o.ok((0,n.validateArray)(o))}};function a(o,s,c=o.schema){let{gen:u,parentSchema:l,data:d,keyword:p,it:f}=o;g(l),f.opts.unevaluated&&c.length&&f.items!==!0&&(f.items=r.mergeEvaluated.items(u,c.length,f.items));let h=u.name("valid"),_=u.const("len",(0,e._)`${d}.length`);c.forEach((m,y)=>{(0,r.alwaysValidSchema)(f,m)||(u.if((0,e._)`${_} > ${y}`,()=>o.subschema({keyword:p,schemaProp:y,dataProp:y},h)),o.ok(h))});function g(m){let{opts:y,errSchemaPath:v}=f,b=c.length,S=b===m.minItems&&(b===m.maxItems||m[s]===!1);if(y.strictTuples&&!S){let x=`"${p}" is ${b}-tuple, but minItems or maxItems/${s} are not specified or different at path "${v}"`;(0,r.checkStrictMode)(f,x,y.strictTuples)}}}t.validateTuple=a,t.default=i}),Rie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=x2(),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,e.validateTuple)(n,"items")};t.default=r}),Cie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n=ei(),i=b2(),a={message:({params:{len:s}})=>(0,e.str)`must NOT have more than ${s} items`,params:({params:{len:s}})=>(0,e._)`{limit: ${s}}`},o={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:a,code(s){let{schema:c,parentSchema:u,it:l}=s,{prefixItems:d}=u;l.items=!0,!(0,r.alwaysValidSchema)(l,c)&&(d?(0,i.validateAdditionalItems)(s,d):s.ok((0,n.validateArray)(s)))}};t.default=o}),Nie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n={message:({params:{min:a,max:o}})=>o===void 0?(0,e.str)`must contain at least ${a} valid item(s)`:(0,e.str)`must contain at least ${a} and no more than ${o} valid item(s)`,params:({params:{min:a,max:o}})=>o===void 0?(0,e._)`{minContains: ${a}}`:(0,e._)`{minContains: ${a}, maxContains: ${o}}`},i={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:n,code(a){let{gen:o,schema:s,parentSchema:c,data:u,it:l}=a,d,p,{minContains:f,maxContains:h}=c;l.opts.next?(d=f===void 0?1:f,p=h):d=1;let _=o.const("len",(0,e._)`${u}.length`);if(a.setParams({min:d,max:p}),p===void 0&&d===0){(0,r.checkStrictMode)(l,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(p!==void 0&&d>p){(0,r.checkStrictMode)(l,'"minContains" > "maxContains" is always invalid'),a.fail();return}if((0,r.alwaysValidSchema)(l,s)){let b=(0,e._)`${_} >= ${d}`;p!==void 0&&(b=(0,e._)`${b} && ${_} <= ${p}`),a.pass(b);return}l.items=!0;let g=o.name("valid");p===void 0&&d===1?y(g,()=>o.if(g,()=>o.break())):d===0?(o.let(g,!0),p!==void 0&&o.if((0,e._)`${u}.length > 0`,m)):(o.let(g,!1),m()),a.result(g,()=>a.reset());function m(){let b=o.name("_valid"),S=o.let("count",0);y(b,()=>o.if(b,()=>v(S)))}function y(b,S){o.forRange("i",0,_,x=>{a.subschema({keyword:"contains",dataProp:x,dataPropType:r.Type.Num,compositeRule:!0},b),S()})}function v(b){o.code((0,e._)`${b}++`),p===void 0?o.if((0,e._)`${b} >= ${d}`,()=>o.assign(g,!0).break()):(o.if((0,e._)`${b} > ${p}`,()=>o.assign(g,!1).break()),d===1?o.assign(g,!0):o.if((0,e._)`${b} >= ${d}`,()=>o.assign(g,!0)))}}};t.default=i}),jie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;var e=Be(),r=lt(),n=ei();t.error={message:({params:{property:c,depsCount:u,deps:l}})=>{let d=u===1?"property":"properties";return(0,e.str)`must have ${d} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:d}})=>(0,e._)`{property: ${c}, missingProperty: ${d}, depsCount: ${u}, - deps: ${l}}`};var i={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(c){let[u,l]=a(c);o(c,u),s(c,l)}};function a({schema:c}){let u={},l={};for(let d in c){if(d==="__proto__")continue;let p=Array.isArray(c[d])?u:l;p[d]=c[d]}return[u,l]}function o(c,u=c.schema){let{gen:l,data:d,it:p}=c;if(Object.keys(u).length===0)return;let f=l.let("missing");for(let h in u){let _=u[h];if(_.length===0)continue;let g=(0,n.propertyInData)(l,d,h,p.opts.ownProperties);c.setParams({property:h,depsCount:_.length,deps:_.join(", ")}),p.allErrors?l.if(g,()=>{for(let m of _)(0,n.checkReportMissingProp)(c,m)}):(l.if((0,e._)`${g} && (${(0,n.checkMissingProp)(c,_,f)})`),(0,n.reportMissingProp)(c,f),l.else())}}t.validatePropertyDeps=o;function s(c,u=c.schema){let{gen:l,data:d,keyword:p,it:f}=c,h=l.name("valid");for(let _ in u)(0,r.alwaysValidSchema)(f,u[_])||(l.if((0,n.propertyInData)(l,d,_,f.opts.ownProperties),()=>{let g=c.subschema({keyword:p,schemaProp:_},h);c.mergeValidEvaluated(g,h)},()=>l.var(h,!0)),c.ok(h))}t.validateSchemaDeps=s,t.default=i}),jie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n={message:"property name must be valid",params:({params:a})=>(0,e._)`{propertyName: ${a.propertyName}}`},i={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:n,code(a){let{gen:o,schema:s,data:c,it:u}=a;if((0,r.alwaysValidSchema)(u,s))return;let l=o.name("valid");o.forIn("key",c,d=>{a.setParams({propertyName:d}),a.subschema({keyword:"propertyNames",data:d,dataTypes:["string"],propertyName:d,compositeRule:!0},l),o.if((0,e.not)(l),()=>{a.error(!0),u.allErrors||o.break()})}),a.ok(l)}};t.default=i}),g2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r=Be(),n=Ta(),i=lt(),a={message:"must NOT have additional properties",params:({params:s})=>(0,r._)`{additionalProperty: ${s.additionalProperty}}`},o={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:a,code(s){let{gen:c,schema:u,parentSchema:l,data:d,errsCount:p,it:f}=s;if(!p)throw new Error("ajv implementation error");let{allErrors:h,opts:_}=f;if(f.props=!0,_.removeAdditional!=="all"&&(0,i.alwaysValidSchema)(f,u))return;let g=(0,e.allSchemaProperties)(l.properties),m=(0,e.allSchemaProperties)(l.patternProperties);y(),s.ok((0,r._)`${p} === ${n.default.errors}`);function y(){c.forIn("key",d,w=>{!g.length&&!m.length?S(w):c.if(v(w),()=>S(w))})}function v(w){let E;if(g.length>8){let O=(0,i.schemaRefOrVal)(f,l.properties,"properties");E=(0,e.isOwnProperty)(c,O,w)}else g.length?E=(0,r.or)(...g.map(O=>(0,r._)`${w} === ${O}`)):E=r.nil;return m.length&&(E=(0,r.or)(E,...m.map(O=>(0,r._)`${(0,e.usePattern)(s,O)}.test(${w})`))),(0,r.not)(E)}function b(w){c.code((0,r._)`delete ${d}[${w}]`)}function S(w){if(_.removeAdditional==="all"||_.removeAdditional&&u===!1){b(w);return}if(u===!1){s.setParams({additionalProperty:w}),s.error(),h||c.break();return}if(typeof u=="object"&&!(0,i.alwaysValidSchema)(f,u)){let E=c.name("valid");_.removeAdditional==="failing"?(x(w,E,!1),c.if((0,r.not)(E),()=>{s.reset(),b(w)})):(x(w,E),h||c.if((0,r.not)(E),()=>c.break()))}}function x(w,E,O){let A={keyword:"additionalProperties",dataProp:w,dataPropType:i.Type.Str};O===!1&&Object.assign(A,{compositeRule:!0,createErrors:!1,allErrors:!1}),s.subschema(A,E)}}};t.default=o}),Aie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Wh(),r=Qn(),n=lt(),i=g2(),a={keyword:"properties",type:"object",schemaType:"object",code(o){let{gen:s,schema:c,parentSchema:u,data:l,it:d}=o;d.opts.removeAdditional==="all"&&u.additionalProperties===void 0&&i.default.code(new e.KeywordCxt(d,i.default,"additionalProperties"));let p=(0,r.allSchemaProperties)(c);for(let m of p)d.definedProperties.add(m);d.opts.unevaluated&&p.length&&d.props!==!0&&(d.props=n.mergeEvaluated.props(s,(0,n.toHash)(p),d.props));let f=p.filter(m=>!(0,n.alwaysValidSchema)(d,c[m]));if(f.length===0)return;let h=s.name("valid");for(let m of f)_(m)?g(m):(s.if((0,r.propertyInData)(s,l,m,d.opts.ownProperties)),g(m),d.allErrors||s.else().var(h,!0),s.endIf()),o.it.definedProperties.add(m),o.ok(h);function _(m){return d.opts.useDefaults&&!d.compositeRule&&c[m].default!==void 0}function g(m){o.subschema({keyword:"properties",schemaProp:m,dataProp:m},h)}}};t.default=a}),Mie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r=Be(),n=lt(),i=lt(),a={keyword:"patternProperties",type:"object",schemaType:"object",code(o){let{gen:s,schema:c,data:u,parentSchema:l,it:d}=o,{opts:p}=d,f=(0,e.allSchemaProperties)(c),h=f.filter(S=>(0,n.alwaysValidSchema)(d,c[S]));if(f.length===0||h.length===f.length&&(!d.opts.unevaluated||d.props===!0))return;let _=p.strictSchema&&!p.allowMatchingProperties&&l.properties,g=s.name("valid");d.props!==!0&&!(d.props instanceof r.Name)&&(d.props=(0,i.evaluatedPropsToName)(s,d.props));let{props:m}=d;y();function y(){for(let S of f)_&&v(S),d.allErrors?b(S):(s.var(g,!0),b(S),s.if(g))}function v(S){for(let x in _)new RegExp(S).test(x)&&(0,n.checkStrictMode)(d,`property ${x} matches pattern ${S} (use allowMatchingProperties)`)}function b(S){s.forIn("key",u,x=>{s.if((0,r._)`${(0,e.usePattern)(o,S)}.test(${x})`,()=>{let w=h.includes(S);w||o.subschema({keyword:"patternProperties",schemaProp:S,dataProp:x,dataPropType:i.Type.Str},g),d.opts.unevaluated&&m!==!0?s.assign((0,r._)`${m}[${x}]`,!0):!w&&!d.allErrors&&s.if((0,r.not)(g),()=>s.break())})})}}};t.default=a}),Die=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=lt(),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:i,schema:a,it:o}=n;if((0,e.alwaysValidSchema)(o,a)){n.fail();return}let s=i.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),n.failResult(s,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};t.default=r}),zie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qn(),r={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:e.validateUnion,error:{message:"must match a schema in anyOf"}};t.default=r}),Uie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n={message:"must match exactly one schema in oneOf",params:({params:a})=>(0,e._)`{passingSchemas: ${a.passing}}`},i={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:n,code(a){let{gen:o,schema:s,parentSchema:c,it:u}=a;if(!Array.isArray(s))throw new Error("ajv implementation error");if(u.opts.discriminator&&c.discriminator)return;let l=s,d=o.let("valid",!1),p=o.let("passing",null),f=o.name("_valid");a.setParams({passing:p}),o.block(h),a.result(d,()=>a.reset(),()=>a.error(!0));function h(){l.forEach((_,g)=>{let m;(0,r.alwaysValidSchema)(u,_)?o.var(f,!0):m=a.subschema({keyword:"oneOf",schemaProp:g,compositeRule:!0},f),g>0&&o.if((0,e._)`${f} && ${d}`).assign(d,!1).assign(p,(0,e._)`[${p}, ${g}]`).else(),o.if(f,()=>{o.assign(d,!0),o.assign(p,g),m&&a.mergeEvaluated(m,e.Name)})})}}};t.default=i}),qie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=lt(),r={keyword:"allOf",schemaType:"array",code(n){let{gen:i,schema:a,it:o}=n;if(!Array.isArray(a))throw new Error("ajv implementation error");let s=i.name("valid");a.forEach((c,u)=>{if((0,e.alwaysValidSchema)(o,c))return;let l=n.subschema({keyword:"allOf",schemaProp:u},s);n.ok(s),n.mergeEvaluated(l)})}};t.default=r}),Lie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n={message:({params:o})=>(0,e.str)`must match "${o.ifClause}" schema`,params:({params:o})=>(0,e._)`{failingKeyword: ${o.ifClause}}`},i={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:n,code(o){let{gen:s,parentSchema:c,it:u}=o;c.then===void 0&&c.else===void 0&&(0,r.checkStrictMode)(u,'"if" without "then" and "else" is ignored');let l=a(u,"then"),d=a(u,"else");if(!l&&!d)return;let p=s.let("valid",!0),f=s.name("_valid");if(h(),o.reset(),l&&d){let g=s.let("ifClause");o.setParams({ifClause:g}),s.if(f,_("then",g),_("else",g))}else l?s.if(f,_("then")):s.if((0,e.not)(f),_("else"));o.pass(p,()=>o.error(!0));function h(){let g=o.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},f);o.mergeEvaluated(g)}function _(g,m){return()=>{let y=o.subschema({keyword:g},f);s.assign(p,f),o.mergeValidEvaluated(y,p),m?s.assign(m,(0,e._)`${g}`):o.setParams({ifClause:g})}}}};function a(o,s){let c=o.schema[s];return c!==void 0&&!(0,r.alwaysValidSchema)(o,c)}t.default=i}),Fie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=lt(),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:i,it:a}){i.if===void 0&&(0,e.checkStrictMode)(a,`"${n}" without "if" is ignored`)}};t.default=r}),Zie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=m2(),r=Oie(),n=h2(),i=Rie(),a=Cie(),o=Nie(),s=jie(),c=g2(),u=Aie(),l=Mie(),d=Die(),p=zie(),f=Uie(),h=qie(),_=Lie(),g=Fie();function m(y=!1){let v=[d.default,p.default,f.default,h.default,_.default,g.default,s.default,c.default,o.default,u.default,l.default];return y?v.push(r.default,i.default):v.push(e.default,n.default),v.push(a.default),v}t.default=m}),Hie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={message:({schemaCode:i})=>(0,e.str)`must match format "${i}"`,params:({schemaCode:i})=>(0,e._)`{format: ${i}}`},n={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:r,code(i,a){let{gen:o,data:s,$data:c,schema:u,schemaCode:l,it:d}=i,{opts:p,errSchemaPath:f,schemaEnv:h,self:_}=d;if(!p.validateFormats)return;c?g():m();function g(){let y=o.scopeValue("formats",{ref:_.formats,code:p.code.formats}),v=o.const("fDef",(0,e._)`${y}[${l}]`),b=o.let("fType"),S=o.let("format");o.if((0,e._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>o.assign(b,(0,e._)`${v}.type || "string"`).assign(S,(0,e._)`${v}.validate`),()=>o.assign(b,(0,e._)`"string"`).assign(S,v)),i.fail$data((0,e.or)(x(),w()));function x(){return p.strictSchema===!1?e.nil:(0,e._)`${l} && !${S}`}function w(){let E=h.$async?(0,e._)`(${v}.async ? await ${S}(${s}) : ${S}(${s}))`:(0,e._)`${S}(${s})`,O=(0,e._)`(typeof ${S} == "function" ? ${E} : ${S}.test(${s}))`;return(0,e._)`${S} && ${S} !== true && ${b} === ${a} && !${O}`}}function m(){let y=_.formats[u];if(!y){x();return}if(y===!0)return;let[v,b,S]=w(y);v===a&&i.pass(E());function x(){if(p.strictSchema===!1){_.logger.warn(O());return}throw new Error(O());function O(){return`unknown format "${u}" ignored in schema at path "${f}"`}}function w(O){let A=O instanceof RegExp?(0,e.regexpCode)(O):p.code.formats?(0,e._)`${p.code.formats}${(0,e.getProperty)(u)}`:void 0,M=o.scopeValue("formats",{key:u,ref:O,code:A});return typeof O=="object"&&!(O instanceof RegExp)?[O.type||"string",O.validate,(0,e._)`${M}.validate`]:["string",O,M]}function E(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!h.$async)throw new Error("async format in sync schema");return(0,e._)`await ${S}(${s})`}return typeof b=="function"?(0,e._)`${S}(${s})`:(0,e._)`${S}.test(${s})`}}}};t.default=n}),Bie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Hie(),r=[e.default];t.default=r}),Vie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]}),Gie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=vie(),r=Pie(),n=Zie(),i=Bie(),a=Vie(),o=[e.default,r.default,(0,n.default)(),i.default,a.metadataVocabulary,a.contentVocabulary];t.default=o}),Wie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0;var e;(function(r){r.Tag="tag",r.Mapping="mapping"})(e||(t.DiscrError=e={}))}),Kie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=Wie(),n=j$(),i=Kh(),a=lt(),o={message:({params:{discrError:c,tagName:u}})=>c===r.DiscrError.Tag?`tag "${u}" must be string`:`value of tag "${u}" must be in oneOf`,params:({params:{discrError:c,tag:u,tagName:l}})=>(0,e._)`{error: ${c}, tag: ${l}, tagValue: ${u}}`},s={keyword:"discriminator",type:"object",schemaType:"object",error:o,code(c){let{gen:u,data:l,schema:d,parentSchema:p,it:f}=c,{oneOf:h}=p;if(!f.opts.discriminator)throw new Error("discriminator: requires discriminator option");let _=d.propertyName;if(typeof _!="string")throw new Error("discriminator: requires propertyName");if(d.mapping)throw new Error("discriminator: mapping is not supported");if(!h)throw new Error("discriminator: requires oneOf keyword");let g=u.let("valid",!1),m=u.const("tag",(0,e._)`${l}${(0,e.getProperty)(_)}`);u.if((0,e._)`typeof ${m} == "string"`,()=>y(),()=>c.error(!1,{discrError:r.DiscrError.Tag,tag:m,tagName:_})),c.ok(g);function y(){let S=b();u.if(!1);for(let x in S)u.elseIf((0,e._)`${m} === ${x}`),u.assign(g,v(S[x]));u.else(),c.error(!1,{discrError:r.DiscrError.Mapping,tag:m,tagName:_}),u.endIf()}function v(S){let x=u.name("valid"),w=c.subschema({keyword:"oneOf",schemaProp:S},x);return c.mergeEvaluated(w,e.Name),x}function b(){var S;let x={},w=O(p),E=!0;for(let q=0;q{e.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}}),Xie=V((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;var r=mie(),n=Gie(),i=Kie(),a=Jie(),o=["/properties"],s="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),n.default.forEach(h=>this.addVocabulary(h)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let h=this.opts.$data?this.$dataMetaSchema(a,o):a;this.addMetaSchema(h,s,!1),this.refs["http://json-schema.org/schema"]=s}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(s)?s:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var u=Wh();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var l=Be();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var d=N$();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return d.default}});var p=Kh();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})}),Yie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.formatLimitDefinition=void 0;var e=Xie(),r=Be(),n=r.operators,i={formatMaximum:{okStr:"<=",ok:n.LTE,fail:n.GT},formatMinimum:{okStr:">=",ok:n.GTE,fail:n.LT},formatExclusiveMaximum:{okStr:"<",ok:n.LT,fail:n.GTE},formatExclusiveMinimum:{okStr:">",ok:n.GT,fail:n.LTE}},a={message:({keyword:s,schemaCode:c})=>(0,r.str)`should be ${i[s].okStr} ${c}`,params:({keyword:s,schemaCode:c})=>(0,r._)`{comparison: ${i[s].okStr}, limit: ${c}}`};t.formatLimitDefinition={keyword:Object.keys(i),type:"string",schemaType:"string",$data:!0,error:a,code(s){let{gen:c,data:u,schemaCode:l,keyword:d,it:p}=s,{opts:f,self:h}=p;if(!f.validateFormats)return;let _=new e.KeywordCxt(p,h.RULES.all.format.definition,"format");_.$data?g():m();function g(){let v=c.scopeValue("formats",{ref:h.formats,code:f.code.formats}),b=c.const("fmt",(0,r._)`${v}[${_.schemaCode}]`);s.fail$data((0,r.or)((0,r._)`typeof ${b} != "object"`,(0,r._)`${b} instanceof RegExp`,(0,r._)`typeof ${b}.compare != "function"`,y(b)))}function m(){let v=_.schema,b=h.formats[v];if(!b||b===!0)return;if(typeof b!="object"||b instanceof RegExp||typeof b.compare!="function")throw new Error(`"${d}": format "${v}" does not define "compare" function`);let S=c.scopeValue("formats",{key:v,ref:b,code:f.code.formats?(0,r._)`${f.code.formats}${(0,r.getProperty)(v)}`:void 0});s.fail$data(y(S))}function y(v){return(0,r._)`${v}.compare(${u}, ${l}) ${i[d].fail} 0`}},dependencies:["format"]};var o=s=>(s.addKeyword(t.formatLimitDefinition),s);t.default=o}),Qie=V((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=oie(),n=Yie(),i=Be(),a=new i.Name("fullFormats"),o=new i.Name("fastFormats"),s=(u,l={keywords:!0})=>{if(Array.isArray(l))return c(u,l,r.fullFormats,a),u;let[d,p]=l.mode==="fast"?[r.fastFormats,o]:[r.fullFormats,a],f=l.formats||r.formatNames;return c(u,f,d,p),l.keywords&&(0,n.default)(u),u};s.get=(u,l="full")=>{let p=(l==="fast"?r.fastFormats:r.fullFormats)[u];if(!p)throw new Error(`Unknown format "${u}"`);return p};function c(u,l,d,p){var f,h;(f=(h=u.opts.code).formats)!==null&&f!==void 0||(h.formats=(0,i._)`require("ajv-formats/dist/formats").${p}`);for(let _ of l)u.addFormat(_,d[_])}e.exports=t=s,Object.defineProperty(t,"__esModule",{value:!0}),t.default=s}),eae=50;function _2(t=eae){let e=new AbortController;return(0,y2.setMaxListeners)(t,e.signal),e}var tae=typeof global=="object"&&global&&global.Object===Object&&global,rae=tae,nae=typeof self=="object"&&self&&self.Object===Object&&self,iae=rae||nae||Function("return this")(),M$=iae,aae=M$.Symbol,Ah=aae,w2=Object.prototype,oae=w2.hasOwnProperty,sae=w2.toString,cd=Ah?Ah.toStringTag:void 0;function cae(t){var e=oae.call(t,cd),r=t[cd];try{t[cd]=void 0;var n=!0}catch{}var i=sae.call(t);return n&&(e?t[cd]=r:delete t[cd]),i}var uae=cae,lae=Object.prototype,dae=lae.toString;function pae(t){return dae.call(t)}var fae=pae,mae="[object Null]",hae="[object Undefined]",I4=Ah?Ah.toStringTag:void 0;function gae(t){return t==null?t===void 0?hae:mae:I4&&I4 in Object(t)?uae(t):fae(t)}var vae=gae;function yae(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var $2=yae,_ae="[object AsyncFunction]",bae="[object Function]",xae="[object GeneratorFunction]",Sae="[object Proxy]";function wae(t){if(!$2(t))return!1;var e=vae(t);return e==bae||e==xae||e==_ae||e==Sae}var $ae=wae,Eae=M$["__core-js_shared__"],a$=Eae,P4=(function(){var t=/[^.]+$/.exec(a$&&a$.keys&&a$.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function kae(t){return!!P4&&P4 in t}var Tae=kae,Iae=Function.prototype,Pae=Iae.toString;function Oae(t){if(t!=null){try{return Pae.call(t)}catch{}try{return t+""}catch{}}return""}var Rae=Oae,Cae=/[\\^$.*+?()[\]{}|]/g,Nae=/^\[object .+?Constructor\]$/,jae=Function.prototype,Aae=Object.prototype,Mae=jae.toString,Dae=Aae.hasOwnProperty,zae=RegExp("^"+Mae.call(Dae).replace(Cae,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Uae(t){if(!$2(t)||Tae(t))return!1;var e=$ae(t)?zae:Nae;return e.test(Rae(t))}var qae=Uae;function Lae(t,e){return t?.[e]}var Fae=Lae;function Zae(t,e){var r=Fae(t,e);return qae(r)?r:void 0}var E2=Zae,Hae=E2(Object,"create"),dd=Hae;function Bae(){this.__data__=dd?dd(null):{},this.size=0}var Vae=Bae;function Gae(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Wae=Gae,Kae="__lodash_hash_undefined__",Jae=Object.prototype,Xae=Jae.hasOwnProperty;function Yae(t){var e=this.__data__;if(dd){var r=e[t];return r===Kae?void 0:r}return Xae.call(e,t)?e[t]:void 0}var Qae=Yae,eoe=Object.prototype,toe=eoe.hasOwnProperty;function roe(t){var e=this.__data__;return dd?e[t]!==void 0:toe.call(e,t)}var noe=roe,ioe="__lodash_hash_undefined__";function aoe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=dd&&e===void 0?ioe:e,this}var ooe=aoe;function xc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}var _oe=yoe;function boe(t,e){var r=this.__data__,n=Jh(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var xoe=boe;function Sc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{if(!t||t.trim()==="")return null;let e=t.split(",").map(a=>a.trim()).filter(Boolean);if(e.length===0)return null;let r=e.some(a=>a.startsWith("!")),n=e.some(a=>!a.startsWith("!"));if(r&&n)return null;let i=e.map(a=>a.replace(/^!/,"").toLowerCase());return{include:r?[]:i,exclude:r?i:[],isExclusive:r}});function Loe(t){let e=[],r=t.match(/^MCP server ["']([^"']+)["']/);if(r&&r[1])e.push("mcp"),e.push(r[1].toLowerCase());else{let a=t.match(/^([^:[]+):/);a&&a[1]&&e.push(a[1].trim().toLowerCase())}let n=t.match(/^\[([^\]]+)]/);n&&n[1]&&e.push(n[1].trim().toLowerCase()),t.toLowerCase().includes("statsig event:")&&e.push("statsig");let i=t.match(/:\s*([^:]+?)(?:\s+(?:type|mode|status|event))?:/);if(i&&i[1]){let a=i[1].trim().toLowerCase();a.length<30&&!a.includes(" ")&&e.push(a)}return Array.from(new Set(e))}function Foe(t,e){return e?t.length===0?!1:e.isExclusive?!t.some(r=>e.exclude.includes(r)):t.some(r=>e.include.includes(r)):!0}function Zoe(t,e){if(!e)return!0;let r=Loe(t);return Foe(r,e)}function P2(){return process.env.CLAUDE_CONFIG_DIR??(0,T2.join)((0,I2.homedir)(),".claude")}function C4(t){if(!t)return!1;if(typeof t=="boolean")return t;let e=t.toLowerCase().trim();return["1","true","yes","on"].includes(e)}var Hoe={name:"BASH_MAX_OUTPUT_LENGTH",default:3e4,validate:t=>{if(!t)return{effective:3e4,status:"valid"};let n=parseInt(t,10);return isNaN(n)||n<=0?{effective:3e4,status:"invalid",message:`Invalid value "${t}" (using default: 30000)`}:n>15e4?{effective:15e4,status:"capped",message:`Capped from ${n} to 150000`}:{effective:n,status:"valid"}}},Boe={name:"CLAUDE_CODE_MAX_OUTPUT_TOKENS",default:32e3,validate:t=>{if(!t)return{effective:32e3,status:"valid"};let n=parseInt(t,10);return isNaN(n)||n<=0?{effective:32e3,status:"invalid",message:`Invalid value "${t}" (using default: 32000)`}:n>64e3?{effective:64e3,status:"capped",message:`Capped from ${n} to 64000`}:{effective:n,status:"valid"}}};function Voe(){let t="";return typeof process<"u"&&typeof process.cwd=="function"&&(t=(0,R2.realpathSync)((0,O2.cwd)())),{originalCwd:t,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:t,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,clientType:"cli",sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,allowedSettingSources:["userSettings","projectSettings","localSettings","flagSettings","policySettings"],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,sessionId:(0,C2.randomUUID)(),loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,envVarValidators:[Hoe,Boe],lastAPIRequest:null,inMemoryErrorLog:[],inlinePlugins:[],sessionBypassPermissionsMode:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,hasExitedDelegateMode:!1,needsDelegateModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map}}var Goe=Voe();function Woe(){return Goe.sessionId}function Koe({writeFn:t,flushIntervalMs:e=1e3,maxBufferSize:r=100,immediateMode:n=!1}){let i=[],a=null;function o(){a&&(clearTimeout(a),a=null)}function s(){i.length!==0&&(t(i.join("")),i=[],o())}function c(){a||(a=setTimeout(s,e))}return{write(u){if(n){t(u);return}i.push(u),c(),i.length>=r&&s()},flush:s,dispose(){s()}}}var N4=new Set;function Joe(t){return N4.add(t),()=>N4.delete(t)}var Xoe=Ed(()=>C4(process.env.DEBUG)||C4(process.env.DEBUG_SDK)||process.argv.includes("--debug")||process.argv.includes("-d")||N2()||process.argv.some(t=>t.startsWith("--debug="))),Yoe=Ed(()=>{let t=process.argv.find(r=>r.startsWith("--debug="));if(!t)return null;let e=t.substring(8);return qoe(e)}),N2=Ed(()=>process.argv.includes("--debug-to-stderr")||process.argv.includes("-d2e"));function Qoe(t){if(typeof process>"u"||typeof process.versions>"u"||typeof process.versions.node>"u")return!1;let e=Yoe();return Zoe(t,e)}var ese=!1,kh=null;function tse(){return kh||(kh=Koe({writeFn:t=>{let e=j2();Li().existsSync((0,xo.dirname)(e))||Li().mkdirSync((0,xo.dirname)(e)),Li().appendFileSync(e,t),rse()},flushIntervalMs:1e3,maxBufferSize:100,immediateMode:Xoe()}),Joe(async()=>kh?.dispose())),kh}function xa(t,{level:e}={level:"debug"}){if(!Qoe(t))return;ese&&t.includes(` + deps: ${l}}`};var i={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(c){let[u,l]=a(c);o(c,u),s(c,l)}};function a({schema:c}){let u={},l={};for(let d in c){if(d==="__proto__")continue;let p=Array.isArray(c[d])?u:l;p[d]=c[d]}return[u,l]}function o(c,u=c.schema){let{gen:l,data:d,it:p}=c;if(Object.keys(u).length===0)return;let f=l.let("missing");for(let h in u){let _=u[h];if(_.length===0)continue;let g=(0,n.propertyInData)(l,d,h,p.opts.ownProperties);c.setParams({property:h,depsCount:_.length,deps:_.join(", ")}),p.allErrors?l.if(g,()=>{for(let m of _)(0,n.checkReportMissingProp)(c,m)}):(l.if((0,e._)`${g} && (${(0,n.checkMissingProp)(c,_,f)})`),(0,n.reportMissingProp)(c,f),l.else())}}t.validatePropertyDeps=o;function s(c,u=c.schema){let{gen:l,data:d,keyword:p,it:f}=c,h=l.name("valid");for(let _ in u)(0,r.alwaysValidSchema)(f,u[_])||(l.if((0,n.propertyInData)(l,d,_,f.opts.ownProperties),()=>{let g=c.subschema({keyword:p,schemaProp:_},h);c.mergeValidEvaluated(g,h)},()=>l.var(h,!0)),c.ok(h))}t.validateSchemaDeps=s,t.default=i}),Aie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n={message:"property name must be valid",params:({params:a})=>(0,e._)`{propertyName: ${a.propertyName}}`},i={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:n,code(a){let{gen:o,schema:s,data:c,it:u}=a;if((0,r.alwaysValidSchema)(u,s))return;let l=o.name("valid");o.forIn("key",c,d=>{a.setParams({propertyName:d}),a.subschema({keyword:"propertyNames",data:d,dataTypes:["string"],propertyName:d,compositeRule:!0},l),o.if((0,e.not)(l),()=>{a.error(!0),u.allErrors||o.break()})}),a.ok(l)}};t.default=i}),S2=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ei(),r=Be(),n=Ia(),i=lt(),a={message:"must NOT have additional properties",params:({params:s})=>(0,r._)`{additionalProperty: ${s.additionalProperty}}`},o={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:a,code(s){let{gen:c,schema:u,parentSchema:l,data:d,errsCount:p,it:f}=s;if(!p)throw new Error("ajv implementation error");let{allErrors:h,opts:_}=f;if(f.props=!0,_.removeAdditional!=="all"&&(0,i.alwaysValidSchema)(f,u))return;let g=(0,e.allSchemaProperties)(l.properties),m=(0,e.allSchemaProperties)(l.patternProperties);y(),s.ok((0,r._)`${p} === ${n.default.errors}`);function y(){c.forIn("key",d,w=>{!g.length&&!m.length?S(w):c.if(v(w),()=>S(w))})}function v(w){let E;if(g.length>8){let O=(0,i.schemaRefOrVal)(f,l.properties,"properties");E=(0,e.isOwnProperty)(c,O,w)}else g.length?E=(0,r.or)(...g.map(O=>(0,r._)`${w} === ${O}`)):E=r.nil;return m.length&&(E=(0,r.or)(E,...m.map(O=>(0,r._)`${(0,e.usePattern)(s,O)}.test(${w})`))),(0,r.not)(E)}function b(w){c.code((0,r._)`delete ${d}[${w}]`)}function S(w){if(_.removeAdditional==="all"||_.removeAdditional&&u===!1){b(w);return}if(u===!1){s.setParams({additionalProperty:w}),s.error(),h||c.break();return}if(typeof u=="object"&&!(0,i.alwaysValidSchema)(f,u)){let E=c.name("valid");_.removeAdditional==="failing"?(x(w,E,!1),c.if((0,r.not)(E),()=>{s.reset(),b(w)})):(x(w,E),h||c.if((0,r.not)(E),()=>c.break()))}}function x(w,E,O){let A={keyword:"additionalProperties",dataProp:w,dataPropType:i.Type.Str};O===!1&&Object.assign(A,{compositeRule:!0,createErrors:!1,allErrors:!1}),s.subschema(A,E)}}};t.default=o}),Mie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Wh(),r=ei(),n=lt(),i=S2(),a={keyword:"properties",type:"object",schemaType:"object",code(o){let{gen:s,schema:c,parentSchema:u,data:l,it:d}=o;d.opts.removeAdditional==="all"&&u.additionalProperties===void 0&&i.default.code(new e.KeywordCxt(d,i.default,"additionalProperties"));let p=(0,r.allSchemaProperties)(c);for(let m of p)d.definedProperties.add(m);d.opts.unevaluated&&p.length&&d.props!==!0&&(d.props=n.mergeEvaluated.props(s,(0,n.toHash)(p),d.props));let f=p.filter(m=>!(0,n.alwaysValidSchema)(d,c[m]));if(f.length===0)return;let h=s.name("valid");for(let m of f)_(m)?g(m):(s.if((0,r.propertyInData)(s,l,m,d.opts.ownProperties)),g(m),d.allErrors||s.else().var(h,!0),s.endIf()),o.it.definedProperties.add(m),o.ok(h);function _(m){return d.opts.useDefaults&&!d.compositeRule&&c[m].default!==void 0}function g(m){o.subschema({keyword:"properties",schemaProp:m,dataProp:m},h)}}};t.default=a}),Die=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ei(),r=Be(),n=lt(),i=lt(),a={keyword:"patternProperties",type:"object",schemaType:"object",code(o){let{gen:s,schema:c,data:u,parentSchema:l,it:d}=o,{opts:p}=d,f=(0,e.allSchemaProperties)(c),h=f.filter(S=>(0,n.alwaysValidSchema)(d,c[S]));if(f.length===0||h.length===f.length&&(!d.opts.unevaluated||d.props===!0))return;let _=p.strictSchema&&!p.allowMatchingProperties&&l.properties,g=s.name("valid");d.props!==!0&&!(d.props instanceof r.Name)&&(d.props=(0,i.evaluatedPropsToName)(s,d.props));let{props:m}=d;y();function y(){for(let S of f)_&&v(S),d.allErrors?b(S):(s.var(g,!0),b(S),s.if(g))}function v(S){for(let x in _)new RegExp(S).test(x)&&(0,n.checkStrictMode)(d,`property ${x} matches pattern ${S} (use allowMatchingProperties)`)}function b(S){s.forIn("key",u,x=>{s.if((0,r._)`${(0,e.usePattern)(o,S)}.test(${x})`,()=>{let w=h.includes(S);w||o.subschema({keyword:"patternProperties",schemaProp:S,dataProp:x,dataPropType:i.Type.Str},g),d.opts.unevaluated&&m!==!0?s.assign((0,r._)`${m}[${x}]`,!0):!w&&!d.allErrors&&s.if((0,r.not)(g),()=>s.break())})})}}};t.default=a}),zie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=lt(),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:i,schema:a,it:o}=n;if((0,e.alwaysValidSchema)(o,a)){n.fail();return}let s=i.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),n.failResult(s,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};t.default=r}),Uie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ei(),r={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:e.validateUnion,error:{message:"must match a schema in anyOf"}};t.default=r}),Lie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n={message:"must match exactly one schema in oneOf",params:({params:a})=>(0,e._)`{passingSchemas: ${a.passing}}`},i={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:n,code(a){let{gen:o,schema:s,parentSchema:c,it:u}=a;if(!Array.isArray(s))throw new Error("ajv implementation error");if(u.opts.discriminator&&c.discriminator)return;let l=s,d=o.let("valid",!1),p=o.let("passing",null),f=o.name("_valid");a.setParams({passing:p}),o.block(h),a.result(d,()=>a.reset(),()=>a.error(!0));function h(){l.forEach((_,g)=>{let m;(0,r.alwaysValidSchema)(u,_)?o.var(f,!0):m=a.subschema({keyword:"oneOf",schemaProp:g,compositeRule:!0},f),g>0&&o.if((0,e._)`${f} && ${d}`).assign(d,!1).assign(p,(0,e._)`[${p}, ${g}]`).else(),o.if(f,()=>{o.assign(d,!0),o.assign(p,g),m&&a.mergeEvaluated(m,e.Name)})})}}};t.default=i}),qie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=lt(),r={keyword:"allOf",schemaType:"array",code(n){let{gen:i,schema:a,it:o}=n;if(!Array.isArray(a))throw new Error("ajv implementation error");let s=i.name("valid");a.forEach((c,u)=>{if((0,e.alwaysValidSchema)(o,c))return;let l=n.subschema({keyword:"allOf",schemaProp:u},s);n.ok(s),n.mergeEvaluated(l)})}};t.default=r}),Fie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=lt(),n={message:({params:o})=>(0,e.str)`must match "${o.ifClause}" schema`,params:({params:o})=>(0,e._)`{failingKeyword: ${o.ifClause}}`},i={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:n,code(o){let{gen:s,parentSchema:c,it:u}=o;c.then===void 0&&c.else===void 0&&(0,r.checkStrictMode)(u,'"if" without "then" and "else" is ignored');let l=a(u,"then"),d=a(u,"else");if(!l&&!d)return;let p=s.let("valid",!0),f=s.name("_valid");if(h(),o.reset(),l&&d){let g=s.let("ifClause");o.setParams({ifClause:g}),s.if(f,_("then",g),_("else",g))}else l?s.if(f,_("then")):s.if((0,e.not)(f),_("else"));o.pass(p,()=>o.error(!0));function h(){let g=o.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},f);o.mergeEvaluated(g)}function _(g,m){return()=>{let y=o.subschema({keyword:g},f);s.assign(p,f),o.mergeValidEvaluated(y,p),m?s.assign(m,(0,e._)`${g}`):o.setParams({ifClause:g})}}}};function a(o,s){let c=o.schema[s];return c!==void 0&&!(0,r.alwaysValidSchema)(o,c)}t.default=i}),Zie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=lt(),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:i,it:a}){i.if===void 0&&(0,e.checkStrictMode)(a,`"${n}" without "if" is ignored`)}};t.default=r}),Hie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=b2(),r=Rie(),n=x2(),i=Cie(),a=Nie(),o=jie(),s=Aie(),c=S2(),u=Mie(),l=Die(),d=zie(),p=Uie(),f=Lie(),h=qie(),_=Fie(),g=Zie();function m(y=!1){let v=[d.default,p.default,f.default,h.default,_.default,g.default,s.default,c.default,o.default,u.default,l.default];return y?v.push(r.default,i.default):v.push(e.default,n.default),v.push(a.default),v}t.default=m}),Bie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r={message:({schemaCode:i})=>(0,e.str)`must match format "${i}"`,params:({schemaCode:i})=>(0,e._)`{format: ${i}}`},n={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:r,code(i,a){let{gen:o,data:s,$data:c,schema:u,schemaCode:l,it:d}=i,{opts:p,errSchemaPath:f,schemaEnv:h,self:_}=d;if(!p.validateFormats)return;c?g():m();function g(){let y=o.scopeValue("formats",{ref:_.formats,code:p.code.formats}),v=o.const("fDef",(0,e._)`${y}[${l}]`),b=o.let("fType"),S=o.let("format");o.if((0,e._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>o.assign(b,(0,e._)`${v}.type || "string"`).assign(S,(0,e._)`${v}.validate`),()=>o.assign(b,(0,e._)`"string"`).assign(S,v)),i.fail$data((0,e.or)(x(),w()));function x(){return p.strictSchema===!1?e.nil:(0,e._)`${l} && !${S}`}function w(){let E=h.$async?(0,e._)`(${v}.async ? await ${S}(${s}) : ${S}(${s}))`:(0,e._)`${S}(${s})`,O=(0,e._)`(typeof ${S} == "function" ? ${E} : ${S}.test(${s}))`;return(0,e._)`${S} && ${S} !== true && ${b} === ${a} && !${O}`}}function m(){let y=_.formats[u];if(!y){x();return}if(y===!0)return;let[v,b,S]=w(y);v===a&&i.pass(E());function x(){if(p.strictSchema===!1){_.logger.warn(O());return}throw new Error(O());function O(){return`unknown format "${u}" ignored in schema at path "${f}"`}}function w(O){let A=O instanceof RegExp?(0,e.regexpCode)(O):p.code.formats?(0,e._)`${p.code.formats}${(0,e.getProperty)(u)}`:void 0,M=o.scopeValue("formats",{key:u,ref:O,code:A});return typeof O=="object"&&!(O instanceof RegExp)?[O.type||"string",O.validate,(0,e._)`${M}.validate`]:["string",O,M]}function E(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!h.$async)throw new Error("async format in sync schema");return(0,e._)`await ${S}(${s})`}return typeof b=="function"?(0,e._)`${S}(${s})`:(0,e._)`${S}.test(${s})`}}}};t.default=n}),Vie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Bie(),r=[e.default];t.default=r}),Gie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]}),Wie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=yie(),r=Oie(),n=Hie(),i=Vie(),a=Gie(),o=[e.default,r.default,(0,n.default)(),i.default,a.metadataVocabulary,a.contentVocabulary];t.default=o}),Kie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0;var e;(function(r){r.Tag="tag",r.Mapping="mapping"})(e||(t.DiscrError=e={}))}),Jie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Be(),r=Kie(),n=A$(),i=Kh(),a=lt(),o={message:({params:{discrError:c,tagName:u}})=>c===r.DiscrError.Tag?`tag "${u}" must be string`:`value of tag "${u}" must be in oneOf`,params:({params:{discrError:c,tag:u,tagName:l}})=>(0,e._)`{error: ${c}, tag: ${l}, tagValue: ${u}}`},s={keyword:"discriminator",type:"object",schemaType:"object",error:o,code(c){let{gen:u,data:l,schema:d,parentSchema:p,it:f}=c,{oneOf:h}=p;if(!f.opts.discriminator)throw new Error("discriminator: requires discriminator option");let _=d.propertyName;if(typeof _!="string")throw new Error("discriminator: requires propertyName");if(d.mapping)throw new Error("discriminator: mapping is not supported");if(!h)throw new Error("discriminator: requires oneOf keyword");let g=u.let("valid",!1),m=u.const("tag",(0,e._)`${l}${(0,e.getProperty)(_)}`);u.if((0,e._)`typeof ${m} == "string"`,()=>y(),()=>c.error(!1,{discrError:r.DiscrError.Tag,tag:m,tagName:_})),c.ok(g);function y(){let S=b();u.if(!1);for(let x in S)u.elseIf((0,e._)`${m} === ${x}`),u.assign(g,v(S[x]));u.else(),c.error(!1,{discrError:r.DiscrError.Mapping,tag:m,tagName:_}),u.endIf()}function v(S){let x=u.name("valid"),w=c.subschema({keyword:"oneOf",schemaProp:S},x);return c.mergeEvaluated(w,e.Name),x}function b(){var S;let x={},w=O(p),E=!0;for(let L=0;L{e.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}}),Yie=V((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;var r=hie(),n=Wie(),i=Jie(),a=Xie(),o=["/properties"],s="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),n.default.forEach(h=>this.addVocabulary(h)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let h=this.opts.$data?this.$dataMetaSchema(a,o):a;this.addMetaSchema(h,s,!1),this.refs["http://json-schema.org/schema"]=s}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(s)?s:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var u=Wh();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var l=Be();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var d=j$();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return d.default}});var p=Kh();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})}),Qie=V(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.formatLimitDefinition=void 0;var e=Yie(),r=Be(),n=r.operators,i={formatMaximum:{okStr:"<=",ok:n.LTE,fail:n.GT},formatMinimum:{okStr:">=",ok:n.GTE,fail:n.LT},formatExclusiveMaximum:{okStr:"<",ok:n.LT,fail:n.GTE},formatExclusiveMinimum:{okStr:">",ok:n.GT,fail:n.LTE}},a={message:({keyword:s,schemaCode:c})=>(0,r.str)`should be ${i[s].okStr} ${c}`,params:({keyword:s,schemaCode:c})=>(0,r._)`{comparison: ${i[s].okStr}, limit: ${c}}`};t.formatLimitDefinition={keyword:Object.keys(i),type:"string",schemaType:"string",$data:!0,error:a,code(s){let{gen:c,data:u,schemaCode:l,keyword:d,it:p}=s,{opts:f,self:h}=p;if(!f.validateFormats)return;let _=new e.KeywordCxt(p,h.RULES.all.format.definition,"format");_.$data?g():m();function g(){let v=c.scopeValue("formats",{ref:h.formats,code:f.code.formats}),b=c.const("fmt",(0,r._)`${v}[${_.schemaCode}]`);s.fail$data((0,r.or)((0,r._)`typeof ${b} != "object"`,(0,r._)`${b} instanceof RegExp`,(0,r._)`typeof ${b}.compare != "function"`,y(b)))}function m(){let v=_.schema,b=h.formats[v];if(!b||b===!0)return;if(typeof b!="object"||b instanceof RegExp||typeof b.compare!="function")throw new Error(`"${d}": format "${v}" does not define "compare" function`);let S=c.scopeValue("formats",{key:v,ref:b,code:f.code.formats?(0,r._)`${f.code.formats}${(0,r.getProperty)(v)}`:void 0});s.fail$data(y(S))}function y(v){return(0,r._)`${v}.compare(${u}, ${l}) ${i[d].fail} 0`}},dependencies:["format"]};var o=s=>(s.addKeyword(t.formatLimitDefinition),s);t.default=o}),eae=V((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=sie(),n=Qie(),i=Be(),a=new i.Name("fullFormats"),o=new i.Name("fastFormats"),s=(u,l={keywords:!0})=>{if(Array.isArray(l))return c(u,l,r.fullFormats,a),u;let[d,p]=l.mode==="fast"?[r.fastFormats,o]:[r.fullFormats,a],f=l.formats||r.formatNames;return c(u,f,d,p),l.keywords&&(0,n.default)(u),u};s.get=(u,l="full")=>{let p=(l==="fast"?r.fastFormats:r.fullFormats)[u];if(!p)throw new Error(`Unknown format "${u}"`);return p};function c(u,l,d,p){var f,h;(f=(h=u.opts.code).formats)!==null&&f!==void 0||(h.formats=(0,i._)`require("ajv-formats/dist/formats").${p}`);for(let _ of l)u.addFormat(_,d[_])}e.exports=t=s,Object.defineProperty(t,"__esModule",{value:!0}),t.default=s}),tae=50;function E2(t=tae){let e=new AbortController;return(0,$2.setMaxListeners)(t,e.signal),e}var rae=typeof global=="object"&&global&&global.Object===Object&&global,nae=rae,iae=typeof self=="object"&&self&&self.Object===Object&&self,aae=nae||iae||Function("return this")(),D$=aae,oae=D$.Symbol,Ah=oae,P2=Object.prototype,sae=P2.hasOwnProperty,cae=P2.toString,cd=Ah?Ah.toStringTag:void 0;function uae(t){var e=sae.call(t,cd),r=t[cd];try{t[cd]=void 0;var n=!0}catch{}var i=cae.call(t);return n&&(e?t[cd]=r:delete t[cd]),i}var lae=uae,dae=Object.prototype,pae=dae.toString;function fae(t){return pae.call(t)}var mae=fae,hae="[object Null]",gae="[object Undefined]",j4=Ah?Ah.toStringTag:void 0;function vae(t){return t==null?t===void 0?gae:hae:j4&&j4 in Object(t)?lae(t):mae(t)}var yae=vae;function _ae(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var O2=_ae,bae="[object AsyncFunction]",xae="[object Function]",Sae="[object GeneratorFunction]",wae="[object Proxy]";function $ae(t){if(!O2(t))return!1;var e=yae(t);return e==xae||e==Sae||e==bae||e==wae}var Eae=$ae,kae=D$["__core-js_shared__"],o$=kae,A4=(function(){var t=/[^.]+$/.exec(o$&&o$.keys&&o$.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Tae(t){return!!A4&&A4 in t}var Iae=Tae,Pae=Function.prototype,Oae=Pae.toString;function Rae(t){if(t!=null){try{return Oae.call(t)}catch{}try{return t+""}catch{}}return""}var Cae=Rae,Nae=/[\\^$.*+?()[\]{}|]/g,jae=/^\[object .+?Constructor\]$/,Aae=Function.prototype,Mae=Object.prototype,Dae=Aae.toString,zae=Mae.hasOwnProperty,Uae=RegExp("^"+Dae.call(zae).replace(Nae,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Lae(t){if(!O2(t)||Iae(t))return!1;var e=Eae(t)?Uae:jae;return e.test(Cae(t))}var qae=Lae;function Fae(t,e){return t?.[e]}var Zae=Fae;function Hae(t,e){var r=Zae(t,e);return qae(r)?r:void 0}var R2=Hae,Bae=R2(Object,"create"),dd=Bae;function Vae(){this.__data__=dd?dd(null):{},this.size=0}var Gae=Vae;function Wae(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Kae=Wae,Jae="__lodash_hash_undefined__",Xae=Object.prototype,Yae=Xae.hasOwnProperty;function Qae(t){var e=this.__data__;if(dd){var r=e[t];return r===Jae?void 0:r}return Yae.call(e,t)?e[t]:void 0}var eoe=Qae,toe=Object.prototype,roe=toe.hasOwnProperty;function noe(t){var e=this.__data__;return dd?e[t]!==void 0:roe.call(e,t)}var ioe=noe,aoe="__lodash_hash_undefined__";function ooe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=dd&&e===void 0?aoe:e,this}var soe=ooe;function xc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}var boe=_oe;function xoe(t,e){var r=this.__data__,n=Jh(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Soe=xoe;function Sc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{if(!t||t.trim()==="")return null;let e=t.split(",").map(a=>a.trim()).filter(Boolean);if(e.length===0)return null;let r=e.some(a=>a.startsWith("!")),n=e.some(a=>!a.startsWith("!"));if(r&&n)return null;let i=e.map(a=>a.replace(/^!/,"").toLowerCase());return{include:r?[]:i,exclude:r?i:[],isExclusive:r}});function Foe(t){let e=[],r=t.match(/^MCP server ["']([^"']+)["']/);if(r&&r[1])e.push("mcp"),e.push(r[1].toLowerCase());else{let a=t.match(/^([^:[]+):/);a&&a[1]&&e.push(a[1].trim().toLowerCase())}let n=t.match(/^\[([^\]]+)]/);n&&n[1]&&e.push(n[1].trim().toLowerCase()),t.toLowerCase().includes("statsig event:")&&e.push("statsig");let i=t.match(/:\s*([^:]+?)(?:\s+(?:type|mode|status|event))?:/);if(i&&i[1]){let a=i[1].trim().toLowerCase();a.length<30&&!a.includes(" ")&&e.push(a)}return Array.from(new Set(e))}function Zoe(t,e){return e?t.length===0?!1:e.isExclusive?!t.some(r=>e.exclude.includes(r)):t.some(r=>e.include.includes(r)):!0}function Hoe(t,e){if(!e)return!0;let r=Foe(t);return Zoe(r,e)}function A2(){return process.env.CLAUDE_CONFIG_DIR??(0,N2.join)((0,j2.homedir)(),".claude")}function z4(t){if(!t)return!1;if(typeof t=="boolean")return t;let e=t.toLowerCase().trim();return["1","true","yes","on"].includes(e)}var Boe={name:"BASH_MAX_OUTPUT_LENGTH",default:3e4,validate:t=>{if(!t)return{effective:3e4,status:"valid"};let n=parseInt(t,10);return isNaN(n)||n<=0?{effective:3e4,status:"invalid",message:`Invalid value "${t}" (using default: 30000)`}:n>15e4?{effective:15e4,status:"capped",message:`Capped from ${n} to 150000`}:{effective:n,status:"valid"}}},Voe={name:"CLAUDE_CODE_MAX_OUTPUT_TOKENS",default:32e3,validate:t=>{if(!t)return{effective:32e3,status:"valid"};let n=parseInt(t,10);return isNaN(n)||n<=0?{effective:32e3,status:"invalid",message:`Invalid value "${t}" (using default: 32000)`}:n>64e3?{effective:64e3,status:"capped",message:`Capped from ${n} to 64000`}:{effective:n,status:"valid"}}};function Goe(){let t="";return typeof process<"u"&&typeof process.cwd=="function"&&(t=(0,D2.realpathSync)((0,M2.cwd)())),{originalCwd:t,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:t,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,clientType:"cli",sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,allowedSettingSources:["userSettings","projectSettings","localSettings","flagSettings","policySettings"],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,sessionId:(0,z2.randomUUID)(),loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,envVarValidators:[Boe,Voe],lastAPIRequest:null,inMemoryErrorLog:[],inlinePlugins:[],sessionBypassPermissionsMode:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,hasExitedDelegateMode:!1,needsDelegateModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map}}var Woe=Goe();function Koe(){return Woe.sessionId}function Joe({writeFn:t,flushIntervalMs:e=1e3,maxBufferSize:r=100,immediateMode:n=!1}){let i=[],a=null;function o(){a&&(clearTimeout(a),a=null)}function s(){i.length!==0&&(t(i.join("")),i=[],o())}function c(){a||(a=setTimeout(s,e))}return{write(u){if(n){t(u);return}i.push(u),c(),i.length>=r&&s()},flush:s,dispose(){s()}}}var U4=new Set;function Xoe(t){return U4.add(t),()=>U4.delete(t)}var Yoe=Ed(()=>z4(process.env.DEBUG)||z4(process.env.DEBUG_SDK)||process.argv.includes("--debug")||process.argv.includes("-d")||U2()||process.argv.some(t=>t.startsWith("--debug="))),Qoe=Ed(()=>{let t=process.argv.find(r=>r.startsWith("--debug="));if(!t)return null;let e=t.substring(8);return qoe(e)}),U2=Ed(()=>process.argv.includes("--debug-to-stderr")||process.argv.includes("-d2e"));function ese(t){if(typeof process>"u"||typeof process.versions>"u"||typeof process.versions.node>"u")return!1;let e=Qoe();return Hoe(t,e)}var tse=!1,kh=null;function rse(){return kh||(kh=Joe({writeFn:t=>{let e=L2();Fi().existsSync((0,xo.dirname)(e))||Fi().mkdirSync((0,xo.dirname)(e)),Fi().appendFileSync(e,t),nse()},flushIntervalMs:1e3,maxBufferSize:100,immediateMode:Yoe()}),Xoe(async()=>kh?.dispose())),kh}function Sa(t,{level:e}={level:"debug"}){if(!ese(t))return;tse&&t.includes(` `)&&(t=JSON.stringify(t));let n=`${new Date().toISOString()} [${e.toUpperCase()}] ${t.trim()} -`;if(N2()){Uoe(n);return}tse().write(n)}function j2(){return process.env.CLAUDE_CODE_DEBUG_LOGS_DIR??(0,xo.join)(P2(),"debug",`${Woe()}.txt`)}var rse=Ed(()=>{if(process.argv[2]!=="--ripgrep")try{let t=j2(),e=(0,xo.dirname)(t),r=(0,xo.join)(e,"latest");if(Li().existsSync(e)||Li().mkdirSync(e),Li().existsSync(r))try{Li().unlinkSync(r)}catch{}Li().symlinkSync(t,r)}catch{}}),nse=5;function Yt(t,e){let r=performance.now();try{return e()}finally{let n=performance.now()-r;n>nse&&xa(`[SLOW OPERATION DETECTED] fs.${t} (${n.toFixed(1)}ms)`)}}var ise={cwd(){return process.cwd()},existsSync(t){return Yt("existsSync",()=>xe.existsSync(t))},async stat(t){return(0,S2.stat)(t)},statSync(t){return Yt("statSync",()=>xe.statSync(t))},lstatSync(t){return Yt("lstatSync",()=>xe.lstatSync(t))},readFileSync(t,e){return Yt("readFileSync",()=>xe.readFileSync(t,{encoding:e.encoding}))},readFileBytesSync(t){return Yt("readFileBytesSync",()=>xe.readFileSync(t))},readSync(t,e){return Yt("readSync",()=>{let r;try{r=xe.openSync(t,"r");let n=Buffer.alloc(e.length),i=xe.readSync(r,n,0,e.length,0);return{buffer:n,bytesRead:i}}finally{r&&xe.closeSync(r)}})},writeFileSync(t,e,r){return Yt("writeFileSync",()=>{let n=xe.existsSync(t);if(!r.flush){let a={encoding:r.encoding};n?r.mode!==void 0&&(a.mode=r.mode):a.mode=r.mode??384,xe.writeFileSync(t,e,a);return}let i;try{let a=n?r.mode:r.mode??384;i=xe.openSync(t,"w",a),xe.writeFileSync(i,e,{encoding:r.encoding}),xe.fsyncSync(i)}finally{i&&xe.closeSync(i)}})},appendFileSync(t,e,r){return Yt("appendFileSync",()=>{if(xe.existsSync(t))xe.appendFileSync(t,e);else{let n=r?.mode??384,i=xe.openSync(t,"a",n);try{xe.appendFileSync(i,e)}finally{xe.closeSync(i)}}})},copyFileSync(t,e){return Yt("copyFileSync",()=>xe.copyFileSync(t,e))},unlinkSync(t){return Yt("unlinkSync",()=>xe.unlinkSync(t))},renameSync(t,e){return Yt("renameSync",()=>xe.renameSync(t,e))},linkSync(t,e){return Yt("linkSync",()=>xe.linkSync(t,e))},symlinkSync(t,e){return Yt("symlinkSync",()=>xe.symlinkSync(t,e))},readlinkSync(t){return Yt("readlinkSync",()=>xe.readlinkSync(t))},realpathSync(t){return Yt("realpathSync",()=>xe.realpathSync(t))},mkdirSync(t){return Yt("mkdirSync",()=>{xe.existsSync(t)||xe.mkdirSync(t,{recursive:!0,mode:448})})},readdirSync(t){return Yt("readdirSync",()=>xe.readdirSync(t,{withFileTypes:!0}))},readdirStringSync(t){return Yt("readdirStringSync",()=>xe.readdirSync(t))},isDirEmptySync(t){return Yt("isDirEmptySync",()=>this.readdirSync(t).length===0)},rmdirSync(t){return Yt("rmdirSync",()=>xe.rmdirSync(t))},rmSync(t,e){return Yt("rmSync",()=>xe.rmSync(t,e))},createWriteStream(t){return xe.createWriteStream(t)}},ase=ise;function Li(){return ase}var bo=class extends Error{};function A2(){return process.versions.bun!==void 0}var Th=null,j4=!1;function ose(){if(j4)return Th;if(j4=!0,!process.env.DEBUG_CLAUDE_AGENT_SDK)return null;let t=(0,d$.join)(P2(),"debug");return Th=(0,d$.join)(t,`sdk-${(0,M2.randomUUID)()}.txt`),(0,$c.existsSync)(t)||(0,$c.mkdirSync)(t,{recursive:!0}),process.stderr.write(`SDK debug logs: ${Th} -`),Th}function _o(t){let e=ose();if(!e)return;let n=`${new Date().toISOString()} ${t} -`;(0,$c.appendFileSync)(e,n)}function sse(t,e){let r={...t};if(e){let n={sandbox:e};if(r.settings)try{n={...JSON.parse(r.settings),sandbox:e}}catch{}r.settings=JSON.stringify(n)}return r}var p$=class{options;process;processStdin;processStdout;ready=!1;abortController;exitError;exitListeners=[];processExitHandler;abortHandler;constructor(e){this.options=e,this.abortController=e.abortController||_2(),this.initialize()}getDefaultExecutable(){return A2()?"bun":"node"}spawnLocalProcess(e){let{command:r,args:n,cwd:i,env:a,signal:o}=e,s=a.DEBUG_CLAUDE_AGENT_SDK||this.options.stderr?"pipe":"ignore",c=(0,b2.spawn)(r,n,{cwd:i,stdio:["pipe","pipe",s],signal:o,env:a,windowsHide:!0});return(a.DEBUG_CLAUDE_AGENT_SDK||this.options.stderr)&&c.stderr.on("data",l=>{let d=l.toString();_o(d),this.options.stderr&&this.options.stderr(d)}),{stdin:c.stdin,stdout:c.stdout,get killed(){return c.killed},get exitCode(){return c.exitCode},kill:c.kill.bind(c),on:c.on.bind(c),once:c.once.bind(c),off:c.off.bind(c)}}initialize(){try{let{additionalDirectories:e=[],betas:r,cwd:n,executable:i=this.getDefaultExecutable(),executableArgs:a=[],extraArgs:o={},pathToClaudeCodeExecutable:s,env:c={...process.env},maxThinkingTokens:u,maxTurns:l,maxBudgetUsd:d,model:p,fallbackModel:f,jsonSchema:h,permissionMode:_,allowDangerouslySkipPermissions:g,permissionPromptToolName:m,continueConversation:y,resume:v,settingSources:b,allowedTools:S=[],disallowedTools:x=[],tools:w,mcpServers:E,strictMcpConfig:O,canUseTool:A,includePartialMessages:M,plugins:q,sandbox:B}=this.options,U=["--output-format","stream-json","--verbose","--input-format","stream-json"];if(u!==void 0&&U.push("--max-thinking-tokens",u.toString()),l&&U.push("--max-turns",l.toString()),d!==void 0&&U.push("--max-budget-usd",d.toString()),p&&U.push("--model",p),r&&r.length>0&&U.push("--betas",r.join(",")),h&&U.push("--json-schema",JSON.stringify(h)),c.DEBUG_CLAUDE_AGENT_SDK&&U.push("--debug-to-stderr"),A){if(m)throw new Error("canUseTool callback cannot be used with permissionPromptToolName. Please use one or the other.");U.push("--permission-prompt-tool","stdio")}else m&&U.push("--permission-prompt-tool",m);if(y&&U.push("--continue"),v&&U.push("--resume",v),S.length>0&&U.push("--allowedTools",S.join(",")),x.length>0&&U.push("--disallowedTools",x.join(",")),w!==void 0&&(Array.isArray(w)?w.length===0?U.push("--tools",""):U.push("--tools",w.join(",")):U.push("--tools","default")),E&&Object.keys(E).length>0&&U.push("--mcp-config",JSON.stringify({mcpServers:E})),b&&U.push("--setting-sources",b.join(",")),O&&U.push("--strict-mcp-config"),_&&U.push("--permission-mode",_),g&&U.push("--allow-dangerously-skip-permissions"),f){if(p&&f===p)throw new Error("Fallback model cannot be the same as the main model. Please specify a different model for fallbackModel option.");U.push("--fallback-model",f)}M&&U.push("--include-partial-messages");for(let I of e)U.push("--add-dir",I);if(q&&q.length>0)for(let I of q)if(I.type==="local")U.push("--plugin-dir",I.path);else throw new Error(`Unsupported plugin type: ${I.type}`);this.options.forkSession&&U.push("--fork-session"),this.options.resumeSessionAt&&U.push("--resume-session-at",this.options.resumeSessionAt),this.options.persistSession===!1&&U.push("--no-session-persistence");let Y=sse(o??{},B);for(let[I,D]of Object.entries(Y))D===null?U.push(`--${I}`):U.push(`--${I}`,D);c.CLAUDE_CODE_ENTRYPOINT||(c.CLAUDE_CODE_ENTRYPOINT="sdk-ts"),delete c.NODE_OPTIONS,c.DEBUG_CLAUDE_AGENT_SDK?c.DEBUG="1":delete c.DEBUG;let me=cse(s),Qe=me?s:i,mt=me?[...a,...U]:[...a,s,...U],fe={command:Qe,args:mt,cwd:n,env:c,signal:this.abortController.signal};if(this.options.spawnClaudeCodeProcess)_o(`Spawning Claude Code (custom): ${Qe} ${mt.join(" ")}`),this.process=this.options.spawnClaudeCodeProcess(fe);else{if(!Li().existsSync(s)){let D=me?`Claude Code native binary not found at ${s}. Please ensure Claude Code is installed via native installer or specify a valid path with options.pathToClaudeCodeExecutable.`:`Claude Code executable not found at ${s}. Is options.pathToClaudeCodeExecutable set?`;throw new ReferenceError(D)}_o(`Spawning Claude Code: ${Qe} ${mt.join(" ")}`),this.process=this.spawnLocalProcess(fe)}this.processStdin=this.process.stdin,this.processStdout=this.process.stdout;let F=()=>{this.process&&!this.process.killed&&this.process.kill("SIGTERM")};this.processExitHandler=F,this.abortHandler=F,process.on("exit",this.processExitHandler),this.abortController.signal.addEventListener("abort",this.abortHandler),this.process.on("error",I=>{this.ready=!1,this.abortController.signal.aborted?this.exitError=new bo("Claude Code process aborted by user"):(this.exitError=new Error(`Failed to spawn Claude Code process: ${I.message}`),_o(this.exitError.message))}),this.process.on("exit",(I,D)=>{if(this.ready=!1,this.abortController.signal.aborted)this.exitError=new bo("Claude Code process aborted by user");else{let C=this.getProcessExitError(I,D);C&&(this.exitError=C,_o(C.message))}}),this.ready=!0}catch(e){throw this.ready=!1,e}}getProcessExitError(e,r){if(e!==0&&e!==null)return new Error(`Claude Code process exited with code ${e}`);if(r)return new Error(`Claude Code process terminated by signal ${r}`)}write(e){if(this.abortController.signal.aborted)throw new bo("Operation aborted");if(!this.ready||!this.processStdin)throw new Error("ProcessTransport is not ready for writing");if(this.process?.killed||this.process?.exitCode!==null)throw new Error("Cannot write to terminated process");if(this.exitError)throw new Error(`Cannot write to process that exited with error: ${this.exitError.message}`);_o(`[ProcessTransport] Writing to stdin: ${e.substring(0,100)}`);try{this.processStdin.write(e)||_o("[ProcessTransport] Write buffer full, data queued")}catch(r){throw this.ready=!1,new Error(`Failed to write to process stdin: ${r.message}`)}}close(){this.processStdin&&(this.processStdin.end(),this.processStdin=void 0),this.abortHandler&&(this.abortController.signal.removeEventListener("abort",this.abortHandler),this.abortHandler=void 0);for(let{handler:e}of this.exitListeners)this.process?.off("exit",e);this.exitListeners=[],this.process&&!this.process.killed&&(this.process.kill("SIGTERM"),setTimeout(()=>{this.process&&!this.process.killed&&this.process.kill("SIGKILL")},5e3)),this.ready=!1,this.processExitHandler&&(process.off("exit",this.processExitHandler),this.processExitHandler=void 0)}isReady(){return this.ready}async*readMessages(){if(!this.processStdout)throw new Error("ProcessTransport output stream not available");let e=(0,x2.createInterface)({input:this.processStdout});try{for await(let r of e)r.trim()&&(yield JSON.parse(r));await this.waitForExit()}catch(r){throw r}finally{e.close()}}endInput(){this.processStdin&&this.processStdin.end()}getInputStream(){return this.processStdin}onExit(e){if(!this.process)return()=>{};let r=(n,i)=>{let a=this.getProcessExitError(n,i);e(a)};return this.process.on("exit",r),this.exitListeners.push({callback:e,handler:r}),()=>{this.process&&this.process.off("exit",r);let n=this.exitListeners.findIndex(i=>i.handler===r);n!==-1&&this.exitListeners.splice(n,1)}}async waitForExit(){if(!this.process){if(this.exitError)throw this.exitError;return}if(this.process.exitCode!==null||this.process.killed){if(this.exitError)throw this.exitError;return}return new Promise((e,r)=>{let n=(a,o)=>{if(this.abortController.signal.aborted){r(new bo("Operation aborted"));return}let s=this.getProcessExitError(a,o);s?r(s):e()};this.process.once("exit",n);let i=a=>{this.process.off("exit",n),r(a)};this.process.once("error",i),this.process.once("exit",()=>{this.process.off("error",i)})})}};function cse(t){return![".js",".mjs",".tsx",".ts",".jsx"].some(r=>t.endsWith(r))}var f$=class{returned;queue=[];readResolve;readReject;isDone=!1;hasError;started=!1;constructor(e){this.returned=e}[Symbol.asyncIterator](){if(this.started)throw new Error("Stream can only be iterated once");return this.started=!0,this}next(){return this.queue.length>0?Promise.resolve({done:!1,value:this.queue.shift()}):this.isDone?Promise.resolve({done:!0,value:void 0}):this.hasError?Promise.reject(this.hasError):new Promise((e,r)=>{this.readResolve=e,this.readReject=r})}enqueue(e){if(this.readResolve){let r=this.readResolve;this.readResolve=void 0,this.readReject=void 0,r({done:!1,value:e})}else this.queue.push(e)}done(){if(this.isDone=!0,this.readResolve){let e=this.readResolve;this.readResolve=void 0,this.readReject=void 0,e({done:!0,value:void 0})}}error(e){if(this.hasError=e,this.readReject){let r=this.readReject;this.readResolve=void 0,this.readReject=void 0,r(e)}}return(){return this.isDone=!0,this.returned&&this.returned(),Promise.resolve({done:!0,value:void 0})}},m$=class{sendMcpMessage;isClosed=!1;constructor(e){this.sendMcpMessage=e}onclose;onerror;onmessage;async start(){}async send(e){if(this.isClosed)throw new Error("Transport is closed");this.sendMcpMessage(e)}async close(){this.isClosed||(this.isClosed=!0,this.onclose?.())}},h$=class{transport;isSingleUserTurn;canUseTool;hooks;abortController;jsonSchema;initConfig;pendingControlResponses=new Map;cleanupPerformed=!1;sdkMessages;inputStream=new f$;initialization;cancelControllers=new Map;hookCallbacks=new Map;nextCallbackId=0;sdkMcpTransports=new Map;sdkMcpServerInstances=new Map;pendingMcpResponses=new Map;firstResultReceivedResolve;firstResultReceived=!1;hasBidirectionalNeeds(){return this.sdkMcpTransports.size>0||this.hooks!==void 0&&Object.keys(this.hooks).length>0||this.canUseTool!==void 0}constructor(e,r,n,i,a,o=new Map,s,c){this.transport=e,this.isSingleUserTurn=r,this.canUseTool=n,this.hooks=i,this.abortController=a,this.jsonSchema=s,this.initConfig=c;for(let[u,l]of o)this.connectSdkMcpServer(u,l);this.sdkMessages=this.readSdkMessages(),this.readMessages(),this.initialization=this.initialize(),this.initialization.catch(()=>{})}setError(e){this.inputStream.error(e)}cleanup(e){if(!this.cleanupPerformed){this.cleanupPerformed=!0;try{this.transport.close(),this.pendingControlResponses.clear(),this.pendingMcpResponses.clear(),this.cancelControllers.clear(),this.hookCallbacks.clear();for(let r of this.sdkMcpTransports.values())try{r.close()}catch{}this.sdkMcpTransports.clear(),e?this.inputStream.error(e):this.inputStream.done()}catch{}}}next(...[e]){return this.sdkMessages.next(e)}return(e){return this.sdkMessages.return(e)}throw(e){return this.sdkMessages.throw(e)}[Symbol.asyncIterator](){return this.sdkMessages}[Symbol.asyncDispose](){return this.sdkMessages[Symbol.asyncDispose]()}async readMessages(){try{for await(let e of this.transport.readMessages()){if(e.type==="control_response"){let r=this.pendingControlResponses.get(e.response.request_id);r&&r(e.response);continue}else if(e.type==="control_request"){this.handleControlRequest(e);continue}else if(e.type==="control_cancel_request"){this.handleControlCancelRequest(e);continue}else if(e.type==="keep_alive")continue;e.type==="result"&&(this.firstResultReceived=!0,this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.isSingleUserTurn&&(xa("[Query.readMessages] First result received for single-turn query, closing stdin"),this.transport.endInput())),this.inputStream.enqueue(e)}this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.inputStream.done(),this.cleanup()}catch(e){this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.inputStream.error(e),this.cleanup(e)}}async handleControlRequest(e){let r=new AbortController;this.cancelControllers.set(e.request_id,r);try{let n=await this.processControlRequest(e,r.signal),i={type:"control_response",response:{subtype:"success",request_id:e.request_id,response:n}};await Promise.resolve(this.transport.write(JSON.stringify(i)+` +`;if(U2()){Loe(n);return}rse().write(n)}function L2(){return process.env.CLAUDE_CODE_DEBUG_LOGS_DIR??(0,xo.join)(A2(),"debug",`${Koe()}.txt`)}var nse=Ed(()=>{if(process.argv[2]!=="--ripgrep")try{let t=L2(),e=(0,xo.dirname)(t),r=(0,xo.join)(e,"latest");if(Fi().existsSync(e)||Fi().mkdirSync(e),Fi().existsSync(r))try{Fi().unlinkSync(r)}catch{}Fi().symlinkSync(t,r)}catch{}}),ise=5;function Yt(t,e){let r=performance.now();try{return e()}finally{let n=performance.now()-r;n>ise&&Sa(`[SLOW OPERATION DETECTED] fs.${t} (${n.toFixed(1)}ms)`)}}var ase={cwd(){return process.cwd()},existsSync(t){return Yt("existsSync",()=>xe.existsSync(t))},async stat(t){return(0,I2.stat)(t)},statSync(t){return Yt("statSync",()=>xe.statSync(t))},lstatSync(t){return Yt("lstatSync",()=>xe.lstatSync(t))},readFileSync(t,e){return Yt("readFileSync",()=>xe.readFileSync(t,{encoding:e.encoding}))},readFileBytesSync(t){return Yt("readFileBytesSync",()=>xe.readFileSync(t))},readSync(t,e){return Yt("readSync",()=>{let r;try{r=xe.openSync(t,"r");let n=Buffer.alloc(e.length),i=xe.readSync(r,n,0,e.length,0);return{buffer:n,bytesRead:i}}finally{r&&xe.closeSync(r)}})},writeFileSync(t,e,r){return Yt("writeFileSync",()=>{let n=xe.existsSync(t);if(!r.flush){let a={encoding:r.encoding};n?r.mode!==void 0&&(a.mode=r.mode):a.mode=r.mode??384,xe.writeFileSync(t,e,a);return}let i;try{let a=n?r.mode:r.mode??384;i=xe.openSync(t,"w",a),xe.writeFileSync(i,e,{encoding:r.encoding}),xe.fsyncSync(i)}finally{i&&xe.closeSync(i)}})},appendFileSync(t,e,r){return Yt("appendFileSync",()=>{if(xe.existsSync(t))xe.appendFileSync(t,e);else{let n=r?.mode??384,i=xe.openSync(t,"a",n);try{xe.appendFileSync(i,e)}finally{xe.closeSync(i)}}})},copyFileSync(t,e){return Yt("copyFileSync",()=>xe.copyFileSync(t,e))},unlinkSync(t){return Yt("unlinkSync",()=>xe.unlinkSync(t))},renameSync(t,e){return Yt("renameSync",()=>xe.renameSync(t,e))},linkSync(t,e){return Yt("linkSync",()=>xe.linkSync(t,e))},symlinkSync(t,e){return Yt("symlinkSync",()=>xe.symlinkSync(t,e))},readlinkSync(t){return Yt("readlinkSync",()=>xe.readlinkSync(t))},realpathSync(t){return Yt("realpathSync",()=>xe.realpathSync(t))},mkdirSync(t){return Yt("mkdirSync",()=>{xe.existsSync(t)||xe.mkdirSync(t,{recursive:!0,mode:448})})},readdirSync(t){return Yt("readdirSync",()=>xe.readdirSync(t,{withFileTypes:!0}))},readdirStringSync(t){return Yt("readdirStringSync",()=>xe.readdirSync(t))},isDirEmptySync(t){return Yt("isDirEmptySync",()=>this.readdirSync(t).length===0)},rmdirSync(t){return Yt("rmdirSync",()=>xe.rmdirSync(t))},rmSync(t,e){return Yt("rmSync",()=>xe.rmSync(t,e))},createWriteStream(t){return xe.createWriteStream(t)}},ose=ase;function Fi(){return ose}var bo=class extends Error{};function q2(){return process.versions.bun!==void 0}var Th=null,L4=!1;function sse(){if(L4)return Th;if(L4=!0,!process.env.DEBUG_CLAUDE_AGENT_SDK)return null;let t=(0,p$.join)(A2(),"debug");return Th=(0,p$.join)(t,`sdk-${(0,F2.randomUUID)()}.txt`),(0,$c.existsSync)(t)||(0,$c.mkdirSync)(t,{recursive:!0}),process.stderr.write(`SDK debug logs: ${Th} +`),Th}function _o(t){let e=sse();if(!e)return;let n=`${new Date().toISOString()} ${t} +`;(0,$c.appendFileSync)(e,n)}function cse(t,e){let r={...t};if(e){let n={sandbox:e};if(r.settings)try{n={...JSON.parse(r.settings),sandbox:e}}catch{}r.settings=JSON.stringify(n)}return r}var f$=class{options;process;processStdin;processStdout;ready=!1;abortController;exitError;exitListeners=[];processExitHandler;abortHandler;constructor(e){this.options=e,this.abortController=e.abortController||E2(),this.initialize()}getDefaultExecutable(){return q2()?"bun":"node"}spawnLocalProcess(e){let{command:r,args:n,cwd:i,env:a,signal:o}=e,s=a.DEBUG_CLAUDE_AGENT_SDK||this.options.stderr?"pipe":"ignore",c=(0,k2.spawn)(r,n,{cwd:i,stdio:["pipe","pipe",s],signal:o,env:a,windowsHide:!0});return(a.DEBUG_CLAUDE_AGENT_SDK||this.options.stderr)&&c.stderr.on("data",l=>{let d=l.toString();_o(d),this.options.stderr&&this.options.stderr(d)}),{stdin:c.stdin,stdout:c.stdout,get killed(){return c.killed},get exitCode(){return c.exitCode},kill:c.kill.bind(c),on:c.on.bind(c),once:c.once.bind(c),off:c.off.bind(c)}}initialize(){try{let{additionalDirectories:e=[],betas:r,cwd:n,executable:i=this.getDefaultExecutable(),executableArgs:a=[],extraArgs:o={},pathToClaudeCodeExecutable:s,env:c={...process.env},maxThinkingTokens:u,maxTurns:l,maxBudgetUsd:d,model:p,fallbackModel:f,jsonSchema:h,permissionMode:_,allowDangerouslySkipPermissions:g,permissionPromptToolName:m,continueConversation:y,resume:v,settingSources:b,allowedTools:S=[],disallowedTools:x=[],tools:w,mcpServers:E,strictMcpConfig:O,canUseTool:A,includePartialMessages:M,plugins:L,sandbox:B}=this.options,U=["--output-format","stream-json","--verbose","--input-format","stream-json"];if(u!==void 0&&U.push("--max-thinking-tokens",u.toString()),l&&U.push("--max-turns",l.toString()),d!==void 0&&U.push("--max-budget-usd",d.toString()),p&&U.push("--model",p),r&&r.length>0&&U.push("--betas",r.join(",")),h&&U.push("--json-schema",JSON.stringify(h)),c.DEBUG_CLAUDE_AGENT_SDK&&U.push("--debug-to-stderr"),A){if(m)throw new Error("canUseTool callback cannot be used with permissionPromptToolName. Please use one or the other.");U.push("--permission-prompt-tool","stdio")}else m&&U.push("--permission-prompt-tool",m);if(y&&U.push("--continue"),v&&U.push("--resume",v),S.length>0&&U.push("--allowedTools",S.join(",")),x.length>0&&U.push("--disallowedTools",x.join(",")),w!==void 0&&(Array.isArray(w)?w.length===0?U.push("--tools",""):U.push("--tools",w.join(",")):U.push("--tools","default")),E&&Object.keys(E).length>0&&U.push("--mcp-config",JSON.stringify({mcpServers:E})),b&&U.push("--setting-sources",b.join(",")),O&&U.push("--strict-mcp-config"),_&&U.push("--permission-mode",_),g&&U.push("--allow-dangerously-skip-permissions"),f){if(p&&f===p)throw new Error("Fallback model cannot be the same as the main model. Please specify a different model for fallbackModel option.");U.push("--fallback-model",f)}M&&U.push("--include-partial-messages");for(let I of e)U.push("--add-dir",I);if(L&&L.length>0)for(let I of L)if(I.type==="local")U.push("--plugin-dir",I.path);else throw new Error(`Unsupported plugin type: ${I.type}`);this.options.forkSession&&U.push("--fork-session"),this.options.resumeSessionAt&&U.push("--resume-session-at",this.options.resumeSessionAt),this.options.persistSession===!1&&U.push("--no-session-persistence");let Y=cse(o??{},B);for(let[I,D]of Object.entries(Y))D===null?U.push(`--${I}`):U.push(`--${I}`,D);c.CLAUDE_CODE_ENTRYPOINT||(c.CLAUDE_CODE_ENTRYPOINT="sdk-ts"),delete c.NODE_OPTIONS,c.DEBUG_CLAUDE_AGENT_SDK?c.DEBUG="1":delete c.DEBUG;let me=use(s),Qe=me?s:i,mt=me?[...a,...U]:[...a,s,...U],fe={command:Qe,args:mt,cwd:n,env:c,signal:this.abortController.signal};if(this.options.spawnClaudeCodeProcess)_o(`Spawning Claude Code (custom): ${Qe} ${mt.join(" ")}`),this.process=this.options.spawnClaudeCodeProcess(fe);else{if(!Fi().existsSync(s)){let D=me?`Claude Code native binary not found at ${s}. Please ensure Claude Code is installed via native installer or specify a valid path with options.pathToClaudeCodeExecutable.`:`Claude Code executable not found at ${s}. Is options.pathToClaudeCodeExecutable set?`;throw new ReferenceError(D)}_o(`Spawning Claude Code: ${Qe} ${mt.join(" ")}`),this.process=this.spawnLocalProcess(fe)}this.processStdin=this.process.stdin,this.processStdout=this.process.stdout;let F=()=>{this.process&&!this.process.killed&&this.process.kill("SIGTERM")};this.processExitHandler=F,this.abortHandler=F,process.on("exit",this.processExitHandler),this.abortController.signal.addEventListener("abort",this.abortHandler),this.process.on("error",I=>{this.ready=!1,this.abortController.signal.aborted?this.exitError=new bo("Claude Code process aborted by user"):(this.exitError=new Error(`Failed to spawn Claude Code process: ${I.message}`),_o(this.exitError.message))}),this.process.on("exit",(I,D)=>{if(this.ready=!1,this.abortController.signal.aborted)this.exitError=new bo("Claude Code process aborted by user");else{let C=this.getProcessExitError(I,D);C&&(this.exitError=C,_o(C.message))}}),this.ready=!0}catch(e){throw this.ready=!1,e}}getProcessExitError(e,r){if(e!==0&&e!==null)return new Error(`Claude Code process exited with code ${e}`);if(r)return new Error(`Claude Code process terminated by signal ${r}`)}write(e){if(this.abortController.signal.aborted)throw new bo("Operation aborted");if(!this.ready||!this.processStdin)throw new Error("ProcessTransport is not ready for writing");if(this.process?.killed||this.process?.exitCode!==null)throw new Error("Cannot write to terminated process");if(this.exitError)throw new Error(`Cannot write to process that exited with error: ${this.exitError.message}`);_o(`[ProcessTransport] Writing to stdin: ${e.substring(0,100)}`);try{this.processStdin.write(e)||_o("[ProcessTransport] Write buffer full, data queued")}catch(r){throw this.ready=!1,new Error(`Failed to write to process stdin: ${r.message}`)}}close(){this.processStdin&&(this.processStdin.end(),this.processStdin=void 0),this.abortHandler&&(this.abortController.signal.removeEventListener("abort",this.abortHandler),this.abortHandler=void 0);for(let{handler:e}of this.exitListeners)this.process?.off("exit",e);this.exitListeners=[],this.process&&!this.process.killed&&(this.process.kill("SIGTERM"),setTimeout(()=>{this.process&&!this.process.killed&&this.process.kill("SIGKILL")},5e3)),this.ready=!1,this.processExitHandler&&(process.off("exit",this.processExitHandler),this.processExitHandler=void 0)}isReady(){return this.ready}async*readMessages(){if(!this.processStdout)throw new Error("ProcessTransport output stream not available");let e=(0,T2.createInterface)({input:this.processStdout});try{for await(let r of e)r.trim()&&(yield JSON.parse(r));await this.waitForExit()}catch(r){throw r}finally{e.close()}}endInput(){this.processStdin&&this.processStdin.end()}getInputStream(){return this.processStdin}onExit(e){if(!this.process)return()=>{};let r=(n,i)=>{let a=this.getProcessExitError(n,i);e(a)};return this.process.on("exit",r),this.exitListeners.push({callback:e,handler:r}),()=>{this.process&&this.process.off("exit",r);let n=this.exitListeners.findIndex(i=>i.handler===r);n!==-1&&this.exitListeners.splice(n,1)}}async waitForExit(){if(!this.process){if(this.exitError)throw this.exitError;return}if(this.process.exitCode!==null||this.process.killed){if(this.exitError)throw this.exitError;return}return new Promise((e,r)=>{let n=(a,o)=>{if(this.abortController.signal.aborted){r(new bo("Operation aborted"));return}let s=this.getProcessExitError(a,o);s?r(s):e()};this.process.once("exit",n);let i=a=>{this.process.off("exit",n),r(a)};this.process.once("error",i),this.process.once("exit",()=>{this.process.off("error",i)})})}};function use(t){return![".js",".mjs",".tsx",".ts",".jsx"].some(r=>t.endsWith(r))}var m$=class{returned;queue=[];readResolve;readReject;isDone=!1;hasError;started=!1;constructor(e){this.returned=e}[Symbol.asyncIterator](){if(this.started)throw new Error("Stream can only be iterated once");return this.started=!0,this}next(){return this.queue.length>0?Promise.resolve({done:!1,value:this.queue.shift()}):this.isDone?Promise.resolve({done:!0,value:void 0}):this.hasError?Promise.reject(this.hasError):new Promise((e,r)=>{this.readResolve=e,this.readReject=r})}enqueue(e){if(this.readResolve){let r=this.readResolve;this.readResolve=void 0,this.readReject=void 0,r({done:!1,value:e})}else this.queue.push(e)}done(){if(this.isDone=!0,this.readResolve){let e=this.readResolve;this.readResolve=void 0,this.readReject=void 0,e({done:!0,value:void 0})}}error(e){if(this.hasError=e,this.readReject){let r=this.readReject;this.readResolve=void 0,this.readReject=void 0,r(e)}}return(){return this.isDone=!0,this.returned&&this.returned(),Promise.resolve({done:!0,value:void 0})}},h$=class{sendMcpMessage;isClosed=!1;constructor(e){this.sendMcpMessage=e}onclose;onerror;onmessage;async start(){}async send(e){if(this.isClosed)throw new Error("Transport is closed");this.sendMcpMessage(e)}async close(){this.isClosed||(this.isClosed=!0,this.onclose?.())}},g$=class{transport;isSingleUserTurn;canUseTool;hooks;abortController;jsonSchema;initConfig;pendingControlResponses=new Map;cleanupPerformed=!1;sdkMessages;inputStream=new m$;initialization;cancelControllers=new Map;hookCallbacks=new Map;nextCallbackId=0;sdkMcpTransports=new Map;sdkMcpServerInstances=new Map;pendingMcpResponses=new Map;firstResultReceivedResolve;firstResultReceived=!1;hasBidirectionalNeeds(){return this.sdkMcpTransports.size>0||this.hooks!==void 0&&Object.keys(this.hooks).length>0||this.canUseTool!==void 0}constructor(e,r,n,i,a,o=new Map,s,c){this.transport=e,this.isSingleUserTurn=r,this.canUseTool=n,this.hooks=i,this.abortController=a,this.jsonSchema=s,this.initConfig=c;for(let[u,l]of o)this.connectSdkMcpServer(u,l);this.sdkMessages=this.readSdkMessages(),this.readMessages(),this.initialization=this.initialize(),this.initialization.catch(()=>{})}setError(e){this.inputStream.error(e)}cleanup(e){if(!this.cleanupPerformed){this.cleanupPerformed=!0;try{this.transport.close(),this.pendingControlResponses.clear(),this.pendingMcpResponses.clear(),this.cancelControllers.clear(),this.hookCallbacks.clear();for(let r of this.sdkMcpTransports.values())try{r.close()}catch{}this.sdkMcpTransports.clear(),e?this.inputStream.error(e):this.inputStream.done()}catch{}}}next(...[e]){return this.sdkMessages.next(e)}return(e){return this.sdkMessages.return(e)}throw(e){return this.sdkMessages.throw(e)}[Symbol.asyncIterator](){return this.sdkMessages}[Symbol.asyncDispose](){return this.sdkMessages[Symbol.asyncDispose]()}async readMessages(){try{for await(let e of this.transport.readMessages()){if(e.type==="control_response"){let r=this.pendingControlResponses.get(e.response.request_id);r&&r(e.response);continue}else if(e.type==="control_request"){this.handleControlRequest(e);continue}else if(e.type==="control_cancel_request"){this.handleControlCancelRequest(e);continue}else if(e.type==="keep_alive")continue;e.type==="result"&&(this.firstResultReceived=!0,this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.isSingleUserTurn&&(Sa("[Query.readMessages] First result received for single-turn query, closing stdin"),this.transport.endInput())),this.inputStream.enqueue(e)}this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.inputStream.done(),this.cleanup()}catch(e){this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.inputStream.error(e),this.cleanup(e)}}async handleControlRequest(e){let r=new AbortController;this.cancelControllers.set(e.request_id,r);try{let n=await this.processControlRequest(e,r.signal),i={type:"control_response",response:{subtype:"success",request_id:e.request_id,response:n}};await Promise.resolve(this.transport.write(JSON.stringify(i)+` `))}catch(n){let i={type:"control_response",response:{subtype:"error",request_id:e.request_id,error:n.message||String(n)}};await Promise.resolve(this.transport.write(JSON.stringify(i)+` `))}finally{this.cancelControllers.delete(e.request_id)}}handleControlCancelRequest(e){let r=this.cancelControllers.get(e.request_id);r&&(r.abort(),this.cancelControllers.delete(e.request_id))}async processControlRequest(e,r){if(e.request.subtype==="can_use_tool"){if(!this.canUseTool)throw new Error("canUseTool callback is not provided.");return{...await this.canUseTool(e.request.tool_name,e.request.input,{signal:r,suggestions:e.request.permission_suggestions,blockedPath:e.request.blocked_path,decisionReason:e.request.decision_reason,toolUseID:e.request.tool_use_id,agentID:e.request.agent_id}),toolUseID:e.request.tool_use_id}}else{if(e.request.subtype==="hook_callback")return await this.handleHookCallbacks(e.request.callback_id,e.request.input,e.request.tool_use_id,r);if(e.request.subtype==="mcp_message"){let n=e.request,i=this.sdkMcpTransports.get(n.server_name);if(!i)throw new Error(`SDK MCP server not found: ${n.server_name}`);return"method"in n.message&&"id"in n.message&&n.message.id!==null?{mcp_response:await this.handleMcpControlRequest(n.server_name,n,i)}:(i.onmessage&&i.onmessage(n.message),{mcp_response:{jsonrpc:"2.0",result:{},id:0}})}}throw new Error("Unsupported control request subtype: "+e.request.subtype)}async*readSdkMessages(){for await(let e of this.inputStream)yield e}async initialize(){let e;if(this.hooks){e={};for(let[a,o]of Object.entries(this.hooks))o.length>0&&(e[a]=o.map(s=>{let c=[];for(let u of s.hooks){let l=`hook_${this.nextCallbackId++}`;this.hookCallbacks.set(l,u),c.push(l)}return{matcher:s.matcher,hookCallbackIds:c,timeout:s.timeout}}))}let r=this.sdkMcpTransports.size>0?Array.from(this.sdkMcpTransports.keys()):void 0,n={subtype:"initialize",hooks:e,sdkMcpServers:r,jsonSchema:this.jsonSchema,systemPrompt:this.initConfig?.systemPrompt,appendSystemPrompt:this.initConfig?.appendSystemPrompt,agents:this.initConfig?.agents};return(await this.request(n)).response}async interrupt(){await this.request({subtype:"interrupt"})}async setPermissionMode(e){await this.request({subtype:"set_permission_mode",mode:e})}async setModel(e){await this.request({subtype:"set_model",model:e})}async setMaxThinkingTokens(e){await this.request({subtype:"set_max_thinking_tokens",max_thinking_tokens:e})}async rewindFiles(e){await this.request({subtype:"rewind_files",user_message_id:e})}async processPendingPermissionRequests(e){for(let r of e)r.request.subtype==="can_use_tool"&&this.handleControlRequest(r).catch(()=>{})}request(e){let r=Math.random().toString(36).substring(2,15),n={request_id:r,type:"control_request",request:e};return new Promise((i,a)=>{this.pendingControlResponses.set(r,o=>{o.subtype==="success"?i(o):(a(new Error(o.error)),o.pending_permission_requests&&this.processPendingPermissionRequests(o.pending_permission_requests))}),Promise.resolve(this.transport.write(JSON.stringify(n)+` -`))})}async supportedCommands(){return(await this.initialization).commands}async supportedModels(){return(await this.initialization).models}async mcpServerStatus(){return(await this.request({subtype:"mcp_status"})).response.mcpServers}async setMcpServers(e){let r={},n={};for(let[c,u]of Object.entries(e))u.type==="sdk"&&"instance"in u?r[c]=u.instance:n[c]=u;let i=new Set(this.sdkMcpServerInstances.keys()),a=new Set(Object.keys(r));for(let c of i)a.has(c)||await this.disconnectSdkMcpServer(c);for(let[c,u]of Object.entries(r))i.has(c)||this.connectSdkMcpServer(c,u);let o={};for(let c of Object.keys(r))o[c]={type:"sdk",name:c};return(await this.request({subtype:"mcp_set_servers",servers:{...n,...o}})).response}async accountInfo(){return(await this.initialization).account}async streamInput(e){xa("[Query.streamInput] Starting to process input stream");try{let r=0;for await(let n of e){if(r++,xa(`[Query.streamInput] Processing message ${r}: ${n.type}`),this.abortController?.signal.aborted)break;await Promise.resolve(this.transport.write(JSON.stringify(n)+` -`))}xa(`[Query.streamInput] Finished processing ${r} messages from input stream`),this.hasBidirectionalNeeds()&&(xa("[Query.streamInput] Has bidirectional needs, waiting for first result"),await this.waitForFirstResult()),xa("[Query] Calling transport.endInput() to close stdin to CLI process"),this.transport.endInput()}catch(r){if(!(r instanceof bo))throw r}}waitForFirstResult(){return this.firstResultReceived?(xa("[Query.waitForFirstResult] Result already received, returning immediately"),Promise.resolve()):new Promise(e=>{if(this.abortController?.signal.aborted){e();return}this.abortController?.signal.addEventListener("abort",()=>e(),{once:!0}),this.firstResultReceivedResolve=e})}handleHookCallbacks(e,r,n,i){let a=this.hookCallbacks.get(e);if(!a)throw new Error(`No hook callback found for ID: ${e}`);return a(r,n,{signal:i})}connectSdkMcpServer(e,r){let n=new m$(i=>this.sendMcpServerMessageToCli(e,i));this.sdkMcpTransports.set(e,n),this.sdkMcpServerInstances.set(e,r),r.connect(n)}async disconnectSdkMcpServer(e){let r=this.sdkMcpTransports.get(e);r&&(await r.close(),this.sdkMcpTransports.delete(e)),this.sdkMcpServerInstances.delete(e)}sendMcpServerMessageToCli(e,r){if("id"in r&&r.id!==null&&r.id!==void 0){let i=`${e}:${r.id}`,a=this.pendingMcpResponses.get(i);if(a){a.resolve(r),this.pendingMcpResponses.delete(i);return}}let n={type:"control_request",request_id:(0,D2.randomUUID)(),request:{subtype:"mcp_message",server_name:e,message:r}};this.transport.write(JSON.stringify(n)+` -`)}handleMcpControlRequest(e,r,n){let i="id"in r.message?r.message.id:null,a=`${e}:${i}`;return new Promise((o,s)=>{let c=()=>{this.pendingMcpResponses.delete(a)},u=d=>{c(),o(d)},l=d=>{c(),s(d)};if(this.pendingMcpResponses.set(a,{resolve:u,reject:l}),n.onmessage)n.onmessage(r.message);else{c(),s(new Error("No message handler registered"));return}})}};var st;(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function r(i){throw new Error}t.assertNever=r,t.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},t.getValidEnumValues=i=>{let a=t.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return t.objectValues(o)},t.objectValues=i=>t.objectKeys(i).map(function(a){return i[a]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},t.find=(i,a)=>{for(let o of i)if(a(o))return o},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}t.joinValues=n,t.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(st||(st={}));var A4;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(A4||(A4={}));var de=st.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Sa=t=>{switch(typeof t){case"undefined":return de.undefined;case"string":return de.string;case"number":return Number.isNaN(t)?de.nan:de.number;case"boolean":return de.boolean;case"function":return de.function;case"bigint":return de.bigint;case"symbol":return de.symbol;case"object":return Array.isArray(t)?de.array:t===null?de.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?de.promise:typeof Map<"u"&&t instanceof Map?de.map:typeof Set<"u"&&t instanceof Set?de.set:typeof Date<"u"&&t instanceof Date?de.date:de.object;default:return de.unknown}},te=st.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Tn=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,c=0;for(;cr.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(e(i))}else n.push(e(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Tn.create=t=>new Tn(t);var use=(t,e)=>{let r;switch(t.code){case te.invalid_type:t.received===de.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case te.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,st.jsonStringifyReplacer)}`;break;case te.unrecognized_keys:r=`Unrecognized key(s) in object: ${st.joinValues(t.keys,", ")}`;break;case te.invalid_union:r="Invalid input";break;case te.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${st.joinValues(t.options)}`;break;case te.invalid_enum_value:r=`Invalid enum value. Expected ${st.joinValues(t.options)}, received '${t.received}'`;break;case te.invalid_arguments:r="Invalid function arguments";break;case te.invalid_return_type:r="Invalid function return type";break;case te.invalid_date:r="Invalid date";break;case te.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:st.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case te.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case te.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case te.custom:r="Invalid input";break;case te.invalid_intersection_types:r="Intersection results could not be merged";break;case te.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case te.not_finite:r="Number must be finite";break;default:r=e.defaultError,st.assertNever(t)}return{message:r}},pd=use,lse=pd;function g$(){return lse}var v$=t=>{let{data:e,path:r,errorMaps:n,issueData:i}=t,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)s=u(o,{data:e,defaultError:s}).message;return{...i,path:a,message:s}};function se(t,e){let r=g$(),n=v$({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===pd?void 0:pd].filter(i=>!!i)});t.common.issues.push(n)}var Mr=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let i of r){if(i.status==="aborted")return Pe;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return Pe;a.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:e.value,value:n}}},Pe=Object.freeze({status:"aborted"}),ud=t=>({status:"dirty",value:t}),Wr=t=>({status:"valid",value:t}),M4=t=>t.status==="aborted",D4=t=>t.status==="dirty",sc=t=>t.status==="valid",Mh=t=>typeof Promise<"u"&&t instanceof Promise,ge;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(ge||(ge={}));var In=class{constructor(e,r,n,i){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},z4=(t,e)=>{if(sc(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Tn(t.common.issues);return this._error=r,this._error}}};function De(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:i}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,s)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??s.defaultError}:typeof s.data>"u"?{message:c??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:c??r??s.defaultError}},description:i}}var Ve=class{get description(){return this._def.description}_getType(e){return Sa(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Sa(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Mr,ctx:{common:e.parent.common,data:e.data,parsedType:Sa(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(Mh(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Sa(e)},i=this._parseSync({data:e,path:n.path,parent:n});return z4(n,i)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Sa(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return sc(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>sc(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Sa(e)},i=this._parse({data:e,path:n.path,parent:n}),a=await(Mh(i)?i:Promise.resolve(i));return z4(n,a)}refine(e,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=e(i),s=()=>a.addIssue({code:te.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(e,r){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(e){return new Jn({schema:this,typeName:Oe.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Kn.create(this,this._def)}nullable(){return Zi.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ea.create(this)}promise(){return So.create(this,this._def)}or(e){return dc.create([this,e],this._def)}and(e){return pc.create(this,e,this._def)}transform(e){return new Jn({...De(this._def),schema:this,typeName:Oe.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new vc({...De(this._def),innerType:this,defaultValue:r,typeName:Oe.ZodDefault})}brand(){return new Dh({typeName:Oe.ZodBranded,type:this,...De(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new yc({...De(this._def),innerType:this,catchValue:r,typeName:Oe.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return zh.create(this,e)}readonly(){return _c.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},dse=/^c[^\s-]{8,}$/i,pse=/^[0-9a-z]+$/,fse=/^[0-9A-HJKMNP-TV-Z]{26}$/i,mse=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,hse=/^[a-z0-9_-]{21}$/i,gse=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,vse=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,yse=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_se="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",o$,bse=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,xse=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Sse=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,wse=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$se=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ese=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,z2="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",kse=new RegExp(`^${z2}$`);function U2(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Tse(t){return new RegExp(`^${U2(t)}$`)}function Ise(t){let e=`${z2}T${U2(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Pse(t,e){return!!((e==="v4"||!e)&&bse.test(t)||(e==="v6"||!e)&&Sse.test(t))}function Ose(t,e){if(!gse.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function Rse(t,e){return!!((e==="v4"||!e)&&xse.test(t)||(e==="v6"||!e)&&wse.test(t))}var cc=class t extends Ve{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==de.string){let a=this._getOrReturnCtx(e);return se(a,{code:te.invalid_type,expected:de.string,received:a.parsedType}),Pe}let n=new Mr,i;for(let a of this._def.checks)if(a.kind==="min")e.data.lengtha.value&&(i=this._getOrReturnCtx(e,i),se(i,{code:te.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=e.data.length>a.value,s=e.data.lengthe.test(i),{validation:r,code:te.invalid_string,...ge.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...ge.errToObj(e)})}url(e){return this._addCheck({kind:"url",...ge.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...ge.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...ge.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...ge.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...ge.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...ge.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...ge.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...ge.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...ge.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...ge.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...ge.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...ge.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...ge.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...ge.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...ge.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...ge.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...ge.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...ge.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...ge.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...ge.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...ge.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...ge.errToObj(r)})}nonempty(e){return this.min(1,ge.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew cc({checks:[],typeName:Oe.ZodString,coerce:t?.coerce??!1,...De(t)});function Cse(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}var fd=class t extends Ve{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==de.number){let a=this._getOrReturnCtx(e);return se(a,{code:te.invalid_type,expected:de.number,received:a.parsedType}),Pe}let n,i=new Mr;for(let a of this._def.checks)a.kind==="int"?st.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),se(n,{code:te.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),se(n,{code:te.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?Cse(e.data,a.value)!==0&&(n=this._getOrReturnCtx(e,n),se(n,{code:te.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),se(n,{code:te.not_finite,message:a.message}),i.dirty()):st.assertNever(a);return{status:i.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,ge.toString(r))}gt(e,r){return this.setLimit("min",e,!1,ge.toString(r))}lte(e,r){return this.setLimit("max",e,!0,ge.toString(r))}lt(e,r){return this.setLimit("max",e,!1,ge.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:ge.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:ge.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:ge.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:ge.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&st.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew fd({checks:[],typeName:Oe.ZodNumber,coerce:t?.coerce||!1,...De(t)});var md=class t extends Ve{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==de.bigint)return this._getInvalidInput(e);let n,i=new Mr;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),se(n,{code:te.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),se(n,{code:te.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):st.assertNever(a);return{status:i.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return se(r,{code:te.invalid_type,expected:de.bigint,received:r.parsedType}),Pe}gte(e,r){return this.setLimit("min",e,!0,ge.toString(r))}gt(e,r){return this.setLimit("min",e,!1,ge.toString(r))}lte(e,r){return this.setLimit("max",e,!0,ge.toString(r))}lt(e,r){return this.setLimit("max",e,!1,ge.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:ge.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:ge.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew md({checks:[],typeName:Oe.ZodBigInt,coerce:t?.coerce??!1,...De(t)});var hd=class extends Ve{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==de.boolean){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.boolean,received:n.parsedType}),Pe}return Wr(e.data)}};hd.create=t=>new hd({typeName:Oe.ZodBoolean,coerce:t?.coerce||!1,...De(t)});var gd=class t extends Ve{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==de.date){let a=this._getOrReturnCtx(e);return se(a,{code:te.invalid_type,expected:de.date,received:a.parsedType}),Pe}if(Number.isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return se(a,{code:te.invalid_date}),Pe}let n=new Mr,i;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()a.value&&(i=this._getOrReturnCtx(e,i),se(i,{code:te.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):st.assertNever(a);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:ge.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:ge.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew gd({checks:[],coerce:t?.coerce||!1,typeName:Oe.ZodDate,...De(t)});var vd=class extends Ve{_parse(e){if(this._getType(e)!==de.symbol){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.symbol,received:n.parsedType}),Pe}return Wr(e.data)}};vd.create=t=>new vd({typeName:Oe.ZodSymbol,...De(t)});var uc=class extends Ve{_parse(e){if(this._getType(e)!==de.undefined){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.undefined,received:n.parsedType}),Pe}return Wr(e.data)}};uc.create=t=>new uc({typeName:Oe.ZodUndefined,...De(t)});var lc=class extends Ve{_parse(e){if(this._getType(e)!==de.null){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.null,received:n.parsedType}),Pe}return Wr(e.data)}};lc.create=t=>new lc({typeName:Oe.ZodNull,...De(t)});var yd=class extends Ve{constructor(){super(...arguments),this._any=!0}_parse(e){return Wr(e.data)}};yd.create=t=>new yd({typeName:Oe.ZodAny,...De(t)});var $a=class extends Ve{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Wr(e.data)}};$a.create=t=>new $a({typeName:Oe.ZodUnknown,...De(t)});var _i=class extends Ve{_parse(e){let r=this._getOrReturnCtx(e);return se(r,{code:te.invalid_type,expected:de.never,received:r.parsedType}),Pe}};_i.create=t=>new _i({typeName:Oe.ZodNever,...De(t)});var _d=class extends Ve{_parse(e){if(this._getType(e)!==de.undefined){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.void,received:n.parsedType}),Pe}return Wr(e.data)}};_d.create=t=>new _d({typeName:Oe.ZodVoid,...De(t)});var Ea=class t extends Ve{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),i=this._def;if(r.parsedType!==de.array)return se(r,{code:te.invalid_type,expected:de.array,received:r.parsedType}),Pe;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.lengthi.maxLength.value&&(se(r,{code:te.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new In(r,o,r.path,s)))).then(o=>Mr.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new In(r,o,r.path,s)));return Mr.mergeArray(n,a)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:ge.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:ge.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:ge.toString(r)}})}nonempty(e){return this.min(1,e)}};Ea.create=(t,e)=>new Ea({type:t,minLength:null,maxLength:null,exactLength:null,typeName:Oe.ZodArray,...De(e)});function ic(t){if(t instanceof un){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Kn.create(ic(n))}return new un({...t._def,shape:()=>e})}else return t instanceof Ea?new Ea({...t._def,type:ic(t.element)}):t instanceof Kn?Kn.create(ic(t.unwrap())):t instanceof Zi?Zi.create(ic(t.unwrap())):t instanceof Fi?Fi.create(t.items.map(e=>ic(e))):t}var un=class t extends Ve{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=st.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==de.object){let u=this._getOrReturnCtx(e);return se(u,{code:te.invalid_type,expected:de.object,received:u.parsedType}),Pe}let{status:n,ctx:i}=this._processInputParams(e),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof _i&&this._def.unknownKeys==="strip"))for(let u in i.data)o.includes(u)||s.push(u);let c=[];for(let u of o){let l=a[u],d=i.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new In(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof _i){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of s)c.push({key:{status:"valid",value:l},value:{status:"valid",value:i.data[l]}});else if(u==="strict")s.length>0&&(se(i,{code:te.unrecognized_keys,keys:s}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of s){let d=i.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new In(i,d,i.path,l)),alwaysSet:l in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,p=await l.value;u.push({key:d,value:p,alwaysSet:l.alwaysSet})}return u}).then(u=>Mr.mergeObjectSync(n,u)):Mr.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return ge.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:ge.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Oe.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of st.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of st.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return ic(this)}partial(e){let r={};for(let n of st.objectKeys(this.shape)){let i=this.shape[n];e&&!e[n]?r[n]=i:r[n]=i.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of st.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof Kn;)a=a._def.innerType;r[n]=a}return new t({...this._def,shape:()=>r})}keyof(){return q2(st.objectKeys(this.shape))}};un.create=(t,e)=>new un({shape:()=>t,unknownKeys:"strip",catchall:_i.create(),typeName:Oe.ZodObject,...De(e)});un.strictCreate=(t,e)=>new un({shape:()=>t,unknownKeys:"strict",catchall:_i.create(),typeName:Oe.ZodObject,...De(e)});un.lazycreate=(t,e)=>new un({shape:t,unknownKeys:"strip",catchall:_i.create(),typeName:Oe.ZodObject,...De(e)});var dc=class extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new Tn(s.ctx.common.issues));return se(r,{code:te.invalid_union,unionErrors:o}),Pe}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!a&&(a={result:l,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(c=>new Tn(c));return se(r,{code:te.invalid_union,unionErrors:s}),Pe}}get options(){return this._def.options}};dc.create=(t,e)=>new dc({options:t,typeName:Oe.ZodUnion,...De(e)});var qi=t=>t instanceof fc?qi(t.schema):t instanceof Jn?qi(t.innerType()):t instanceof mc?[t.value]:t instanceof hc?t.options:t instanceof gc?st.objectValues(t.enum):t instanceof vc?qi(t._def.innerType):t instanceof uc?[void 0]:t instanceof lc?[null]:t instanceof Kn?[void 0,...qi(t.unwrap())]:t instanceof Zi?[null,...qi(t.unwrap())]:t instanceof Dh||t instanceof _c?qi(t.unwrap()):t instanceof yc?qi(t._def.innerType):[],y$=class t extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==de.object)return se(r,{code:te.invalid_type,expected:de.object,received:r.parsedType}),Pe;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(se(r,{code:te.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Pe)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let i=new Map;for(let a of r){let o=qi(a.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);i.set(s,a)}}return new t({typeName:Oe.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:i,...De(n)})}};function _$(t,e){let r=Sa(t),n=Sa(e);if(t===e)return{valid:!0,data:t};if(r===de.object&&n===de.object){let i=st.objectKeys(e),a=st.objectKeys(t).filter(s=>i.indexOf(s)!==-1),o={...t,...e};for(let s of a){let c=_$(t[s],e[s]);if(!c.valid)return{valid:!1};o[s]=c.data}return{valid:!0,data:o}}else if(r===de.array&&n===de.array){if(t.length!==e.length)return{valid:!1};let i=[];for(let a=0;a{if(M4(a)||M4(o))return Pe;let s=_$(a.value,o.value);return s.valid?((D4(a)||D4(o))&&r.dirty(),{status:r.value,value:s.data}):(se(n,{code:te.invalid_intersection_types}),Pe)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};pc.create=(t,e,r)=>new pc({left:t,right:e,typeName:Oe.ZodIntersection,...De(r)});var Fi=class t extends Ve{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.array)return se(n,{code:te.invalid_type,expected:de.array,received:n.parsedType}),Pe;if(n.data.lengththis._def.items.length&&(se(n,{code:te.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let c=this._def.items[s]||this._def.rest;return c?c._parse(new In(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>Mr.mergeArray(r,o)):Mr.mergeArray(r,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Fi.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Fi({items:t,typeName:Oe.ZodTuple,rest:null,...De(e)})};var b$=class t extends Ve{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.object)return se(n,{code:te.invalid_type,expected:de.object,received:n.parsedType}),Pe;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new In(n,s,n.path,s)),value:o._parse(new In(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?Mr.mergeObjectAsync(r,i):Mr.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof Ve?new t({keyType:e,valueType:r,typeName:Oe.ZodRecord,...De(n)}):new t({keyType:cc.create(),valueType:e,typeName:Oe.ZodRecord,...De(r)})}},bd=class extends Ve{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.map)return se(n,{code:te.invalid_type,expected:de.map,received:n.parsedType}),Pe;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,c],u)=>({key:i._parse(new In(n,s,n.path,[u,"key"])),value:a._parse(new In(n,c,n.path,[u,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return Pe;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let c of o){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return Pe;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}}}};bd.create=(t,e,r)=>new bd({valueType:e,keyType:t,typeName:Oe.ZodMap,...De(r)});var xd=class t extends Ve{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.set)return se(n,{code:te.invalid_type,expected:de.set,received:n.parsedType}),Pe;let i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(se(n,{code:te.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(c){let u=new Set;for(let l of c){if(l.status==="aborted")return Pe;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let s=[...n.data.values()].map((c,u)=>a._parse(new In(n,c,n.path,u)));return n.common.async?Promise.all(s).then(c=>o(c)):o(s)}min(e,r){return new t({...this._def,minSize:{value:e,message:ge.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:ge.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};xd.create=(t,e)=>new xd({valueType:t,minSize:null,maxSize:null,typeName:Oe.ZodSet,...De(e)});var x$=class t extends Ve{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==de.function)return se(r,{code:te.invalid_type,expected:de.function,received:r.parsedType}),Pe;function n(s,c){return v$({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,g$(),pd].filter(u=>!!u),issueData:{code:te.invalid_arguments,argumentsError:c}})}function i(s,c){return v$({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,g$(),pd].filter(u=>!!u),issueData:{code:te.invalid_return_type,returnTypeError:c}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof So){let s=this;return Wr(async function(...c){let u=new Tn([]),l=await s._def.args.parseAsync(c,a).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(o,this,l);return await s._def.returns._def.type.parseAsync(d,a).catch(f=>{throw u.addIssue(i(d,f)),u})})}else{let s=this;return Wr(function(...c){let u=s._def.args.safeParse(c,a);if(!u.success)throw new Tn([n(c,u.error)]);let l=Reflect.apply(o,this,u.data),d=s._def.returns.safeParse(l,a);if(!d.success)throw new Tn([i(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Fi.create(e).rest($a.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Fi.create([]).rest($a.create()),returns:r||$a.create(),typeName:Oe.ZodFunction,...De(n)})}},fc=class extends Ve{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};fc.create=(t,e)=>new fc({getter:t,typeName:Oe.ZodLazy,...De(e)});var mc=class extends Ve{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return se(r,{received:r.data,code:te.invalid_literal,expected:this._def.value}),Pe}return{status:"valid",value:e.data}}get value(){return this._def.value}};mc.create=(t,e)=>new mc({value:t,typeName:Oe.ZodLiteral,...De(e)});function q2(t,e){return new hc({values:t,typeName:Oe.ZodEnum,...De(e)})}var hc=class t extends Ve{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return se(r,{expected:st.joinValues(n),received:r.parsedType,code:te.invalid_type}),Pe}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return se(r,{received:r.data,code:te.invalid_enum_value,options:n}),Pe}return Wr(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};hc.create=q2;var gc=class extends Ve{_parse(e){let r=st.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==de.string&&n.parsedType!==de.number){let i=st.objectValues(r);return se(n,{expected:st.joinValues(i),received:n.parsedType,code:te.invalid_type}),Pe}if(this._cache||(this._cache=new Set(st.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=st.objectValues(r);return se(n,{received:n.data,code:te.invalid_enum_value,options:i}),Pe}return Wr(e.data)}get enum(){return this._def.values}};gc.create=(t,e)=>new gc({values:t,typeName:Oe.ZodNativeEnum,...De(e)});var So=class extends Ve{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==de.promise&&r.common.async===!1)return se(r,{code:te.invalid_type,expected:de.promise,received:r.parsedType}),Pe;let n=r.parsedType===de.promise?r.data:Promise.resolve(r.data);return Wr(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};So.create=(t,e)=>new So({type:t,typeName:Oe.ZodPromise,...De(e)});var Jn=class extends Ve{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Oe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:o=>{se(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return Pe;let c=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return c.status==="aborted"?Pe:c.status==="dirty"||r.value==="dirty"?ud(c.value):c});{if(r.value==="aborted")return Pe;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?Pe:s.status==="dirty"||r.value==="dirty"?ud(s.value):s}}if(i.type==="refinement"){let o=s=>{let c=i.refinement(s,a);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Pe:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?Pe:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!sc(o))return Pe;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>sc(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):Pe);st.assertNever(i)}};Jn.create=(t,e,r)=>new Jn({schema:t,typeName:Oe.ZodEffects,effect:e,...De(r)});Jn.createWithPreprocess=(t,e,r)=>new Jn({schema:e,effect:{type:"preprocess",transform:t},typeName:Oe.ZodEffects,...De(r)});var Kn=class extends Ve{_parse(e){return this._getType(e)===de.undefined?Wr(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Kn.create=(t,e)=>new Kn({innerType:t,typeName:Oe.ZodOptional,...De(e)});var Zi=class extends Ve{_parse(e){return this._getType(e)===de.null?Wr(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Zi.create=(t,e)=>new Zi({innerType:t,typeName:Oe.ZodNullable,...De(e)});var vc=class extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===de.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};vc.create=(t,e)=>new vc({innerType:t,typeName:Oe.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...De(e)});var yc=class extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Mh(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Tn(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Tn(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};yc.create=(t,e)=>new yc({innerType:t,typeName:Oe.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...De(e)});var Sd=class extends Ve{_parse(e){if(this._getType(e)!==de.nan){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.nan,received:n.parsedType}),Pe}return{status:"valid",value:e.data}}};Sd.create=t=>new Sd({typeName:Oe.ZodNaN,...De(t)});var Dh=class extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},zh=class t extends Ve{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Pe:a.status==="dirty"?(r.dirty(),ud(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Pe:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:Oe.ZodPipeline})}},_c=class extends Ve{_parse(e){let r=this._def.innerType._parse(e),n=i=>(sc(i)&&(i.value=Object.freeze(i.value)),i);return Mh(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};_c.create=(t,e)=>new _c({innerType:t,typeName:Oe.ZodReadonly,...De(e)});var R1e={object:un.lazycreate},Oe;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(Oe||(Oe={}));var C1e=cc.create,N1e=fd.create,j1e=Sd.create,A1e=md.create,M1e=hd.create,D1e=gd.create,z1e=vd.create,U1e=uc.create,q1e=lc.create,L1e=yd.create,F1e=$a.create,Z1e=_i.create,H1e=_d.create,B1e=Ea.create,V1e=un.create,G1e=un.strictCreate,W1e=dc.create,K1e=y$.create,J1e=pc.create,X1e=Fi.create,Y1e=b$.create,Q1e=bd.create,eIe=xd.create,tIe=x$.create,rIe=fc.create,nIe=mc.create,iIe=hc.create,aIe=gc.create,oIe=So.create,sIe=Jn.create,cIe=Kn.create,uIe=Zi.create,lIe=Jn.createWithPreprocess,dIe=zh.create,pIe=Object.freeze({status:"aborted"});function X(t,e,r){function n(s,c){var u;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(u=s._zod).traits??(u.traits=new Set),s._zod.traits.add(t),e(s,c);for(let l in o.prototype)l in s||Object.defineProperty(s,l,{value:o.prototype[l].bind(s)});s._zod.constr=o,s._zod.def=c}let i=r?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:t});function o(s){var c;let u=r?.Parent?new a:this;n(u,s),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(o,"init",{value:n}),Object.defineProperty(o,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(o,"name",{value:t}),o}var wo=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},S$={};function Hi(t){return t&&Object.assign(S$,t),S$}var Dt={};a2(Dt,{unwrapMessage:()=>ld,stringifyPrimitive:()=>q$,required:()=>Xse,randomString:()=>qse,propertyKeyTypes:()=>B2,promiseAllObject:()=>Use,primitiveTypes:()=>Zse,prefixIssues:()=>wa,pick:()=>Vse,partial:()=>Jse,optionalKeys:()=>V2,omit:()=>Gse,numKeys:()=>Lse,nullish:()=>Qh,normalizeParams:()=>ke,merge:()=>Kse,jsonStringifyReplacer:()=>F2,joinValues:()=>w$,issue:()=>W2,isPlainObject:()=>$d,isObject:()=>wd,getSizableOrigin:()=>Yse,getParsedType:()=>Fse,getLengthableOrigin:()=>tg,getEnumValues:()=>L2,getElementAtPath:()=>zse,floatSafeRemainder:()=>Z2,finalizeIssue:()=>Bi,extend:()=>Wse,escapeRegex:()=>Ec,esc:()=>ac,defineLazy:()=>zt,createTransparentProxy:()=>Hse,clone:()=>Ia,cleanRegex:()=>eg,cleanEnum:()=>Qse,captureStackTrace:()=>U$,cached:()=>Yh,assignProp:()=>z$,assertNotEqual:()=>jse,assertNever:()=>Mse,assertIs:()=>Ase,assertEqual:()=>Nse,assert:()=>Dse,allowsEval:()=>H2,aborted:()=>oc,NUMBER_FORMAT_RANGES:()=>G2,Class:()=>$$,BIGINT_FORMAT_RANGES:()=>Bse});function Nse(t){return t}function jse(t){return t}function Ase(t){}function Mse(t){throw new Error}function Dse(t){}function L2(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}function w$(t,e="|"){return t.map(r=>q$(r)).join(e)}function F2(t,e){return typeof e=="bigint"?e.toString():e}function Yh(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Qh(t){return t==null}function eg(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Z2(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}function zt(t,e,r){Object.defineProperty(t,e,{get(){{let i=r();return t[e]=i,i}throw new Error("cached value already set")},set(i){Object.defineProperty(t,e,{value:i})},configurable:!0})}function z$(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function zse(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Use(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let i={};for(let a=0;a{};function wd(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var H2=Yh(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function $d(t){if(wd(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(wd(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Lse(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Fse=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},B2=new Set(["string","number","symbol"]),Zse=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ec(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ia(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function ke(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Hse(t){let e;return new Proxy({},{get(r,n,i){return e??(e=t()),Reflect.get(e,n,i)},set(r,n,i,a){return e??(e=t()),Reflect.set(e,n,i,a)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,i){return e??(e=t()),Reflect.defineProperty(e,n,i)}})}function q$(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function V2(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var G2={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Bse={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Vse(t,e){let r={},n=t._zod.def;for(let i in e){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&(r[i]=n.shape[i])}return Ia(t,{...t._zod.def,shape:r,checks:[]})}function Gse(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let i in e){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&delete r[i]}return Ia(t,{...t._zod.def,shape:r,checks:[]})}function Wse(t,e){if(!$d(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return z$(this,"shape",n),n},checks:[]};return Ia(t,r)}function Kse(t,e){return Ia(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return z$(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Jse(t,e,r){let n=e._zod.def.shape,i={...n};if(r)for(let a in r){if(!(a in n))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=t?new t({type:"optional",innerType:n[a]}):n[a])}else for(let a in n)i[a]=t?new t({type:"optional",innerType:n[a]}):n[a];return Ia(e,{...e._zod.def,shape:i,checks:[]})}function Xse(t,e,r){let n=e._zod.def.shape,i={...n};if(r)for(let a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new t({type:"nonoptional",innerType:n[a]}))}else for(let a in n)i[a]=new t({type:"nonoptional",innerType:n[a]});return Ia(e,{...e._zod.def,shape:i,checks:[]})}function oc(t,e=0){for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function ld(t){return typeof t=="string"?t:t?.message}function Bi(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let i=ld(t.inst?._zod.def?.error?.(t))??ld(e?.error?.(t))??ld(r.customError?.(t))??ld(r.localeError?.(t))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Yse(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function tg(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function W2(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Qse(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var $$=class{constructor(...e){}},K2=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,F2,2)},enumerable:!0})},J2=X("$ZodError",K2),X2=X("$ZodError",K2,{Parent:Error});function ece(t,e=r=>r.message){let r={},n=[];for(let i of t.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:r}}function tce(t,e){let r=e||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>i({issues:s}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)n._errors.push(r(o));else{let s=n,c=0;for(;c(e,r,n,i)=>{let a=n?Object.assign(n,{async:!1}):{async:!1},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new wo;if(o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>Bi(c,a,Hi())));throw U$(s,i?.callee),s}return o.value};var nce=t=>async(e,r,n,i)=>{let a=n?Object.assign(n,{async:!0}):{async:!0},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>Bi(c,a,Hi())));throw U$(s,i?.callee),s}return o.value};var Y2=t=>(e,r,n)=>{let i=n?{...n,async:!1}:{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new wo;return a.issues.length?{success:!1,error:new(t??J2)(a.issues.map(o=>Bi(o,i,Hi())))}:{success:!0,data:a.value}},ice=Y2(X2),Q2=t=>async(e,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:r,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new t(a.issues.map(o=>Bi(o,i,Hi())))}:{success:!0,data:a.value}},ace=Q2(X2),oce=/^[cC][^\s-]{8,}$/,sce=/^[0-9a-z]+$/,cce=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,uce=/^[0-9a-vA-V]{20}$/,lce=/^[A-Za-z0-9]{27}$/,dce=/^[a-zA-Z0-9_-]{21}$/,pce=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,fce=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,U4=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,mce=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,hce="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function gce(){return new RegExp(hce,"u")}var vce=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,yce=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,_ce=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,bce=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,xce=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,e6=/^[A-Za-z0-9_-]*$/,Sce=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,wce=/^\+(?:[0-9]){6,14}[0-9]$/,t6="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",$ce=new RegExp(`^${t6}$`);function r6(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Ece(t){return new RegExp(`^${r6(t)}$`)}function kce(t){let e=r6({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${t6}T(?:${n})$`)}var Tce=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},Ice=/^\d+$/,Pce=/^-?\d+(?:\.\d+)?/i,Oce=/true|false/i,Rce=/null/i,Cce=/^[^A-Z]*$/,Nce=/^[^a-z]*$/,Kr=X("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),n6={number:"number",bigint:"bigint",object:"date"},i6=X("$ZodCheckLessThan",(t,e)=>{Kr.init(t,e);let r=n6[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{Kr.init(t,e);let r=n6[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>a&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),jce=X("$ZodCheckMultipleOf",(t,e)=>{Kr.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Z2(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),Ace=X("$ZodCheckNumberFormat",(t,e)=>{Kr.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[i,a]=G2[e.format];t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,s.minimum=i,s.maximum=a,r&&(s.pattern=Ice)}),t._zod.check=o=>{let s=o.value;if(r){if(!Number.isInteger(s)){o.issues.push({expected:n,format:e.format,code:"invalid_type",input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):o.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}sa&&o.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inst:t})}}),Mce=X("$ZodCheckMaxLength",(t,e)=>{Kr.init(t,e),t._zod.when=r=>{let n=r.value;return!Qh(n)&&n.length!==void 0},t._zod.onattach.push(r=>{let n=r._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let n=r.value;if(n.length<=e.maximum)return;let a=tg(n);r.issues.push({origin:a,code:"too_big",maximum:e.maximum,inclusive:!0,input:n,inst:t,continue:!e.abort})}}),Dce=X("$ZodCheckMinLength",(t,e)=>{Kr.init(t,e),t._zod.when=r=>{let n=r.value;return!Qh(n)&&n.length!==void 0},t._zod.onattach.push(r=>{let n=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>n&&(r._zod.bag.minimum=e.minimum)}),t._zod.check=r=>{let n=r.value;if(n.length>=e.minimum)return;let a=tg(n);r.issues.push({origin:a,code:"too_small",minimum:e.minimum,inclusive:!0,input:n,inst:t,continue:!e.abort})}}),zce=X("$ZodCheckLengthEquals",(t,e)=>{Kr.init(t,e),t._zod.when=r=>{let n=r.value;return!Qh(n)&&n.length!==void 0},t._zod.onattach.push(r=>{let n=r._zod.bag;n.minimum=e.length,n.maximum=e.length,n.length=e.length}),t._zod.check=r=>{let n=r.value,i=n.length;if(i===e.length)return;let a=tg(n),o=i>e.length;r.issues.push({origin:a,...o?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:r.value,inst:t,continue:!e.abort})}}),rg=X("$ZodCheckStringFormat",(t,e)=>{var r,n;Kr.init(t,e),t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,e.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Uce=X("$ZodCheckRegex",(t,e)=>{rg.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),qce=X("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Cce),rg.init(t,e)}),Lce=X("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Nce),rg.init(t,e)}),Fce=X("$ZodCheckIncludes",(t,e)=>{Kr.init(t,e);let r=Ec(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(i=>{let a=i._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(n)}),t._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:t,continue:!e.abort})}}),Zce=X("$ZodCheckStartsWith",(t,e)=>{Kr.init(t,e);let r=new RegExp(`^${Ec(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Hce=X("$ZodCheckEndsWith",(t,e)=>{Kr.init(t,e);let r=new RegExp(`.*${Ec(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}}),Bce=X("$ZodCheckOverwrite",(t,e)=>{Kr.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}}),E$=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` +`))})}async supportedCommands(){return(await this.initialization).commands}async supportedModels(){return(await this.initialization).models}async mcpServerStatus(){return(await this.request({subtype:"mcp_status"})).response.mcpServers}async setMcpServers(e){let r={},n={};for(let[c,u]of Object.entries(e))u.type==="sdk"&&"instance"in u?r[c]=u.instance:n[c]=u;let i=new Set(this.sdkMcpServerInstances.keys()),a=new Set(Object.keys(r));for(let c of i)a.has(c)||await this.disconnectSdkMcpServer(c);for(let[c,u]of Object.entries(r))i.has(c)||this.connectSdkMcpServer(c,u);let o={};for(let c of Object.keys(r))o[c]={type:"sdk",name:c};return(await this.request({subtype:"mcp_set_servers",servers:{...n,...o}})).response}async accountInfo(){return(await this.initialization).account}async streamInput(e){Sa("[Query.streamInput] Starting to process input stream");try{let r=0;for await(let n of e){if(r++,Sa(`[Query.streamInput] Processing message ${r}: ${n.type}`),this.abortController?.signal.aborted)break;await Promise.resolve(this.transport.write(JSON.stringify(n)+` +`))}Sa(`[Query.streamInput] Finished processing ${r} messages from input stream`),this.hasBidirectionalNeeds()&&(Sa("[Query.streamInput] Has bidirectional needs, waiting for first result"),await this.waitForFirstResult()),Sa("[Query] Calling transport.endInput() to close stdin to CLI process"),this.transport.endInput()}catch(r){if(!(r instanceof bo))throw r}}waitForFirstResult(){return this.firstResultReceived?(Sa("[Query.waitForFirstResult] Result already received, returning immediately"),Promise.resolve()):new Promise(e=>{if(this.abortController?.signal.aborted){e();return}this.abortController?.signal.addEventListener("abort",()=>e(),{once:!0}),this.firstResultReceivedResolve=e})}handleHookCallbacks(e,r,n,i){let a=this.hookCallbacks.get(e);if(!a)throw new Error(`No hook callback found for ID: ${e}`);return a(r,n,{signal:i})}connectSdkMcpServer(e,r){let n=new h$(i=>this.sendMcpServerMessageToCli(e,i));this.sdkMcpTransports.set(e,n),this.sdkMcpServerInstances.set(e,r),r.connect(n)}async disconnectSdkMcpServer(e){let r=this.sdkMcpTransports.get(e);r&&(await r.close(),this.sdkMcpTransports.delete(e)),this.sdkMcpServerInstances.delete(e)}sendMcpServerMessageToCli(e,r){if("id"in r&&r.id!==null&&r.id!==void 0){let i=`${e}:${r.id}`,a=this.pendingMcpResponses.get(i);if(a){a.resolve(r),this.pendingMcpResponses.delete(i);return}}let n={type:"control_request",request_id:(0,Z2.randomUUID)(),request:{subtype:"mcp_message",server_name:e,message:r}};this.transport.write(JSON.stringify(n)+` +`)}handleMcpControlRequest(e,r,n){let i="id"in r.message?r.message.id:null,a=`${e}:${i}`;return new Promise((o,s)=>{let c=()=>{this.pendingMcpResponses.delete(a)},u=d=>{c(),o(d)},l=d=>{c(),s(d)};if(this.pendingMcpResponses.set(a,{resolve:u,reject:l}),n.onmessage)n.onmessage(r.message);else{c(),s(new Error("No message handler registered"));return}})}};var st;(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function r(i){throw new Error}t.assertNever=r,t.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},t.getValidEnumValues=i=>{let a=t.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return t.objectValues(o)},t.objectValues=i=>t.objectKeys(i).map(function(a){return i[a]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},t.find=(i,a)=>{for(let o of i)if(a(o))return o},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}t.joinValues=n,t.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(st||(st={}));var q4;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(q4||(q4={}));var de=st.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),wa=t=>{switch(typeof t){case"undefined":return de.undefined;case"string":return de.string;case"number":return Number.isNaN(t)?de.nan:de.number;case"boolean":return de.boolean;case"function":return de.function;case"bigint":return de.bigint;case"symbol":return de.symbol;case"object":return Array.isArray(t)?de.array:t===null?de.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?de.promise:typeof Map<"u"&&t instanceof Map?de.map:typeof Set<"u"&&t instanceof Set?de.set:typeof Date<"u"&&t instanceof Date?de.date:de.object;default:return de.unknown}},te=st.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Tn=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,c=0;for(;cr.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(e(i))}else n.push(e(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Tn.create=t=>new Tn(t);var lse=(t,e)=>{let r;switch(t.code){case te.invalid_type:t.received===de.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case te.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,st.jsonStringifyReplacer)}`;break;case te.unrecognized_keys:r=`Unrecognized key(s) in object: ${st.joinValues(t.keys,", ")}`;break;case te.invalid_union:r="Invalid input";break;case te.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${st.joinValues(t.options)}`;break;case te.invalid_enum_value:r=`Invalid enum value. Expected ${st.joinValues(t.options)}, received '${t.received}'`;break;case te.invalid_arguments:r="Invalid function arguments";break;case te.invalid_return_type:r="Invalid function return type";break;case te.invalid_date:r="Invalid date";break;case te.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:st.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case te.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case te.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case te.custom:r="Invalid input";break;case te.invalid_intersection_types:r="Intersection results could not be merged";break;case te.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case te.not_finite:r="Number must be finite";break;default:r=e.defaultError,st.assertNever(t)}return{message:r}},pd=lse,dse=pd;function v$(){return dse}var y$=t=>{let{data:e,path:r,errorMaps:n,issueData:i}=t,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)s=u(o,{data:e,defaultError:s}).message;return{...i,path:a,message:s}};function se(t,e){let r=v$(),n=y$({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===pd?void 0:pd].filter(i=>!!i)});t.common.issues.push(n)}var Mr=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let i of r){if(i.status==="aborted")return Pe;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return Pe;a.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:e.value,value:n}}},Pe=Object.freeze({status:"aborted"}),ud=t=>({status:"dirty",value:t}),Wr=t=>({status:"valid",value:t}),F4=t=>t.status==="aborted",Z4=t=>t.status==="dirty",sc=t=>t.status==="valid",Mh=t=>typeof Promise<"u"&&t instanceof Promise,ge;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(ge||(ge={}));var In=class{constructor(e,r,n,i){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},H4=(t,e)=>{if(sc(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Tn(t.common.issues);return this._error=r,this._error}}};function De(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:i}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,s)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??s.defaultError}:typeof s.data>"u"?{message:c??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:c??r??s.defaultError}},description:i}}var Ve=class{get description(){return this._def.description}_getType(e){return wa(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:wa(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Mr,ctx:{common:e.parent.common,data:e.data,parsedType:wa(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(Mh(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:wa(e)},i=this._parseSync({data:e,path:n.path,parent:n});return H4(n,i)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:wa(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return sc(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>sc(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:wa(e)},i=this._parse({data:e,path:n.path,parent:n}),a=await(Mh(i)?i:Promise.resolve(i));return H4(n,a)}refine(e,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=e(i),s=()=>a.addIssue({code:te.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(e,r){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(e){return new Xn({schema:this,typeName:Oe.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Jn.create(this,this._def)}nullable(){return Hi.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ka.create(this)}promise(){return So.create(this,this._def)}or(e){return dc.create([this,e],this._def)}and(e){return pc.create(this,e,this._def)}transform(e){return new Xn({...De(this._def),schema:this,typeName:Oe.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new vc({...De(this._def),innerType:this,defaultValue:r,typeName:Oe.ZodDefault})}brand(){return new Dh({typeName:Oe.ZodBranded,type:this,...De(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new yc({...De(this._def),innerType:this,catchValue:r,typeName:Oe.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return zh.create(this,e)}readonly(){return _c.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},pse=/^c[^\s-]{8,}$/i,fse=/^[0-9a-z]+$/,mse=/^[0-9A-HJKMNP-TV-Z]{26}$/i,hse=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,gse=/^[a-z0-9_-]{21}$/i,vse=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,yse=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,_se=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,bse="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",s$,xse=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Sse=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,wse=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,$se=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ese=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,kse=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,H2="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Tse=new RegExp(`^${H2}$`);function B2(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Ise(t){return new RegExp(`^${B2(t)}$`)}function Pse(t){let e=`${H2}T${B2(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Ose(t,e){return!!((e==="v4"||!e)&&xse.test(t)||(e==="v6"||!e)&&wse.test(t))}function Rse(t,e){if(!vse.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function Cse(t,e){return!!((e==="v4"||!e)&&Sse.test(t)||(e==="v6"||!e)&&$se.test(t))}var cc=class t extends Ve{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==de.string){let a=this._getOrReturnCtx(e);return se(a,{code:te.invalid_type,expected:de.string,received:a.parsedType}),Pe}let n=new Mr,i;for(let a of this._def.checks)if(a.kind==="min")e.data.lengtha.value&&(i=this._getOrReturnCtx(e,i),se(i,{code:te.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=e.data.length>a.value,s=e.data.lengthe.test(i),{validation:r,code:te.invalid_string,...ge.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...ge.errToObj(e)})}url(e){return this._addCheck({kind:"url",...ge.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...ge.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...ge.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...ge.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...ge.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...ge.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...ge.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...ge.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...ge.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...ge.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...ge.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...ge.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...ge.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...ge.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...ge.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...ge.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...ge.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...ge.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...ge.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...ge.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...ge.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...ge.errToObj(r)})}nonempty(e){return this.min(1,ge.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew cc({checks:[],typeName:Oe.ZodString,coerce:t?.coerce??!1,...De(t)});function Nse(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}var fd=class t extends Ve{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==de.number){let a=this._getOrReturnCtx(e);return se(a,{code:te.invalid_type,expected:de.number,received:a.parsedType}),Pe}let n,i=new Mr;for(let a of this._def.checks)a.kind==="int"?st.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),se(n,{code:te.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),se(n,{code:te.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?Nse(e.data,a.value)!==0&&(n=this._getOrReturnCtx(e,n),se(n,{code:te.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),se(n,{code:te.not_finite,message:a.message}),i.dirty()):st.assertNever(a);return{status:i.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,ge.toString(r))}gt(e,r){return this.setLimit("min",e,!1,ge.toString(r))}lte(e,r){return this.setLimit("max",e,!0,ge.toString(r))}lt(e,r){return this.setLimit("max",e,!1,ge.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:ge.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:ge.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:ge.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:ge.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&st.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew fd({checks:[],typeName:Oe.ZodNumber,coerce:t?.coerce||!1,...De(t)});var md=class t extends Ve{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==de.bigint)return this._getInvalidInput(e);let n,i=new Mr;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),se(n,{code:te.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),se(n,{code:te.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):st.assertNever(a);return{status:i.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return se(r,{code:te.invalid_type,expected:de.bigint,received:r.parsedType}),Pe}gte(e,r){return this.setLimit("min",e,!0,ge.toString(r))}gt(e,r){return this.setLimit("min",e,!1,ge.toString(r))}lte(e,r){return this.setLimit("max",e,!0,ge.toString(r))}lt(e,r){return this.setLimit("max",e,!1,ge.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:ge.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:ge.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew md({checks:[],typeName:Oe.ZodBigInt,coerce:t?.coerce??!1,...De(t)});var hd=class extends Ve{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==de.boolean){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.boolean,received:n.parsedType}),Pe}return Wr(e.data)}};hd.create=t=>new hd({typeName:Oe.ZodBoolean,coerce:t?.coerce||!1,...De(t)});var gd=class t extends Ve{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==de.date){let a=this._getOrReturnCtx(e);return se(a,{code:te.invalid_type,expected:de.date,received:a.parsedType}),Pe}if(Number.isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return se(a,{code:te.invalid_date}),Pe}let n=new Mr,i;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()a.value&&(i=this._getOrReturnCtx(e,i),se(i,{code:te.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):st.assertNever(a);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:ge.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:ge.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew gd({checks:[],coerce:t?.coerce||!1,typeName:Oe.ZodDate,...De(t)});var vd=class extends Ve{_parse(e){if(this._getType(e)!==de.symbol){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.symbol,received:n.parsedType}),Pe}return Wr(e.data)}};vd.create=t=>new vd({typeName:Oe.ZodSymbol,...De(t)});var uc=class extends Ve{_parse(e){if(this._getType(e)!==de.undefined){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.undefined,received:n.parsedType}),Pe}return Wr(e.data)}};uc.create=t=>new uc({typeName:Oe.ZodUndefined,...De(t)});var lc=class extends Ve{_parse(e){if(this._getType(e)!==de.null){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.null,received:n.parsedType}),Pe}return Wr(e.data)}};lc.create=t=>new lc({typeName:Oe.ZodNull,...De(t)});var yd=class extends Ve{constructor(){super(...arguments),this._any=!0}_parse(e){return Wr(e.data)}};yd.create=t=>new yd({typeName:Oe.ZodAny,...De(t)});var Ea=class extends Ve{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Wr(e.data)}};Ea.create=t=>new Ea({typeName:Oe.ZodUnknown,...De(t)});var bi=class extends Ve{_parse(e){let r=this._getOrReturnCtx(e);return se(r,{code:te.invalid_type,expected:de.never,received:r.parsedType}),Pe}};bi.create=t=>new bi({typeName:Oe.ZodNever,...De(t)});var _d=class extends Ve{_parse(e){if(this._getType(e)!==de.undefined){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.void,received:n.parsedType}),Pe}return Wr(e.data)}};_d.create=t=>new _d({typeName:Oe.ZodVoid,...De(t)});var ka=class t extends Ve{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),i=this._def;if(r.parsedType!==de.array)return se(r,{code:te.invalid_type,expected:de.array,received:r.parsedType}),Pe;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.lengthi.maxLength.value&&(se(r,{code:te.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new In(r,o,r.path,s)))).then(o=>Mr.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new In(r,o,r.path,s)));return Mr.mergeArray(n,a)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:ge.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:ge.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:ge.toString(r)}})}nonempty(e){return this.min(1,e)}};ka.create=(t,e)=>new ka({type:t,minLength:null,maxLength:null,exactLength:null,typeName:Oe.ZodArray,...De(e)});function ic(t){if(t instanceof un){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Jn.create(ic(n))}return new un({...t._def,shape:()=>e})}else return t instanceof ka?new ka({...t._def,type:ic(t.element)}):t instanceof Jn?Jn.create(ic(t.unwrap())):t instanceof Hi?Hi.create(ic(t.unwrap())):t instanceof Zi?Zi.create(t.items.map(e=>ic(e))):t}var un=class t extends Ve{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=st.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==de.object){let u=this._getOrReturnCtx(e);return se(u,{code:te.invalid_type,expected:de.object,received:u.parsedType}),Pe}let{status:n,ctx:i}=this._processInputParams(e),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof bi&&this._def.unknownKeys==="strip"))for(let u in i.data)o.includes(u)||s.push(u);let c=[];for(let u of o){let l=a[u],d=i.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new In(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof bi){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of s)c.push({key:{status:"valid",value:l},value:{status:"valid",value:i.data[l]}});else if(u==="strict")s.length>0&&(se(i,{code:te.unrecognized_keys,keys:s}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of s){let d=i.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new In(i,d,i.path,l)),alwaysSet:l in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,p=await l.value;u.push({key:d,value:p,alwaysSet:l.alwaysSet})}return u}).then(u=>Mr.mergeObjectSync(n,u)):Mr.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return ge.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:ge.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Oe.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of st.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of st.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return ic(this)}partial(e){let r={};for(let n of st.objectKeys(this.shape)){let i=this.shape[n];e&&!e[n]?r[n]=i:r[n]=i.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of st.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof Jn;)a=a._def.innerType;r[n]=a}return new t({...this._def,shape:()=>r})}keyof(){return V2(st.objectKeys(this.shape))}};un.create=(t,e)=>new un({shape:()=>t,unknownKeys:"strip",catchall:bi.create(),typeName:Oe.ZodObject,...De(e)});un.strictCreate=(t,e)=>new un({shape:()=>t,unknownKeys:"strict",catchall:bi.create(),typeName:Oe.ZodObject,...De(e)});un.lazycreate=(t,e)=>new un({shape:t,unknownKeys:"strip",catchall:bi.create(),typeName:Oe.ZodObject,...De(e)});var dc=class extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new Tn(s.ctx.common.issues));return se(r,{code:te.invalid_union,unionErrors:o}),Pe}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!a&&(a={result:l,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(c=>new Tn(c));return se(r,{code:te.invalid_union,unionErrors:s}),Pe}}get options(){return this._def.options}};dc.create=(t,e)=>new dc({options:t,typeName:Oe.ZodUnion,...De(e)});var qi=t=>t instanceof fc?qi(t.schema):t instanceof Xn?qi(t.innerType()):t instanceof mc?[t.value]:t instanceof hc?t.options:t instanceof gc?st.objectValues(t.enum):t instanceof vc?qi(t._def.innerType):t instanceof uc?[void 0]:t instanceof lc?[null]:t instanceof Jn?[void 0,...qi(t.unwrap())]:t instanceof Hi?[null,...qi(t.unwrap())]:t instanceof Dh||t instanceof _c?qi(t.unwrap()):t instanceof yc?qi(t._def.innerType):[],_$=class t extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==de.object)return se(r,{code:te.invalid_type,expected:de.object,received:r.parsedType}),Pe;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(se(r,{code:te.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Pe)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let i=new Map;for(let a of r){let o=qi(a.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);i.set(s,a)}}return new t({typeName:Oe.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:i,...De(n)})}};function b$(t,e){let r=wa(t),n=wa(e);if(t===e)return{valid:!0,data:t};if(r===de.object&&n===de.object){let i=st.objectKeys(e),a=st.objectKeys(t).filter(s=>i.indexOf(s)!==-1),o={...t,...e};for(let s of a){let c=b$(t[s],e[s]);if(!c.valid)return{valid:!1};o[s]=c.data}return{valid:!0,data:o}}else if(r===de.array&&n===de.array){if(t.length!==e.length)return{valid:!1};let i=[];for(let a=0;a{if(F4(a)||F4(o))return Pe;let s=b$(a.value,o.value);return s.valid?((Z4(a)||Z4(o))&&r.dirty(),{status:r.value,value:s.data}):(se(n,{code:te.invalid_intersection_types}),Pe)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};pc.create=(t,e,r)=>new pc({left:t,right:e,typeName:Oe.ZodIntersection,...De(r)});var Zi=class t extends Ve{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.array)return se(n,{code:te.invalid_type,expected:de.array,received:n.parsedType}),Pe;if(n.data.lengththis._def.items.length&&(se(n,{code:te.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let c=this._def.items[s]||this._def.rest;return c?c._parse(new In(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>Mr.mergeArray(r,o)):Mr.mergeArray(r,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Zi.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Zi({items:t,typeName:Oe.ZodTuple,rest:null,...De(e)})};var x$=class t extends Ve{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.object)return se(n,{code:te.invalid_type,expected:de.object,received:n.parsedType}),Pe;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new In(n,s,n.path,s)),value:o._parse(new In(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?Mr.mergeObjectAsync(r,i):Mr.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof Ve?new t({keyType:e,valueType:r,typeName:Oe.ZodRecord,...De(n)}):new t({keyType:cc.create(),valueType:e,typeName:Oe.ZodRecord,...De(r)})}},bd=class extends Ve{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.map)return se(n,{code:te.invalid_type,expected:de.map,received:n.parsedType}),Pe;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,c],u)=>({key:i._parse(new In(n,s,n.path,[u,"key"])),value:a._parse(new In(n,c,n.path,[u,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return Pe;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let c of o){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return Pe;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),s.set(u.value,l.value)}return{status:r.value,value:s}}}};bd.create=(t,e,r)=>new bd({valueType:e,keyType:t,typeName:Oe.ZodMap,...De(r)});var xd=class t extends Ve{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.set)return se(n,{code:te.invalid_type,expected:de.set,received:n.parsedType}),Pe;let i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(se(n,{code:te.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(c){let u=new Set;for(let l of c){if(l.status==="aborted")return Pe;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let s=[...n.data.values()].map((c,u)=>a._parse(new In(n,c,n.path,u)));return n.common.async?Promise.all(s).then(c=>o(c)):o(s)}min(e,r){return new t({...this._def,minSize:{value:e,message:ge.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:ge.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};xd.create=(t,e)=>new xd({valueType:t,minSize:null,maxSize:null,typeName:Oe.ZodSet,...De(e)});var S$=class t extends Ve{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==de.function)return se(r,{code:te.invalid_type,expected:de.function,received:r.parsedType}),Pe;function n(s,c){return y$({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,v$(),pd].filter(u=>!!u),issueData:{code:te.invalid_arguments,argumentsError:c}})}function i(s,c){return y$({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,v$(),pd].filter(u=>!!u),issueData:{code:te.invalid_return_type,returnTypeError:c}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof So){let s=this;return Wr(async function(...c){let u=new Tn([]),l=await s._def.args.parseAsync(c,a).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(o,this,l);return await s._def.returns._def.type.parseAsync(d,a).catch(f=>{throw u.addIssue(i(d,f)),u})})}else{let s=this;return Wr(function(...c){let u=s._def.args.safeParse(c,a);if(!u.success)throw new Tn([n(c,u.error)]);let l=Reflect.apply(o,this,u.data),d=s._def.returns.safeParse(l,a);if(!d.success)throw new Tn([i(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Zi.create(e).rest(Ea.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Zi.create([]).rest(Ea.create()),returns:r||Ea.create(),typeName:Oe.ZodFunction,...De(n)})}},fc=class extends Ve{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};fc.create=(t,e)=>new fc({getter:t,typeName:Oe.ZodLazy,...De(e)});var mc=class extends Ve{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return se(r,{received:r.data,code:te.invalid_literal,expected:this._def.value}),Pe}return{status:"valid",value:e.data}}get value(){return this._def.value}};mc.create=(t,e)=>new mc({value:t,typeName:Oe.ZodLiteral,...De(e)});function V2(t,e){return new hc({values:t,typeName:Oe.ZodEnum,...De(e)})}var hc=class t extends Ve{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return se(r,{expected:st.joinValues(n),received:r.parsedType,code:te.invalid_type}),Pe}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return se(r,{received:r.data,code:te.invalid_enum_value,options:n}),Pe}return Wr(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};hc.create=V2;var gc=class extends Ve{_parse(e){let r=st.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==de.string&&n.parsedType!==de.number){let i=st.objectValues(r);return se(n,{expected:st.joinValues(i),received:n.parsedType,code:te.invalid_type}),Pe}if(this._cache||(this._cache=new Set(st.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=st.objectValues(r);return se(n,{received:n.data,code:te.invalid_enum_value,options:i}),Pe}return Wr(e.data)}get enum(){return this._def.values}};gc.create=(t,e)=>new gc({values:t,typeName:Oe.ZodNativeEnum,...De(e)});var So=class extends Ve{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==de.promise&&r.common.async===!1)return se(r,{code:te.invalid_type,expected:de.promise,received:r.parsedType}),Pe;let n=r.parsedType===de.promise?r.data:Promise.resolve(r.data);return Wr(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};So.create=(t,e)=>new So({type:t,typeName:Oe.ZodPromise,...De(e)});var Xn=class extends Ve{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Oe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:o=>{se(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return Pe;let c=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return c.status==="aborted"?Pe:c.status==="dirty"||r.value==="dirty"?ud(c.value):c});{if(r.value==="aborted")return Pe;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?Pe:s.status==="dirty"||r.value==="dirty"?ud(s.value):s}}if(i.type==="refinement"){let o=s=>{let c=i.refinement(s,a);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Pe:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?Pe:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!sc(o))return Pe;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>sc(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):Pe);st.assertNever(i)}};Xn.create=(t,e,r)=>new Xn({schema:t,typeName:Oe.ZodEffects,effect:e,...De(r)});Xn.createWithPreprocess=(t,e,r)=>new Xn({schema:e,effect:{type:"preprocess",transform:t},typeName:Oe.ZodEffects,...De(r)});var Jn=class extends Ve{_parse(e){return this._getType(e)===de.undefined?Wr(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Jn.create=(t,e)=>new Jn({innerType:t,typeName:Oe.ZodOptional,...De(e)});var Hi=class extends Ve{_parse(e){return this._getType(e)===de.null?Wr(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Hi.create=(t,e)=>new Hi({innerType:t,typeName:Oe.ZodNullable,...De(e)});var vc=class extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===de.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};vc.create=(t,e)=>new vc({innerType:t,typeName:Oe.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...De(e)});var yc=class extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Mh(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Tn(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Tn(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};yc.create=(t,e)=>new yc({innerType:t,typeName:Oe.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...De(e)});var Sd=class extends Ve{_parse(e){if(this._getType(e)!==de.nan){let n=this._getOrReturnCtx(e);return se(n,{code:te.invalid_type,expected:de.nan,received:n.parsedType}),Pe}return{status:"valid",value:e.data}}};Sd.create=t=>new Sd({typeName:Oe.ZodNaN,...De(t)});var Dh=class extends Ve{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},zh=class t extends Ve{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Pe:a.status==="dirty"?(r.dirty(),ud(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Pe:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:Oe.ZodPipeline})}},_c=class extends Ve{_parse(e){let r=this._def.innerType._parse(e),n=i=>(sc(i)&&(i.value=Object.freeze(i.value)),i);return Mh(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};_c.create=(t,e)=>new _c({innerType:t,typeName:Oe.ZodReadonly,...De(e)});var R1e={object:un.lazycreate},Oe;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(Oe||(Oe={}));var C1e=cc.create,N1e=fd.create,j1e=Sd.create,A1e=md.create,M1e=hd.create,D1e=gd.create,z1e=vd.create,U1e=uc.create,L1e=lc.create,q1e=yd.create,F1e=Ea.create,Z1e=bi.create,H1e=_d.create,B1e=ka.create,V1e=un.create,G1e=un.strictCreate,W1e=dc.create,K1e=_$.create,J1e=pc.create,X1e=Zi.create,Y1e=x$.create,Q1e=bd.create,eIe=xd.create,tIe=S$.create,rIe=fc.create,nIe=mc.create,iIe=hc.create,aIe=gc.create,oIe=So.create,sIe=Xn.create,cIe=Jn.create,uIe=Hi.create,lIe=Xn.createWithPreprocess,dIe=zh.create,pIe=Object.freeze({status:"aborted"});function X(t,e,r){function n(s,c){var u;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(u=s._zod).traits??(u.traits=new Set),s._zod.traits.add(t),e(s,c);for(let l in o.prototype)l in s||Object.defineProperty(s,l,{value:o.prototype[l].bind(s)});s._zod.constr=o,s._zod.def=c}let i=r?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:t});function o(s){var c;let u=r?.Parent?new a:this;n(u,s),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(o,"init",{value:n}),Object.defineProperty(o,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(o,"name",{value:t}),o}var wo=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},w$={};function Bi(t){return t&&Object.assign(w$,t),w$}var Dt={};d2(Dt,{unwrapMessage:()=>ld,stringifyPrimitive:()=>q$,required:()=>Yse,randomString:()=>qse,propertyKeyTypes:()=>X2,promiseAllObject:()=>Lse,primitiveTypes:()=>Hse,prefixIssues:()=>$a,pick:()=>Gse,partial:()=>Xse,optionalKeys:()=>Y2,omit:()=>Wse,numKeys:()=>Fse,nullish:()=>Qh,normalizeParams:()=>ke,merge:()=>Jse,jsonStringifyReplacer:()=>W2,joinValues:()=>$$,issue:()=>e6,isPlainObject:()=>$d,isObject:()=>wd,getSizableOrigin:()=>Qse,getParsedType:()=>Zse,getLengthableOrigin:()=>tg,getEnumValues:()=>G2,getElementAtPath:()=>Use,floatSafeRemainder:()=>K2,finalizeIssue:()=>Vi,extend:()=>Kse,escapeRegex:()=>Ec,esc:()=>ac,defineLazy:()=>zt,createTransparentProxy:()=>Bse,clone:()=>Pa,cleanRegex:()=>eg,cleanEnum:()=>ece,captureStackTrace:()=>L$,cached:()=>Yh,assignProp:()=>U$,assertNotEqual:()=>Ase,assertNever:()=>Dse,assertIs:()=>Mse,assertEqual:()=>jse,assert:()=>zse,allowsEval:()=>J2,aborted:()=>oc,NUMBER_FORMAT_RANGES:()=>Q2,Class:()=>E$,BIGINT_FORMAT_RANGES:()=>Vse});function jse(t){return t}function Ase(t){return t}function Mse(t){}function Dse(t){throw new Error}function zse(t){}function G2(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}function $$(t,e="|"){return t.map(r=>q$(r)).join(e)}function W2(t,e){return typeof e=="bigint"?e.toString():e}function Yh(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Qh(t){return t==null}function eg(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function K2(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}function zt(t,e,r){Object.defineProperty(t,e,{get(){{let i=r();return t[e]=i,i}throw new Error("cached value already set")},set(i){Object.defineProperty(t,e,{value:i})},configurable:!0})}function U$(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Use(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Lse(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let i={};for(let a=0;a{};function wd(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var J2=Yh(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function $d(t){if(wd(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(wd(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Fse(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Zse=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},X2=new Set(["string","number","symbol"]),Hse=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ec(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Pa(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function ke(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Bse(t){let e;return new Proxy({},{get(r,n,i){return e??(e=t()),Reflect.get(e,n,i)},set(r,n,i,a){return e??(e=t()),Reflect.set(e,n,i,a)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,i){return e??(e=t()),Reflect.defineProperty(e,n,i)}})}function q$(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Y2(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Q2={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Vse={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Gse(t,e){let r={},n=t._zod.def;for(let i in e){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&(r[i]=n.shape[i])}return Pa(t,{...t._zod.def,shape:r,checks:[]})}function Wse(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let i in e){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&delete r[i]}return Pa(t,{...t._zod.def,shape:r,checks:[]})}function Kse(t,e){if(!$d(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return U$(this,"shape",n),n},checks:[]};return Pa(t,r)}function Jse(t,e){return Pa(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return U$(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Xse(t,e,r){let n=e._zod.def.shape,i={...n};if(r)for(let a in r){if(!(a in n))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=t?new t({type:"optional",innerType:n[a]}):n[a])}else for(let a in n)i[a]=t?new t({type:"optional",innerType:n[a]}):n[a];return Pa(e,{...e._zod.def,shape:i,checks:[]})}function Yse(t,e,r){let n=e._zod.def.shape,i={...n};if(r)for(let a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new t({type:"nonoptional",innerType:n[a]}))}else for(let a in n)i[a]=new t({type:"nonoptional",innerType:n[a]});return Pa(e,{...e._zod.def,shape:i,checks:[]})}function oc(t,e=0){for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function ld(t){return typeof t=="string"?t:t?.message}function Vi(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let i=ld(t.inst?._zod.def?.error?.(t))??ld(e?.error?.(t))??ld(r.customError?.(t))??ld(r.localeError?.(t))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Qse(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function tg(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function e6(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function ece(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var E$=class{constructor(...e){}},t6=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,W2,2)},enumerable:!0})},r6=X("$ZodError",t6),n6=X("$ZodError",t6,{Parent:Error});function tce(t,e=r=>r.message){let r={},n=[];for(let i of t.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:r}}function rce(t,e){let r=e||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>i({issues:s}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)n._errors.push(r(o));else{let s=n,c=0;for(;c(e,r,n,i)=>{let a=n?Object.assign(n,{async:!1}):{async:!1},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new wo;if(o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>Vi(c,a,Bi())));throw L$(s,i?.callee),s}return o.value};var ice=t=>async(e,r,n,i)=>{let a=n?Object.assign(n,{async:!0}):{async:!0},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>Vi(c,a,Bi())));throw L$(s,i?.callee),s}return o.value};var i6=t=>(e,r,n)=>{let i=n?{...n,async:!1}:{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new wo;return a.issues.length?{success:!1,error:new(t??r6)(a.issues.map(o=>Vi(o,i,Bi())))}:{success:!0,data:a.value}},ace=i6(n6),a6=t=>async(e,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:r,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new t(a.issues.map(o=>Vi(o,i,Bi())))}:{success:!0,data:a.value}},oce=a6(n6),sce=/^[cC][^\s-]{8,}$/,cce=/^[0-9a-z]+$/,uce=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,lce=/^[0-9a-vA-V]{20}$/,dce=/^[A-Za-z0-9]{27}$/,pce=/^[a-zA-Z0-9_-]{21}$/,fce=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,mce=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,B4=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,hce=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,gce="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function vce(){return new RegExp(gce,"u")}var yce=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,_ce=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,bce=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,xce=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Sce=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,o6=/^[A-Za-z0-9_-]*$/,wce=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,$ce=/^\+(?:[0-9]){6,14}[0-9]$/,s6="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Ece=new RegExp(`^${s6}$`);function c6(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function kce(t){return new RegExp(`^${c6(t)}$`)}function Tce(t){let e=c6({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${s6}T(?:${n})$`)}var Ice=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},Pce=/^\d+$/,Oce=/^-?\d+(?:\.\d+)?/i,Rce=/true|false/i,Cce=/null/i,Nce=/^[^A-Z]*$/,jce=/^[^a-z]*$/,Kr=X("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),u6={number:"number",bigint:"bigint",object:"date"},l6=X("$ZodCheckLessThan",(t,e)=>{Kr.init(t,e);let r=u6[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{Kr.init(t,e);let r=u6[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>a&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Ace=X("$ZodCheckMultipleOf",(t,e)=>{Kr.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):K2(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),Mce=X("$ZodCheckNumberFormat",(t,e)=>{Kr.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[i,a]=Q2[e.format];t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,s.minimum=i,s.maximum=a,r&&(s.pattern=Pce)}),t._zod.check=o=>{let s=o.value;if(r){if(!Number.isInteger(s)){o.issues.push({expected:n,format:e.format,code:"invalid_type",input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):o.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}sa&&o.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inst:t})}}),Dce=X("$ZodCheckMaxLength",(t,e)=>{Kr.init(t,e),t._zod.when=r=>{let n=r.value;return!Qh(n)&&n.length!==void 0},t._zod.onattach.push(r=>{let n=r._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let n=r.value;if(n.length<=e.maximum)return;let a=tg(n);r.issues.push({origin:a,code:"too_big",maximum:e.maximum,inclusive:!0,input:n,inst:t,continue:!e.abort})}}),zce=X("$ZodCheckMinLength",(t,e)=>{Kr.init(t,e),t._zod.when=r=>{let n=r.value;return!Qh(n)&&n.length!==void 0},t._zod.onattach.push(r=>{let n=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>n&&(r._zod.bag.minimum=e.minimum)}),t._zod.check=r=>{let n=r.value;if(n.length>=e.minimum)return;let a=tg(n);r.issues.push({origin:a,code:"too_small",minimum:e.minimum,inclusive:!0,input:n,inst:t,continue:!e.abort})}}),Uce=X("$ZodCheckLengthEquals",(t,e)=>{Kr.init(t,e),t._zod.when=r=>{let n=r.value;return!Qh(n)&&n.length!==void 0},t._zod.onattach.push(r=>{let n=r._zod.bag;n.minimum=e.length,n.maximum=e.length,n.length=e.length}),t._zod.check=r=>{let n=r.value,i=n.length;if(i===e.length)return;let a=tg(n),o=i>e.length;r.issues.push({origin:a,...o?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:r.value,inst:t,continue:!e.abort})}}),rg=X("$ZodCheckStringFormat",(t,e)=>{var r,n;Kr.init(t,e),t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,e.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Lce=X("$ZodCheckRegex",(t,e)=>{rg.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),qce=X("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Nce),rg.init(t,e)}),Fce=X("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=jce),rg.init(t,e)}),Zce=X("$ZodCheckIncludes",(t,e)=>{Kr.init(t,e);let r=Ec(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(i=>{let a=i._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(n)}),t._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:t,continue:!e.abort})}}),Hce=X("$ZodCheckStartsWith",(t,e)=>{Kr.init(t,e);let r=new RegExp(`^${Ec(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Bce=X("$ZodCheckEndsWith",(t,e)=>{Kr.init(t,e);let r=new RegExp(`.*${Ec(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}}),Vce=X("$ZodCheckOverwrite",(t,e)=>{Kr.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}}),k$=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` `).filter(o=>o),i=Math.min(...n.map(o=>o.length-o.trimStart().length)),a=n.map(o=>o.slice(i)).map(o=>" ".repeat(this.indent*2)+o);for(let o of a)this.content.push(o)}compile(){let e=Function,r=this?.args,i=[...(this?.content??[""]).map(a=>` ${a}`)];return new e(...r,i.join(` -`))}},Vce={major:4,minor:0,patch:0},Ut=X("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Vce;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let i of n)for(let a of i._zod.onattach)a(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let i=(a,o,s)=>{let c=oc(a),u;for(let l of o){if(l._zod.when){if(!l._zod.when(a))continue}else if(c)continue;let d=a.issues.length,p=l._zod.check(a);if(p instanceof Promise&&s?.async===!1)throw new wo;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,a.issues.length!==d&&(c||(c=oc(a,d)))});else{if(a.issues.length===d)continue;c||(c=oc(a,d))}}return u?u.then(()=>a):a};t._zod.run=(a,o)=>{let s=t._zod.parse(a,o);if(s instanceof Promise){if(o.async===!1)throw new wo;return s.then(c=>i(c,n,o))}return i(s,n,o)}}t["~standard"]={validate:i=>{try{let a=ice(t,i);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return ace(t,i).then(o=>o.success?{value:o.data}:{issues:o.error?.issues})}},vendor:"zod",version:1}}),L$=X("$ZodString",(t,e)=>{Ut.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Tce(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),Lt=X("$ZodStringFormat",(t,e)=>{rg.init(t,e),L$.init(t,e)}),Gce=X("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=fce),Lt.init(t,e)}),Wce=X("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=U4(n))}else e.pattern??(e.pattern=U4());Lt.init(t,e)}),Kce=X("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=mce),Lt.init(t,e)}),Jce=X("$ZodURL",(t,e)=>{Lt.init(t,e),t._zod.check=r=>{try{let n=r.value,i=new URL(n),a=i.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Sce.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&a.endsWith("/")?r.value=a.slice(0,-1):r.value=a;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),Xce=X("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=gce()),Lt.init(t,e)}),Yce=X("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=dce),Lt.init(t,e)}),Qce=X("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=oce),Lt.init(t,e)}),eue=X("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=sce),Lt.init(t,e)}),tue=X("$ZodULID",(t,e)=>{e.pattern??(e.pattern=cce),Lt.init(t,e)}),rue=X("$ZodXID",(t,e)=>{e.pattern??(e.pattern=uce),Lt.init(t,e)}),nue=X("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=lce),Lt.init(t,e)}),iue=X("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=kce(e)),Lt.init(t,e)}),aue=X("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=$ce),Lt.init(t,e)}),oue=X("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=Ece(e)),Lt.init(t,e)}),sue=X("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=pce),Lt.init(t,e)}),cue=X("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=vce),Lt.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),uue=X("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=yce),Lt.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),lue=X("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=_ce),Lt.init(t,e)}),due=X("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=bce),Lt.init(t,e),t._zod.check=r=>{let[n,i]=r.value.split("/");try{if(!i)throw new Error;let a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function o6(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var pue=X("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=xce),Lt.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{o6(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function fue(t){if(!e6.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return o6(r)}var mue=X("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=e6),Lt.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{fue(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),hue=X("$ZodE164",(t,e)=>{e.pattern??(e.pattern=wce),Lt.init(t,e)});function gue(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch{return!1}}var vue=X("$ZodJWT",(t,e)=>{Lt.init(t,e),t._zod.check=r=>{gue(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),s6=X("$ZodNumber",(t,e)=>{Ut.init(t,e),t._zod.pattern=t._zod.bag.pattern??Pce,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let a=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:t,...a?{received:a}:{}}),r}}),yue=X("$ZodNumber",(t,e)=>{Ace.init(t,e),s6.init(t,e)}),_ue=X("$ZodBoolean",(t,e)=>{Ut.init(t,e),t._zod.pattern=Oce,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:t}),r}}),bue=X("$ZodNull",(t,e)=>{Ut.init(t,e),t._zod.pattern=Rce,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:t}),r}}),xue=X("$ZodUnknown",(t,e)=>{Ut.init(t,e),t._zod.parse=r=>r}),Sue=X("$ZodNever",(t,e)=>{Ut.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function q4(t,e,r){t.issues.length&&e.issues.push(...wa(r,t.issues)),e.value[r]=t.value}var wue=X("$ZodArray",(t,e)=>{Ut.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:t}),r;r.value=Array(i.length);let a=[];for(let o=0;oq4(u,r,o))):q4(c,r,o)}return a.length?Promise.all(a).then(()=>r):r}});function Ih(t,e,r){t.issues.length&&e.issues.push(...wa(r,t.issues)),e.value[r]=t.value}function L4(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...wa(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var $ue=X("$ZodObject",(t,e)=>{Ut.init(t,e);let r=Yh(()=>{let d=Object.keys(e.shape);for(let f of d)if(!(e.shape[f]instanceof Ut))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let p=V2(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});zt(t._zod,"propValues",()=>{let d=e.shape,p={};for(let f in d){let h=d[f]._zod;if(h.values){p[f]??(p[f]=new Set);for(let _ of h.values)p[f].add(_)}}return p});let n=d=>{let p=new E$(["shape","payload","ctx"]),f=r.value,h=y=>{let v=ac(y);return`shape[${v}]._zod.run({ value: input[${v}], issues: [] }, ctx)`};p.write("const input = payload.value;");let _=Object.create(null),g=0;for(let y of f.keys)_[y]=`key_${g++}`;p.write("const newResult = {}");for(let y of f.keys)if(f.optionalKeys.has(y)){let v=_[y];p.write(`const ${v} = ${h(y)};`);let b=ac(y);p.write(` +`))}},Gce={major:4,minor:0,patch:0},Ut=X("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Gce;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let i of n)for(let a of i._zod.onattach)a(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let i=(a,o,s)=>{let c=oc(a),u;for(let l of o){if(l._zod.when){if(!l._zod.when(a))continue}else if(c)continue;let d=a.issues.length,p=l._zod.check(a);if(p instanceof Promise&&s?.async===!1)throw new wo;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,a.issues.length!==d&&(c||(c=oc(a,d)))});else{if(a.issues.length===d)continue;c||(c=oc(a,d))}}return u?u.then(()=>a):a};t._zod.run=(a,o)=>{let s=t._zod.parse(a,o);if(s instanceof Promise){if(o.async===!1)throw new wo;return s.then(c=>i(c,n,o))}return i(s,n,o)}}t["~standard"]={validate:i=>{try{let a=ace(t,i);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return oce(t,i).then(o=>o.success?{value:o.data}:{issues:o.error?.issues})}},vendor:"zod",version:1}}),F$=X("$ZodString",(t,e)=>{Ut.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Ice(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),qt=X("$ZodStringFormat",(t,e)=>{rg.init(t,e),F$.init(t,e)}),Wce=X("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=mce),qt.init(t,e)}),Kce=X("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=B4(n))}else e.pattern??(e.pattern=B4());qt.init(t,e)}),Jce=X("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=hce),qt.init(t,e)}),Xce=X("$ZodURL",(t,e)=>{qt.init(t,e),t._zod.check=r=>{try{let n=r.value,i=new URL(n),a=i.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:wce.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&a.endsWith("/")?r.value=a.slice(0,-1):r.value=a;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),Yce=X("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=vce()),qt.init(t,e)}),Qce=X("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=pce),qt.init(t,e)}),eue=X("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=sce),qt.init(t,e)}),tue=X("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=cce),qt.init(t,e)}),rue=X("$ZodULID",(t,e)=>{e.pattern??(e.pattern=uce),qt.init(t,e)}),nue=X("$ZodXID",(t,e)=>{e.pattern??(e.pattern=lce),qt.init(t,e)}),iue=X("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=dce),qt.init(t,e)}),aue=X("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Tce(e)),qt.init(t,e)}),oue=X("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=Ece),qt.init(t,e)}),sue=X("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=kce(e)),qt.init(t,e)}),cue=X("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=fce),qt.init(t,e)}),uue=X("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=yce),qt.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),lue=X("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=_ce),qt.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),due=X("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=bce),qt.init(t,e)}),pue=X("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=xce),qt.init(t,e),t._zod.check=r=>{let[n,i]=r.value.split("/");try{if(!i)throw new Error;let a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function p6(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var fue=X("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=Sce),qt.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{p6(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function mue(t){if(!o6.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return p6(r)}var hue=X("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=o6),qt.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{mue(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),gue=X("$ZodE164",(t,e)=>{e.pattern??(e.pattern=$ce),qt.init(t,e)});function vue(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch{return!1}}var yue=X("$ZodJWT",(t,e)=>{qt.init(t,e),t._zod.check=r=>{vue(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),f6=X("$ZodNumber",(t,e)=>{Ut.init(t,e),t._zod.pattern=t._zod.bag.pattern??Oce,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let a=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:t,...a?{received:a}:{}}),r}}),_ue=X("$ZodNumber",(t,e)=>{Mce.init(t,e),f6.init(t,e)}),bue=X("$ZodBoolean",(t,e)=>{Ut.init(t,e),t._zod.pattern=Rce,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:t}),r}}),xue=X("$ZodNull",(t,e)=>{Ut.init(t,e),t._zod.pattern=Cce,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:t}),r}}),Sue=X("$ZodUnknown",(t,e)=>{Ut.init(t,e),t._zod.parse=r=>r}),wue=X("$ZodNever",(t,e)=>{Ut.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function V4(t,e,r){t.issues.length&&e.issues.push(...$a(r,t.issues)),e.value[r]=t.value}var $ue=X("$ZodArray",(t,e)=>{Ut.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:t}),r;r.value=Array(i.length);let a=[];for(let o=0;oV4(u,r,o))):V4(c,r,o)}return a.length?Promise.all(a).then(()=>r):r}});function Ih(t,e,r){t.issues.length&&e.issues.push(...$a(r,t.issues)),e.value[r]=t.value}function G4(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...$a(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var Eue=X("$ZodObject",(t,e)=>{Ut.init(t,e);let r=Yh(()=>{let d=Object.keys(e.shape);for(let f of d)if(!(e.shape[f]instanceof Ut))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let p=Y2(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});zt(t._zod,"propValues",()=>{let d=e.shape,p={};for(let f in d){let h=d[f]._zod;if(h.values){p[f]??(p[f]=new Set);for(let _ of h.values)p[f].add(_)}}return p});let n=d=>{let p=new k$(["shape","payload","ctx"]),f=r.value,h=y=>{let v=ac(y);return`shape[${v}]._zod.run({ value: input[${v}], issues: [] }, ctx)`};p.write("const input = payload.value;");let _=Object.create(null),g=0;for(let y of f.keys)_[y]=`key_${g++}`;p.write("const newResult = {}");for(let y of f.keys)if(f.optionalKeys.has(y)){let v=_[y];p.write(`const ${v} = ${h(y)};`);let b=ac(y);p.write(` if (${v}.issues.length) { if (input[${b}] === undefined) { if (${b} in input) { @@ -1146,12 +1146,12 @@ ${n}`}function tne(t,e){let r=yo.default.join(t,"CLAUDE.md"),n=`${r}.tmp`;(0,Gn. if (${v}.issues.length) payload.issues = payload.issues.concat(${v}.issues.map(iss => ({ ...iss, path: iss.path ? [${ac(y)}, ...iss.path] : [${ac(y)}] - })));`),p.write(`newResult[${ac(y)}] = ${v}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let m=p.compile();return(y,v)=>m(d,y,v)},i,a=wd,o=!S$.jitless,c=o&&H2.value,u=e.catchall,l;t._zod.parse=(d,p)=>{l??(l=r.value);let f=d.value;if(!a(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:t}),d;let h=[];if(o&&c&&p?.async===!1&&p.jitless!==!0)i||(i=n(e.shape)),d=i(d,p);else{d.value={};let v=l.shape;for(let b of l.keys){let S=v[b],x=S._zod.run({value:f[b],issues:[]},p),w=S._zod.optin==="optional"&&S._zod.optout==="optional";x instanceof Promise?h.push(x.then(E=>w?L4(E,d,b,f):Ih(E,d,b))):w?L4(x,d,b,f):Ih(x,d,b)}}if(!u)return h.length?Promise.all(h).then(()=>d):d;let _=[],g=l.keySet,m=u._zod,y=m.def.type;for(let v of Object.keys(f)){if(g.has(v))continue;if(y==="never"){_.push(v);continue}let b=m.run({value:f[v],issues:[]},p);b instanceof Promise?h.push(b.then(S=>Ih(S,d,v))):Ih(b,d,v)}return _.length&&d.issues.push({code:"unrecognized_keys",keys:_,input:f,inst:t}),h.length?Promise.all(h).then(()=>d):d}});function F4(t,e,r,n){for(let i of t)if(i.issues.length===0)return e.value=i.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(i=>i.issues.map(a=>Bi(a,n,Hi())))}),e}var c6=X("$ZodUnion",(t,e)=>{Ut.init(t,e),zt(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),zt(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),zt(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),zt(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>eg(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let i=!1,a=[];for(let o of e.options){let s=o._zod.run({value:r.value,issues:[]},n);if(s instanceof Promise)a.push(s),i=!0;else{if(s.issues.length===0)return s;a.push(s)}}return i?Promise.all(a).then(o=>F4(o,r,t,n)):F4(a,r,t,n)}}),Eue=X("$ZodDiscriminatedUnion",(t,e)=>{c6.init(t,e);let r=t._zod.parse;zt(t._zod,"propValues",()=>{let i={};for(let a of e.options){let o=a._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let[s,c]of Object.entries(o)){i[s]||(i[s]=new Set);for(let u of c)i[s].add(u)}}return i});let n=Yh(()=>{let i=e.options,a=new Map;for(let o of i){let s=o._zod.propValues[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let c of s){if(a.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);a.set(c,o)}}return a});t._zod.parse=(i,a)=>{let o=i.value;if(!wd(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:t}),i;let s=n.value.get(o?.[e.discriminator]);return s?s._zod.run(i,a):e.unionFallback?r(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:o,path:[e.discriminator],inst:t}),i)}}),kue=X("$ZodIntersection",(t,e)=>{Ut.init(t,e),t._zod.parse=(r,n)=>{let i=r.value,a=e.left._zod.run({value:i,issues:[]},n),o=e.right._zod.run({value:i,issues:[]},n);return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then(([c,u])=>Z4(r,c,u)):Z4(r,a,o)}});function k$(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if($d(t)&&$d(e)){let r=Object.keys(e),n=Object.keys(t).filter(a=>r.indexOf(a)!==-1),i={...t,...e};for(let a of n){let o=k$(t[a],e[a]);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};i[a]=o.data}return{valid:!0,data:i}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n{Ut.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!$d(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:t}),r;let a=[];if(e.keyType._zod.values){let o=e.keyType._zod.values;r.value={};for(let c of o)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:i[c],issues:[]},n);u instanceof Promise?a.push(u.then(l=>{l.issues.length&&r.issues.push(...wa(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...wa(c,u.issues)),r.value[c]=u.value)}let s;for(let c in i)o.has(c)||(s=s??[],s.push(c));s&&s.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:t,keys:s})}else{r.value={};for(let o of Reflect.ownKeys(i)){if(o==="__proto__")continue;let s=e.keyType._zod.run({value:o,issues:[]},n);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(s.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:s.issues.map(u=>Bi(u,n,Hi())),input:o,path:[o],inst:t}),r.value[s.value]=s.value;continue}let c=e.valueType._zod.run({value:i[o],issues:[]},n);c instanceof Promise?a.push(c.then(u=>{u.issues.length&&r.issues.push(...wa(o,u.issues)),r.value[s.value]=u.value})):(c.issues.length&&r.issues.push(...wa(o,c.issues)),r.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>r):r}}),Iue=X("$ZodEnum",(t,e)=>{Ut.init(t,e);let r=L2(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>B2.has(typeof n)).map(n=>typeof n=="string"?Ec(n):n.toString()).join("|")})$`),t._zod.parse=(n,i)=>{let a=n.value;return t._zod.values.has(a)||n.issues.push({code:"invalid_value",values:r,input:a,inst:t}),n}}),Pue=X("$ZodLiteral",(t,e)=>{Ut.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?Ec(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let i=r.value;return t._zod.values.has(i)||r.issues.push({code:"invalid_value",values:e.values,input:i,inst:t}),r}}),Oue=X("$ZodTransform",(t,e)=>{Ut.init(t,e),t._zod.parse=(r,n)=>{let i=e.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(r.value=o,r));if(i instanceof Promise)throw new wo;return r.value=i,r}}),Rue=X("$ZodOptional",(t,e)=>{Ut.init(t,e),t._zod.optin="optional",t._zod.optout="optional",zt(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),zt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${eg(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),Cue=X("$ZodNullable",(t,e)=>{Ut.init(t,e),zt(t._zod,"optin",()=>e.innerType._zod.optin),zt(t._zod,"optout",()=>e.innerType._zod.optout),zt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${eg(r.source)}|null)$`):void 0}),zt(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Nue=X("$ZodDefault",(t,e)=>{Ut.init(t,e),t._zod.optin="optional",zt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>H4(a,e)):H4(i,e)}});function H4(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var jue=X("$ZodPrefault",(t,e)=>{Ut.init(t,e),t._zod.optin="optional",zt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Aue=X("$ZodNonOptional",(t,e)=>{Ut.init(t,e),zt(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>B4(a,t)):B4(i,t)}});function B4(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Mue=X("$ZodCatch",(t,e)=>{Ut.init(t,e),t._zod.optin="optional",zt(t._zod,"optout",()=>e.innerType._zod.optout),zt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.value,a.issues.length&&(r.value=e.catchValue({...r,error:{issues:a.issues.map(o=>Bi(o,n,Hi()))},input:r.value}),r.issues=[]),r)):(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>Bi(a,n,Hi()))},input:r.value}),r.issues=[]),r)}}),Due=X("$ZodPipe",(t,e)=>{Ut.init(t,e),zt(t._zod,"values",()=>e.in._zod.values),zt(t._zod,"optin",()=>e.in._zod.optin),zt(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(a=>V4(a,e,n)):V4(i,e,n)}});function V4(t,e,r){return oc(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var zue=X("$ZodReadonly",(t,e)=>{Ut.init(t,e),zt(t._zod,"propValues",()=>e.innerType._zod.propValues),zt(t._zod,"values",()=>e.innerType._zod.values),zt(t._zod,"optin",()=>e.innerType._zod.optin),zt(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(G4):G4(i)}});function G4(t){return t.value=Object.freeze(t.value),t}var Uue=X("$ZodCustom",(t,e)=>{Kr.init(t,e),Ut.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,i=e.fn(n);if(i instanceof Promise)return i.then(a=>W4(a,r,n,t));W4(i,r,n,t)}});function W4(t,e,r,n){if(!t){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),e.issues.push(W2(i))}}var que=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},Lue=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){return t[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${que(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${q$(n.values[0])}`:`Invalid option: expected one of ${w$(n.values,"|")}`;case"too_big":{let i=n.inclusive?"<=":"<",a=e(n.origin);return a?`Too big: expected ${n.origin??"value"} to have ${i}${n.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${i}${n.maximum.toString()}`}case"too_small":{let i=n.inclusive?">=":">",a=e(n.origin);return a?`Too small: expected ${n.origin} to have ${i}${n.minimum.toString()} ${a.unit}`:`Too small: expected ${n.origin} to be ${i}${n.minimum.toString()}`}case"invalid_format":{let i=n;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${w$(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function Fue(){return{localeError:Lue()}}var T$=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}remove(e){return this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Zue(){return new T$}var Ph=Zue();function Hue(t,e){return new t({type:"string",...ke(e)})}function Bue(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...ke(e)})}function K4(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...ke(e)})}function Vue(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...ke(e)})}function Gue(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ke(e)})}function Wue(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ke(e)})}function Kue(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ke(e)})}function Jue(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...ke(e)})}function Xue(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...ke(e)})}function Yue(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...ke(e)})}function Que(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...ke(e)})}function ele(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...ke(e)})}function tle(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...ke(e)})}function rle(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...ke(e)})}function nle(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...ke(e)})}function ile(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...ke(e)})}function ale(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...ke(e)})}function ole(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ke(e)})}function sle(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ke(e)})}function cle(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...ke(e)})}function ule(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...ke(e)})}function lle(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...ke(e)})}function dle(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...ke(e)})}function ple(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ke(e)})}function fle(t,e){return new t({type:"string",format:"date",check:"string_format",...ke(e)})}function mle(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...ke(e)})}function hle(t,e){return new t({type:"string",format:"duration",check:"string_format",...ke(e)})}function gle(t,e){return new t({type:"number",checks:[],...ke(e)})}function vle(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...ke(e)})}function yle(t,e){return new t({type:"boolean",...ke(e)})}function _le(t,e){return new t({type:"null",...ke(e)})}function ble(t){return new t({type:"unknown"})}function xle(t,e){return new t({type:"never",...ke(e)})}function J4(t,e){return new i6({check:"less_than",...ke(e),value:t,inclusive:!1})}function s$(t,e){return new i6({check:"less_than",...ke(e),value:t,inclusive:!0})}function X4(t,e){return new a6({check:"greater_than",...ke(e),value:t,inclusive:!1})}function c$(t,e){return new a6({check:"greater_than",...ke(e),value:t,inclusive:!0})}function Y4(t,e){return new jce({check:"multiple_of",...ke(e),value:t})}function u6(t,e){return new Mce({check:"max_length",...ke(e),maximum:t})}function Uh(t,e){return new Dce({check:"min_length",...ke(e),minimum:t})}function l6(t,e){return new zce({check:"length_equals",...ke(e),length:t})}function Sle(t,e){return new Uce({check:"string_format",format:"regex",...ke(e),pattern:t})}function wle(t){return new qce({check:"string_format",format:"lowercase",...ke(t)})}function $le(t){return new Lce({check:"string_format",format:"uppercase",...ke(t)})}function Ele(t,e){return new Fce({check:"string_format",format:"includes",...ke(e),includes:t})}function kle(t,e){return new Zce({check:"string_format",format:"starts_with",...ke(e),prefix:t})}function Tle(t,e){return new Hce({check:"string_format",format:"ends_with",...ke(e),suffix:t})}function kd(t){return new Bce({check:"overwrite",tx:t})}function Ile(t){return kd(e=>e.normalize(t))}function Ple(){return kd(t=>t.trim())}function Ole(){return kd(t=>t.toLowerCase())}function Rle(){return kd(t=>t.toUpperCase())}function Cle(t,e,r){return new t({type:"array",element:e,...ke(r)})}function Nle(t,e,r){let n=ke(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function jle(t,e,r){return new t({type:"custom",check:"custom",fn:e,...ke(r)})}var d6={};a2(d6,{time:()=>v6,duration:()=>_6,datetime:()=>f6,date:()=>h6,ZodISOTime:()=>g6,ZodISODuration:()=>y6,ZodISODateTime:()=>p6,ZodISODate:()=>m6});var p6=X("ZodISODateTime",(t,e)=>{iue.init(t,e),Gt.init(t,e)});function f6(t){return ple(p6,t)}var m6=X("ZodISODate",(t,e)=>{aue.init(t,e),Gt.init(t,e)});function h6(t){return fle(m6,t)}var g6=X("ZodISOTime",(t,e)=>{oue.init(t,e),Gt.init(t,e)});function v6(t){return mle(g6,t)}var y6=X("ZodISODuration",(t,e)=>{sue.init(t,e),Gt.init(t,e)});function _6(t){return hle(y6,t)}var b6=(t,e)=>{J2.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>tce(t,r)},flatten:{value:r=>ece(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},fIe=X("ZodError",b6),ng=X("ZodError",b6,{Parent:Error}),Ale=rce(ng),Mle=nce(ng),Dle=Y2(ng),zle=Q2(ng),Vt=X("ZodType",(t,e)=>(Ut.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>Ia(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>Ale(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Dle(t,r,n),t.parseAsync=async(r,n)=>Mle(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>zle(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Ide(r,n)),t.superRefine=r=>t.check(Pde(r)),t.overwrite=r=>t.check(kd(r)),t.optional=()=>_e(t),t.nullable=()=>t2(t),t.nullish=()=>_e(t2(t)),t.nonoptional=r=>bde(t,r),t.array=()=>it(t),t.or=r=>Ft([t,r]),t.and=r=>F$(t,r),t.transform=r=>P$(t,T6(r)),t.default=r=>vde(t,r),t.prefault=r=>_de(t,r),t.catch=r=>Sde(t,r),t.pipe=r=>P$(t,r),t.readonly=()=>Ede(t),t.describe=r=>{let n=t.clone();return Ph.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return Ph.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return Ph.get(t);let n=t.clone();return Ph.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),x6=X("_ZodString",(t,e)=>{L$.init(t,e),Vt.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Sle(...n)),t.includes=(...n)=>t.check(Ele(...n)),t.startsWith=(...n)=>t.check(kle(...n)),t.endsWith=(...n)=>t.check(Tle(...n)),t.min=(...n)=>t.check(Uh(...n)),t.max=(...n)=>t.check(u6(...n)),t.length=(...n)=>t.check(l6(...n)),t.nonempty=(...n)=>t.check(Uh(1,...n)),t.lowercase=n=>t.check(wle(n)),t.uppercase=n=>t.check($le(n)),t.trim=()=>t.check(Ple()),t.normalize=(...n)=>t.check(Ile(...n)),t.toLowerCase=()=>t.check(Ole()),t.toUpperCase=()=>t.check(Rle())}),Ule=X("ZodString",(t,e)=>{L$.init(t,e),x6.init(t,e),t.email=r=>t.check(Bue(qle,r)),t.url=r=>t.check(Jue(Lle,r)),t.jwt=r=>t.check(dle(rde,r)),t.emoji=r=>t.check(Xue(Fle,r)),t.guid=r=>t.check(K4(Q4,r)),t.uuid=r=>t.check(Vue(Oh,r)),t.uuidv4=r=>t.check(Gue(Oh,r)),t.uuidv6=r=>t.check(Wue(Oh,r)),t.uuidv7=r=>t.check(Kue(Oh,r)),t.nanoid=r=>t.check(Yue(Zle,r)),t.guid=r=>t.check(K4(Q4,r)),t.cuid=r=>t.check(Que(Hle,r)),t.cuid2=r=>t.check(ele(Ble,r)),t.ulid=r=>t.check(tle(Vle,r)),t.base64=r=>t.check(cle(Qle,r)),t.base64url=r=>t.check(ule(ede,r)),t.xid=r=>t.check(rle(Gle,r)),t.ksuid=r=>t.check(nle(Wle,r)),t.ipv4=r=>t.check(ile(Kle,r)),t.ipv6=r=>t.check(ale(Jle,r)),t.cidrv4=r=>t.check(ole(Xle,r)),t.cidrv6=r=>t.check(sle(Yle,r)),t.e164=r=>t.check(lle(tde,r)),t.datetime=r=>t.check(f6(r)),t.date=r=>t.check(h6(r)),t.time=r=>t.check(v6(r)),t.duration=r=>t.check(_6(r))});function G(t){return Hue(Ule,t)}var Gt=X("ZodStringFormat",(t,e)=>{Lt.init(t,e),x6.init(t,e)}),qle=X("ZodEmail",(t,e)=>{Kce.init(t,e),Gt.init(t,e)}),Q4=X("ZodGUID",(t,e)=>{Gce.init(t,e),Gt.init(t,e)}),Oh=X("ZodUUID",(t,e)=>{Wce.init(t,e),Gt.init(t,e)}),Lle=X("ZodURL",(t,e)=>{Jce.init(t,e),Gt.init(t,e)}),Fle=X("ZodEmoji",(t,e)=>{Xce.init(t,e),Gt.init(t,e)}),Zle=X("ZodNanoID",(t,e)=>{Yce.init(t,e),Gt.init(t,e)}),Hle=X("ZodCUID",(t,e)=>{Qce.init(t,e),Gt.init(t,e)}),Ble=X("ZodCUID2",(t,e)=>{eue.init(t,e),Gt.init(t,e)}),Vle=X("ZodULID",(t,e)=>{tue.init(t,e),Gt.init(t,e)}),Gle=X("ZodXID",(t,e)=>{rue.init(t,e),Gt.init(t,e)}),Wle=X("ZodKSUID",(t,e)=>{nue.init(t,e),Gt.init(t,e)}),Kle=X("ZodIPv4",(t,e)=>{cue.init(t,e),Gt.init(t,e)}),Jle=X("ZodIPv6",(t,e)=>{uue.init(t,e),Gt.init(t,e)}),Xle=X("ZodCIDRv4",(t,e)=>{lue.init(t,e),Gt.init(t,e)}),Yle=X("ZodCIDRv6",(t,e)=>{due.init(t,e),Gt.init(t,e)}),Qle=X("ZodBase64",(t,e)=>{pue.init(t,e),Gt.init(t,e)}),ede=X("ZodBase64URL",(t,e)=>{mue.init(t,e),Gt.init(t,e)}),tde=X("ZodE164",(t,e)=>{hue.init(t,e),Gt.init(t,e)}),rde=X("ZodJWT",(t,e)=>{vue.init(t,e),Gt.init(t,e)}),S6=X("ZodNumber",(t,e)=>{s6.init(t,e),Vt.init(t,e),t.gt=(n,i)=>t.check(X4(n,i)),t.gte=(n,i)=>t.check(c$(n,i)),t.min=(n,i)=>t.check(c$(n,i)),t.lt=(n,i)=>t.check(J4(n,i)),t.lte=(n,i)=>t.check(s$(n,i)),t.max=(n,i)=>t.check(s$(n,i)),t.int=n=>t.check(e2(n)),t.safe=n=>t.check(e2(n)),t.positive=n=>t.check(X4(0,n)),t.nonnegative=n=>t.check(c$(0,n)),t.negative=n=>t.check(J4(0,n)),t.nonpositive=n=>t.check(s$(0,n)),t.multipleOf=(n,i)=>t.check(Y4(n,i)),t.step=(n,i)=>t.check(Y4(n,i)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function Rt(t){return gle(S6,t)}var nde=X("ZodNumberFormat",(t,e)=>{yue.init(t,e),S6.init(t,e)});function e2(t){return vle(nde,t)}var ide=X("ZodBoolean",(t,e)=>{_ue.init(t,e),Vt.init(t,e)});function xr(t){return yle(ide,t)}var ade=X("ZodNull",(t,e)=>{bue.init(t,e),Vt.init(t,e)});function w6(t){return _le(ade,t)}var ode=X("ZodUnknown",(t,e)=>{xue.init(t,e),Vt.init(t,e)});function nr(){return ble(ode)}var sde=X("ZodNever",(t,e)=>{Sue.init(t,e),Vt.init(t,e)});function cde(t){return xle(sde,t)}var ude=X("ZodArray",(t,e)=>{wue.init(t,e),Vt.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Uh(r,n)),t.nonempty=r=>t.check(Uh(1,r)),t.max=(r,n)=>t.check(u6(r,n)),t.length=(r,n)=>t.check(l6(r,n)),t.unwrap=()=>t.element});function it(t,e){return Cle(ude,t,e)}var $6=X("ZodObject",(t,e)=>{$ue.init(t,e),Vt.init(t,e),Dt.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Sr(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:nr()}),t.loose=()=>t.clone({...t._zod.def,catchall:nr()}),t.strict=()=>t.clone({...t._zod.def,catchall:cde()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>Dt.extend(t,r),t.merge=r=>Dt.merge(t,r),t.pick=r=>Dt.pick(t,r),t.omit=r=>Dt.omit(t,r),t.partial=(...r)=>Dt.partial(I6,t,r[0]),t.required=(...r)=>Dt.required(P6,t,r[0])});function re(t,e){let r={type:"object",get shape(){return Dt.assignProp(this,"shape",{...t}),this.shape},...Dt.normalizeParams(e)};return new $6(r)}function Xn(t,e){return new $6({type:"object",get shape(){return Dt.assignProp(this,"shape",{...t}),this.shape},catchall:nr(),...Dt.normalizeParams(e)})}var E6=X("ZodUnion",(t,e)=>{c6.init(t,e),Vt.init(t,e),t.options=e.options});function Ft(t,e){return new E6({type:"union",options:t,...Dt.normalizeParams(e)})}var lde=X("ZodDiscriminatedUnion",(t,e)=>{E6.init(t,e),Eue.init(t,e)});function k6(t,e,r){return new lde({type:"union",options:e,discriminator:t,...Dt.normalizeParams(r)})}var dde=X("ZodIntersection",(t,e)=>{kue.init(t,e),Vt.init(t,e)});function F$(t,e){return new dde({type:"intersection",left:t,right:e})}var pde=X("ZodRecord",(t,e)=>{Tue.init(t,e),Vt.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function ir(t,e,r){return new pde({type:"record",keyType:t,valueType:e,...Dt.normalizeParams(r)})}var I$=X("ZodEnum",(t,e)=>{Iue.init(t,e),Vt.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,i)=>{let a={};for(let o of n)if(r.has(o))a[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new I$({...e,checks:[],...Dt.normalizeParams(i),entries:a})},t.exclude=(n,i)=>{let a={...e.entries};for(let o of n)if(r.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new I$({...e,checks:[],...Dt.normalizeParams(i),entries:a})}});function Sr(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new I$({type:"enum",entries:r,...Dt.normalizeParams(e)})}var fde=X("ZodLiteral",(t,e)=>{Pue.init(t,e),Vt.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function be(t,e){return new fde({type:"literal",values:Array.isArray(t)?t:[t],...Dt.normalizeParams(e)})}var mde=X("ZodTransform",(t,e)=>{Oue.init(t,e),Vt.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=a=>{if(typeof a=="string")r.issues.push(Dt.issue(a,r.value,e));else{let o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!0),r.issues.push(Dt.issue(o))}};let i=e.transform(r.value,r);return i instanceof Promise?i.then(a=>(r.value=a,r)):(r.value=i,r)}});function T6(t){return new mde({type:"transform",transform:t})}var I6=X("ZodOptional",(t,e)=>{Rue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function _e(t){return new I6({type:"optional",innerType:t})}var hde=X("ZodNullable",(t,e)=>{Cue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function t2(t){return new hde({type:"nullable",innerType:t})}var gde=X("ZodDefault",(t,e)=>{Nue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function vde(t,e){return new gde({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var yde=X("ZodPrefault",(t,e)=>{jue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function _de(t,e){return new yde({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var P6=X("ZodNonOptional",(t,e)=>{Aue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function bde(t,e){return new P6({type:"nonoptional",innerType:t,...Dt.normalizeParams(e)})}var xde=X("ZodCatch",(t,e)=>{Mue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Sde(t,e){return new xde({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var wde=X("ZodPipe",(t,e)=>{Due.init(t,e),Vt.init(t,e),t.in=e.in,t.out=e.out});function P$(t,e){return new wde({type:"pipe",in:t,out:e})}var $de=X("ZodReadonly",(t,e)=>{zue.init(t,e),Vt.init(t,e)});function Ede(t){return new $de({type:"readonly",innerType:t})}var O6=X("ZodCustom",(t,e)=>{Uue.init(t,e),Vt.init(t,e)});function kde(t,e){let r=new Kr({check:"custom",...Dt.normalizeParams(e)});return r._zod.check=t,r}function Tde(t,e){return Nle(O6,t??(()=>!0),e)}function Ide(t,e={}){return jle(O6,t,e)}function Pde(t,e){let r=kde(n=>(n.addIssue=i=>{if(typeof i=="string")n.issues.push(Dt.issue(i,n.value,r._zod.def));else{let a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=r),a.continue??(a.continue=!r._zod.def.abort),n.issues.push(Dt.issue(a))}},t(n.value,n)),e);return r}function R6(t,e){return P$(T6(t),e)}Hi(Fue());var Z$="io.modelcontextprotocol/related-task",ig="2.0",yi=Tde(t=>t!==null&&(typeof t=="object"||typeof t=="function")),C6=Ft([G(),Rt().int()]),N6=G(),Ode=Xn({ttl:Ft([Rt(),w6()]).optional(),pollInterval:Rt().optional()}),H$=Xn({taskId:G()}),Rde=Xn({progressToken:C6.optional(),[Z$]:H$.optional()}),Jr=Xn({task:Ode.optional(),_meta:Rde.optional()}),fr=re({method:G(),params:Jr.optional()}),$o=Xn({_meta:re({[Z$]:_e(H$)}).passthrough().optional()}),Pn=re({method:G(),params:$o.optional()}),wr=Xn({_meta:Xn({[Z$]:H$.optional()}).optional()}),ag=Ft([G(),Rt().int()]),Cde=re({jsonrpc:be(ig),id:ag,...fr.shape}).strict();var Nde=re({jsonrpc:be(ig),...Pn.shape}).strict();var jde=re({jsonrpc:be(ig),id:ag,result:wr}).strict();var r2;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(r2||(r2={}));var Ade=re({jsonrpc:be(ig),id:ag,error:re({code:Rt().int(),message:G(),data:_e(nr())})}).strict();var mIe=Ft([Cde,Nde,jde,Ade]),j6=wr.strict(),Mde=$o.extend({requestId:ag,reason:G().optional()}),A6=Pn.extend({method:be("notifications/cancelled"),params:Mde}),Dde=re({src:G(),mimeType:G().optional(),sizes:it(G()).optional()}),Td=re({icons:it(Dde).optional()}),bc=re({name:G(),title:G().optional()}),M6=bc.extend({...bc.shape,...Td.shape,version:G(),websiteUrl:G().optional()}),zde=F$(re({applyDefaults:xr().optional()}),ir(G(),nr())),Ude=R6(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,F$(re({form:zde.optional(),url:yi.optional()}),ir(G(),nr()).optional())),qde=re({list:_e(re({}).passthrough()),cancel:_e(re({}).passthrough()),requests:_e(re({sampling:_e(re({createMessage:_e(re({}).passthrough())}).passthrough()),elicitation:_e(re({create:_e(re({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),Lde=re({list:_e(re({}).passthrough()),cancel:_e(re({}).passthrough()),requests:_e(re({tools:_e(re({call:_e(re({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),Fde=re({experimental:ir(G(),yi).optional(),sampling:re({context:yi.optional(),tools:yi.optional()}).optional(),elicitation:Ude.optional(),roots:re({listChanged:xr().optional()}).optional(),tasks:_e(qde)}),Zde=Jr.extend({protocolVersion:G(),capabilities:Fde,clientInfo:M6}),Hde=fr.extend({method:be("initialize"),params:Zde}),Bde=re({experimental:ir(G(),yi).optional(),logging:yi.optional(),completions:yi.optional(),prompts:_e(re({listChanged:_e(xr())})),resources:re({subscribe:xr().optional(),listChanged:xr().optional()}).optional(),tools:re({listChanged:xr().optional()}).optional(),tasks:_e(Lde)}).passthrough(),Vde=wr.extend({protocolVersion:G(),capabilities:Bde,serverInfo:M6,instructions:G().optional()}),Gde=Pn.extend({method:be("notifications/initialized")}),D6=fr.extend({method:be("ping")}),Wde=re({progress:Rt(),total:_e(Rt()),message:_e(G())}),Kde=re({...$o.shape,...Wde.shape,progressToken:C6}),z6=Pn.extend({method:be("notifications/progress"),params:Kde}),Jde=Jr.extend({cursor:N6.optional()}),Id=fr.extend({params:Jde.optional()}),Pd=wr.extend({nextCursor:_e(N6)}),Od=re({taskId:G(),status:Sr(["working","input_required","completed","failed","cancelled"]),ttl:Ft([Rt(),w6()]),createdAt:G(),lastUpdatedAt:G(),pollInterval:_e(Rt()),statusMessage:_e(G())}),U6=wr.extend({task:Od}),Xde=$o.merge(Od),q6=Pn.extend({method:be("notifications/tasks/status"),params:Xde}),L6=fr.extend({method:be("tasks/get"),params:Jr.extend({taskId:G()})}),F6=wr.merge(Od),Z6=fr.extend({method:be("tasks/result"),params:Jr.extend({taskId:G()})}),H6=Id.extend({method:be("tasks/list")}),B6=Pd.extend({tasks:it(Od)}),hIe=fr.extend({method:be("tasks/cancel"),params:Jr.extend({taskId:G()})}),gIe=wr.merge(Od),V6=re({uri:G(),mimeType:_e(G()),_meta:ir(G(),nr()).optional()}),G6=V6.extend({text:G()}),B$=G().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),W6=V6.extend({blob:B$}),kc=re({audience:it(Sr(["user","assistant"])).optional(),priority:Rt().min(0).max(1).optional(),lastModified:d6.datetime({offset:!0}).optional()}),K6=re({...bc.shape,...Td.shape,uri:G(),description:_e(G()),mimeType:_e(G()),annotations:kc.optional(),_meta:_e(Xn({}))}),Yde=re({...bc.shape,...Td.shape,uriTemplate:G(),description:_e(G()),mimeType:_e(G()),annotations:kc.optional(),_meta:_e(Xn({}))}),Qde=Id.extend({method:be("resources/list")}),epe=Pd.extend({resources:it(K6)}),tpe=Id.extend({method:be("resources/templates/list")}),rpe=Pd.extend({resourceTemplates:it(Yde)}),V$=Jr.extend({uri:G()}),npe=V$,ipe=fr.extend({method:be("resources/read"),params:npe}),ape=wr.extend({contents:it(Ft([G6,W6]))}),ope=Pn.extend({method:be("notifications/resources/list_changed")}),spe=V$,cpe=fr.extend({method:be("resources/subscribe"),params:spe}),upe=V$,lpe=fr.extend({method:be("resources/unsubscribe"),params:upe}),dpe=$o.extend({uri:G()}),ppe=Pn.extend({method:be("notifications/resources/updated"),params:dpe}),fpe=re({name:G(),description:_e(G()),required:_e(xr())}),mpe=re({...bc.shape,...Td.shape,description:_e(G()),arguments:_e(it(fpe)),_meta:_e(Xn({}))}),hpe=Id.extend({method:be("prompts/list")}),gpe=Pd.extend({prompts:it(mpe)}),vpe=Jr.extend({name:G(),arguments:ir(G(),G()).optional()}),ype=fr.extend({method:be("prompts/get"),params:vpe}),G$=re({type:be("text"),text:G(),annotations:kc.optional(),_meta:ir(G(),nr()).optional()}),W$=re({type:be("image"),data:B$,mimeType:G(),annotations:kc.optional(),_meta:ir(G(),nr()).optional()}),K$=re({type:be("audio"),data:B$,mimeType:G(),annotations:kc.optional(),_meta:ir(G(),nr()).optional()}),_pe=re({type:be("tool_use"),name:G(),id:G(),input:re({}).passthrough(),_meta:_e(re({}).passthrough())}).passthrough(),bpe=re({type:be("resource"),resource:Ft([G6,W6]),annotations:kc.optional(),_meta:ir(G(),nr()).optional()}),xpe=K6.extend({type:be("resource_link")}),J$=Ft([G$,W$,K$,xpe,bpe]),Spe=re({role:Sr(["user","assistant"]),content:J$}),wpe=wr.extend({description:_e(G()),messages:it(Spe)}),$pe=Pn.extend({method:be("notifications/prompts/list_changed")}),Epe=re({title:G().optional(),readOnlyHint:xr().optional(),destructiveHint:xr().optional(),idempotentHint:xr().optional(),openWorldHint:xr().optional()}),kpe=re({taskSupport:Sr(["required","optional","forbidden"]).optional()}),J6=re({...bc.shape,...Td.shape,description:G().optional(),inputSchema:re({type:be("object"),properties:ir(G(),yi).optional(),required:it(G()).optional()}).catchall(nr()),outputSchema:re({type:be("object"),properties:ir(G(),yi).optional(),required:it(G()).optional()}).catchall(nr()).optional(),annotations:_e(Epe),execution:_e(kpe),_meta:ir(G(),nr()).optional()}),Tpe=Id.extend({method:be("tools/list")}),Ipe=Pd.extend({tools:it(J6)}),X6=wr.extend({content:it(J$).default([]),structuredContent:ir(G(),nr()).optional(),isError:_e(xr())}),vIe=X6.or(wr.extend({toolResult:nr()})),Ppe=Jr.extend({name:G(),arguments:_e(ir(G(),nr()))}),Ope=fr.extend({method:be("tools/call"),params:Ppe}),Rpe=Pn.extend({method:be("notifications/tools/list_changed")}),Y6=Sr(["debug","info","notice","warning","error","critical","alert","emergency"]),Cpe=Jr.extend({level:Y6}),Npe=fr.extend({method:be("logging/setLevel"),params:Cpe}),jpe=$o.extend({level:Y6,logger:G().optional(),data:nr()}),Ape=Pn.extend({method:be("notifications/message"),params:jpe}),Mpe=re({name:G().optional()}),Dpe=re({hints:_e(it(Mpe)),costPriority:_e(Rt().min(0).max(1)),speedPriority:_e(Rt().min(0).max(1)),intelligencePriority:_e(Rt().min(0).max(1))}),zpe=re({mode:_e(Sr(["auto","required","none"]))}),Upe=re({type:be("tool_result"),toolUseId:G().describe("The unique identifier for the corresponding tool call."),content:it(J$).default([]),structuredContent:re({}).passthrough().optional(),isError:_e(xr()),_meta:_e(re({}).passthrough())}).passthrough(),qpe=k6("type",[G$,W$,K$]),qh=k6("type",[G$,W$,K$,_pe,Upe]),Lpe=re({role:Sr(["user","assistant"]),content:Ft([qh,it(qh)]),_meta:_e(re({}).passthrough())}).passthrough(),Fpe=Jr.extend({messages:it(Lpe),modelPreferences:Dpe.optional(),systemPrompt:G().optional(),includeContext:Sr(["none","thisServer","allServers"]).optional(),temperature:Rt().optional(),maxTokens:Rt().int(),stopSequences:it(G()).optional(),metadata:yi.optional(),tools:_e(it(J6)),toolChoice:_e(zpe)}),Zpe=fr.extend({method:be("sampling/createMessage"),params:Fpe}),Hpe=wr.extend({model:G(),stopReason:_e(Sr(["endTurn","stopSequence","maxTokens"]).or(G())),role:Sr(["user","assistant"]),content:qpe}),Bpe=wr.extend({model:G(),stopReason:_e(Sr(["endTurn","stopSequence","maxTokens","toolUse"]).or(G())),role:Sr(["user","assistant"]),content:Ft([qh,it(qh)])}),Vpe=re({type:be("boolean"),title:G().optional(),description:G().optional(),default:xr().optional()}),Gpe=re({type:be("string"),title:G().optional(),description:G().optional(),minLength:Rt().optional(),maxLength:Rt().optional(),format:Sr(["email","uri","date","date-time"]).optional(),default:G().optional()}),Wpe=re({type:Sr(["number","integer"]),title:G().optional(),description:G().optional(),minimum:Rt().optional(),maximum:Rt().optional(),default:Rt().optional()}),Kpe=re({type:be("string"),title:G().optional(),description:G().optional(),enum:it(G()),default:G().optional()}),Jpe=re({type:be("string"),title:G().optional(),description:G().optional(),oneOf:it(re({const:G(),title:G()})),default:G().optional()}),Xpe=re({type:be("string"),title:G().optional(),description:G().optional(),enum:it(G()),enumNames:it(G()).optional(),default:G().optional()}),Ype=Ft([Kpe,Jpe]),Qpe=re({type:be("array"),title:G().optional(),description:G().optional(),minItems:Rt().optional(),maxItems:Rt().optional(),items:re({type:be("string"),enum:it(G())}),default:it(G()).optional()}),efe=re({type:be("array"),title:G().optional(),description:G().optional(),minItems:Rt().optional(),maxItems:Rt().optional(),items:re({anyOf:it(re({const:G(),title:G()}))}),default:it(G()).optional()}),tfe=Ft([Qpe,efe]),rfe=Ft([Xpe,Ype,tfe]),nfe=Ft([rfe,Vpe,Gpe,Wpe]),ife=Jr.extend({mode:be("form").optional(),message:G(),requestedSchema:re({type:be("object"),properties:ir(G(),nfe),required:it(G()).optional()})}),afe=Jr.extend({mode:be("url"),message:G(),elicitationId:G(),url:G().url()}),ofe=Ft([ife,afe]),sfe=fr.extend({method:be("elicitation/create"),params:ofe}),cfe=$o.extend({elicitationId:G()}),ufe=Pn.extend({method:be("notifications/elicitation/complete"),params:cfe}),lfe=wr.extend({action:Sr(["accept","decline","cancel"]),content:R6(t=>t===null?void 0:t,ir(G(),Ft([G(),Rt(),xr(),it(G())])).optional())}),dfe=re({type:be("ref/resource"),uri:G()}),pfe=re({type:be("ref/prompt"),name:G()}),ffe=Jr.extend({ref:Ft([pfe,dfe]),argument:re({name:G(),value:G()}),context:re({arguments:ir(G(),G()).optional()}).optional()}),mfe=fr.extend({method:be("completion/complete"),params:ffe});var hfe=wr.extend({completion:Xn({values:it(G()).max(100),total:_e(Rt().int()),hasMore:_e(xr())})}),gfe=re({uri:G().startsWith("file://"),name:G().optional(),_meta:ir(G(),nr()).optional()}),vfe=fr.extend({method:be("roots/list")}),yfe=wr.extend({roots:it(gfe)}),_fe=Pn.extend({method:be("notifications/roots/list_changed")}),yIe=Ft([D6,Hde,mfe,Npe,ype,hpe,Qde,tpe,ipe,cpe,lpe,Ope,Tpe,L6,Z6,H6]),_Ie=Ft([A6,z6,Gde,_fe,q6]),bIe=Ft([j6,Hpe,Bpe,lfe,yfe,F6,B6,U6]),xIe=Ft([D6,Zpe,sfe,vfe,L6,Z6,H6]),SIe=Ft([A6,z6,Ape,ppe,ope,Rpe,$pe,q6,ufe]),wIe=Ft([j6,Vde,hfe,wpe,gpe,epe,rpe,ape,X6,Ipe,F6,B6,U6]);var $Ie=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var EIe=i2(aie(),1),kIe=i2(Qie(),1);var n2;(function(t){t.Completable="McpCompletable"})(n2||(n2={}));function Q6({prompt:t,options:e}){let{systemPrompt:r,settingSources:n,sandbox:i,...a}=e??{},o,s;r===void 0?o="":typeof r=="string"?o=r:r.type==="preset"&&(s=r.append);let c=a.pathToClaudeCodeExecutable;if(!c){let Z=(0,v2.fileURLToPath)(bfe.url),J=(0,l$.join)(Z,"..");c=(0,l$.join)(J,"cli.js")}process.env.CLAUDE_AGENT_SDK_VERSION="0.1.76";let{abortController:u=_2(),additionalDirectories:l=[],agents:d,allowedTools:p=[],betas:f,canUseTool:h,continue:_,cwd:g,disallowedTools:m=[],tools:y,env:v,executable:b=A2()?"bun":"node",executableArgs:S=[],extraArgs:x={},fallbackModel:w,enableFileCheckpointing:E,forkSession:O,hooks:A,includePartialMessages:M,persistSession:q,maxThinkingTokens:B,maxTurns:U,maxBudgetUsd:Y,mcpServers:me,model:Qe,outputFormat:mt,permissionMode:fe="default",allowDangerouslySkipPermissions:F=!1,permissionPromptToolName:I,plugins:D,resume:C,resumeSessionAt:$,stderr:T,strictMcpConfig:N}=a,W=mt?.type==="json_schema"?mt.schema:void 0,K=v;if(K||(K={...process.env}),K.CLAUDE_CODE_ENTRYPOINT||(K.CLAUDE_CODE_ENTRYPOINT="sdk-ts"),E&&(K.CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING="true"),!c)throw new Error("pathToClaudeCodeExecutable is required");let pe={},ce=new Map;if(me)for(let[Z,J]of Object.entries(me))J.type==="sdk"&&"instance"in J?(ce.set(Z,J.instance),pe[Z]={type:"sdk",name:Z}):pe[Z]=J;let je=typeof t=="string",P=new p$({abortController:u,additionalDirectories:l,betas:f,cwd:g,executable:b,executableArgs:S,extraArgs:x,pathToClaudeCodeExecutable:c,env:K,forkSession:O,stderr:T,maxThinkingTokens:B,maxTurns:U,maxBudgetUsd:Y,model:Qe,fallbackModel:w,jsonSchema:W,permissionMode:fe,allowDangerouslySkipPermissions:F,permissionPromptToolName:I,continueConversation:_,resume:C,resumeSessionAt:$,settingSources:n??[],allowedTools:p,disallowedTools:m,tools:y,mcpServers:pe,strictMcpConfig:N,canUseTool:!!h,hooks:!!A,includePartialMessages:M,persistSession:q,plugins:D,sandbox:i,spawnClaudeCodeProcess:a.spawnClaudeCodeProcess}),R={systemPrompt:o,appendSystemPrompt:s,agents:d},z=new h$(P,je,h,A,u,ce,W,R);return typeof t=="string"?P.write(JSON.stringify({type:"user",session_id:"",message:{role:"user",content:[{type:"text",text:t}]},parent_tool_use_id:null})+` -`):z.streamInput(t),z}var og=class{dbManager;sessionManager;constructor(e,r){this.dbManager=e,this.sessionManager=r}async startSession(e,r){let n={lastCwd:void 0},i=this.findClaudeExecutable(),a=this.getModelId(),o=["Bash","Read","Write","Edit","Grep","Glob","WebFetch","WebSearch","Task","NotebookEdit","AskUserQuestion","TodoWrite"],s=this.createMessageGenerator(e,n),c=!!e.memorySessionId;if(k.info("SDK","Starting SDK query",{sessionDbId:e.sessionDbId,contentSessionId:e.contentSessionId,memorySessionId:e.memorySessionId,hasRealMemorySessionId:c,resume_parameter:c?e.memorySessionId:"(none - fresh start)",lastPromptNumber:e.lastPromptNumber}),e.lastPromptNumber>1){let d=c;k.debug("SDK",`[ALIGNMENT] Resume Decision | contentSessionId=${e.contentSessionId} | memorySessionId=${e.memorySessionId} | prompt#=${e.lastPromptNumber} | hasRealMemorySessionId=${c} | willResume=${d} | resumeWith=${d?e.memorySessionId:"NONE"}`)}else{let d=c;k.debug("SDK",`[ALIGNMENT] First Prompt (INIT) | contentSessionId=${e.contentSessionId} | prompt#=${e.lastPromptNumber} | hasStaleMemoryId=${d} | action=START_FRESH | Will capture new memorySessionId from SDK response`),d&&k.warn("SDK",`Skipping resume for INIT prompt despite existing memorySessionId=${e.memorySessionId} - SDK context was lost (worker restart or crash recovery)`)}let u=Q6({prompt:s,options:{model:a,...c&&e.lastPromptNumber>1&&{resume:e.memorySessionId},disallowedTools:o,abortController:e.abortController,pathToClaudeCodeExecutable:i}});for await(let d of u){if(!e.memorySessionId&&d.session_id){e.memorySessionId=d.session_id,this.dbManager.getSessionStore().updateMemorySessionId(e.sessionDbId,d.session_id);let p=this.dbManager.getSessionStore().getSessionById(e.sessionDbId),f=p?.memory_session_id===d.session_id;k.info("SESSION",`MEMORY_ID_CAPTURED | sessionDbId=${e.sessionDbId} | memorySessionId=${d.session_id} | dbVerified=${f}`,{sessionId:e.sessionDbId,memorySessionId:d.session_id}),f||k.error("SESSION",`MEMORY_ID_MISMATCH | sessionDbId=${e.sessionDbId} | expected=${d.session_id} | got=${p?.memory_session_id}`,{sessionId:e.sessionDbId}),k.debug("SDK",`[ALIGNMENT] Captured | contentSessionId=${e.contentSessionId} \u2192 memorySessionId=${d.session_id} | Future prompts will resume with this ID`)}if(d.type==="assistant"){let p=d.message.content,f=Array.isArray(p)?p.filter(v=>v.type==="text").map(v=>v.text).join(` -`):typeof p=="string"?p:"",h=f.length,_=e.cumulativeInputTokens+e.cumulativeOutputTokens,g=d.message.usage;g&&(e.cumulativeInputTokens+=g.input_tokens||0,e.cumulativeOutputTokens+=g.output_tokens||0,g.cache_creation_input_tokens&&(e.cumulativeInputTokens+=g.cache_creation_input_tokens),k.debug("SDK","Token usage captured",{sessionId:e.sessionDbId,inputTokens:g.input_tokens,outputTokens:g.output_tokens,cacheCreation:g.cache_creation_input_tokens||0,cacheRead:g.cache_read_input_tokens||0,cumulativeInput:e.cumulativeInputTokens,cumulativeOutput:e.cumulativeOutputTokens}));let m=e.cumulativeInputTokens+e.cumulativeOutputTokens-_,y=e.earliestPendingTimestamp;if(h>0){let v=h>100?f.substring(0,100)+"...":f;k.dataOut("SDK",`Response received (${h} chars)`,{sessionId:e.sessionDbId,promptNumber:e.lastPromptNumber},v)}await Wn(f,e,this.dbManager,this.sessionManager,r,m,y,"SDK",n.lastCwd)}d.type==="result"&&d.subtype}let l=Date.now()-e.startTime;k.success("SDK","Agent completed",{sessionId:e.sessionDbId,duration:`${(l/1e3).toFixed(1)}s`})}async*createMessageGenerator(e,r){let n=He.getInstance().getActiveMode(),i=e.lastPromptNumber===1;k.info("SDK","Creating message generator",{sessionDbId:e.sessionDbId,contentSessionId:e.contentSessionId,lastPromptNumber:e.lastPromptNumber,isInitPrompt:i,promptType:i?"INIT":"CONTINUATION"});let a=i?Ys(e.project,e.contentSessionId,e.userPrompt,n):tc(e.userPrompt,e.lastPromptNumber,e.contentSessionId,n);e.conversationHistory.push({role:"user",content:a}),yield{type:"user",message:{role:"user",content:a},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0};for await(let o of this.sessionManager.getMessageIterator(e.sessionDbId))if(o.cwd&&(r.lastCwd=o.cwd),o.type==="observation"){o.prompt_number!==void 0&&(e.lastPromptNumber=o.prompt_number);let s=Qs({id:0,tool_name:o.tool_name,tool_input:JSON.stringify(o.tool_input),tool_output:JSON.stringify(o.tool_response),created_at_epoch:Date.now(),cwd:o.cwd});e.conversationHistory.push({role:"user",content:s}),yield{type:"user",message:{role:"user",content:s},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0}}else if(o.type==="summarize"){let s=ec({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_assistant_message:o.last_assistant_message||""},n);e.conversationHistory.push({role:"user",content:s}),yield{type:"user",message:{role:"user",content:s},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0}}}findClaudeExecutable(){let e=Ye.loadFromFile($n);if(e.CLAUDE_CODE_PATH){let{existsSync:r}=require("fs");if(!r(e.CLAUDE_CODE_PATH))throw new Error(`CLAUDE_CODE_PATH is set to "${e.CLAUDE_CODE_PATH}" but the file does not exist.`);return e.CLAUDE_CODE_PATH}try{let r=(0,eU.execSync)(process.platform==="win32"?"where claude":"which claude",{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).trim().split(` + })));`),p.write(`newResult[${ac(y)}] = ${v}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let m=p.compile();return(y,v)=>m(d,y,v)},i,a=wd,o=!w$.jitless,c=o&&J2.value,u=e.catchall,l;t._zod.parse=(d,p)=>{l??(l=r.value);let f=d.value;if(!a(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:t}),d;let h=[];if(o&&c&&p?.async===!1&&p.jitless!==!0)i||(i=n(e.shape)),d=i(d,p);else{d.value={};let v=l.shape;for(let b of l.keys){let S=v[b],x=S._zod.run({value:f[b],issues:[]},p),w=S._zod.optin==="optional"&&S._zod.optout==="optional";x instanceof Promise?h.push(x.then(E=>w?G4(E,d,b,f):Ih(E,d,b))):w?G4(x,d,b,f):Ih(x,d,b)}}if(!u)return h.length?Promise.all(h).then(()=>d):d;let _=[],g=l.keySet,m=u._zod,y=m.def.type;for(let v of Object.keys(f)){if(g.has(v))continue;if(y==="never"){_.push(v);continue}let b=m.run({value:f[v],issues:[]},p);b instanceof Promise?h.push(b.then(S=>Ih(S,d,v))):Ih(b,d,v)}return _.length&&d.issues.push({code:"unrecognized_keys",keys:_,input:f,inst:t}),h.length?Promise.all(h).then(()=>d):d}});function W4(t,e,r,n){for(let i of t)if(i.issues.length===0)return e.value=i.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(i=>i.issues.map(a=>Vi(a,n,Bi())))}),e}var m6=X("$ZodUnion",(t,e)=>{Ut.init(t,e),zt(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),zt(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),zt(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),zt(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>eg(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let i=!1,a=[];for(let o of e.options){let s=o._zod.run({value:r.value,issues:[]},n);if(s instanceof Promise)a.push(s),i=!0;else{if(s.issues.length===0)return s;a.push(s)}}return i?Promise.all(a).then(o=>W4(o,r,t,n)):W4(a,r,t,n)}}),kue=X("$ZodDiscriminatedUnion",(t,e)=>{m6.init(t,e);let r=t._zod.parse;zt(t._zod,"propValues",()=>{let i={};for(let a of e.options){let o=a._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let[s,c]of Object.entries(o)){i[s]||(i[s]=new Set);for(let u of c)i[s].add(u)}}return i});let n=Yh(()=>{let i=e.options,a=new Map;for(let o of i){let s=o._zod.propValues[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let c of s){if(a.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);a.set(c,o)}}return a});t._zod.parse=(i,a)=>{let o=i.value;if(!wd(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:t}),i;let s=n.value.get(o?.[e.discriminator]);return s?s._zod.run(i,a):e.unionFallback?r(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:o,path:[e.discriminator],inst:t}),i)}}),Tue=X("$ZodIntersection",(t,e)=>{Ut.init(t,e),t._zod.parse=(r,n)=>{let i=r.value,a=e.left._zod.run({value:i,issues:[]},n),o=e.right._zod.run({value:i,issues:[]},n);return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then(([c,u])=>K4(r,c,u)):K4(r,a,o)}});function T$(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if($d(t)&&$d(e)){let r=Object.keys(e),n=Object.keys(t).filter(a=>r.indexOf(a)!==-1),i={...t,...e};for(let a of n){let o=T$(t[a],e[a]);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};i[a]=o.data}return{valid:!0,data:i}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n{Ut.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!$d(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:t}),r;let a=[];if(e.keyType._zod.values){let o=e.keyType._zod.values;r.value={};for(let c of o)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:i[c],issues:[]},n);u instanceof Promise?a.push(u.then(l=>{l.issues.length&&r.issues.push(...$a(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...$a(c,u.issues)),r.value[c]=u.value)}let s;for(let c in i)o.has(c)||(s=s??[],s.push(c));s&&s.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:t,keys:s})}else{r.value={};for(let o of Reflect.ownKeys(i)){if(o==="__proto__")continue;let s=e.keyType._zod.run({value:o,issues:[]},n);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(s.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:s.issues.map(u=>Vi(u,n,Bi())),input:o,path:[o],inst:t}),r.value[s.value]=s.value;continue}let c=e.valueType._zod.run({value:i[o],issues:[]},n);c instanceof Promise?a.push(c.then(u=>{u.issues.length&&r.issues.push(...$a(o,u.issues)),r.value[s.value]=u.value})):(c.issues.length&&r.issues.push(...$a(o,c.issues)),r.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>r):r}}),Pue=X("$ZodEnum",(t,e)=>{Ut.init(t,e);let r=G2(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>X2.has(typeof n)).map(n=>typeof n=="string"?Ec(n):n.toString()).join("|")})$`),t._zod.parse=(n,i)=>{let a=n.value;return t._zod.values.has(a)||n.issues.push({code:"invalid_value",values:r,input:a,inst:t}),n}}),Oue=X("$ZodLiteral",(t,e)=>{Ut.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?Ec(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let i=r.value;return t._zod.values.has(i)||r.issues.push({code:"invalid_value",values:e.values,input:i,inst:t}),r}}),Rue=X("$ZodTransform",(t,e)=>{Ut.init(t,e),t._zod.parse=(r,n)=>{let i=e.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(r.value=o,r));if(i instanceof Promise)throw new wo;return r.value=i,r}}),Cue=X("$ZodOptional",(t,e)=>{Ut.init(t,e),t._zod.optin="optional",t._zod.optout="optional",zt(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),zt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${eg(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),Nue=X("$ZodNullable",(t,e)=>{Ut.init(t,e),zt(t._zod,"optin",()=>e.innerType._zod.optin),zt(t._zod,"optout",()=>e.innerType._zod.optout),zt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${eg(r.source)}|null)$`):void 0}),zt(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),jue=X("$ZodDefault",(t,e)=>{Ut.init(t,e),t._zod.optin="optional",zt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>J4(a,e)):J4(i,e)}});function J4(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Aue=X("$ZodPrefault",(t,e)=>{Ut.init(t,e),t._zod.optin="optional",zt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Mue=X("$ZodNonOptional",(t,e)=>{Ut.init(t,e),zt(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>X4(a,t)):X4(i,t)}});function X4(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Due=X("$ZodCatch",(t,e)=>{Ut.init(t,e),t._zod.optin="optional",zt(t._zod,"optout",()=>e.innerType._zod.optout),zt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.value,a.issues.length&&(r.value=e.catchValue({...r,error:{issues:a.issues.map(o=>Vi(o,n,Bi()))},input:r.value}),r.issues=[]),r)):(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>Vi(a,n,Bi()))},input:r.value}),r.issues=[]),r)}}),zue=X("$ZodPipe",(t,e)=>{Ut.init(t,e),zt(t._zod,"values",()=>e.in._zod.values),zt(t._zod,"optin",()=>e.in._zod.optin),zt(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(a=>Y4(a,e,n)):Y4(i,e,n)}});function Y4(t,e,r){return oc(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Uue=X("$ZodReadonly",(t,e)=>{Ut.init(t,e),zt(t._zod,"propValues",()=>e.innerType._zod.propValues),zt(t._zod,"values",()=>e.innerType._zod.values),zt(t._zod,"optin",()=>e.innerType._zod.optin),zt(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(Q4):Q4(i)}});function Q4(t){return t.value=Object.freeze(t.value),t}var Lue=X("$ZodCustom",(t,e)=>{Kr.init(t,e),Ut.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,i=e.fn(n);if(i instanceof Promise)return i.then(a=>e2(a,r,n,t));e2(i,r,n,t)}});function e2(t,e,r,n){if(!t){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),e.issues.push(e6(i))}}var que=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},Fue=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){return t[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${que(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${q$(n.values[0])}`:`Invalid option: expected one of ${$$(n.values,"|")}`;case"too_big":{let i=n.inclusive?"<=":"<",a=e(n.origin);return a?`Too big: expected ${n.origin??"value"} to have ${i}${n.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${i}${n.maximum.toString()}`}case"too_small":{let i=n.inclusive?">=":">",a=e(n.origin);return a?`Too small: expected ${n.origin} to have ${i}${n.minimum.toString()} ${a.unit}`:`Too small: expected ${n.origin} to be ${i}${n.minimum.toString()}`}case"invalid_format":{let i=n;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${$$(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function Zue(){return{localeError:Fue()}}var I$=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}remove(e){return this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Hue(){return new I$}var Ph=Hue();function Bue(t,e){return new t({type:"string",...ke(e)})}function Vue(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...ke(e)})}function t2(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...ke(e)})}function Gue(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...ke(e)})}function Wue(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ke(e)})}function Kue(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ke(e)})}function Jue(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ke(e)})}function Xue(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...ke(e)})}function Yue(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...ke(e)})}function Que(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...ke(e)})}function ele(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...ke(e)})}function tle(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...ke(e)})}function rle(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...ke(e)})}function nle(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...ke(e)})}function ile(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...ke(e)})}function ale(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...ke(e)})}function ole(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...ke(e)})}function sle(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ke(e)})}function cle(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ke(e)})}function ule(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...ke(e)})}function lle(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...ke(e)})}function dle(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...ke(e)})}function ple(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...ke(e)})}function fle(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ke(e)})}function mle(t,e){return new t({type:"string",format:"date",check:"string_format",...ke(e)})}function hle(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...ke(e)})}function gle(t,e){return new t({type:"string",format:"duration",check:"string_format",...ke(e)})}function vle(t,e){return new t({type:"number",checks:[],...ke(e)})}function yle(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...ke(e)})}function _le(t,e){return new t({type:"boolean",...ke(e)})}function ble(t,e){return new t({type:"null",...ke(e)})}function xle(t){return new t({type:"unknown"})}function Sle(t,e){return new t({type:"never",...ke(e)})}function r2(t,e){return new l6({check:"less_than",...ke(e),value:t,inclusive:!1})}function c$(t,e){return new l6({check:"less_than",...ke(e),value:t,inclusive:!0})}function n2(t,e){return new d6({check:"greater_than",...ke(e),value:t,inclusive:!1})}function u$(t,e){return new d6({check:"greater_than",...ke(e),value:t,inclusive:!0})}function i2(t,e){return new Ace({check:"multiple_of",...ke(e),value:t})}function h6(t,e){return new Dce({check:"max_length",...ke(e),maximum:t})}function Uh(t,e){return new zce({check:"min_length",...ke(e),minimum:t})}function g6(t,e){return new Uce({check:"length_equals",...ke(e),length:t})}function wle(t,e){return new Lce({check:"string_format",format:"regex",...ke(e),pattern:t})}function $le(t){return new qce({check:"string_format",format:"lowercase",...ke(t)})}function Ele(t){return new Fce({check:"string_format",format:"uppercase",...ke(t)})}function kle(t,e){return new Zce({check:"string_format",format:"includes",...ke(e),includes:t})}function Tle(t,e){return new Hce({check:"string_format",format:"starts_with",...ke(e),prefix:t})}function Ile(t,e){return new Bce({check:"string_format",format:"ends_with",...ke(e),suffix:t})}function kd(t){return new Vce({check:"overwrite",tx:t})}function Ple(t){return kd(e=>e.normalize(t))}function Ole(){return kd(t=>t.trim())}function Rle(){return kd(t=>t.toLowerCase())}function Cle(){return kd(t=>t.toUpperCase())}function Nle(t,e,r){return new t({type:"array",element:e,...ke(r)})}function jle(t,e,r){let n=ke(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Ale(t,e,r){return new t({type:"custom",check:"custom",fn:e,...ke(r)})}var v6={};d2(v6,{time:()=>w6,duration:()=>E6,datetime:()=>_6,date:()=>x6,ZodISOTime:()=>S6,ZodISODuration:()=>$6,ZodISODateTime:()=>y6,ZodISODate:()=>b6});var y6=X("ZodISODateTime",(t,e)=>{aue.init(t,e),Gt.init(t,e)});function _6(t){return fle(y6,t)}var b6=X("ZodISODate",(t,e)=>{oue.init(t,e),Gt.init(t,e)});function x6(t){return mle(b6,t)}var S6=X("ZodISOTime",(t,e)=>{sue.init(t,e),Gt.init(t,e)});function w6(t){return hle(S6,t)}var $6=X("ZodISODuration",(t,e)=>{cue.init(t,e),Gt.init(t,e)});function E6(t){return gle($6,t)}var k6=(t,e)=>{r6.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>rce(t,r)},flatten:{value:r=>tce(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},fIe=X("ZodError",k6),ng=X("ZodError",k6,{Parent:Error}),Mle=nce(ng),Dle=ice(ng),zle=i6(ng),Ule=a6(ng),Vt=X("ZodType",(t,e)=>(Ut.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>Pa(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>Mle(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>zle(t,r,n),t.parseAsync=async(r,n)=>Dle(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Ule(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Pde(r,n)),t.superRefine=r=>t.check(Ode(r)),t.overwrite=r=>t.check(kd(r)),t.optional=()=>_e(t),t.nullable=()=>s2(t),t.nullish=()=>_e(s2(t)),t.nonoptional=r=>xde(t,r),t.array=()=>it(t),t.or=r=>Ft([t,r]),t.and=r=>Z$(t,r),t.transform=r=>O$(t,N6(r)),t.default=r=>yde(t,r),t.prefault=r=>bde(t,r),t.catch=r=>wde(t,r),t.pipe=r=>O$(t,r),t.readonly=()=>kde(t),t.describe=r=>{let n=t.clone();return Ph.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return Ph.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return Ph.get(t);let n=t.clone();return Ph.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),T6=X("_ZodString",(t,e)=>{F$.init(t,e),Vt.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(wle(...n)),t.includes=(...n)=>t.check(kle(...n)),t.startsWith=(...n)=>t.check(Tle(...n)),t.endsWith=(...n)=>t.check(Ile(...n)),t.min=(...n)=>t.check(Uh(...n)),t.max=(...n)=>t.check(h6(...n)),t.length=(...n)=>t.check(g6(...n)),t.nonempty=(...n)=>t.check(Uh(1,...n)),t.lowercase=n=>t.check($le(n)),t.uppercase=n=>t.check(Ele(n)),t.trim=()=>t.check(Ole()),t.normalize=(...n)=>t.check(Ple(...n)),t.toLowerCase=()=>t.check(Rle()),t.toUpperCase=()=>t.check(Cle())}),Lle=X("ZodString",(t,e)=>{F$.init(t,e),T6.init(t,e),t.email=r=>t.check(Vue(qle,r)),t.url=r=>t.check(Xue(Fle,r)),t.jwt=r=>t.check(ple(nde,r)),t.emoji=r=>t.check(Yue(Zle,r)),t.guid=r=>t.check(t2(a2,r)),t.uuid=r=>t.check(Gue(Oh,r)),t.uuidv4=r=>t.check(Wue(Oh,r)),t.uuidv6=r=>t.check(Kue(Oh,r)),t.uuidv7=r=>t.check(Jue(Oh,r)),t.nanoid=r=>t.check(Que(Hle,r)),t.guid=r=>t.check(t2(a2,r)),t.cuid=r=>t.check(ele(Ble,r)),t.cuid2=r=>t.check(tle(Vle,r)),t.ulid=r=>t.check(rle(Gle,r)),t.base64=r=>t.check(ule(ede,r)),t.base64url=r=>t.check(lle(tde,r)),t.xid=r=>t.check(nle(Wle,r)),t.ksuid=r=>t.check(ile(Kle,r)),t.ipv4=r=>t.check(ale(Jle,r)),t.ipv6=r=>t.check(ole(Xle,r)),t.cidrv4=r=>t.check(sle(Yle,r)),t.cidrv6=r=>t.check(cle(Qle,r)),t.e164=r=>t.check(dle(rde,r)),t.datetime=r=>t.check(_6(r)),t.date=r=>t.check(x6(r)),t.time=r=>t.check(w6(r)),t.duration=r=>t.check(E6(r))});function G(t){return Bue(Lle,t)}var Gt=X("ZodStringFormat",(t,e)=>{qt.init(t,e),T6.init(t,e)}),qle=X("ZodEmail",(t,e)=>{Jce.init(t,e),Gt.init(t,e)}),a2=X("ZodGUID",(t,e)=>{Wce.init(t,e),Gt.init(t,e)}),Oh=X("ZodUUID",(t,e)=>{Kce.init(t,e),Gt.init(t,e)}),Fle=X("ZodURL",(t,e)=>{Xce.init(t,e),Gt.init(t,e)}),Zle=X("ZodEmoji",(t,e)=>{Yce.init(t,e),Gt.init(t,e)}),Hle=X("ZodNanoID",(t,e)=>{Qce.init(t,e),Gt.init(t,e)}),Ble=X("ZodCUID",(t,e)=>{eue.init(t,e),Gt.init(t,e)}),Vle=X("ZodCUID2",(t,e)=>{tue.init(t,e),Gt.init(t,e)}),Gle=X("ZodULID",(t,e)=>{rue.init(t,e),Gt.init(t,e)}),Wle=X("ZodXID",(t,e)=>{nue.init(t,e),Gt.init(t,e)}),Kle=X("ZodKSUID",(t,e)=>{iue.init(t,e),Gt.init(t,e)}),Jle=X("ZodIPv4",(t,e)=>{uue.init(t,e),Gt.init(t,e)}),Xle=X("ZodIPv6",(t,e)=>{lue.init(t,e),Gt.init(t,e)}),Yle=X("ZodCIDRv4",(t,e)=>{due.init(t,e),Gt.init(t,e)}),Qle=X("ZodCIDRv6",(t,e)=>{pue.init(t,e),Gt.init(t,e)}),ede=X("ZodBase64",(t,e)=>{fue.init(t,e),Gt.init(t,e)}),tde=X("ZodBase64URL",(t,e)=>{hue.init(t,e),Gt.init(t,e)}),rde=X("ZodE164",(t,e)=>{gue.init(t,e),Gt.init(t,e)}),nde=X("ZodJWT",(t,e)=>{yue.init(t,e),Gt.init(t,e)}),I6=X("ZodNumber",(t,e)=>{f6.init(t,e),Vt.init(t,e),t.gt=(n,i)=>t.check(n2(n,i)),t.gte=(n,i)=>t.check(u$(n,i)),t.min=(n,i)=>t.check(u$(n,i)),t.lt=(n,i)=>t.check(r2(n,i)),t.lte=(n,i)=>t.check(c$(n,i)),t.max=(n,i)=>t.check(c$(n,i)),t.int=n=>t.check(o2(n)),t.safe=n=>t.check(o2(n)),t.positive=n=>t.check(n2(0,n)),t.nonnegative=n=>t.check(u$(0,n)),t.negative=n=>t.check(r2(0,n)),t.nonpositive=n=>t.check(c$(0,n)),t.multipleOf=(n,i)=>t.check(i2(n,i)),t.step=(n,i)=>t.check(i2(n,i)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function Rt(t){return vle(I6,t)}var ide=X("ZodNumberFormat",(t,e)=>{_ue.init(t,e),I6.init(t,e)});function o2(t){return yle(ide,t)}var ade=X("ZodBoolean",(t,e)=>{bue.init(t,e),Vt.init(t,e)});function xr(t){return _le(ade,t)}var ode=X("ZodNull",(t,e)=>{xue.init(t,e),Vt.init(t,e)});function P6(t){return ble(ode,t)}var sde=X("ZodUnknown",(t,e)=>{Sue.init(t,e),Vt.init(t,e)});function nr(){return xle(sde)}var cde=X("ZodNever",(t,e)=>{wue.init(t,e),Vt.init(t,e)});function ude(t){return Sle(cde,t)}var lde=X("ZodArray",(t,e)=>{$ue.init(t,e),Vt.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Uh(r,n)),t.nonempty=r=>t.check(Uh(1,r)),t.max=(r,n)=>t.check(h6(r,n)),t.length=(r,n)=>t.check(g6(r,n)),t.unwrap=()=>t.element});function it(t,e){return Nle(lde,t,e)}var O6=X("ZodObject",(t,e)=>{Eue.init(t,e),Vt.init(t,e),Dt.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Sr(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:nr()}),t.loose=()=>t.clone({...t._zod.def,catchall:nr()}),t.strict=()=>t.clone({...t._zod.def,catchall:ude()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>Dt.extend(t,r),t.merge=r=>Dt.merge(t,r),t.pick=r=>Dt.pick(t,r),t.omit=r=>Dt.omit(t,r),t.partial=(...r)=>Dt.partial(j6,t,r[0]),t.required=(...r)=>Dt.required(A6,t,r[0])});function re(t,e){let r={type:"object",get shape(){return Dt.assignProp(this,"shape",{...t}),this.shape},...Dt.normalizeParams(e)};return new O6(r)}function Yn(t,e){return new O6({type:"object",get shape(){return Dt.assignProp(this,"shape",{...t}),this.shape},catchall:nr(),...Dt.normalizeParams(e)})}var R6=X("ZodUnion",(t,e)=>{m6.init(t,e),Vt.init(t,e),t.options=e.options});function Ft(t,e){return new R6({type:"union",options:t,...Dt.normalizeParams(e)})}var dde=X("ZodDiscriminatedUnion",(t,e)=>{R6.init(t,e),kue.init(t,e)});function C6(t,e,r){return new dde({type:"union",options:e,discriminator:t,...Dt.normalizeParams(r)})}var pde=X("ZodIntersection",(t,e)=>{Tue.init(t,e),Vt.init(t,e)});function Z$(t,e){return new pde({type:"intersection",left:t,right:e})}var fde=X("ZodRecord",(t,e)=>{Iue.init(t,e),Vt.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function ir(t,e,r){return new fde({type:"record",keyType:t,valueType:e,...Dt.normalizeParams(r)})}var P$=X("ZodEnum",(t,e)=>{Pue.init(t,e),Vt.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,i)=>{let a={};for(let o of n)if(r.has(o))a[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new P$({...e,checks:[],...Dt.normalizeParams(i),entries:a})},t.exclude=(n,i)=>{let a={...e.entries};for(let o of n)if(r.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new P$({...e,checks:[],...Dt.normalizeParams(i),entries:a})}});function Sr(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new P$({type:"enum",entries:r,...Dt.normalizeParams(e)})}var mde=X("ZodLiteral",(t,e)=>{Oue.init(t,e),Vt.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function be(t,e){return new mde({type:"literal",values:Array.isArray(t)?t:[t],...Dt.normalizeParams(e)})}var hde=X("ZodTransform",(t,e)=>{Rue.init(t,e),Vt.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=a=>{if(typeof a=="string")r.issues.push(Dt.issue(a,r.value,e));else{let o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!0),r.issues.push(Dt.issue(o))}};let i=e.transform(r.value,r);return i instanceof Promise?i.then(a=>(r.value=a,r)):(r.value=i,r)}});function N6(t){return new hde({type:"transform",transform:t})}var j6=X("ZodOptional",(t,e)=>{Cue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function _e(t){return new j6({type:"optional",innerType:t})}var gde=X("ZodNullable",(t,e)=>{Nue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function s2(t){return new gde({type:"nullable",innerType:t})}var vde=X("ZodDefault",(t,e)=>{jue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function yde(t,e){return new vde({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var _de=X("ZodPrefault",(t,e)=>{Aue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function bde(t,e){return new _de({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var A6=X("ZodNonOptional",(t,e)=>{Mue.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType});function xde(t,e){return new A6({type:"nonoptional",innerType:t,...Dt.normalizeParams(e)})}var Sde=X("ZodCatch",(t,e)=>{Due.init(t,e),Vt.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function wde(t,e){return new Sde({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var $de=X("ZodPipe",(t,e)=>{zue.init(t,e),Vt.init(t,e),t.in=e.in,t.out=e.out});function O$(t,e){return new $de({type:"pipe",in:t,out:e})}var Ede=X("ZodReadonly",(t,e)=>{Uue.init(t,e),Vt.init(t,e)});function kde(t){return new Ede({type:"readonly",innerType:t})}var M6=X("ZodCustom",(t,e)=>{Lue.init(t,e),Vt.init(t,e)});function Tde(t,e){let r=new Kr({check:"custom",...Dt.normalizeParams(e)});return r._zod.check=t,r}function Ide(t,e){return jle(M6,t??(()=>!0),e)}function Pde(t,e={}){return Ale(M6,t,e)}function Ode(t,e){let r=Tde(n=>(n.addIssue=i=>{if(typeof i=="string")n.issues.push(Dt.issue(i,n.value,r._zod.def));else{let a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=r),a.continue??(a.continue=!r._zod.def.abort),n.issues.push(Dt.issue(a))}},t(n.value,n)),e);return r}function D6(t,e){return O$(N6(t),e)}Bi(Zue());var H$="io.modelcontextprotocol/related-task",ig="2.0",_i=Ide(t=>t!==null&&(typeof t=="object"||typeof t=="function")),z6=Ft([G(),Rt().int()]),U6=G(),Rde=Yn({ttl:Ft([Rt(),P6()]).optional(),pollInterval:Rt().optional()}),B$=Yn({taskId:G()}),Cde=Yn({progressToken:z6.optional(),[H$]:B$.optional()}),Jr=Yn({task:Rde.optional(),_meta:Cde.optional()}),fr=re({method:G(),params:Jr.optional()}),$o=Yn({_meta:re({[H$]:_e(B$)}).passthrough().optional()}),Pn=re({method:G(),params:$o.optional()}),wr=Yn({_meta:Yn({[H$]:B$.optional()}).optional()}),ag=Ft([G(),Rt().int()]),Nde=re({jsonrpc:be(ig),id:ag,...fr.shape}).strict();var jde=re({jsonrpc:be(ig),...Pn.shape}).strict();var Ade=re({jsonrpc:be(ig),id:ag,result:wr}).strict();var c2;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(c2||(c2={}));var Mde=re({jsonrpc:be(ig),id:ag,error:re({code:Rt().int(),message:G(),data:_e(nr())})}).strict();var mIe=Ft([Nde,jde,Ade,Mde]),L6=wr.strict(),Dde=$o.extend({requestId:ag,reason:G().optional()}),q6=Pn.extend({method:be("notifications/cancelled"),params:Dde}),zde=re({src:G(),mimeType:G().optional(),sizes:it(G()).optional()}),Td=re({icons:it(zde).optional()}),bc=re({name:G(),title:G().optional()}),F6=bc.extend({...bc.shape,...Td.shape,version:G(),websiteUrl:G().optional()}),Ude=Z$(re({applyDefaults:xr().optional()}),ir(G(),nr())),Lde=D6(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Z$(re({form:Ude.optional(),url:_i.optional()}),ir(G(),nr()).optional())),qde=re({list:_e(re({}).passthrough()),cancel:_e(re({}).passthrough()),requests:_e(re({sampling:_e(re({createMessage:_e(re({}).passthrough())}).passthrough()),elicitation:_e(re({create:_e(re({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),Fde=re({list:_e(re({}).passthrough()),cancel:_e(re({}).passthrough()),requests:_e(re({tools:_e(re({call:_e(re({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),Zde=re({experimental:ir(G(),_i).optional(),sampling:re({context:_i.optional(),tools:_i.optional()}).optional(),elicitation:Lde.optional(),roots:re({listChanged:xr().optional()}).optional(),tasks:_e(qde)}),Hde=Jr.extend({protocolVersion:G(),capabilities:Zde,clientInfo:F6}),Bde=fr.extend({method:be("initialize"),params:Hde}),Vde=re({experimental:ir(G(),_i).optional(),logging:_i.optional(),completions:_i.optional(),prompts:_e(re({listChanged:_e(xr())})),resources:re({subscribe:xr().optional(),listChanged:xr().optional()}).optional(),tools:re({listChanged:xr().optional()}).optional(),tasks:_e(Fde)}).passthrough(),Gde=wr.extend({protocolVersion:G(),capabilities:Vde,serverInfo:F6,instructions:G().optional()}),Wde=Pn.extend({method:be("notifications/initialized")}),Z6=fr.extend({method:be("ping")}),Kde=re({progress:Rt(),total:_e(Rt()),message:_e(G())}),Jde=re({...$o.shape,...Kde.shape,progressToken:z6}),H6=Pn.extend({method:be("notifications/progress"),params:Jde}),Xde=Jr.extend({cursor:U6.optional()}),Id=fr.extend({params:Xde.optional()}),Pd=wr.extend({nextCursor:_e(U6)}),Od=re({taskId:G(),status:Sr(["working","input_required","completed","failed","cancelled"]),ttl:Ft([Rt(),P6()]),createdAt:G(),lastUpdatedAt:G(),pollInterval:_e(Rt()),statusMessage:_e(G())}),B6=wr.extend({task:Od}),Yde=$o.merge(Od),V6=Pn.extend({method:be("notifications/tasks/status"),params:Yde}),G6=fr.extend({method:be("tasks/get"),params:Jr.extend({taskId:G()})}),W6=wr.merge(Od),K6=fr.extend({method:be("tasks/result"),params:Jr.extend({taskId:G()})}),J6=Id.extend({method:be("tasks/list")}),X6=Pd.extend({tasks:it(Od)}),hIe=fr.extend({method:be("tasks/cancel"),params:Jr.extend({taskId:G()})}),gIe=wr.merge(Od),Y6=re({uri:G(),mimeType:_e(G()),_meta:ir(G(),nr()).optional()}),Q6=Y6.extend({text:G()}),V$=G().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),eU=Y6.extend({blob:V$}),kc=re({audience:it(Sr(["user","assistant"])).optional(),priority:Rt().min(0).max(1).optional(),lastModified:v6.datetime({offset:!0}).optional()}),tU=re({...bc.shape,...Td.shape,uri:G(),description:_e(G()),mimeType:_e(G()),annotations:kc.optional(),_meta:_e(Yn({}))}),Qde=re({...bc.shape,...Td.shape,uriTemplate:G(),description:_e(G()),mimeType:_e(G()),annotations:kc.optional(),_meta:_e(Yn({}))}),epe=Id.extend({method:be("resources/list")}),tpe=Pd.extend({resources:it(tU)}),rpe=Id.extend({method:be("resources/templates/list")}),npe=Pd.extend({resourceTemplates:it(Qde)}),G$=Jr.extend({uri:G()}),ipe=G$,ape=fr.extend({method:be("resources/read"),params:ipe}),ope=wr.extend({contents:it(Ft([Q6,eU]))}),spe=Pn.extend({method:be("notifications/resources/list_changed")}),cpe=G$,upe=fr.extend({method:be("resources/subscribe"),params:cpe}),lpe=G$,dpe=fr.extend({method:be("resources/unsubscribe"),params:lpe}),ppe=$o.extend({uri:G()}),fpe=Pn.extend({method:be("notifications/resources/updated"),params:ppe}),mpe=re({name:G(),description:_e(G()),required:_e(xr())}),hpe=re({...bc.shape,...Td.shape,description:_e(G()),arguments:_e(it(mpe)),_meta:_e(Yn({}))}),gpe=Id.extend({method:be("prompts/list")}),vpe=Pd.extend({prompts:it(hpe)}),ype=Jr.extend({name:G(),arguments:ir(G(),G()).optional()}),_pe=fr.extend({method:be("prompts/get"),params:ype}),W$=re({type:be("text"),text:G(),annotations:kc.optional(),_meta:ir(G(),nr()).optional()}),K$=re({type:be("image"),data:V$,mimeType:G(),annotations:kc.optional(),_meta:ir(G(),nr()).optional()}),J$=re({type:be("audio"),data:V$,mimeType:G(),annotations:kc.optional(),_meta:ir(G(),nr()).optional()}),bpe=re({type:be("tool_use"),name:G(),id:G(),input:re({}).passthrough(),_meta:_e(re({}).passthrough())}).passthrough(),xpe=re({type:be("resource"),resource:Ft([Q6,eU]),annotations:kc.optional(),_meta:ir(G(),nr()).optional()}),Spe=tU.extend({type:be("resource_link")}),X$=Ft([W$,K$,J$,Spe,xpe]),wpe=re({role:Sr(["user","assistant"]),content:X$}),$pe=wr.extend({description:_e(G()),messages:it(wpe)}),Epe=Pn.extend({method:be("notifications/prompts/list_changed")}),kpe=re({title:G().optional(),readOnlyHint:xr().optional(),destructiveHint:xr().optional(),idempotentHint:xr().optional(),openWorldHint:xr().optional()}),Tpe=re({taskSupport:Sr(["required","optional","forbidden"]).optional()}),rU=re({...bc.shape,...Td.shape,description:G().optional(),inputSchema:re({type:be("object"),properties:ir(G(),_i).optional(),required:it(G()).optional()}).catchall(nr()),outputSchema:re({type:be("object"),properties:ir(G(),_i).optional(),required:it(G()).optional()}).catchall(nr()).optional(),annotations:_e(kpe),execution:_e(Tpe),_meta:ir(G(),nr()).optional()}),Ipe=Id.extend({method:be("tools/list")}),Ppe=Pd.extend({tools:it(rU)}),nU=wr.extend({content:it(X$).default([]),structuredContent:ir(G(),nr()).optional(),isError:_e(xr())}),vIe=nU.or(wr.extend({toolResult:nr()})),Ope=Jr.extend({name:G(),arguments:_e(ir(G(),nr()))}),Rpe=fr.extend({method:be("tools/call"),params:Ope}),Cpe=Pn.extend({method:be("notifications/tools/list_changed")}),iU=Sr(["debug","info","notice","warning","error","critical","alert","emergency"]),Npe=Jr.extend({level:iU}),jpe=fr.extend({method:be("logging/setLevel"),params:Npe}),Ape=$o.extend({level:iU,logger:G().optional(),data:nr()}),Mpe=Pn.extend({method:be("notifications/message"),params:Ape}),Dpe=re({name:G().optional()}),zpe=re({hints:_e(it(Dpe)),costPriority:_e(Rt().min(0).max(1)),speedPriority:_e(Rt().min(0).max(1)),intelligencePriority:_e(Rt().min(0).max(1))}),Upe=re({mode:_e(Sr(["auto","required","none"]))}),Lpe=re({type:be("tool_result"),toolUseId:G().describe("The unique identifier for the corresponding tool call."),content:it(X$).default([]),structuredContent:re({}).passthrough().optional(),isError:_e(xr()),_meta:_e(re({}).passthrough())}).passthrough(),qpe=C6("type",[W$,K$,J$]),Lh=C6("type",[W$,K$,J$,bpe,Lpe]),Fpe=re({role:Sr(["user","assistant"]),content:Ft([Lh,it(Lh)]),_meta:_e(re({}).passthrough())}).passthrough(),Zpe=Jr.extend({messages:it(Fpe),modelPreferences:zpe.optional(),systemPrompt:G().optional(),includeContext:Sr(["none","thisServer","allServers"]).optional(),temperature:Rt().optional(),maxTokens:Rt().int(),stopSequences:it(G()).optional(),metadata:_i.optional(),tools:_e(it(rU)),toolChoice:_e(Upe)}),Hpe=fr.extend({method:be("sampling/createMessage"),params:Zpe}),Bpe=wr.extend({model:G(),stopReason:_e(Sr(["endTurn","stopSequence","maxTokens"]).or(G())),role:Sr(["user","assistant"]),content:qpe}),Vpe=wr.extend({model:G(),stopReason:_e(Sr(["endTurn","stopSequence","maxTokens","toolUse"]).or(G())),role:Sr(["user","assistant"]),content:Ft([Lh,it(Lh)])}),Gpe=re({type:be("boolean"),title:G().optional(),description:G().optional(),default:xr().optional()}),Wpe=re({type:be("string"),title:G().optional(),description:G().optional(),minLength:Rt().optional(),maxLength:Rt().optional(),format:Sr(["email","uri","date","date-time"]).optional(),default:G().optional()}),Kpe=re({type:Sr(["number","integer"]),title:G().optional(),description:G().optional(),minimum:Rt().optional(),maximum:Rt().optional(),default:Rt().optional()}),Jpe=re({type:be("string"),title:G().optional(),description:G().optional(),enum:it(G()),default:G().optional()}),Xpe=re({type:be("string"),title:G().optional(),description:G().optional(),oneOf:it(re({const:G(),title:G()})),default:G().optional()}),Ype=re({type:be("string"),title:G().optional(),description:G().optional(),enum:it(G()),enumNames:it(G()).optional(),default:G().optional()}),Qpe=Ft([Jpe,Xpe]),efe=re({type:be("array"),title:G().optional(),description:G().optional(),minItems:Rt().optional(),maxItems:Rt().optional(),items:re({type:be("string"),enum:it(G())}),default:it(G()).optional()}),tfe=re({type:be("array"),title:G().optional(),description:G().optional(),minItems:Rt().optional(),maxItems:Rt().optional(),items:re({anyOf:it(re({const:G(),title:G()}))}),default:it(G()).optional()}),rfe=Ft([efe,tfe]),nfe=Ft([Ype,Qpe,rfe]),ife=Ft([nfe,Gpe,Wpe,Kpe]),afe=Jr.extend({mode:be("form").optional(),message:G(),requestedSchema:re({type:be("object"),properties:ir(G(),ife),required:it(G()).optional()})}),ofe=Jr.extend({mode:be("url"),message:G(),elicitationId:G(),url:G().url()}),sfe=Ft([afe,ofe]),cfe=fr.extend({method:be("elicitation/create"),params:sfe}),ufe=$o.extend({elicitationId:G()}),lfe=Pn.extend({method:be("notifications/elicitation/complete"),params:ufe}),dfe=wr.extend({action:Sr(["accept","decline","cancel"]),content:D6(t=>t===null?void 0:t,ir(G(),Ft([G(),Rt(),xr(),it(G())])).optional())}),pfe=re({type:be("ref/resource"),uri:G()}),ffe=re({type:be("ref/prompt"),name:G()}),mfe=Jr.extend({ref:Ft([ffe,pfe]),argument:re({name:G(),value:G()}),context:re({arguments:ir(G(),G()).optional()}).optional()}),hfe=fr.extend({method:be("completion/complete"),params:mfe});var gfe=wr.extend({completion:Yn({values:it(G()).max(100),total:_e(Rt().int()),hasMore:_e(xr())})}),vfe=re({uri:G().startsWith("file://"),name:G().optional(),_meta:ir(G(),nr()).optional()}),yfe=fr.extend({method:be("roots/list")}),_fe=wr.extend({roots:it(vfe)}),bfe=Pn.extend({method:be("notifications/roots/list_changed")}),yIe=Ft([Z6,Bde,hfe,jpe,_pe,gpe,epe,rpe,ape,upe,dpe,Rpe,Ipe,G6,K6,J6]),_Ie=Ft([q6,H6,Wde,bfe,V6]),bIe=Ft([L6,Bpe,Vpe,dfe,_fe,W6,X6,B6]),xIe=Ft([Z6,Hpe,cfe,yfe,G6,K6,J6]),SIe=Ft([q6,H6,Mpe,fpe,spe,Cpe,Epe,V6,lfe]),wIe=Ft([L6,Gde,gfe,$pe,vpe,tpe,npe,ope,nU,Ppe,W6,X6,B6]);var $Ie=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var EIe=l2(oie(),1),kIe=l2(eae(),1);var u2;(function(t){t.Completable="McpCompletable"})(u2||(u2={}));function aU({prompt:t,options:e}){let{systemPrompt:r,settingSources:n,sandbox:i,...a}=e??{},o,s;r===void 0?o="":typeof r=="string"?o=r:r.type==="preset"&&(s=r.append);let c=a.pathToClaudeCodeExecutable;if(!c){let Z=(0,w2.fileURLToPath)(xfe.url),J=(0,d$.join)(Z,"..");c=(0,d$.join)(J,"cli.js")}process.env.CLAUDE_AGENT_SDK_VERSION="0.1.76";let{abortController:u=E2(),additionalDirectories:l=[],agents:d,allowedTools:p=[],betas:f,canUseTool:h,continue:_,cwd:g,disallowedTools:m=[],tools:y,env:v,executable:b=q2()?"bun":"node",executableArgs:S=[],extraArgs:x={},fallbackModel:w,enableFileCheckpointing:E,forkSession:O,hooks:A,includePartialMessages:M,persistSession:L,maxThinkingTokens:B,maxTurns:U,maxBudgetUsd:Y,mcpServers:me,model:Qe,outputFormat:mt,permissionMode:fe="default",allowDangerouslySkipPermissions:F=!1,permissionPromptToolName:I,plugins:D,resume:C,resumeSessionAt:$,stderr:T,strictMcpConfig:N}=a,W=mt?.type==="json_schema"?mt.schema:void 0,K=v;if(K||(K={...process.env}),K.CLAUDE_CODE_ENTRYPOINT||(K.CLAUDE_CODE_ENTRYPOINT="sdk-ts"),E&&(K.CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING="true"),!c)throw new Error("pathToClaudeCodeExecutable is required");let pe={},ce=new Map;if(me)for(let[Z,J]of Object.entries(me))J.type==="sdk"&&"instance"in J?(ce.set(Z,J.instance),pe[Z]={type:"sdk",name:Z}):pe[Z]=J;let je=typeof t=="string",P=new f$({abortController:u,additionalDirectories:l,betas:f,cwd:g,executable:b,executableArgs:S,extraArgs:x,pathToClaudeCodeExecutable:c,env:K,forkSession:O,stderr:T,maxThinkingTokens:B,maxTurns:U,maxBudgetUsd:Y,model:Qe,fallbackModel:w,jsonSchema:W,permissionMode:fe,allowDangerouslySkipPermissions:F,permissionPromptToolName:I,continueConversation:_,resume:C,resumeSessionAt:$,settingSources:n??[],allowedTools:p,disallowedTools:m,tools:y,mcpServers:pe,strictMcpConfig:N,canUseTool:!!h,hooks:!!A,includePartialMessages:M,persistSession:L,plugins:D,sandbox:i,spawnClaudeCodeProcess:a.spawnClaudeCodeProcess}),R={systemPrompt:o,appendSystemPrompt:s,agents:d},z=new g$(P,je,h,A,u,ce,W,R);return typeof t=="string"?P.write(JSON.stringify({type:"user",session_id:"",message:{role:"user",content:[{type:"text",text:t}]},parent_tool_use_id:null})+` +`):z.streamInput(t),z}var og=class{dbManager;sessionManager;constructor(e,r){this.dbManager=e,this.sessionManager=r}async startSession(e,r){let n={lastCwd:void 0},i=this.findClaudeExecutable(),a=this.getModelId(),o=["Bash","Read","Write","Edit","Grep","Glob","WebFetch","WebSearch","Task","NotebookEdit","AskUserQuestion","TodoWrite"],s=this.createMessageGenerator(e,n),c=!!e.memorySessionId;if(k.info("SDK","Starting SDK query",{sessionDbId:e.sessionDbId,contentSessionId:e.contentSessionId,memorySessionId:e.memorySessionId,hasRealMemorySessionId:c,resume_parameter:c?e.memorySessionId:"(none - fresh start)",lastPromptNumber:e.lastPromptNumber}),e.lastPromptNumber>1){let d=c;k.debug("SDK",`[ALIGNMENT] Resume Decision | contentSessionId=${e.contentSessionId} | memorySessionId=${e.memorySessionId} | prompt#=${e.lastPromptNumber} | hasRealMemorySessionId=${c} | willResume=${d} | resumeWith=${d?e.memorySessionId:"NONE"}`)}else{let d=c;k.debug("SDK",`[ALIGNMENT] First Prompt (INIT) | contentSessionId=${e.contentSessionId} | prompt#=${e.lastPromptNumber} | hasStaleMemoryId=${d} | action=START_FRESH | Will capture new memorySessionId from SDK response`),d&&k.warn("SDK",`Skipping resume for INIT prompt despite existing memorySessionId=${e.memorySessionId} - SDK context was lost (worker restart or crash recovery)`)}let u=aU({prompt:s,options:{model:a,...c&&e.lastPromptNumber>1&&{resume:e.memorySessionId},disallowedTools:o,abortController:e.abortController,pathToClaudeCodeExecutable:i}});for await(let d of u){if(!e.memorySessionId&&d.session_id){e.memorySessionId=d.session_id,this.dbManager.getSessionStore().updateMemorySessionId(e.sessionDbId,d.session_id);let p=this.dbManager.getSessionStore().getSessionById(e.sessionDbId),f=p?.memory_session_id===d.session_id;k.info("SESSION",`MEMORY_ID_CAPTURED | sessionDbId=${e.sessionDbId} | memorySessionId=${d.session_id} | dbVerified=${f}`,{sessionId:e.sessionDbId,memorySessionId:d.session_id}),f||k.error("SESSION",`MEMORY_ID_MISMATCH | sessionDbId=${e.sessionDbId} | expected=${d.session_id} | got=${p?.memory_session_id}`,{sessionId:e.sessionDbId}),k.debug("SDK",`[ALIGNMENT] Captured | contentSessionId=${e.contentSessionId} \u2192 memorySessionId=${d.session_id} | Future prompts will resume with this ID`)}if(d.type==="assistant"){let p=d.message.content,f=Array.isArray(p)?p.filter(v=>v.type==="text").map(v=>v.text).join(` +`):typeof p=="string"?p:"",h=f.length,_=e.cumulativeInputTokens+e.cumulativeOutputTokens,g=d.message.usage;g&&(e.cumulativeInputTokens+=g.input_tokens||0,e.cumulativeOutputTokens+=g.output_tokens||0,g.cache_creation_input_tokens&&(e.cumulativeInputTokens+=g.cache_creation_input_tokens),k.debug("SDK","Token usage captured",{sessionId:e.sessionDbId,inputTokens:g.input_tokens,outputTokens:g.output_tokens,cacheCreation:g.cache_creation_input_tokens||0,cacheRead:g.cache_read_input_tokens||0,cumulativeInput:e.cumulativeInputTokens,cumulativeOutput:e.cumulativeOutputTokens}));let m=e.cumulativeInputTokens+e.cumulativeOutputTokens-_,y=e.earliestPendingTimestamp;if(h>0){let v=h>100?f.substring(0,100)+"...":f;k.dataOut("SDK",`Response received (${h} chars)`,{sessionId:e.sessionDbId,promptNumber:e.lastPromptNumber},v)}await Kn(f,e,this.dbManager,this.sessionManager,r,m,y,"SDK",n.lastCwd)}d.type==="result"&&d.subtype}let l=Date.now()-e.startTime;k.success("SDK","Agent completed",{sessionId:e.sessionDbId,duration:`${(l/1e3).toFixed(1)}s`})}async*createMessageGenerator(e,r){let n=He.getInstance().getActiveMode(),i=e.lastPromptNumber===1;k.info("SDK","Creating message generator",{sessionDbId:e.sessionDbId,contentSessionId:e.contentSessionId,lastPromptNumber:e.lastPromptNumber,isInitPrompt:i,promptType:i?"INIT":"CONTINUATION"});let a=i?Ys(e.project,e.contentSessionId,e.userPrompt,n):tc(e.userPrompt,e.lastPromptNumber,e.contentSessionId,n);e.conversationHistory.push({role:"user",content:a}),yield{type:"user",message:{role:"user",content:a},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0};for await(let o of this.sessionManager.getMessageIterator(e.sessionDbId))if(o.cwd&&(r.lastCwd=o.cwd),o.type==="observation"){o.prompt_number!==void 0&&(e.lastPromptNumber=o.prompt_number);let s=Qs({id:0,tool_name:o.tool_name,tool_input:JSON.stringify(o.tool_input),tool_output:JSON.stringify(o.tool_response),created_at_epoch:Date.now(),cwd:o.cwd});e.conversationHistory.push({role:"user",content:s}),yield{type:"user",message:{role:"user",content:s},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0}}else if(o.type==="summarize"){let s=ec({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_assistant_message:o.last_assistant_message||""},n);e.conversationHistory.push({role:"user",content:s}),yield{type:"user",message:{role:"user",content:s},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0}}}findClaudeExecutable(){let e=Ye.loadFromFile($n);if(e.CLAUDE_CODE_PATH){let{existsSync:r}=require("fs");if(!r(e.CLAUDE_CODE_PATH))throw new Error(`CLAUDE_CODE_PATH is set to "${e.CLAUDE_CODE_PATH}" but the file does not exist.`);return e.CLAUDE_CODE_PATH}try{let r=(0,oU.execSync)(process.platform==="win32"?"where claude":"which claude",{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).trim().split(` `)[0].trim();if(r)return r}catch(r){k.debug("SDK","Claude executable auto-detection failed",{},r)}throw new Error(`Claude executable not found. Please either: 1. Add "claude" to your system PATH, or -2. Set CLAUDE_CODE_PATH in ~/.claude-mem/settings.json`)}getModelId(){let e=rU.default.join((0,tU.homedir)(),".claude-mem","settings.json");return Ye.loadFromFile(e).CLAUDE_MEM_MODEL}};var cg=dt(require("path"),1),ug=require("os");Re();on();jr();var xfe="https://generativelanguage.googleapis.com/v1beta/models",Sfe={"gemini-2.5-flash-lite":10,"gemini-2.5-flash":10,"gemini-2.5-pro":5,"gemini-2.0-flash":15,"gemini-2.0-flash-lite":30,"gemini-3-flash":5},nU=0;async function wfe(t,e){if(!e)return;let r=Sfe[t]||5,n=Math.ceil(6e4/r)+100,a=Date.now()-nU;if(asetTimeout(s,o))}nU=Date.now()}var sg=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}async startSession(e,r){try{let{apiKey:n,model:i,rateLimitingEnabled:a}=this.getGeminiConfig();if(!n)throw new Error("Gemini API key not configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.");let o=He.getInstance().getActiveMode(),s=e.lastPromptNumber===1?Ys(e.project,e.contentSessionId,e.userPrompt,o):tc(e.userPrompt,e.lastPromptNumber,e.contentSessionId,o);e.conversationHistory.push({role:"user",content:s});let c=await this.queryGeminiMultiTurn(e.conversationHistory,n,i,a);if(c.content){e.conversationHistory.push({role:"assistant",content:c.content});let d=c.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(d*.7),e.cumulativeOutputTokens+=Math.floor(d*.3),await Wn(c.content,e,this.dbManager,this.sessionManager,r,d,null,"Gemini")}else k.warn("SDK","Empty Gemini init response - session may lack context",{sessionId:e.sessionDbId,model:i});let u;for await(let d of this.sessionManager.getMessageIterator(e.sessionDbId)){d.cwd&&(u=d.cwd);let p=e.earliestPendingTimestamp;if(d.type==="observation"){d.prompt_number!==void 0&&(e.lastPromptNumber=d.prompt_number);let f=Qs({id:0,tool_name:d.tool_name,tool_input:JSON.stringify(d.tool_input),tool_output:JSON.stringify(d.tool_response),created_at_epoch:p??Date.now(),cwd:d.cwd});e.conversationHistory.push({role:"user",content:f});let h=await this.queryGeminiMultiTurn(e.conversationHistory,n,i,a),_=0;h.content&&(e.conversationHistory.push({role:"assistant",content:h.content}),_=h.tokensUsed||0,e.cumulativeInputTokens+=Math.floor(_*.7),e.cumulativeOutputTokens+=Math.floor(_*.3)),await Wn(h.content||"",e,this.dbManager,this.sessionManager,r,_,p,"Gemini",u)}else if(d.type==="summarize"){let f=ec({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_assistant_message:d.last_assistant_message||""},o);e.conversationHistory.push({role:"user",content:f});let h=await this.queryGeminiMultiTurn(e.conversationHistory,n,i,a),_=0;h.content&&(e.conversationHistory.push({role:"assistant",content:h.content}),_=h.tokensUsed||0,e.cumulativeInputTokens+=Math.floor(_*.7),e.cumulativeOutputTokens+=Math.floor(_*.3)),await Wn(h.content||"",e,this.dbManager,this.sessionManager,r,_,p,"Gemini",u)}}let l=Date.now()-e.startTime;k.success("SDK","Gemini agent completed",{sessionId:e.sessionDbId,duration:`${(l/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length})}catch(n){if(sd(n))throw k.warn("SDK","Gemini agent aborted",{sessionId:e.sessionDbId}),n;if(od(n)&&this.fallbackAgent)return k.warn("SDK","Gemini API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:n instanceof Error?n.message:String(n),historyLength:e.conversationHistory.length}),this.fallbackAgent.startSession(e,r);throw k.failure("SDK","Gemini agent error",{sessionDbId:e.sessionDbId},n),n}}conversationToGeminiContents(e){return e.map(r=>({role:r.role==="assistant"?"model":"user",parts:[{text:r.content}]}))}async queryGeminiMultiTurn(e,r,n,i){let a=this.conversationToGeminiContents(e),o=e.reduce((p,f)=>p+f.content.length,0);k.debug("SDK",`Querying Gemini multi-turn (${n})`,{turns:e.length,totalChars:o});let s=`${xfe}/${n}:generateContent?key=${r}`;await wfe(n,i);let c=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:a,generationConfig:{temperature:.3,maxOutputTokens:4096}})});if(!c.ok){let p=await c.text();throw new Error(`Gemini API error: ${c.status} - ${p}`)}let u=await c.json();if(!u.candidates?.[0]?.content?.parts?.[0]?.text)return k.warn("SDK","Empty response from Gemini"),{content:""};let l=u.candidates[0].content.parts[0].text,d=u.usageMetadata?.totalTokenCount;return{content:l,tokensUsed:d}}getGeminiConfig(){let e=cg.default.join((0,ug.homedir)(),".claude-mem","settings.json"),r=Ye.loadFromFile(e),n=r.CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY||"",i="gemini-2.5-flash",a=r.CLAUDE_MEM_GEMINI_MODEL||i,o=["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-2.5-pro","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-3-flash"],s;o.includes(a)?s=a:(k.warn("SDK",`Invalid Gemini model "${a}", falling back to ${i}`,{configured:a,validModels:o}),s=i);let c=r.CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED!=="false";return{apiKey:n,model:s,rateLimitingEnabled:c}}};function X$(){let t=cg.default.join((0,ug.homedir)(),".claude-mem","settings.json");return!!(Ye.loadFromFile(t).CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY)}function Y$(){let t=cg.default.join((0,ug.homedir)(),".claude-mem","settings.json");return Ye.loadFromFile(t).CLAUDE_MEM_PROVIDER==="gemini"}Re();on();cn();jr();var $fe="https://openrouter.ai/api/v1/chat/completions",Efe=20,kfe=1e5,Tfe=4,lg=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}async startSession(e,r){try{let{apiKey:n,model:i,siteUrl:a,appName:o}=this.getOpenRouterConfig();if(!n)throw new Error("OpenRouter API key not configured. Set CLAUDE_MEM_OPENROUTER_API_KEY in settings or OPENROUTER_API_KEY environment variable.");let s=He.getInstance().getActiveMode(),c=e.lastPromptNumber===1?Ys(e.project,e.contentSessionId,e.userPrompt,s):tc(e.userPrompt,e.lastPromptNumber,e.contentSessionId,s);e.conversationHistory.push({role:"user",content:c});let u=await this.queryOpenRouterMultiTurn(e.conversationHistory,n,i,a,o);if(u.content){e.conversationHistory.push({role:"assistant",content:u.content});let p=u.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(p*.7),e.cumulativeOutputTokens+=Math.floor(p*.3),await Wn(u.content,e,this.dbManager,this.sessionManager,r,p,null,"OpenRouter",void 0)}else k.warn("SDK","Empty OpenRouter init response - session may lack context",{sessionId:e.sessionDbId,model:i});let l;for await(let p of this.sessionManager.getMessageIterator(e.sessionDbId)){p.cwd&&(l=p.cwd);let f=e.earliestPendingTimestamp;if(p.type==="observation"){p.prompt_number!==void 0&&(e.lastPromptNumber=p.prompt_number);let h=Qs({id:0,tool_name:p.tool_name,tool_input:JSON.stringify(p.tool_input),tool_output:JSON.stringify(p.tool_response),created_at_epoch:f??Date.now(),cwd:p.cwd});e.conversationHistory.push({role:"user",content:h});let _=await this.queryOpenRouterMultiTurn(e.conversationHistory,n,i,a,o),g=0;_.content&&(e.conversationHistory.push({role:"assistant",content:_.content}),g=_.tokensUsed||0,e.cumulativeInputTokens+=Math.floor(g*.7),e.cumulativeOutputTokens+=Math.floor(g*.3)),await Wn(_.content||"",e,this.dbManager,this.sessionManager,r,g,f,"OpenRouter",l)}else if(p.type==="summarize"){let h=ec({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_assistant_message:p.last_assistant_message||""},s);e.conversationHistory.push({role:"user",content:h});let _=await this.queryOpenRouterMultiTurn(e.conversationHistory,n,i,a,o),g=0;_.content&&(e.conversationHistory.push({role:"assistant",content:_.content}),g=_.tokensUsed||0,e.cumulativeInputTokens+=Math.floor(g*.7),e.cumulativeOutputTokens+=Math.floor(g*.3)),await Wn(_.content||"",e,this.dbManager,this.sessionManager,r,g,f,"OpenRouter",l)}}let d=Date.now()-e.startTime;k.success("SDK","OpenRouter agent completed",{sessionId:e.sessionDbId,duration:`${(d/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length,model:i})}catch(n){if(sd(n))throw k.warn("SDK","OpenRouter agent aborted",{sessionId:e.sessionDbId}),n;if(od(n)&&this.fallbackAgent)return k.warn("SDK","OpenRouter API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:n instanceof Error?n.message:String(n),historyLength:e.conversationHistory.length}),this.fallbackAgent.startSession(e,r);throw k.failure("SDK","OpenRouter agent error",{sessionDbId:e.sessionDbId},n),n}}estimateTokens(e){return Math.ceil(e.length/Tfe)}truncateHistory(e){let r=Ye.loadFromFile($n),n=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES)||Efe,i=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS)||kfe;if(e.length<=n&&e.reduce((c,u)=>c+this.estimateTokens(u.content),0)<=i)return e;let a=[],o=0;for(let s=e.length-1;s>=0;s--){let c=e[s],u=this.estimateTokens(c.content);if(a.length>=n||o+u>i){k.warn("SDK","Context window truncated to prevent runaway costs",{originalMessages:e.length,keptMessages:a.length,droppedMessages:s+1,estimatedTokens:o,tokenLimit:i});break}a.unshift(c),o+=u}return a}conversationToOpenAIMessages(e){return e.map(r=>({role:r.role==="assistant"?"assistant":"user",content:r.content}))}async queryOpenRouterMultiTurn(e,r,n,i,a){let o=this.truncateHistory(e),s=this.conversationToOpenAIMessages(o),c=o.reduce((h,_)=>h+_.content.length,0),u=this.estimateTokens(o.map(h=>h.content).join(""));k.debug("SDK",`Querying OpenRouter multi-turn (${n})`,{turns:o.length,totalChars:c,estimatedTokens:u});let l=await fetch($fe,{method:"POST",headers:{Authorization:`Bearer ${r}`,"HTTP-Referer":i||"https://github.com/thedotmack/claude-mem","X-Title":a||"claude-mem","Content-Type":"application/json"},body:JSON.stringify({model:n,messages:s,temperature:.3,max_tokens:4096})});if(!l.ok){let h=await l.text();throw new Error(`OpenRouter API error: ${l.status} - ${h}`)}let d=await l.json();if(d.error)throw new Error(`OpenRouter API error: ${d.error.code} - ${d.error.message}`);if(!d.choices?.[0]?.message?.content)return k.warn("SDK","Empty response from OpenRouter"),{content:""};let p=d.choices[0].message.content,f=d.usage?.total_tokens;if(f){let h=d.usage?.prompt_tokens||0,_=d.usage?.completion_tokens||0,g=h/1e6*3+_/1e6*15;k.info("SDK","OpenRouter API usage",{model:n,inputTokens:h,outputTokens:_,totalTokens:f,estimatedCostUSD:g.toFixed(4),messagesInContext:o.length}),f>5e4&&k.warn("SDK","High token usage detected - consider reducing context",{totalTokens:f,estimatedCost:g.toFixed(4)})}return{content:p,tokensUsed:f}}getOpenRouterConfig(){let e=$n,r=Ye.loadFromFile(e),n=r.CLAUDE_MEM_OPENROUTER_API_KEY||process.env.OPENROUTER_API_KEY||"",i=r.CLAUDE_MEM_OPENROUTER_MODEL||"xiaomi/mimo-v2-flash:free",a=r.CLAUDE_MEM_OPENROUTER_SITE_URL||"",o=r.CLAUDE_MEM_OPENROUTER_APP_NAME||"claude-mem";return{apiKey:n,model:i,siteUrl:a,appName:o}}};function Q$(){let t=$n;return!!(Ye.loadFromFile(t).CLAUDE_MEM_OPENROUTER_API_KEY||process.env.OPENROUTER_API_KEY)}function eE(){let t=$n;return Ye.loadFromFile(t).CLAUDE_MEM_PROVIDER==="openrouter"}Re();var dg=class{dbManager;constructor(e){this.dbManager=e}stripProjectPath(e,r){let n=`/${r}/`,i=e.indexOf(n);return i!==-1?e.substring(i+n.length):e}stripProjectPaths(e,r){if(!e)return e;try{let i=JSON.parse(e).map(a=>this.stripProjectPath(a,r));return JSON.stringify(i)}catch(n){return k.debug("WORKER","File paths is plain string, using as-is",{},n),e}}sanitizeObservation(e){return{...e,files_read:this.stripProjectPaths(e.files_read,e.project),files_modified:this.stripProjectPaths(e.files_modified,e.project)}}getObservations(e,r,n){let i=this.paginate("observations","id, memory_session_id, project, type, title, subtitle, narrative, text, facts, concepts, files_read, files_modified, prompt_number, created_at, created_at_epoch",e,r,n);return{...i,items:i.items.map(a=>this.sanitizeObservation(a))}}getSummaries(e,r,n){let i=this.dbManager.getSessionStore().db,a=` +2. Set CLAUDE_CODE_PATH in ~/.claude-mem/settings.json`)}getModelId(){let e=cU.default.join((0,sU.homedir)(),".claude-mem","settings.json");return Ye.loadFromFile(e).CLAUDE_MEM_MODEL}};var cg=dt(require("path"),1),ug=require("os");Re();on();jr();var Sfe="https://generativelanguage.googleapis.com/v1beta/models",wfe={"gemini-2.5-flash-lite":10,"gemini-2.5-flash":10,"gemini-2.5-pro":5,"gemini-2.0-flash":15,"gemini-2.0-flash-lite":30,"gemini-3-flash":5},uU=0;async function $fe(t,e){if(!e)return;let r=wfe[t]||5,n=Math.ceil(6e4/r)+100,a=Date.now()-uU;if(asetTimeout(s,o))}uU=Date.now()}var sg=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}async startSession(e,r){try{let{apiKey:n,model:i,rateLimitingEnabled:a}=this.getGeminiConfig();if(!n)throw new Error("Gemini API key not configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.");let o=He.getInstance().getActiveMode(),s=e.lastPromptNumber===1?Ys(e.project,e.contentSessionId,e.userPrompt,o):tc(e.userPrompt,e.lastPromptNumber,e.contentSessionId,o);e.conversationHistory.push({role:"user",content:s});let c=await this.queryGeminiMultiTurn(e.conversationHistory,n,i,a);if(c.content){e.conversationHistory.push({role:"assistant",content:c.content});let d=c.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(d*.7),e.cumulativeOutputTokens+=Math.floor(d*.3),await Kn(c.content,e,this.dbManager,this.sessionManager,r,d,null,"Gemini")}else k.error("SDK","Empty Gemini init response - session may lack context",{sessionId:e.sessionDbId,model:i});let u;for await(let d of this.sessionManager.getMessageIterator(e.sessionDbId)){d.cwd&&(u=d.cwd);let p=e.earliestPendingTimestamp;if(d.type==="observation"){d.prompt_number!==void 0&&(e.lastPromptNumber=d.prompt_number);let f=Qs({id:0,tool_name:d.tool_name,tool_input:JSON.stringify(d.tool_input),tool_output:JSON.stringify(d.tool_response),created_at_epoch:p??Date.now(),cwd:d.cwd});e.conversationHistory.push({role:"user",content:f});let h=await this.queryGeminiMultiTurn(e.conversationHistory,n,i,a),_=0;h.content&&(e.conversationHistory.push({role:"assistant",content:h.content}),_=h.tokensUsed||0,e.cumulativeInputTokens+=Math.floor(_*.7),e.cumulativeOutputTokens+=Math.floor(_*.3)),await Kn(h.content||"",e,this.dbManager,this.sessionManager,r,_,p,"Gemini",u)}else if(d.type==="summarize"){let f=ec({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_assistant_message:d.last_assistant_message||""},o);e.conversationHistory.push({role:"user",content:f});let h=await this.queryGeminiMultiTurn(e.conversationHistory,n,i,a),_=0;h.content&&(e.conversationHistory.push({role:"assistant",content:h.content}),_=h.tokensUsed||0,e.cumulativeInputTokens+=Math.floor(_*.7),e.cumulativeOutputTokens+=Math.floor(_*.3)),await Kn(h.content||"",e,this.dbManager,this.sessionManager,r,_,p,"Gemini",u)}}let l=Date.now()-e.startTime;k.success("SDK","Gemini agent completed",{sessionId:e.sessionDbId,duration:`${(l/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length})}catch(n){if(sd(n))throw k.warn("SDK","Gemini agent aborted",{sessionId:e.sessionDbId}),n;if(od(n)&&this.fallbackAgent)return k.warn("SDK","Gemini API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:n instanceof Error?n.message:String(n),historyLength:e.conversationHistory.length}),this.fallbackAgent.startSession(e,r);throw k.failure("SDK","Gemini agent error",{sessionDbId:e.sessionDbId},n),n}}conversationToGeminiContents(e){return e.map(r=>({role:r.role==="assistant"?"model":"user",parts:[{text:r.content}]}))}async queryGeminiMultiTurn(e,r,n,i){let a=this.conversationToGeminiContents(e),o=e.reduce((p,f)=>p+f.content.length,0);k.debug("SDK",`Querying Gemini multi-turn (${n})`,{turns:e.length,totalChars:o});let s=`${Sfe}/${n}:generateContent?key=${r}`;await $fe(n,i);let c=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:a,generationConfig:{temperature:.3,maxOutputTokens:4096}})});if(!c.ok){let p=await c.text();throw new Error(`Gemini API error: ${c.status} - ${p}`)}let u=await c.json();if(!u.candidates?.[0]?.content?.parts?.[0]?.text)return k.error("SDK","Empty response from Gemini"),{content:""};let l=u.candidates[0].content.parts[0].text,d=u.usageMetadata?.totalTokenCount;return{content:l,tokensUsed:d}}getGeminiConfig(){let e=cg.default.join((0,ug.homedir)(),".claude-mem","settings.json"),r=Ye.loadFromFile(e),n=r.CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY||"",i="gemini-2.5-flash",a=r.CLAUDE_MEM_GEMINI_MODEL||i,o=["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-2.5-pro","gemini-2.0-flash","gemini-2.0-flash-lite","gemini-3-flash"],s;o.includes(a)?s=a:(k.warn("SDK",`Invalid Gemini model "${a}", falling back to ${i}`,{configured:a,validModels:o}),s=i);let c=r.CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED!=="false";return{apiKey:n,model:s,rateLimitingEnabled:c}}};function Y$(){let t=cg.default.join((0,ug.homedir)(),".claude-mem","settings.json");return!!(Ye.loadFromFile(t).CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY)}function Q$(){let t=cg.default.join((0,ug.homedir)(),".claude-mem","settings.json");return Ye.loadFromFile(t).CLAUDE_MEM_PROVIDER==="gemini"}Re();on();cn();jr();var Efe="https://openrouter.ai/api/v1/chat/completions",kfe=20,Tfe=1e5,Ife=4,lg=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}async startSession(e,r){try{let{apiKey:n,model:i,siteUrl:a,appName:o}=this.getOpenRouterConfig();if(!n)throw new Error("OpenRouter API key not configured. Set CLAUDE_MEM_OPENROUTER_API_KEY in settings or OPENROUTER_API_KEY environment variable.");let s=He.getInstance().getActiveMode(),c=e.lastPromptNumber===1?Ys(e.project,e.contentSessionId,e.userPrompt,s):tc(e.userPrompt,e.lastPromptNumber,e.contentSessionId,s);e.conversationHistory.push({role:"user",content:c});let u=await this.queryOpenRouterMultiTurn(e.conversationHistory,n,i,a,o);if(u.content){e.conversationHistory.push({role:"assistant",content:u.content});let p=u.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(p*.7),e.cumulativeOutputTokens+=Math.floor(p*.3),await Kn(u.content,e,this.dbManager,this.sessionManager,r,p,null,"OpenRouter",void 0)}else k.error("SDK","Empty OpenRouter init response - session may lack context",{sessionId:e.sessionDbId,model:i});let l;for await(let p of this.sessionManager.getMessageIterator(e.sessionDbId)){p.cwd&&(l=p.cwd);let f=e.earliestPendingTimestamp;if(p.type==="observation"){p.prompt_number!==void 0&&(e.lastPromptNumber=p.prompt_number);let h=Qs({id:0,tool_name:p.tool_name,tool_input:JSON.stringify(p.tool_input),tool_output:JSON.stringify(p.tool_response),created_at_epoch:f??Date.now(),cwd:p.cwd});e.conversationHistory.push({role:"user",content:h});let _=await this.queryOpenRouterMultiTurn(e.conversationHistory,n,i,a,o),g=0;_.content&&(e.conversationHistory.push({role:"assistant",content:_.content}),g=_.tokensUsed||0,e.cumulativeInputTokens+=Math.floor(g*.7),e.cumulativeOutputTokens+=Math.floor(g*.3)),await Kn(_.content||"",e,this.dbManager,this.sessionManager,r,g,f,"OpenRouter",l)}else if(p.type==="summarize"){let h=ec({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_assistant_message:p.last_assistant_message||""},s);e.conversationHistory.push({role:"user",content:h});let _=await this.queryOpenRouterMultiTurn(e.conversationHistory,n,i,a,o),g=0;_.content&&(e.conversationHistory.push({role:"assistant",content:_.content}),g=_.tokensUsed||0,e.cumulativeInputTokens+=Math.floor(g*.7),e.cumulativeOutputTokens+=Math.floor(g*.3)),await Kn(_.content||"",e,this.dbManager,this.sessionManager,r,g,f,"OpenRouter",l)}}let d=Date.now()-e.startTime;k.success("SDK","OpenRouter agent completed",{sessionId:e.sessionDbId,duration:`${(d/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length,model:i})}catch(n){if(sd(n))throw k.warn("SDK","OpenRouter agent aborted",{sessionId:e.sessionDbId}),n;if(od(n)&&this.fallbackAgent)return k.warn("SDK","OpenRouter API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:n instanceof Error?n.message:String(n),historyLength:e.conversationHistory.length}),this.fallbackAgent.startSession(e,r);throw k.failure("SDK","OpenRouter agent error",{sessionDbId:e.sessionDbId},n),n}}estimateTokens(e){return Math.ceil(e.length/Ife)}truncateHistory(e){let r=Ye.loadFromFile($n),n=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES)||kfe,i=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS)||Tfe;if(e.length<=n&&e.reduce((c,u)=>c+this.estimateTokens(u.content),0)<=i)return e;let a=[],o=0;for(let s=e.length-1;s>=0;s--){let c=e[s],u=this.estimateTokens(c.content);if(a.length>=n||o+u>i){k.warn("SDK","Context window truncated to prevent runaway costs",{originalMessages:e.length,keptMessages:a.length,droppedMessages:s+1,estimatedTokens:o,tokenLimit:i});break}a.unshift(c),o+=u}return a}conversationToOpenAIMessages(e){return e.map(r=>({role:r.role==="assistant"?"assistant":"user",content:r.content}))}async queryOpenRouterMultiTurn(e,r,n,i,a){let o=this.truncateHistory(e),s=this.conversationToOpenAIMessages(o),c=o.reduce((h,_)=>h+_.content.length,0),u=this.estimateTokens(o.map(h=>h.content).join(""));k.debug("SDK",`Querying OpenRouter multi-turn (${n})`,{turns:o.length,totalChars:c,estimatedTokens:u});let l=await fetch(Efe,{method:"POST",headers:{Authorization:`Bearer ${r}`,"HTTP-Referer":i||"https://github.com/thedotmack/claude-mem","X-Title":a||"claude-mem","Content-Type":"application/json"},body:JSON.stringify({model:n,messages:s,temperature:.3,max_tokens:4096})});if(!l.ok){let h=await l.text();throw new Error(`OpenRouter API error: ${l.status} - ${h}`)}let d=await l.json();if(d.error)throw new Error(`OpenRouter API error: ${d.error.code} - ${d.error.message}`);if(!d.choices?.[0]?.message?.content)return k.error("SDK","Empty response from OpenRouter"),{content:""};let p=d.choices[0].message.content,f=d.usage?.total_tokens;if(f){let h=d.usage?.prompt_tokens||0,_=d.usage?.completion_tokens||0,g=h/1e6*3+_/1e6*15;k.info("SDK","OpenRouter API usage",{model:n,inputTokens:h,outputTokens:_,totalTokens:f,estimatedCostUSD:g.toFixed(4),messagesInContext:o.length}),f>5e4&&k.warn("SDK","High token usage detected - consider reducing context",{totalTokens:f,estimatedCost:g.toFixed(4)})}return{content:p,tokensUsed:f}}getOpenRouterConfig(){let e=$n,r=Ye.loadFromFile(e),n=r.CLAUDE_MEM_OPENROUTER_API_KEY||process.env.OPENROUTER_API_KEY||"",i=r.CLAUDE_MEM_OPENROUTER_MODEL||"xiaomi/mimo-v2-flash:free",a=r.CLAUDE_MEM_OPENROUTER_SITE_URL||"",o=r.CLAUDE_MEM_OPENROUTER_APP_NAME||"claude-mem";return{apiKey:n,model:i,siteUrl:a,appName:o}}};function eE(){let t=$n;return!!(Ye.loadFromFile(t).CLAUDE_MEM_OPENROUTER_API_KEY||process.env.OPENROUTER_API_KEY)}function tE(){let t=$n;return Ye.loadFromFile(t).CLAUDE_MEM_PROVIDER==="openrouter"}Re();var dg=class{dbManager;constructor(e){this.dbManager=e}stripProjectPath(e,r){let n=`/${r}/`,i=e.indexOf(n);return i!==-1?e.substring(i+n.length):e}stripProjectPaths(e,r){if(!e)return e;try{let i=JSON.parse(e).map(a=>this.stripProjectPath(a,r));return JSON.stringify(i)}catch(n){return k.debug("WORKER","File paths is plain string, using as-is",{},n),e}}sanitizeObservation(e){return{...e,files_read:this.stripProjectPaths(e.files_read,e.project),files_modified:this.stripProjectPaths(e.files_modified,e.project)}}getObservations(e,r,n){let i=this.paginate("observations","id, memory_session_id, project, type, title, subtitle, narrative, text, facts, concepts, files_read, files_modified, prompt_number, created_at, created_at_epoch",e,r,n);return{...i,items:i.items.map(a=>this.sanitizeObservation(a))}}getSummaries(e,r,n){let i=this.dbManager.getSessionStore().db,a=` SELECT ss.id, s.content_session_id as session_id, @@ -1172,10 +1172,10 @@ ${n}`}function tne(t,e){let r=yo.default.join(t,"CLAUDE.md"),n=`${r}.tmp`;(0,Gn. `,o=[];n&&(a+=" WHERE s.project = ?",o.push(n)),a+=" ORDER BY up.created_at_epoch DESC LIMIT ? OFFSET ?",o.push(r+1,e);let c=i.prepare(a).all(...o);return{items:c.slice(0,r),hasMore:c.length>r,offset:e,limit:r}}paginate(e,r,n,i,a){let o=this.dbManager.getSessionStore().db,s=`SELECT ${r} FROM ${e}`,c=[];a&&(s+=" WHERE project = ?",c.push(a)),s+=" ORDER BY created_at_epoch DESC LIMIT ? OFFSET ?",c.push(i+1,n);let l=o.prepare(s).all(...c);return{items:l.slice(0,i),hasMore:l.length>i,offset:n,limit:i}}};Re();var pg=class{dbManager;defaultSettings={sidebarOpen:!0,selectedProject:null,theme:"system"};constructor(e){this.dbManager=e}getSettings(){let e=this.dbManager.getSessionStore().db;try{let n=e.prepare("SELECT key, value FROM viewer_settings").all(),i={...this.defaultSettings};for(let a of n){let o=a.key;o in i&&(i[o]=JSON.parse(a.value))}return i}catch(r){return k.debug("WORKER","Failed to load settings, using defaults",{},r),{...this.defaultSettings}}}updateSettings(e){let n=this.dbManager.getSessionStore().db.prepare(` INSERT OR REPLACE INTO viewer_settings (key, value) VALUES (?, ?) - `);for(let[i,a]of Object.entries(e))n.run(i,JSON.stringify(a));return this.getSettings()}};var iU=require("path");Re();nc();jr();var Vi=class{emptyResult(e){return{results:{observations:[],sessions:[],prompts:[]},usedChroma:e==="chroma"||e==="hybrid",fellBack:!1,strategy:e}}};var qt={RECENCY_WINDOW_DAYS:90,RECENCY_WINDOW_MS:7776e6,DEFAULT_LIMIT:20,CHROMA_BATCH_SIZE:100};Re();var Rd=class extends Vi{constructor(r,n){super();this.chromaSync=r;this.sessionStore=n}name="chroma";canHandle(r){return!!r.query&&!!this.chromaSync}async search(r){let{query:n,searchType:i="all",obsType:a,concepts:o,files:s,limit:c=qt.DEFAULT_LIMIT,project:u,orderBy:l="date_desc"}=r;if(!n)return this.emptyResult("chroma");let d=i==="all"||i==="observations",p=i==="all"||i==="sessions",f=i==="all"||i==="prompts",h=[],_=[],g=[];try{let m=this.buildWhereFilter(i);k.debug("SEARCH","ChromaSearchStrategy: Querying Chroma",{query:n,searchType:i});let y=await this.chromaSync.queryChroma(n,qt.CHROMA_BATCH_SIZE,m);if(k.debug("SEARCH","ChromaSearchStrategy: Chroma returned matches",{matchCount:y.ids.length}),y.ids.length===0)return{results:{observations:[],sessions:[],prompts:[]},usedChroma:!0,fellBack:!1,strategy:"chroma"};let v=this.filterByRecency(y);k.debug("SEARCH","ChromaSearchStrategy: Filtered by recency",{count:v.length});let b=this.categorizeByDocType(v,{searchObservations:d,searchSessions:p,searchPrompts:f});if(b.obsIds.length>0){let S={type:a,concepts:o,files:s,orderBy:l,limit:c,project:u};h=this.sessionStore.getObservationsByIds(b.obsIds,S)}return b.sessionIds.length>0&&(_=this.sessionStore.getSessionSummariesByIds(b.sessionIds,{orderBy:l,limit:c,project:u})),b.promptIds.length>0&&(g=this.sessionStore.getUserPromptsByIds(b.promptIds,{orderBy:l,limit:c,project:u})),k.debug("SEARCH","ChromaSearchStrategy: Hydrated results",{observations:h.length,sessions:_.length,prompts:g.length}),{results:{observations:h,sessions:_,prompts:g},usedChroma:!0,fellBack:!1,strategy:"chroma"}}catch(m){return k.warn("SEARCH","ChromaSearchStrategy: Search failed",{},m),{results:{observations:[],sessions:[],prompts:[]},usedChroma:!1,fellBack:!1,strategy:"chroma"}}}buildWhereFilter(r){switch(r){case"observations":return{doc_type:"observation"};case"sessions":return{doc_type:"session_summary"};case"prompts":return{doc_type:"user_prompt"};default:return}}filterByRecency(r){let n=Date.now()-qt.RECENCY_WINDOW_MS;return r.metadatas.map((i,a)=>({id:r.ids[a],meta:i})).filter(i=>i.meta&&i.meta.created_at_epoch>n)}categorizeByDocType(r,n){let i=[],a=[],o=[];for(let s of r){let c=s.meta?.doc_type;c==="observation"&&n.searchObservations?i.push(s.id):c==="session_summary"&&n.searchSessions?a.push(s.id):c==="user_prompt"&&n.searchPrompts&&o.push(s.id)}return{obsIds:i,sessionIds:a,promptIds:o}}};Re();var Cd=class extends Vi{constructor(r){super();this.sessionSearch=r}name="sqlite";canHandle(r){return!r.query||r.strategyHint==="sqlite"}async search(r){let{searchType:n="all",obsType:i,concepts:a,files:o,limit:s=qt.DEFAULT_LIMIT,offset:c=0,project:u,dateRange:l,orderBy:d="date_desc"}=r,p=n==="all"||n==="observations",f=n==="all"||n==="sessions",h=n==="all"||n==="prompts",_=[],g=[],m=[],y={limit:s,offset:c,orderBy:d,project:u,dateRange:l};k.debug("SEARCH","SQLiteSearchStrategy: Filter-only query",{searchType:n,hasDateRange:!!l,hasProject:!!u});try{if(p){let v={...y,type:i,concepts:a,files:o};_=this.sessionSearch.searchObservations(void 0,v)}return f&&(g=this.sessionSearch.searchSessions(void 0,y)),h&&(m=this.sessionSearch.searchUserPrompts(void 0,y)),k.debug("SEARCH","SQLiteSearchStrategy: Results",{observations:_.length,sessions:g.length,prompts:m.length}),{results:{observations:_,sessions:g,prompts:m},usedChroma:!1,fellBack:!1,strategy:"sqlite"}}catch(v){return k.warn("SEARCH","SQLiteSearchStrategy: Search failed",{},v),this.emptyResult("sqlite")}}findByConcept(r,n){let{limit:i=qt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s="date_desc"}=n;return this.sessionSearch.findByConcept(r,{limit:i,project:a,dateRange:o,orderBy:s})}findByType(r,n){let{limit:i=qt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s="date_desc"}=n;return this.sessionSearch.findByType(r,{limit:i,project:a,dateRange:o,orderBy:s})}findByFile(r,n){let{limit:i=qt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s="date_desc"}=n;return this.sessionSearch.findByFile(r,{limit:i,project:a,dateRange:o,orderBy:s})}};Re();var Nd=class extends Vi{constructor(r,n,i){super();this.chromaSync=r;this.sessionStore=n;this.sessionSearch=i}name="hybrid";canHandle(r){return!!this.chromaSync&&(!!r.concepts||!!r.files||!!r.type&&!!r.query||r.strategyHint==="hybrid")}async search(r){let{query:n,limit:i=qt.DEFAULT_LIMIT,project:a}=r;return n?this.emptyResult("hybrid"):this.emptyResult("hybrid")}async findByConcept(r,n){let{limit:i=qt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s}=n,c={limit:i,project:a,dateRange:o,orderBy:s};try{k.debug("SEARCH","HybridSearchStrategy: findByConcept",{concept:r});let u=this.sessionSearch.findByConcept(r,c);if(k.debug("SEARCH","HybridSearchStrategy: Found metadata matches",{count:u.length}),u.length===0)return this.emptyResult("hybrid");let l=u.map(f=>f.id),d=await this.chromaSync.queryChroma(r,Math.min(l.length,qt.CHROMA_BATCH_SIZE)),p=this.intersectWithRanking(l,d.ids);if(k.debug("SEARCH","HybridSearchStrategy: Ranked by semantic relevance",{count:p.length}),p.length>0){let f=this.sessionStore.getObservationsByIds(p,{limit:i});return f.sort((h,_)=>p.indexOf(h.id)-p.indexOf(_.id)),{results:{observations:f,sessions:[],prompts:[]},usedChroma:!0,fellBack:!1,strategy:"hybrid"}}return this.emptyResult("hybrid")}catch(u){return k.warn("SEARCH","HybridSearchStrategy: findByConcept failed",{},u),{results:{observations:this.sessionSearch.findByConcept(r,c),sessions:[],prompts:[]},usedChroma:!1,fellBack:!0,strategy:"hybrid"}}}async findByType(r,n){let{limit:i=qt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s}=n,c={limit:i,project:a,dateRange:o,orderBy:s},u=Array.isArray(r)?r.join(", "):r;try{k.debug("SEARCH","HybridSearchStrategy: findByType",{type:u});let l=this.sessionSearch.findByType(r,c);if(k.debug("SEARCH","HybridSearchStrategy: Found metadata matches",{count:l.length}),l.length===0)return this.emptyResult("hybrid");let d=l.map(h=>h.id),p=await this.chromaSync.queryChroma(u,Math.min(d.length,qt.CHROMA_BATCH_SIZE)),f=this.intersectWithRanking(d,p.ids);if(k.debug("SEARCH","HybridSearchStrategy: Ranked by semantic relevance",{count:f.length}),f.length>0){let h=this.sessionStore.getObservationsByIds(f,{limit:i});return h.sort((_,g)=>f.indexOf(_.id)-f.indexOf(g.id)),{results:{observations:h,sessions:[],prompts:[]},usedChroma:!0,fellBack:!1,strategy:"hybrid"}}return this.emptyResult("hybrid")}catch(l){return k.warn("SEARCH","HybridSearchStrategy: findByType failed",{},l),{results:{observations:this.sessionSearch.findByType(r,c),sessions:[],prompts:[]},usedChroma:!1,fellBack:!0,strategy:"hybrid"}}}async findByFile(r,n){let{limit:i=qt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s}=n,c={limit:i,project:a,dateRange:o,orderBy:s};try{k.debug("SEARCH","HybridSearchStrategy: findByFile",{filePath:r});let u=this.sessionSearch.findByFile(r,c);k.debug("SEARCH","HybridSearchStrategy: Found file matches",{observations:u.observations.length,sessions:u.sessions.length});let l=u.sessions;if(u.observations.length===0)return{observations:[],sessions:l,usedChroma:!1};let d=u.observations.map(h=>h.id),p=await this.chromaSync.queryChroma(r,Math.min(d.length,qt.CHROMA_BATCH_SIZE)),f=this.intersectWithRanking(d,p.ids);if(k.debug("SEARCH","HybridSearchStrategy: Ranked observations",{count:f.length}),f.length>0){let h=this.sessionStore.getObservationsByIds(f,{limit:i});return h.sort((_,g)=>f.indexOf(_.id)-f.indexOf(g.id)),{observations:h,sessions:l,usedChroma:!0}}return{observations:[],sessions:l,usedChroma:!1}}catch(u){k.warn("SEARCH","HybridSearchStrategy: findByFile failed",{},u);let l=this.sessionSearch.findByFile(r,c);return{observations:l.observations,sessions:l.sessions,usedChroma:!1}}}intersectWithRanking(r,n){let i=new Set(r),a=[];for(let o of n)i.has(o)&&!a.includes(o)&&a.push(o);return a}};jr();nc();var Ife=4,jd=class{formatSearchResults(e,r,n=!1){let i=e.observations.length+e.sessions.length+e.prompts.length;if(i===0)return n?this.formatChromaFailureMessage():`No results found matching "${r}"`;let a=this.combineResults(e);a.sort((u,l)=>l.epoch-u.epoch);let o=process.cwd(),s=vo(a,u=>u.created_at),c=[];c.push(`Found ${i} result(s) matching "${r}" (${e.observations.length} obs, ${e.sessions.length} sessions, ${e.prompts.length} prompts)`),c.push("");for(let[u,l]of s){c.push(`### ${u}`),c.push("");let d=new Map;for(let p of l){let f="General";if(p.type==="observation"){let h=p.data;f=Vn(h.files_modified,o,h.files_read)}d.has(f)||d.set(f,[]),d.get(f).push(p)}for(let[p,f]of d){c.push(`**${p}**`),c.push(this.formatSearchTableHeader());let h="";for(let _ of f)if(_.type==="observation"){let g=this.formatObservationSearchRow(_.data,h);c.push(g.row),h=g.time}else if(_.type==="session"){let g=this.formatSessionSearchRow(_.data,h);c.push(g.row),h=g.time}else{let g=this.formatPromptSearchRow(_.data,h);c.push(g.row),h=g.time}c.push("")}}return c.join(` + `);for(let[i,a]of Object.entries(e))n.run(i,JSON.stringify(a));return this.getSettings()}};var lU=require("path");Re();nc();jr();var Gi=class{emptyResult(e){return{results:{observations:[],sessions:[],prompts:[]},usedChroma:e==="chroma"||e==="hybrid",fellBack:!1,strategy:e}}};var Lt={RECENCY_WINDOW_DAYS:90,RECENCY_WINDOW_MS:7776e6,DEFAULT_LIMIT:20,CHROMA_BATCH_SIZE:100};Re();var Rd=class extends Gi{constructor(r,n){super();this.chromaSync=r;this.sessionStore=n}name="chroma";canHandle(r){return!!r.query&&!!this.chromaSync}async search(r){let{query:n,searchType:i="all",obsType:a,concepts:o,files:s,limit:c=Lt.DEFAULT_LIMIT,project:u,orderBy:l="date_desc"}=r;if(!n)return this.emptyResult("chroma");let d=i==="all"||i==="observations",p=i==="all"||i==="sessions",f=i==="all"||i==="prompts",h=[],_=[],g=[];try{let m=this.buildWhereFilter(i);k.debug("SEARCH","ChromaSearchStrategy: Querying Chroma",{query:n,searchType:i});let y=await this.chromaSync.queryChroma(n,Lt.CHROMA_BATCH_SIZE,m);if(k.debug("SEARCH","ChromaSearchStrategy: Chroma returned matches",{matchCount:y.ids.length}),y.ids.length===0)return{results:{observations:[],sessions:[],prompts:[]},usedChroma:!0,fellBack:!1,strategy:"chroma"};let v=this.filterByRecency(y);k.debug("SEARCH","ChromaSearchStrategy: Filtered by recency",{count:v.length});let b=this.categorizeByDocType(v,{searchObservations:d,searchSessions:p,searchPrompts:f});if(b.obsIds.length>0){let S={type:a,concepts:o,files:s,orderBy:l,limit:c,project:u};h=this.sessionStore.getObservationsByIds(b.obsIds,S)}return b.sessionIds.length>0&&(_=this.sessionStore.getSessionSummariesByIds(b.sessionIds,{orderBy:l,limit:c,project:u})),b.promptIds.length>0&&(g=this.sessionStore.getUserPromptsByIds(b.promptIds,{orderBy:l,limit:c,project:u})),k.debug("SEARCH","ChromaSearchStrategy: Hydrated results",{observations:h.length,sessions:_.length,prompts:g.length}),{results:{observations:h,sessions:_,prompts:g},usedChroma:!0,fellBack:!1,strategy:"chroma"}}catch(m){return k.error("SEARCH","ChromaSearchStrategy: Search failed",{},m),{results:{observations:[],sessions:[],prompts:[]},usedChroma:!1,fellBack:!1,strategy:"chroma"}}}buildWhereFilter(r){switch(r){case"observations":return{doc_type:"observation"};case"sessions":return{doc_type:"session_summary"};case"prompts":return{doc_type:"user_prompt"};default:return}}filterByRecency(r){let n=Date.now()-Lt.RECENCY_WINDOW_MS;return r.metadatas.map((i,a)=>({id:r.ids[a],meta:i})).filter(i=>i.meta&&i.meta.created_at_epoch>n)}categorizeByDocType(r,n){let i=[],a=[],o=[];for(let s of r){let c=s.meta?.doc_type;c==="observation"&&n.searchObservations?i.push(s.id):c==="session_summary"&&n.searchSessions?a.push(s.id):c==="user_prompt"&&n.searchPrompts&&o.push(s.id)}return{obsIds:i,sessionIds:a,promptIds:o}}};Re();var Cd=class extends Gi{constructor(r){super();this.sessionSearch=r}name="sqlite";canHandle(r){return!r.query||r.strategyHint==="sqlite"}async search(r){let{searchType:n="all",obsType:i,concepts:a,files:o,limit:s=Lt.DEFAULT_LIMIT,offset:c=0,project:u,dateRange:l,orderBy:d="date_desc"}=r,p=n==="all"||n==="observations",f=n==="all"||n==="sessions",h=n==="all"||n==="prompts",_=[],g=[],m=[],y={limit:s,offset:c,orderBy:d,project:u,dateRange:l};k.debug("SEARCH","SQLiteSearchStrategy: Filter-only query",{searchType:n,hasDateRange:!!l,hasProject:!!u});try{if(p){let v={...y,type:i,concepts:a,files:o};_=this.sessionSearch.searchObservations(void 0,v)}return f&&(g=this.sessionSearch.searchSessions(void 0,y)),h&&(m=this.sessionSearch.searchUserPrompts(void 0,y)),k.debug("SEARCH","SQLiteSearchStrategy: Results",{observations:_.length,sessions:g.length,prompts:m.length}),{results:{observations:_,sessions:g,prompts:m},usedChroma:!1,fellBack:!1,strategy:"sqlite"}}catch(v){return k.error("SEARCH","SQLiteSearchStrategy: Search failed",{},v),this.emptyResult("sqlite")}}findByConcept(r,n){let{limit:i=Lt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s="date_desc"}=n;return this.sessionSearch.findByConcept(r,{limit:i,project:a,dateRange:o,orderBy:s})}findByType(r,n){let{limit:i=Lt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s="date_desc"}=n;return this.sessionSearch.findByType(r,{limit:i,project:a,dateRange:o,orderBy:s})}findByFile(r,n){let{limit:i=Lt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s="date_desc"}=n;return this.sessionSearch.findByFile(r,{limit:i,project:a,dateRange:o,orderBy:s})}};Re();var Nd=class extends Gi{constructor(r,n,i){super();this.chromaSync=r;this.sessionStore=n;this.sessionSearch=i}name="hybrid";canHandle(r){return!!this.chromaSync&&(!!r.concepts||!!r.files||!!r.type&&!!r.query||r.strategyHint==="hybrid")}async search(r){let{query:n,limit:i=Lt.DEFAULT_LIMIT,project:a}=r;return n?this.emptyResult("hybrid"):this.emptyResult("hybrid")}async findByConcept(r,n){let{limit:i=Lt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s}=n,c={limit:i,project:a,dateRange:o,orderBy:s};try{k.debug("SEARCH","HybridSearchStrategy: findByConcept",{concept:r});let u=this.sessionSearch.findByConcept(r,c);if(k.debug("SEARCH","HybridSearchStrategy: Found metadata matches",{count:u.length}),u.length===0)return this.emptyResult("hybrid");let l=u.map(f=>f.id),d=await this.chromaSync.queryChroma(r,Math.min(l.length,Lt.CHROMA_BATCH_SIZE)),p=this.intersectWithRanking(l,d.ids);if(k.debug("SEARCH","HybridSearchStrategy: Ranked by semantic relevance",{count:p.length}),p.length>0){let f=this.sessionStore.getObservationsByIds(p,{limit:i});return f.sort((h,_)=>p.indexOf(h.id)-p.indexOf(_.id)),{results:{observations:f,sessions:[],prompts:[]},usedChroma:!0,fellBack:!1,strategy:"hybrid"}}return this.emptyResult("hybrid")}catch(u){return k.error("SEARCH","HybridSearchStrategy: findByConcept failed",{},u),{results:{observations:this.sessionSearch.findByConcept(r,c),sessions:[],prompts:[]},usedChroma:!1,fellBack:!0,strategy:"hybrid"}}}async findByType(r,n){let{limit:i=Lt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s}=n,c={limit:i,project:a,dateRange:o,orderBy:s},u=Array.isArray(r)?r.join(", "):r;try{k.debug("SEARCH","HybridSearchStrategy: findByType",{type:u});let l=this.sessionSearch.findByType(r,c);if(k.debug("SEARCH","HybridSearchStrategy: Found metadata matches",{count:l.length}),l.length===0)return this.emptyResult("hybrid");let d=l.map(h=>h.id),p=await this.chromaSync.queryChroma(u,Math.min(d.length,Lt.CHROMA_BATCH_SIZE)),f=this.intersectWithRanking(d,p.ids);if(k.debug("SEARCH","HybridSearchStrategy: Ranked by semantic relevance",{count:f.length}),f.length>0){let h=this.sessionStore.getObservationsByIds(f,{limit:i});return h.sort((_,g)=>f.indexOf(_.id)-f.indexOf(g.id)),{results:{observations:h,sessions:[],prompts:[]},usedChroma:!0,fellBack:!1,strategy:"hybrid"}}return this.emptyResult("hybrid")}catch(l){return k.error("SEARCH","HybridSearchStrategy: findByType failed",{},l),{results:{observations:this.sessionSearch.findByType(r,c),sessions:[],prompts:[]},usedChroma:!1,fellBack:!0,strategy:"hybrid"}}}async findByFile(r,n){let{limit:i=Lt.DEFAULT_LIMIT,project:a,dateRange:o,orderBy:s}=n,c={limit:i,project:a,dateRange:o,orderBy:s};try{k.debug("SEARCH","HybridSearchStrategy: findByFile",{filePath:r});let u=this.sessionSearch.findByFile(r,c);k.debug("SEARCH","HybridSearchStrategy: Found file matches",{observations:u.observations.length,sessions:u.sessions.length});let l=u.sessions;if(u.observations.length===0)return{observations:[],sessions:l,usedChroma:!1};let d=u.observations.map(h=>h.id),p=await this.chromaSync.queryChroma(r,Math.min(d.length,Lt.CHROMA_BATCH_SIZE)),f=this.intersectWithRanking(d,p.ids);if(k.debug("SEARCH","HybridSearchStrategy: Ranked observations",{count:f.length}),f.length>0){let h=this.sessionStore.getObservationsByIds(f,{limit:i});return h.sort((_,g)=>f.indexOf(_.id)-f.indexOf(g.id)),{observations:h,sessions:l,usedChroma:!0}}return{observations:[],sessions:l,usedChroma:!1}}catch(u){k.error("SEARCH","HybridSearchStrategy: findByFile failed",{},u);let l=this.sessionSearch.findByFile(r,c);return{observations:l.observations,sessions:l.sessions,usedChroma:!1}}}intersectWithRanking(r,n){let i=new Set(r),a=[];for(let o of n)i.has(o)&&!a.includes(o)&&a.push(o);return a}};jr();nc();var Pfe=4,jd=class{formatSearchResults(e,r,n=!1){let i=e.observations.length+e.sessions.length+e.prompts.length;if(i===0)return n?this.formatChromaFailureMessage():`No results found matching "${r}"`;let a=this.combineResults(e);a.sort((u,l)=>l.epoch-u.epoch);let o=process.cwd(),s=yo(a,u=>u.created_at),c=[];c.push(`Found ${i} result(s) matching "${r}" (${e.observations.length} obs, ${e.sessions.length} sessions, ${e.prompts.length} prompts)`),c.push("");for(let[u,l]of s){c.push(`### ${u}`),c.push("");let d=new Map;for(let p of l){let f="General";if(p.type==="observation"){let h=p.data;f=Vn(h.files_modified,o,h.files_read)}d.has(f)||d.set(f,[]),d.get(f).push(p)}for(let[p,f]of d){c.push(`**${p}**`),c.push(this.formatSearchTableHeader());let h="";for(let _ of f)if(_.type==="observation"){let g=this.formatObservationSearchRow(_.data,h);c.push(g.row),h=g.time}else if(_.type==="session"){let g=this.formatSessionSearchRow(_.data,h);c.push(g.row),h=g.time}else{let g=this.formatPromptSearchRow(_.data,h);c.push(g.row),h=g.time}c.push("")}}return c.join(` `)}combineResults(e){return[...e.observations.map(r=>({type:"observation",data:r,epoch:r.created_at_epoch,created_at:r.created_at})),...e.sessions.map(r=>({type:"session",data:r,epoch:r.created_at_epoch,created_at:r.created_at})),...e.prompts.map(r=>({type:"prompt",data:r,epoch:r.created_at_epoch,created_at:r.created_at}))]}formatSearchTableHeader(){return`| ID | Time | T | Title | Read | |----|------|---|-------|------|`}formatTableHeader(){return`| ID | Time | T | Title | Read | Work | -|-----|------|---|-------|------|------|`}formatObservationSearchRow(e,r){let n=`#${e.id}`,i=Ar(e.created_at_epoch),a=He.getInstance().getTypeIcon(e.type),o=e.title||"Untitled",s=this.estimateReadTokens(e);return{row:`| ${n} | ${i===r?'"':i} | ${a} | ${o} | ~${s} |`,time:i}}formatSessionSearchRow(e,r){let n=`#S${e.id}`,i=Ar(e.created_at_epoch),a="\u{1F3AF}",o=e.request||`Session ${e.memory_session_id?.substring(0,8)||"unknown"}`;return{row:`| ${n} | ${i===r?'"':i} | ${a} | ${o} | - |`,time:i}}formatPromptSearchRow(e,r){let n=`#P${e.id}`,i=Ar(e.created_at_epoch),a="\u{1F4AC}",o=e.prompt_text.length>60?e.prompt_text.substring(0,57)+"...":e.prompt_text;return{row:`| ${n} | ${i===r?'"':i} | ${a} | ${o} | - |`,time:i}}formatObservationIndex(e,r){let n=`#${e.id}`,i=Ar(e.created_at_epoch),a=He.getInstance().getTypeIcon(e.type),o=e.title||"Untitled",s=this.estimateReadTokens(e),c=He.getInstance().getWorkEmoji(e.type),u=e.discovery_tokens||0,l=u>0?`${c} ${u}`:"-";return`| ${n} | ${i} | ${a} | ${o} | ~${s} | ${l} |`}formatSessionIndex(e,r){let n=`#S${e.id}`,i=Ar(e.created_at_epoch),a="\u{1F3AF}",o=e.request||`Session ${e.memory_session_id?.substring(0,8)||"unknown"}`;return`| ${n} | ${i} | ${a} | ${o} | - | - |`}formatPromptIndex(e,r){let n=`#P${e.id}`,i=Ar(e.created_at_epoch),a="\u{1F4AC}",o=e.prompt_text.length>60?e.prompt_text.substring(0,57)+"...":e.prompt_text;return`| ${n} | ${i} | ${a} | ${o} | - | - |`}estimateReadTokens(e){let r=(e.title?.length||0)+(e.subtitle?.length||0)+(e.narrative?.length||0)+(e.facts?.length||0);return Math.ceil(r/Ife)}formatChromaFailureMessage(){return`Vector search failed - semantic search unavailable. +|-----|------|---|-------|------|------|`}formatObservationSearchRow(e,r){let n=`#${e.id}`,i=Ar(e.created_at_epoch),a=He.getInstance().getTypeIcon(e.type),o=e.title||"Untitled",s=this.estimateReadTokens(e);return{row:`| ${n} | ${i===r?'"':i} | ${a} | ${o} | ~${s} |`,time:i}}formatSessionSearchRow(e,r){let n=`#S${e.id}`,i=Ar(e.created_at_epoch),a="\u{1F3AF}",o=e.request||`Session ${e.memory_session_id?.substring(0,8)||"unknown"}`;return{row:`| ${n} | ${i===r?'"':i} | ${a} | ${o} | - |`,time:i}}formatPromptSearchRow(e,r){let n=`#P${e.id}`,i=Ar(e.created_at_epoch),a="\u{1F4AC}",o=e.prompt_text.length>60?e.prompt_text.substring(0,57)+"...":e.prompt_text;return{row:`| ${n} | ${i===r?'"':i} | ${a} | ${o} | - |`,time:i}}formatObservationIndex(e,r){let n=`#${e.id}`,i=Ar(e.created_at_epoch),a=He.getInstance().getTypeIcon(e.type),o=e.title||"Untitled",s=this.estimateReadTokens(e),c=He.getInstance().getWorkEmoji(e.type),u=e.discovery_tokens||0,l=u>0?`${c} ${u}`:"-";return`| ${n} | ${i} | ${a} | ${o} | ~${s} | ${l} |`}formatSessionIndex(e,r){let n=`#S${e.id}`,i=Ar(e.created_at_epoch),a="\u{1F3AF}",o=e.request||`Session ${e.memory_session_id?.substring(0,8)||"unknown"}`;return`| ${n} | ${i} | ${a} | ${o} | - | - |`}formatPromptIndex(e,r){let n=`#P${e.id}`,i=Ar(e.created_at_epoch),a="\u{1F4AC}",o=e.prompt_text.length>60?e.prompt_text.substring(0,57)+"...":e.prompt_text;return`| ${n} | ${i} | ${a} | ${o} | - | - |`}estimateReadTokens(e){let r=(e.title?.length||0)+(e.subtitle?.length||0)+(e.narrative?.length||0)+(e.facts?.length||0);return Math.ceil(r/Pfe)}formatChromaFailureMessage(){return`Vector search failed - semantic search unavailable. To enable semantic search: 1. Install uv: https://docs.astral.sh/uv/getting-started/installation/ @@ -1192,19 +1192,19 @@ Tips: - Filter by type: obs_type="bugfix,feature" - Filter by date: dateStart="2025-01-01" - Sort: orderBy="date_desc" or "date_asc"`}};jr();nc();var Eo=class{buildTimeline(e){let r=[...e.observations.map(n=>({type:"observation",data:n,epoch:n.created_at_epoch})),...e.sessions.map(n=>({type:"session",data:n,epoch:n.created_at_epoch})),...e.prompts.map(n=>({type:"prompt",data:n,epoch:n.created_at_epoch}))];return r.sort((n,i)=>n.epoch-i.epoch),r}filterByDepth(e,r,n,i,a){if(e.length===0)return e;let o=this.findAnchorIndex(e,r,n);if(o===-1)return e;let s=Math.max(0,o-i),c=Math.min(e.length,o+a+1);return e.slice(s,c)}findAnchorIndex(e,r,n){if(typeof r=="number")return e.findIndex(a=>a.type==="observation"&&a.data.id===r);if(typeof r=="string"&&r.startsWith("S")){let a=parseInt(r.slice(1),10);return e.findIndex(o=>o.type==="session"&&o.data.id===a)}let i=e.findIndex(a=>a.epoch>=n);return i===-1?e.length-1:i}formatTimeline(e,r,n={}){let{query:i,depthBefore:a,depthAfter:o,cwd:s=process.cwd()}=n;if(e.length===0)return i?`Found observation matching "${i}", but no timeline context available.`:"No timeline items found";let c=[];if(i&&r){let d=e.find(f=>f.type==="observation"&&f.data.id===r),p=d?d.data.title||"Untitled":"Unknown";c.push(`# Timeline for query: "${i}"`),c.push(`**Anchor:** Observation #${r} - ${p}`)}else r?c.push(`# Timeline around anchor: ${r}`):c.push("# Timeline");a!==void 0&&o!==void 0?c.push(`**Window:** ${a} records before -> ${o} records after | **Items:** ${e.length}`):c.push(`**Items:** ${e.length}`),c.push("");let u=this.groupByDay(e),l=this.sortDaysChronologically(u);for(let[d,p]of l){c.push(`### ${d}`),c.push("");let f=null,h="",_=!1;for(let g of p){let m=this.isAnchorItem(g,r);if(g.type==="session"){_&&(c.push(""),_=!1,f=null,h="");let y=g.data,v=y.request||"Session summary",b=m?" <- **ANCHOR**":"";c.push(`**\u{1F3AF} #S${y.id}** ${v} (${kn(g.epoch)})${b}`),c.push("")}else if(g.type==="prompt"){_&&(c.push(""),_=!1,f=null,h="");let y=g.data,v=y.prompt_text.length>100?y.prompt_text.substring(0,100)+"...":y.prompt_text;c.push(`**\u{1F4AC} User Prompt #${y.prompt_number}** (${kn(g.epoch)})`),c.push(`> ${v}`),c.push("")}else if(g.type==="observation"){let y=g.data,v=Vn(y.files_modified,s,y.files_read);v!==f&&(_&&c.push(""),c.push(`**${v}**`),c.push("| ID | Time | T | Title | Tokens |"),c.push("|----|------|---|-------|--------|"),f=v,_=!0,h="");let b=He.getInstance().getTypeIcon(y.type),S=Ar(g.epoch),x=y.title||"Untitled",w=rc(y.narrative),O=S!==h?S:'"';h=S;let A=m?" <- **ANCHOR**":"";c.push(`| #${y.id} | ${O} | ${b} | ${x}${A} | ~${w} |`)}}_&&c.push("")}return c.join(` -`)}groupByDay(e){let r=new Map;for(let n of e){let i=Ui(n.epoch);r.has(i)||r.set(i,[]),r.get(i).push(n)}return r}sortDaysChronologically(e){return Array.from(e.entries()).sort((r,n)=>{let i=new Date(r[0]).getTime(),a=new Date(n[0]).getTime();return i-a})}isAnchorItem(e,r){return r===null?!1:typeof r=="number"&&e.type==="observation"?e.data.id===r:typeof r=="string"&&r.startsWith("S")&&e.type==="session"?`S${e.data.id}`===r:!1}};Re();var Ad=class{constructor(e,r,n){this.sessionSearch=e;this.sessionStore=r;this.chromaSync=n;this.sqliteStrategy=new Cd(e),n&&(this.chromaStrategy=new Rd(n,r),this.hybridStrategy=new Nd(n,r,e)),this.resultFormatter=new jd,this.timelineBuilder=new Eo}chromaStrategy=null;sqliteStrategy;hybridStrategy=null;resultFormatter;timelineBuilder;async search(e){let r=this.normalizeParams(e);return await this.executeWithFallback(r)}async executeWithFallback(e){if(!e.query)return k.debug("SEARCH","Orchestrator: Filter-only query, using SQLite",{}),await this.sqliteStrategy.search(e);if(this.chromaStrategy){k.debug("SEARCH","Orchestrator: Using Chroma semantic search",{});let r=await this.chromaStrategy.search(e);return r.usedChroma?r:(k.debug("SEARCH","Orchestrator: Chroma failed, falling back to SQLite",{}),{...await this.sqliteStrategy.search({...e,query:void 0}),fellBack:!0})}return k.debug("SEARCH","Orchestrator: Chroma not available",{}),{results:{observations:[],sessions:[],prompts:[]},usedChroma:!1,fellBack:!1,strategy:"sqlite"}}async findByConcept(e,r){let n=this.normalizeParams(r);return this.hybridStrategy?await this.hybridStrategy.findByConcept(e,n):{results:{observations:this.sqliteStrategy.findByConcept(e,n),sessions:[],prompts:[]},usedChroma:!1,fellBack:!1,strategy:"sqlite"}}async findByType(e,r){let n=this.normalizeParams(r);return this.hybridStrategy?await this.hybridStrategy.findByType(e,n):{results:{observations:this.sqliteStrategy.findByType(e,n),sessions:[],prompts:[]},usedChroma:!1,fellBack:!1,strategy:"sqlite"}}async findByFile(e,r){let n=this.normalizeParams(r);return this.hybridStrategy?await this.hybridStrategy.findByFile(e,n):{...this.sqliteStrategy.findByFile(e,n),usedChroma:!1}}getTimeline(e,r,n,i,a){let o=this.timelineBuilder.buildTimeline(e);return this.timelineBuilder.filterByDepth(o,r,n,i,a)}formatTimeline(e,r,n={}){return this.timelineBuilder.formatTimeline(e,r,n)}formatSearchResults(e,r,n=!1){return this.resultFormatter.formatSearchResults(e,r,n)}getFormatter(){return this.resultFormatter}getTimelineBuilder(){return this.timelineBuilder}normalizeParams(e){let r={...e};return r.concepts&&typeof r.concepts=="string"&&(r.concepts=r.concepts.split(",").map(n=>n.trim()).filter(Boolean)),r.files&&typeof r.files=="string"&&(r.files=r.files.split(",").map(n=>n.trim()).filter(Boolean)),r.obs_type&&typeof r.obs_type=="string"&&(r.obsType=r.obs_type.split(",").map(n=>n.trim()).filter(Boolean),delete r.obs_type),r.type&&typeof r.type=="string"&&r.type.includes(",")&&(r.type=r.type.split(",").map(n=>n.trim()).filter(Boolean)),r.type&&!r.searchType&&["observations","sessions","prompts"].includes(r.type)&&(r.searchType=r.type,delete r.type),(r.dateStart||r.dateEnd)&&(r.dateRange={start:r.dateStart,end:r.dateEnd},delete r.dateStart,delete r.dateEnd),r}isChromaAvailable(){return!!this.chromaSync}};var fg=class{constructor(e,r,n,i,a){this.sessionSearch=e;this.sessionStore=r;this.chromaSync=n;this.formatter=i;this.timelineService=a;this.orchestrator=new Ad(e,r,n),this.timelineBuilder=new Eo}orchestrator;timelineBuilder;async queryChroma(e,r,n){return await this.chromaSync.queryChroma(e,r,n)}normalizeParams(e){let r={...e};return r.filePath&&!r.files&&(r.files=r.filePath,delete r.filePath),r.concepts&&typeof r.concepts=="string"&&(r.concepts=r.concepts.split(",").map(n=>n.trim()).filter(Boolean)),r.files&&typeof r.files=="string"&&(r.files=r.files.split(",").map(n=>n.trim()).filter(Boolean)),r.obs_type&&typeof r.obs_type=="string"&&(r.obs_type=r.obs_type.split(",").map(n=>n.trim()).filter(Boolean)),r.type&&typeof r.type=="string"&&r.type.includes(",")&&(r.type=r.type.split(",").map(n=>n.trim()).filter(Boolean)),(r.dateStart||r.dateEnd)&&(r.dateRange={start:r.dateStart,end:r.dateEnd},delete r.dateStart,delete r.dateEnd),r.isFolder==="true"?r.isFolder=!0:r.isFolder==="false"&&(r.isFolder=!1),r}async search(e){let r=this.normalizeParams(e),{query:n,type:i,obs_type:a,concepts:o,files:s,format:c,...u}=r,l=[],d=[],p=[],f=!1,h=!i||i==="observations",_=!i||i==="sessions",g=!i||i==="prompts";if(n)if(this.chromaSync){let w=!1;k.debug("SEARCH","Using ChromaDB semantic search",{typeFilter:i||"all"});let E;i==="observations"?E={doc_type:"observation"}:i==="sessions"?E={doc_type:"session_summary"}:i==="prompts"&&(E={doc_type:"user_prompt"});let O=await this.queryChroma(n,100,E);if(w=!0,k.debug("SEARCH","ChromaDB returned semantic matches",{matchCount:O.ids.length}),O.ids.length>0){let A=Date.now()-qt.RECENCY_WINDOW_MS,M=O.metadatas.map((Y,me)=>({id:O.ids[me],meta:Y,isRecent:Y&&Y.created_at_epoch>A})).filter(Y=>Y.isRecent);k.debug("SEARCH","Results within 90-day window",{count:M.length});let q=[],B=[],U=[];for(let Y of M){let me=Y.meta?.doc_type;me==="observation"&&h?q.push(Y.id):me==="session_summary"&&_?B.push(Y.id):me==="user_prompt"&&g&&U.push(Y.id)}if(k.debug("SEARCH","Categorized results by type",{observations:q.length,sessions:B.length,prompts:p.length}),q.length>0){let Y={...u,type:a,concepts:o,files:s};l=this.sessionStore.getObservationsByIds(q,Y)}B.length>0&&(d=this.sessionStore.getSessionSummariesByIds(B,{orderBy:"date_desc",limit:u.limit,project:u.project})),U.length>0&&(p=this.sessionStore.getUserPromptsByIds(U,{orderBy:"date_desc",limit:u.limit,project:u.project})),k.debug("SEARCH","Hydrated results from SQLite",{observations:l.length,sessions:d.length,prompts:p.length})}else k.debug("SEARCH","ChromaDB found no matches (final result, no FTS5 fallback)",{})}else n&&(f=!0,k.debug("SEARCH","ChromaDB not initialized - semantic search unavailable",{}),k.debug("SEARCH","Install UVX/Python to enable vector search",{url:"https://docs.astral.sh/uv/getting-started/installation/"}),l=[],d=[],p=[]);else{k.debug("SEARCH","Filter-only query (no query text), using direct SQLite filtering",{enablesDateFilters:!0});let w={...u,type:a,concepts:o,files:s};h&&(l=this.sessionSearch.searchObservations(void 0,w)),_&&(d=this.sessionSearch.searchSessions(void 0,u)),g&&(p=this.sessionSearch.searchUserPrompts(void 0,u))}let m=l.length+d.length+p.length;if(c==="json")return{observations:l,sessions:d,prompts:p,totalResults:m,query:n||""};if(m===0)return f?{content:[{type:"text",text:`Vector search failed - semantic search unavailable. +`)}groupByDay(e){let r=new Map;for(let n of e){let i=Li(n.epoch);r.has(i)||r.set(i,[]),r.get(i).push(n)}return r}sortDaysChronologically(e){return Array.from(e.entries()).sort((r,n)=>{let i=new Date(r[0]).getTime(),a=new Date(n[0]).getTime();return i-a})}isAnchorItem(e,r){return r===null?!1:typeof r=="number"&&e.type==="observation"?e.data.id===r:typeof r=="string"&&r.startsWith("S")&&e.type==="session"?`S${e.data.id}`===r:!1}};Re();var Ad=class{constructor(e,r,n){this.sessionSearch=e;this.sessionStore=r;this.chromaSync=n;this.sqliteStrategy=new Cd(e),n&&(this.chromaStrategy=new Rd(n,r),this.hybridStrategy=new Nd(n,r,e)),this.resultFormatter=new jd,this.timelineBuilder=new Eo}chromaStrategy=null;sqliteStrategy;hybridStrategy=null;resultFormatter;timelineBuilder;async search(e){let r=this.normalizeParams(e);return await this.executeWithFallback(r)}async executeWithFallback(e){if(!e.query)return k.debug("SEARCH","Orchestrator: Filter-only query, using SQLite",{}),await this.sqliteStrategy.search(e);if(this.chromaStrategy){k.debug("SEARCH","Orchestrator: Using Chroma semantic search",{});let r=await this.chromaStrategy.search(e);return r.usedChroma?r:(k.debug("SEARCH","Orchestrator: Chroma failed, falling back to SQLite",{}),{...await this.sqliteStrategy.search({...e,query:void 0}),fellBack:!0})}return k.debug("SEARCH","Orchestrator: Chroma not available",{}),{results:{observations:[],sessions:[],prompts:[]},usedChroma:!1,fellBack:!1,strategy:"sqlite"}}async findByConcept(e,r){let n=this.normalizeParams(r);return this.hybridStrategy?await this.hybridStrategy.findByConcept(e,n):{results:{observations:this.sqliteStrategy.findByConcept(e,n),sessions:[],prompts:[]},usedChroma:!1,fellBack:!1,strategy:"sqlite"}}async findByType(e,r){let n=this.normalizeParams(r);return this.hybridStrategy?await this.hybridStrategy.findByType(e,n):{results:{observations:this.sqliteStrategy.findByType(e,n),sessions:[],prompts:[]},usedChroma:!1,fellBack:!1,strategy:"sqlite"}}async findByFile(e,r){let n=this.normalizeParams(r);return this.hybridStrategy?await this.hybridStrategy.findByFile(e,n):{...this.sqliteStrategy.findByFile(e,n),usedChroma:!1}}getTimeline(e,r,n,i,a){let o=this.timelineBuilder.buildTimeline(e);return this.timelineBuilder.filterByDepth(o,r,n,i,a)}formatTimeline(e,r,n={}){return this.timelineBuilder.formatTimeline(e,r,n)}formatSearchResults(e,r,n=!1){return this.resultFormatter.formatSearchResults(e,r,n)}getFormatter(){return this.resultFormatter}getTimelineBuilder(){return this.timelineBuilder}normalizeParams(e){let r={...e};return r.concepts&&typeof r.concepts=="string"&&(r.concepts=r.concepts.split(",").map(n=>n.trim()).filter(Boolean)),r.files&&typeof r.files=="string"&&(r.files=r.files.split(",").map(n=>n.trim()).filter(Boolean)),r.obs_type&&typeof r.obs_type=="string"&&(r.obsType=r.obs_type.split(",").map(n=>n.trim()).filter(Boolean),delete r.obs_type),r.type&&typeof r.type=="string"&&r.type.includes(",")&&(r.type=r.type.split(",").map(n=>n.trim()).filter(Boolean)),r.type&&!r.searchType&&["observations","sessions","prompts"].includes(r.type)&&(r.searchType=r.type,delete r.type),(r.dateStart||r.dateEnd)&&(r.dateRange={start:r.dateStart,end:r.dateEnd},delete r.dateStart,delete r.dateEnd),r}isChromaAvailable(){return!!this.chromaSync}};var fg=class{constructor(e,r,n,i,a){this.sessionSearch=e;this.sessionStore=r;this.chromaSync=n;this.formatter=i;this.timelineService=a;this.orchestrator=new Ad(e,r,n),this.timelineBuilder=new Eo}orchestrator;timelineBuilder;async queryChroma(e,r,n){return await this.chromaSync.queryChroma(e,r,n)}normalizeParams(e){let r={...e};return r.filePath&&!r.files&&(r.files=r.filePath,delete r.filePath),r.concepts&&typeof r.concepts=="string"&&(r.concepts=r.concepts.split(",").map(n=>n.trim()).filter(Boolean)),r.files&&typeof r.files=="string"&&(r.files=r.files.split(",").map(n=>n.trim()).filter(Boolean)),r.obs_type&&typeof r.obs_type=="string"&&(r.obs_type=r.obs_type.split(",").map(n=>n.trim()).filter(Boolean)),r.type&&typeof r.type=="string"&&r.type.includes(",")&&(r.type=r.type.split(",").map(n=>n.trim()).filter(Boolean)),(r.dateStart||r.dateEnd)&&(r.dateRange={start:r.dateStart,end:r.dateEnd},delete r.dateStart,delete r.dateEnd),r.isFolder==="true"?r.isFolder=!0:r.isFolder==="false"&&(r.isFolder=!1),r}async search(e){let r=this.normalizeParams(e),{query:n,type:i,obs_type:a,concepts:o,files:s,format:c,...u}=r,l=[],d=[],p=[],f=!1,h=!i||i==="observations",_=!i||i==="sessions",g=!i||i==="prompts";if(n)if(this.chromaSync){let w=!1;k.debug("SEARCH","Using ChromaDB semantic search",{typeFilter:i||"all"});let E;i==="observations"?E={doc_type:"observation"}:i==="sessions"?E={doc_type:"session_summary"}:i==="prompts"&&(E={doc_type:"user_prompt"});let O=await this.queryChroma(n,100,E);if(w=!0,k.debug("SEARCH","ChromaDB returned semantic matches",{matchCount:O.ids.length}),O.ids.length>0){let A=Date.now()-Lt.RECENCY_WINDOW_MS,M=O.metadatas.map((Y,me)=>({id:O.ids[me],meta:Y,isRecent:Y&&Y.created_at_epoch>A})).filter(Y=>Y.isRecent);k.debug("SEARCH","Results within 90-day window",{count:M.length});let L=[],B=[],U=[];for(let Y of M){let me=Y.meta?.doc_type;me==="observation"&&h?L.push(Y.id):me==="session_summary"&&_?B.push(Y.id):me==="user_prompt"&&g&&U.push(Y.id)}if(k.debug("SEARCH","Categorized results by type",{observations:L.length,sessions:B.length,prompts:p.length}),L.length>0){let Y={...u,type:a,concepts:o,files:s};l=this.sessionStore.getObservationsByIds(L,Y)}B.length>0&&(d=this.sessionStore.getSessionSummariesByIds(B,{orderBy:"date_desc",limit:u.limit,project:u.project})),U.length>0&&(p=this.sessionStore.getUserPromptsByIds(U,{orderBy:"date_desc",limit:u.limit,project:u.project})),k.debug("SEARCH","Hydrated results from SQLite",{observations:l.length,sessions:d.length,prompts:p.length})}else k.debug("SEARCH","ChromaDB found no matches (final result, no FTS5 fallback)",{})}else n&&(f=!0,k.debug("SEARCH","ChromaDB not initialized - semantic search unavailable",{}),k.debug("SEARCH","Install UVX/Python to enable vector search",{url:"https://docs.astral.sh/uv/getting-started/installation/"}),l=[],d=[],p=[]);else{k.debug("SEARCH","Filter-only query (no query text), using direct SQLite filtering",{enablesDateFilters:!0});let w={...u,type:a,concepts:o,files:s};h&&(l=this.sessionSearch.searchObservations(void 0,w)),_&&(d=this.sessionSearch.searchSessions(void 0,u)),g&&(p=this.sessionSearch.searchUserPrompts(void 0,u))}let m=l.length+d.length+p.length;if(c==="json")return{observations:l,sessions:d,prompts:p,totalResults:m,query:n||""};if(m===0)return f?{content:[{type:"text",text:`Vector search failed - semantic search unavailable. To enable semantic search: 1. Install uv: https://docs.astral.sh/uv/getting-started/installation/ 2. Restart the worker: npm run worker:restart -Note: You can still use filter-only searches (date ranges, types, files) without a query term.`}]}:{content:[{type:"text",text:`No results found matching "${n}"`}]};let y=[...l.map(w=>({type:"observation",data:w,epoch:w.created_at_epoch,created_at:w.created_at})),...d.map(w=>({type:"session",data:w,epoch:w.created_at_epoch,created_at:w.created_at})),...p.map(w=>({type:"prompt",data:w,epoch:w.created_at_epoch,created_at:w.created_at}))];u.orderBy==="date_desc"?y.sort((w,E)=>E.epoch-w.epoch):u.orderBy==="date_asc"&&y.sort((w,E)=>w.epoch-E.epoch);let v=y.slice(0,u.limit||20),b=process.cwd(),S=vo(v,w=>w.created_at),x=[];x.push(`Found ${m} result(s) matching "${n}" (${l.length} obs, ${d.length} sessions, ${p.length} prompts)`),x.push("");for(let[w,E]of S){x.push(`### ${w}`),x.push("");let O=new Map;for(let A of E){let M="General";A.type==="observation"&&(M=Vn(A.data.files_modified,b,A.data.files_read)),O.has(M)||O.set(M,[]),O.get(M).push(A)}for(let[A,M]of O){x.push(`**${A}**`),x.push(this.formatter.formatSearchTableHeader());let q="";for(let B of M)if(B.type==="observation"){let U=this.formatter.formatObservationSearchRow(B.data,q);x.push(U.row),q=U.time}else if(B.type==="session"){let U=this.formatter.formatSessionSearchRow(B.data,q);x.push(U.row),q=U.time}else{let U=this.formatter.formatUserPromptSearchRow(B.data,q);x.push(U.row),q=U.time}x.push("")}}return{content:[{type:"text",text:x.join(` -`)}]}}async timeline(e){let{anchor:r,query:n,depth_before:i=10,depth_after:a=10,project:o}=e,s=process.cwd();if(!r&&!n)return{content:[{type:"text",text:'Error: Must provide either "anchor" or "query" parameter'}],isError:!0};if(r&&n)return{content:[{type:"text",text:'Error: Cannot provide both "anchor" and "query" parameters. Use one or the other.'}],isError:!0};let c,u,l;if(n){let g=[];if(this.chromaSync)try{k.debug("SEARCH","Using hybrid semantic search for timeline query",{});let y=await this.queryChroma(n,100);if(k.debug("SEARCH","Chroma returned semantic matches for timeline",{matchCount:y?.ids?.length??0}),y?.ids&&y.ids.length>0){let v=Date.now()-qt.RECENCY_WINDOW_MS,b=y.ids.filter((S,x)=>{let w=y.metadatas[x];return w&&w.created_at_epoch>v});b.length>0&&(g=this.sessionStore.getObservationsByIds(b,{orderBy:"date_desc",limit:1}))}}catch(y){k.warn("SEARCH","Chroma search failed for timeline, continuing without semantic results",{},y)}if(g.length===0)return{content:[{type:"text",text:`No observations found matching "${n}". Try a different search query.`}]};let m=g[0];c=m.id,u=m.created_at_epoch,k.debug("SEARCH","Query mode: Using observation as timeline anchor",{observationId:m.id}),l=this.sessionStore.getTimelineAroundObservation(m.id,m.created_at_epoch,i,a,o)}else if(typeof r=="number"){let g=this.sessionStore.getObservationById(r);if(!g)return{content:[{type:"text",text:`Observation #${r} not found`}],isError:!0};c=r,u=g.created_at_epoch,l=this.sessionStore.getTimelineAroundObservation(r,u,i,a,o)}else if(typeof r=="string")if(r.startsWith("S")||r.startsWith("#S")){let g=r.replace(/^#?S/,""),m=parseInt(g,10),y=this.sessionStore.getSessionSummariesByIds([m]);if(y.length===0)return{content:[{type:"text",text:`Session #${m} not found`}],isError:!0};u=y[0].created_at_epoch,c=`S${m}`,l=this.sessionStore.getTimelineAroundTimestamp(u,i,a,o)}else{let g=new Date(r);if(isNaN(g.getTime()))return{content:[{type:"text",text:`Invalid timestamp: ${r}`}],isError:!0};u=g.getTime(),c=r,l=this.sessionStore.getTimelineAroundTimestamp(u,i,a,o)}else return{content:[{type:"text",text:'Invalid anchor: must be observation ID (number), session ID (e.g., "S123"), or ISO timestamp'}],isError:!0};let d=[...(l.observations||[]).map(g=>({type:"observation",data:g,epoch:g.created_at_epoch})),...(l.sessions||[]).map(g=>({type:"session",data:g,epoch:g.created_at_epoch})),...(l.prompts||[]).map(g=>({type:"prompt",data:g,epoch:g.created_at_epoch}))];d.sort((g,m)=>g.epoch-m.epoch);let p=this.timelineService.filterByDepth(d,c,u,i,a);if(!p||p.length===0)return{content:[{type:"text",text:n?`Found observation matching "${n}", but no timeline context available (${i} records before, ${a} records after).`:`No context found around anchor (${i} records before, ${a} records after)`}]};let f=[];if(n){let g=p.find(y=>y.type==="observation"&&y.data.id===c),m=g&&g.type==="observation"?g.data.title||"Untitled":"Unknown";f.push(`# Timeline for query: "${n}"`),f.push(`**Anchor:** Observation #${c} - ${m}`)}else f.push(`# Timeline around anchor: ${c}`);f.push(`**Window:** ${i} records before -> ${a} records after | **Items:** ${p?.length??0}`),f.push("");let h=new Map;for(let g of p){let m=Ui(g.epoch);h.has(m)||h.set(m,[]),h.get(m).push(g)}let _=Array.from(h.entries()).sort((g,m)=>{let y=new Date(g[0]).getTime(),v=new Date(m[0]).getTime();return y-v});for(let[g,m]of _){f.push(`### ${g}`),f.push("");let y=null,v="",b=!1;for(let S of m){let x=typeof c=="number"&&S.type==="observation"&&S.data.id===c||typeof c=="string"&&c.startsWith("S")&&S.type==="session"&&`S${S.data.id}`===c;if(S.type==="session"){b&&(f.push(""),b=!1,y=null,v="");let w=S.data,E=w.request||"Session summary",O=x?" <- **ANCHOR**":"";f.push(`**\u{1F3AF} #S${w.id}** ${E} (${kn(S.epoch)})${O}`),f.push("")}else if(S.type==="prompt"){b&&(f.push(""),b=!1,y=null,v="");let w=S.data,E=w.prompt_text.length>100?w.prompt_text.substring(0,100)+"...":w.prompt_text;f.push(`**\u{1F4AC} User Prompt #${w.prompt_number}** (${kn(S.epoch)})`),f.push(`> ${E}`),f.push("")}else if(S.type==="observation"){let w=S.data,E=Vn(w.files_modified,s,w.files_read);E!==y&&(b&&f.push(""),f.push(`**${E}**`),f.push("| ID | Time | T | Title | Tokens |"),f.push("|----|------|---|-------|--------|"),y=E,b=!0,v="");let O=He.getInstance().getTypeIcon(w.type),A=Ar(S.epoch),M=w.title||"Untitled",q=rc(w.narrative),U=A!==v?A:'"';v=A;let Y=x?" <- **ANCHOR**":"";f.push(`| #${w.id} | ${U} | ${O} | ${M}${Y} | ~${q} |`)}}b&&f.push("")}return{content:[{type:"text",text:f.join(` -`)}]}}async decisions(e){let r=this.normalizeParams(e),{query:n,...i}=r,a=[];if(this.chromaSync)try{if(n){k.debug("SEARCH","Using Chroma semantic search with type=decision filter",{});let u=(await this.queryChroma(n,Math.min((i.limit||20)*2,100),{type:"decision"})).ids;u.length>0&&(a=this.sessionStore.getObservationsByIds(u,{...i,type:"decision"}),a.sort((l,d)=>u.indexOf(l.id)-u.indexOf(d.id)))}else{k.debug("SEARCH","Using metadata-first + semantic ranking for decisions",{});let c=this.sessionSearch.findByType("decision",i);if(c.length>0){let u=c.map(p=>p.id),l=await this.queryChroma("decision",Math.min(u.length,100)),d=[];for(let p of l.ids)u.includes(p)&&!d.includes(p)&&d.push(p);d.length>0&&(a=this.sessionStore.getObservationsByIds(d,{limit:i.limit||20}),a.sort((p,f)=>d.indexOf(p.id)-d.indexOf(f.id)))}}}catch(c){k.warn("SEARCH","Chroma search failed for decisions, falling back to metadata search",{},c)}if(a.length===0&&(a=this.sessionSearch.findByType("decision",i)),a.length===0)return{content:[{type:"text",text:"No decision observations found"}]};let o=`Found ${a.length} decision(s) +Note: You can still use filter-only searches (date ranges, types, files) without a query term.`}]}:{content:[{type:"text",text:`No results found matching "${n}"`}]};let y=[...l.map(w=>({type:"observation",data:w,epoch:w.created_at_epoch,created_at:w.created_at})),...d.map(w=>({type:"session",data:w,epoch:w.created_at_epoch,created_at:w.created_at})),...p.map(w=>({type:"prompt",data:w,epoch:w.created_at_epoch,created_at:w.created_at}))];u.orderBy==="date_desc"?y.sort((w,E)=>E.epoch-w.epoch):u.orderBy==="date_asc"&&y.sort((w,E)=>w.epoch-E.epoch);let v=y.slice(0,u.limit||20),b=process.cwd(),S=yo(v,w=>w.created_at),x=[];x.push(`Found ${m} result(s) matching "${n}" (${l.length} obs, ${d.length} sessions, ${p.length} prompts)`),x.push("");for(let[w,E]of S){x.push(`### ${w}`),x.push("");let O=new Map;for(let A of E){let M="General";A.type==="observation"&&(M=Vn(A.data.files_modified,b,A.data.files_read)),O.has(M)||O.set(M,[]),O.get(M).push(A)}for(let[A,M]of O){x.push(`**${A}**`),x.push(this.formatter.formatSearchTableHeader());let L="";for(let B of M)if(B.type==="observation"){let U=this.formatter.formatObservationSearchRow(B.data,L);x.push(U.row),L=U.time}else if(B.type==="session"){let U=this.formatter.formatSessionSearchRow(B.data,L);x.push(U.row),L=U.time}else{let U=this.formatter.formatUserPromptSearchRow(B.data,L);x.push(U.row),L=U.time}x.push("")}}return{content:[{type:"text",text:x.join(` +`)}]}}async timeline(e){let{anchor:r,query:n,depth_before:i=10,depth_after:a=10,project:o}=e,s=process.cwd();if(!r&&!n)return{content:[{type:"text",text:'Error: Must provide either "anchor" or "query" parameter'}],isError:!0};if(r&&n)return{content:[{type:"text",text:'Error: Cannot provide both "anchor" and "query" parameters. Use one or the other.'}],isError:!0};let c,u,l;if(n){let g=[];if(this.chromaSync)try{k.debug("SEARCH","Using hybrid semantic search for timeline query",{});let y=await this.queryChroma(n,100);if(k.debug("SEARCH","Chroma returned semantic matches for timeline",{matchCount:y?.ids?.length??0}),y?.ids&&y.ids.length>0){let v=Date.now()-Lt.RECENCY_WINDOW_MS,b=y.ids.filter((S,x)=>{let w=y.metadatas[x];return w&&w.created_at_epoch>v});b.length>0&&(g=this.sessionStore.getObservationsByIds(b,{orderBy:"date_desc",limit:1}))}}catch(y){k.error("SEARCH","Chroma search failed for timeline, continuing without semantic results",{},y)}if(g.length===0)return{content:[{type:"text",text:`No observations found matching "${n}". Try a different search query.`}]};let m=g[0];c=m.id,u=m.created_at_epoch,k.debug("SEARCH","Query mode: Using observation as timeline anchor",{observationId:m.id}),l=this.sessionStore.getTimelineAroundObservation(m.id,m.created_at_epoch,i,a,o)}else if(typeof r=="number"){let g=this.sessionStore.getObservationById(r);if(!g)return{content:[{type:"text",text:`Observation #${r} not found`}],isError:!0};c=r,u=g.created_at_epoch,l=this.sessionStore.getTimelineAroundObservation(r,u,i,a,o)}else if(typeof r=="string")if(r.startsWith("S")||r.startsWith("#S")){let g=r.replace(/^#?S/,""),m=parseInt(g,10),y=this.sessionStore.getSessionSummariesByIds([m]);if(y.length===0)return{content:[{type:"text",text:`Session #${m} not found`}],isError:!0};u=y[0].created_at_epoch,c=`S${m}`,l=this.sessionStore.getTimelineAroundTimestamp(u,i,a,o)}else{let g=new Date(r);if(isNaN(g.getTime()))return{content:[{type:"text",text:`Invalid timestamp: ${r}`}],isError:!0};u=g.getTime(),c=r,l=this.sessionStore.getTimelineAroundTimestamp(u,i,a,o)}else return{content:[{type:"text",text:'Invalid anchor: must be observation ID (number), session ID (e.g., "S123"), or ISO timestamp'}],isError:!0};let d=[...(l.observations||[]).map(g=>({type:"observation",data:g,epoch:g.created_at_epoch})),...(l.sessions||[]).map(g=>({type:"session",data:g,epoch:g.created_at_epoch})),...(l.prompts||[]).map(g=>({type:"prompt",data:g,epoch:g.created_at_epoch}))];d.sort((g,m)=>g.epoch-m.epoch);let p=this.timelineService.filterByDepth(d,c,u,i,a);if(!p||p.length===0)return{content:[{type:"text",text:n?`Found observation matching "${n}", but no timeline context available (${i} records before, ${a} records after).`:`No context found around anchor (${i} records before, ${a} records after)`}]};let f=[];if(n){let g=p.find(y=>y.type==="observation"&&y.data.id===c),m=g&&g.type==="observation"?g.data.title||"Untitled":"Unknown";f.push(`# Timeline for query: "${n}"`),f.push(`**Anchor:** Observation #${c} - ${m}`)}else f.push(`# Timeline around anchor: ${c}`);f.push(`**Window:** ${i} records before -> ${a} records after | **Items:** ${p?.length??0}`),f.push("");let h=new Map;for(let g of p){let m=Li(g.epoch);h.has(m)||h.set(m,[]),h.get(m).push(g)}let _=Array.from(h.entries()).sort((g,m)=>{let y=new Date(g[0]).getTime(),v=new Date(m[0]).getTime();return y-v});for(let[g,m]of _){f.push(`### ${g}`),f.push("");let y=null,v="",b=!1;for(let S of m){let x=typeof c=="number"&&S.type==="observation"&&S.data.id===c||typeof c=="string"&&c.startsWith("S")&&S.type==="session"&&`S${S.data.id}`===c;if(S.type==="session"){b&&(f.push(""),b=!1,y=null,v="");let w=S.data,E=w.request||"Session summary",O=x?" <- **ANCHOR**":"";f.push(`**\u{1F3AF} #S${w.id}** ${E} (${kn(S.epoch)})${O}`),f.push("")}else if(S.type==="prompt"){b&&(f.push(""),b=!1,y=null,v="");let w=S.data,E=w.prompt_text.length>100?w.prompt_text.substring(0,100)+"...":w.prompt_text;f.push(`**\u{1F4AC} User Prompt #${w.prompt_number}** (${kn(S.epoch)})`),f.push(`> ${E}`),f.push("")}else if(S.type==="observation"){let w=S.data,E=Vn(w.files_modified,s,w.files_read);E!==y&&(b&&f.push(""),f.push(`**${E}**`),f.push("| ID | Time | T | Title | Tokens |"),f.push("|----|------|---|-------|--------|"),y=E,b=!0,v="");let O=He.getInstance().getTypeIcon(w.type),A=Ar(S.epoch),M=w.title||"Untitled",L=rc(w.narrative),U=A!==v?A:'"';v=A;let Y=x?" <- **ANCHOR**":"";f.push(`| #${w.id} | ${U} | ${O} | ${M}${Y} | ~${L} |`)}}b&&f.push("")}return{content:[{type:"text",text:f.join(` +`)}]}}async decisions(e){let r=this.normalizeParams(e),{query:n,...i}=r,a=[];if(this.chromaSync)try{if(n){k.debug("SEARCH","Using Chroma semantic search with type=decision filter",{});let u=(await this.queryChroma(n,Math.min((i.limit||20)*2,100),{type:"decision"})).ids;u.length>0&&(a=this.sessionStore.getObservationsByIds(u,{...i,type:"decision"}),a.sort((l,d)=>u.indexOf(l.id)-u.indexOf(d.id)))}else{k.debug("SEARCH","Using metadata-first + semantic ranking for decisions",{});let c=this.sessionSearch.findByType("decision",i);if(c.length>0){let u=c.map(p=>p.id),l=await this.queryChroma("decision",Math.min(u.length,100)),d=[];for(let p of l.ids)u.includes(p)&&!d.includes(p)&&d.push(p);d.length>0&&(a=this.sessionStore.getObservationsByIds(d,{limit:i.limit||20}),a.sort((p,f)=>d.indexOf(p.id)-d.indexOf(f.id)))}}}catch(c){k.error("SEARCH","Chroma search failed for decisions, falling back to metadata search",{},c)}if(a.length===0&&(a=this.sessionSearch.findByType("decision",i)),a.length===0)return{content:[{type:"text",text:"No decision observations found"}]};let o=`Found ${a.length} decision(s) ${this.formatter.formatTableHeader()}`,s=a.map((c,u)=>this.formatter.formatObservationIndex(c,u));return{content:[{type:"text",text:o+` `+s.join(` -`)}]}}async changes(e){let r=this.normalizeParams(e),{...n}=r,i=[];if(this.chromaSync)try{k.debug("SEARCH","Using hybrid search for change-related observations",{});let s=this.sessionSearch.findByType("change",n),c=this.sessionSearch.findByConcept("change",n),u=this.sessionSearch.findByConcept("what-changed",n),l=new Set;if([...s,...c,...u].forEach(d=>l.add(d.id)),l.size>0){let d=Array.from(l),p=await this.queryChroma("what changed",Math.min(d.length,100)),f=[];for(let h of p.ids)d.includes(h)&&!f.includes(h)&&f.push(h);f.length>0&&(i=this.sessionStore.getObservationsByIds(f,{limit:n.limit||20}),i.sort((h,_)=>f.indexOf(h.id)-f.indexOf(_.id)))}}catch(s){k.warn("SEARCH","Chroma search failed for changes, falling back to metadata search",{},s)}if(i.length===0){let s=this.sessionSearch.findByType("change",n),c=this.sessionSearch.findByConcept("change",n),u=this.sessionSearch.findByConcept("what-changed",n),l=new Set;[...s,...c,...u].forEach(d=>l.add(d.id)),i=Array.from(l).map(d=>s.find(p=>p.id===d)||c.find(p=>p.id===d)||u.find(p=>p.id===d)).filter(Boolean),i.sort((d,p)=>p.created_at_epoch-d.created_at_epoch),i=i.slice(0,n.limit||20)}if(i.length===0)return{content:[{type:"text",text:"No change-related observations found"}]};let a=`Found ${i.length} change-related observation(s) +`)}]}}async changes(e){let r=this.normalizeParams(e),{...n}=r,i=[];if(this.chromaSync)try{k.debug("SEARCH","Using hybrid search for change-related observations",{});let s=this.sessionSearch.findByType("change",n),c=this.sessionSearch.findByConcept("change",n),u=this.sessionSearch.findByConcept("what-changed",n),l=new Set;if([...s,...c,...u].forEach(d=>l.add(d.id)),l.size>0){let d=Array.from(l),p=await this.queryChroma("what changed",Math.min(d.length,100)),f=[];for(let h of p.ids)d.includes(h)&&!f.includes(h)&&f.push(h);f.length>0&&(i=this.sessionStore.getObservationsByIds(f,{limit:n.limit||20}),i.sort((h,_)=>f.indexOf(h.id)-f.indexOf(_.id)))}}catch(s){k.error("SEARCH","Chroma search failed for changes, falling back to metadata search",{},s)}if(i.length===0){let s=this.sessionSearch.findByType("change",n),c=this.sessionSearch.findByConcept("change",n),u=this.sessionSearch.findByConcept("what-changed",n),l=new Set;[...s,...c,...u].forEach(d=>l.add(d.id)),i=Array.from(l).map(d=>s.find(p=>p.id===d)||c.find(p=>p.id===d)||u.find(p=>p.id===d)).filter(Boolean),i.sort((d,p)=>p.created_at_epoch-d.created_at_epoch),i=i.slice(0,n.limit||20)}if(i.length===0)return{content:[{type:"text",text:"No change-related observations found"}]};let a=`Found ${i.length} change-related observation(s) ${this.formatter.formatTableHeader()}`,o=i.map((s,c)=>this.formatter.formatObservationIndex(s,c));return{content:[{type:"text",text:a+` `+o.join(` @@ -1212,15 +1212,15 @@ ${this.formatter.formatTableHeader()}`,o=i.map((s,c)=>this.formatter.formatObser ${this.formatter.formatTableHeader()}`,o=i.map((s,c)=>this.formatter.formatObservationIndex(s,c));return{content:[{type:"text",text:a+` `+o.join(` -`)}]}}async searchObservations(e){let r=this.normalizeParams(e),{query:n,...i}=r,a=[];if(this.chromaSync){k.debug("SEARCH","Using hybrid semantic search (Chroma + SQLite)",{});let c=await this.queryChroma(n,100);if(k.debug("SEARCH","Chroma returned semantic matches",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-qt.RECENCY_WINDOW_MS,l=c.ids.filter((d,p)=>{let f=c.metadatas[p];return f&&f.created_at_epoch>u});if(k.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=i.limit||20;a=this.sessionStore.getObservationsByIds(l,{orderBy:"date_desc",limit:d}),k.debug("SEARCH","Hydrated observations from SQLite",{count:a.length})}}}if(a.length===0)return{content:[{type:"text",text:`No observations found matching "${n}"`}]};let o=`Found ${a.length} observation(s) matching "${n}" +`)}]}}async searchObservations(e){let r=this.normalizeParams(e),{query:n,...i}=r,a=[];if(this.chromaSync){k.debug("SEARCH","Using hybrid semantic search (Chroma + SQLite)",{});let c=await this.queryChroma(n,100);if(k.debug("SEARCH","Chroma returned semantic matches",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-Lt.RECENCY_WINDOW_MS,l=c.ids.filter((d,p)=>{let f=c.metadatas[p];return f&&f.created_at_epoch>u});if(k.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=i.limit||20;a=this.sessionStore.getObservationsByIds(l,{orderBy:"date_desc",limit:d}),k.debug("SEARCH","Hydrated observations from SQLite",{count:a.length})}}}if(a.length===0)return{content:[{type:"text",text:`No observations found matching "${n}"`}]};let o=`Found ${a.length} observation(s) matching "${n}" ${this.formatter.formatTableHeader()}`,s=a.map((c,u)=>this.formatter.formatObservationIndex(c,u));return{content:[{type:"text",text:o+` `+s.join(` -`)}]}}async searchSessions(e){let r=this.normalizeParams(e),{query:n,...i}=r,a=[];if(this.chromaSync){k.debug("SEARCH","Using hybrid semantic search for sessions",{});let c=await this.queryChroma(n,100,{doc_type:"session_summary"});if(k.debug("SEARCH","Chroma returned semantic matches for sessions",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-qt.RECENCY_WINDOW_MS,l=c.ids.filter((d,p)=>{let f=c.metadatas[p];return f&&f.created_at_epoch>u});if(k.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=i.limit||20;a=this.sessionStore.getSessionSummariesByIds(l,{orderBy:"date_desc",limit:d}),k.debug("SEARCH","Hydrated sessions from SQLite",{count:a.length})}}}if(a.length===0)return{content:[{type:"text",text:`No sessions found matching "${n}"`}]};let o=`Found ${a.length} session(s) matching "${n}" +`)}]}}async searchSessions(e){let r=this.normalizeParams(e),{query:n,...i}=r,a=[];if(this.chromaSync){k.debug("SEARCH","Using hybrid semantic search for sessions",{});let c=await this.queryChroma(n,100,{doc_type:"session_summary"});if(k.debug("SEARCH","Chroma returned semantic matches for sessions",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-Lt.RECENCY_WINDOW_MS,l=c.ids.filter((d,p)=>{let f=c.metadatas[p];return f&&f.created_at_epoch>u});if(k.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=i.limit||20;a=this.sessionStore.getSessionSummariesByIds(l,{orderBy:"date_desc",limit:d}),k.debug("SEARCH","Hydrated sessions from SQLite",{count:a.length})}}}if(a.length===0)return{content:[{type:"text",text:`No sessions found matching "${n}"`}]};let o=`Found ${a.length} session(s) matching "${n}" ${this.formatter.formatTableHeader()}`,s=a.map((c,u)=>this.formatter.formatSessionIndex(c,u));return{content:[{type:"text",text:o+` `+s.join(` -`)}]}}async searchUserPrompts(e){let r=this.normalizeParams(e),{query:n,...i}=r,a=[];if(this.chromaSync){k.debug("SEARCH","Using hybrid semantic search for user prompts",{});let c=await this.queryChroma(n,100,{doc_type:"user_prompt"});if(k.debug("SEARCH","Chroma returned semantic matches for prompts",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-qt.RECENCY_WINDOW_MS,l=c.ids.filter((d,p)=>{let f=c.metadatas[p];return f&&f.created_at_epoch>u});if(k.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=i.limit||20;a=this.sessionStore.getUserPromptsByIds(l,{orderBy:"date_desc",limit:d}),k.debug("SEARCH","Hydrated user prompts from SQLite",{count:a.length})}}}if(a.length===0)return{content:[{type:"text",text:n?`No user prompts found matching "${n}"`:"No user prompts found"}]};let o=`Found ${a.length} user prompt(s) matching "${n}" +`)}]}}async searchUserPrompts(e){let r=this.normalizeParams(e),{query:n,...i}=r,a=[];if(this.chromaSync){k.debug("SEARCH","Using hybrid semantic search for user prompts",{});let c=await this.queryChroma(n,100,{doc_type:"user_prompt"});if(k.debug("SEARCH","Chroma returned semantic matches for prompts",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-Lt.RECENCY_WINDOW_MS,l=c.ids.filter((d,p)=>{let f=c.metadatas[p];return f&&f.created_at_epoch>u});if(k.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=i.limit||20;a=this.sessionStore.getUserPromptsByIds(l,{orderBy:"date_desc",limit:d}),k.debug("SEARCH","Hydrated user prompts from SQLite",{count:a.length})}}}if(a.length===0)return{content:[{type:"text",text:n?`No user prompts found matching "${n}"`:"No user prompts found"}]};let o=`Found ${a.length} user prompt(s) matching "${n}" ${this.formatter.formatTableHeader()}`,s=a.map((c,u)=>this.formatter.formatUserPromptIndex(c,u));return{content:[{type:"text",text:o+` `+s.join(` @@ -1228,18 +1228,18 @@ ${this.formatter.formatTableHeader()}`,s=a.map((c,u)=>this.formatter.formatUserP ${this.formatter.formatTableHeader()}`,s=a.map((c,u)=>this.formatter.formatObservationIndex(c,u));return{content:[{type:"text",text:o+` `+s.join(` -`)}]}}async findByFile(e){let r=this.normalizeParams(e),{files:n,...i}=r,a=Array.isArray(n)?n[0]:n,o=[],s=[];if(this.chromaSync){k.debug("SEARCH","Using metadata-first + semantic ranking for file search",{});let p=this.sessionSearch.findByFile(a,i);if(k.debug("SEARCH","Found results for file",{file:a,observations:p.observations.length,sessions:p.sessions.length}),s=p.sessions,p.observations.length>0){let f=p.observations.map(g=>g.id),h=await this.queryChroma(a,Math.min(f.length,100)),_=[];for(let g of h.ids)f.includes(g)&&!_.includes(g)&&_.push(g);k.debug("SEARCH","Chroma ranked observations by semantic relevance",{count:_.length}),_.length>0&&(o=this.sessionStore.getObservationsByIds(_,{limit:i.limit||20}),o.sort((g,m)=>_.indexOf(g.id)-_.indexOf(m.id)))}}if(o.length===0&&s.length===0){k.debug("SEARCH","Using SQLite-only file search",{});let p=this.sessionSearch.findByFile(a,i);o=p.observations,s=p.sessions}let c=o.length+s.length;if(c===0)return{content:[{type:"text",text:`No results found for file "${a}"`}]};let u=[...o.map(p=>({type:"observation",data:p,epoch:p.created_at_epoch,created_at:p.created_at})),...s.map(p=>({type:"session",data:p,epoch:p.created_at_epoch,created_at:p.created_at}))];u.sort((p,f)=>f.epoch-p.epoch);let l=vo(u,p=>p.created_at),d=[];d.push(`Found ${c} result(s) for file "${a}"`),d.push("");for(let[p,f]of l){d.push(`### ${p}`),d.push(""),d.push(this.formatter.formatTableHeader());for(let h of f)h.type==="observation"?d.push(this.formatter.formatObservationIndex(h.data,0)):d.push(this.formatter.formatSessionIndex(h.data,0));d.push("")}return{content:[{type:"text",text:d.join(` +`)}]}}async findByFile(e){let r=this.normalizeParams(e),{files:n,...i}=r,a=Array.isArray(n)?n[0]:n,o=[],s=[];if(this.chromaSync){k.debug("SEARCH","Using metadata-first + semantic ranking for file search",{});let p=this.sessionSearch.findByFile(a,i);if(k.debug("SEARCH","Found results for file",{file:a,observations:p.observations.length,sessions:p.sessions.length}),s=p.sessions,p.observations.length>0){let f=p.observations.map(g=>g.id),h=await this.queryChroma(a,Math.min(f.length,100)),_=[];for(let g of h.ids)f.includes(g)&&!_.includes(g)&&_.push(g);k.debug("SEARCH","Chroma ranked observations by semantic relevance",{count:_.length}),_.length>0&&(o=this.sessionStore.getObservationsByIds(_,{limit:i.limit||20}),o.sort((g,m)=>_.indexOf(g.id)-_.indexOf(m.id)))}}if(o.length===0&&s.length===0){k.debug("SEARCH","Using SQLite-only file search",{});let p=this.sessionSearch.findByFile(a,i);o=p.observations,s=p.sessions}let c=o.length+s.length;if(c===0)return{content:[{type:"text",text:`No results found for file "${a}"`}]};let u=[...o.map(p=>({type:"observation",data:p,epoch:p.created_at_epoch,created_at:p.created_at})),...s.map(p=>({type:"session",data:p,epoch:p.created_at_epoch,created_at:p.created_at}))];u.sort((p,f)=>f.epoch-p.epoch);let l=yo(u,p=>p.created_at),d=[];d.push(`Found ${c} result(s) for file "${a}"`),d.push("");for(let[p,f]of l){d.push(`### ${p}`),d.push(""),d.push(this.formatter.formatTableHeader());for(let h of f)h.type==="observation"?d.push(this.formatter.formatObservationIndex(h.data,0)):d.push(this.formatter.formatSessionIndex(h.data,0));d.push("")}return{content:[{type:"text",text:d.join(` `)}]}}async findByType(e){let r=this.normalizeParams(e),{type:n,...i}=r,a=Array.isArray(n)?n.join(", "):n,o=[];if(this.chromaSync){k.debug("SEARCH","Using metadata-first + semantic ranking for type search",{});let u=this.sessionSearch.findByType(n,i);if(k.debug("SEARCH","Found observations with type",{type:a,count:u.length}),u.length>0){let l=u.map(f=>f.id),d=await this.queryChroma(a,Math.min(l.length,100)),p=[];for(let f of d.ids)l.includes(f)&&!p.includes(f)&&p.push(f);k.debug("SEARCH","Chroma ranked results by semantic relevance",{count:p.length}),p.length>0&&(o=this.sessionStore.getObservationsByIds(p,{limit:i.limit||20}),o.sort((f,h)=>p.indexOf(f.id)-p.indexOf(h.id)))}}if(o.length===0&&(k.debug("SEARCH","Using SQLite-only type search",{}),o=this.sessionSearch.findByType(n,i)),o.length===0)return{content:[{type:"text",text:`No observations found with type "${a}"`}]};let s=`Found ${o.length} observation(s) with type "${a}" ${this.formatter.formatTableHeader()}`,c=o.map((u,l)=>this.formatter.formatObservationIndex(u,l));return{content:[{type:"text",text:s+` `+c.join(` -`)}]}}async getRecentContext(e){let r=e.project||(0,iU.basename)(process.cwd()),n=e.limit||3,i=this.sessionStore.getRecentSessionsWithStatus(r,n);if(i.length===0)return{content:[{type:"text",text:`# Recent Session Context +`)}]}}async getRecentContext(e){let r=e.project||(0,lU.basename)(process.cwd()),n=e.limit||3,i=this.sessionStore.getRecentSessionsWithStatus(r,n);if(i.length===0)return{content:[{type:"text",text:`# Recent Session Context No previous sessions found for project "${r}".`}]};let a=[];a.push("# Recent Session Context"),a.push(""),a.push(`Showing last ${i.length} session(s) for **${r}**:`),a.push("");for(let o of i)if(o.memory_session_id){if(a.push("---"),a.push(""),o.has_summary){let s=this.sessionStore.getSummaryForSession(o.memory_session_id);if(s){let c=s.prompt_number?` (Prompt #${s.prompt_number})`:"";if(a.push(`**Summary${c}**`),a.push(""),s.request&&a.push(`**Request:** ${s.request}`),s.completed&&a.push(`**Completed:** ${s.completed}`),s.learned&&a.push(`**Learned:** ${s.learned}`),s.next_steps&&a.push(`**Next Steps:** ${s.next_steps}`),s.files_read)try{let l=JSON.parse(s.files_read);Array.isArray(l)&&l.length>0&&a.push(`**Files Read:** ${l.join(", ")}`)}catch(l){k.debug("WORKER","files_read is plain string, using as-is",{},l),s.files_read.trim()&&a.push(`**Files Read:** ${s.files_read}`)}if(s.files_edited)try{let l=JSON.parse(s.files_edited);Array.isArray(l)&&l.length>0&&a.push(`**Files Edited:** ${l.join(", ")}`)}catch(l){k.debug("WORKER","files_edited is plain string, using as-is",{},l),s.files_edited.trim()&&a.push(`**Files Edited:** ${s.files_edited}`)}let u=new Date(s.created_at).toLocaleString();a.push(`**Date:** ${u}`)}}else if(o.status==="active"){a.push("**In Progress**"),a.push(""),o.user_prompt&&a.push(`**Request:** ${o.user_prompt}`);let s=this.sessionStore.getObservationsForSession(o.memory_session_id);if(s.length>0){a.push(""),a.push(`**Observations (${s.length}):**`);for(let u of s)a.push(`- ${u.title}`)}else a.push(""),a.push("*No observations yet*");a.push(""),a.push("**Status:** Active - summary pending");let c=new Date(o.started_at).toLocaleString();a.push(`**Date:** ${c}`)}else{a.push(`**${o.status.charAt(0).toUpperCase()+o.status.slice(1)}**`),a.push(""),o.user_prompt&&a.push(`**Request:** ${o.user_prompt}`),a.push(""),a.push(`**Status:** ${o.status} - no summary available`);let s=new Date(o.started_at).toLocaleString();a.push(`**Date:** ${s}`)}a.push("")}return{content:[{type:"text",text:a.join(` -`)}]}}async getContextTimeline(e){let{anchor:r,depth_before:n=10,depth_after:i=10,project:a}=e,o=process.cwd(),s,c=r,u;if(typeof r=="number"){let _=this.sessionStore.getObservationById(r);if(!_)return{content:[{type:"text",text:`Observation #${r} not found`}],isError:!0};s=_.created_at_epoch,u=this.sessionStore.getTimelineAroundObservation(r,s,n,i,a)}else if(typeof r=="string")if(r.startsWith("S")||r.startsWith("#S")){let _=r.replace(/^#?S/,""),g=parseInt(_,10),m=this.sessionStore.getSessionSummariesByIds([g]);if(m.length===0)return{content:[{type:"text",text:`Session #${g} not found`}],isError:!0};s=m[0].created_at_epoch,c=`S${g}`,u=this.sessionStore.getTimelineAroundTimestamp(s,n,i,a)}else{let _=new Date(r);if(isNaN(_.getTime()))return{content:[{type:"text",text:`Invalid timestamp: ${r}`}],isError:!0};s=_.getTime(),u=this.sessionStore.getTimelineAroundTimestamp(s,n,i,a)}else return{content:[{type:"text",text:'Invalid anchor: must be observation ID (number), session ID (e.g., "S123"), or ISO timestamp'}],isError:!0};let l=[...u.observations.map(_=>({type:"observation",data:_,epoch:_.created_at_epoch})),...u.sessions.map(_=>({type:"session",data:_,epoch:_.created_at_epoch})),...u.prompts.map(_=>({type:"prompt",data:_,epoch:_.created_at_epoch}))];l.sort((_,g)=>_.epoch-g.epoch);let d=this.timelineService.filterByDepth(l,c,s,n,i);if(!d||d.length===0)return{content:[{type:"text",text:`No context found around ${new Date(s).toLocaleString()} (${n} records before, ${i} records after)`}]};let p=[];p.push(`# Timeline around anchor: ${c}`),p.push(`**Window:** ${n} records before -> ${i} records after | **Items:** ${d?.length??0}`),p.push("");let f=new Map;for(let _ of d){let g=Ui(_.epoch);f.has(g)||f.set(g,[]),f.get(g).push(_)}let h=Array.from(f.entries()).sort((_,g)=>{let m=new Date(_[0]).getTime(),y=new Date(g[0]).getTime();return m-y});for(let[_,g]of h){p.push(`### ${_}`),p.push("");let m=null,y="",v=!1;for(let b of g){let S=typeof c=="number"&&b.type==="observation"&&b.data.id===c||typeof c=="string"&&c.startsWith("S")&&b.type==="session"&&`S${b.data.id}`===c;if(b.type==="session"){v&&(p.push(""),v=!1,m=null,y="");let x=b.data,w=x.request||"Session summary",E=S?" <- **ANCHOR**":"";p.push(`**\u{1F3AF} #S${x.id}** ${w} (${kn(b.epoch)})${E}`),p.push("")}else if(b.type==="prompt"){v&&(p.push(""),v=!1,m=null,y="");let x=b.data,w=x.prompt_text.length>100?x.prompt_text.substring(0,100)+"...":x.prompt_text;p.push(`**\u{1F4AC} User Prompt #${x.prompt_number}** (${kn(b.epoch)})`),p.push(`> ${w}`),p.push("")}else if(b.type==="observation"){let x=b.data,w=Vn(x.files_modified,o,x.files_read);w!==m&&(v&&p.push(""),p.push(`**${w}**`),p.push("| ID | Time | T | Title | Tokens |"),p.push("|----|------|---|-------|--------|"),m=w,v=!0,y="");let E=He.getInstance().getTypeIcon(x.type),O=Ar(b.epoch),A=x.title||"Untitled",M=rc(x.narrative),B=O!==y?O:'"';y=O;let U=S?" <- **ANCHOR**":"";p.push(`| #${x.id} | ${B} | ${E} | ${A}${U} | ~${M} |`)}}v&&p.push("")}return{content:[{type:"text",text:p.join(` -`)}]}}async getTimelineByQuery(e){let{query:r,mode:n="auto",depth_before:i=10,depth_after:a=10,limit:o=5,project:s}=e,c=process.cwd(),u=[];if(this.chromaSync){k.debug("SEARCH","Using hybrid semantic search for timeline query",{});let l=await this.queryChroma(r,100);if(k.debug("SEARCH","Chroma returned semantic matches for timeline",{matchCount:l.ids.length}),l.ids.length>0){let d=Date.now()-qt.RECENCY_WINDOW_MS,p=l.ids.filter((f,h)=>{let _=l.metadatas[h];return _&&_.created_at_epoch>d});k.debug("SEARCH","Results within 90-day window",{count:p.length}),p.length>0&&(u=this.sessionStore.getObservationsByIds(p,{orderBy:"date_desc",limit:n==="auto"?1:o}),k.debug("SEARCH","Hydrated observations from SQLite",{count:u.length}))}}if(u.length===0)return{content:[{type:"text",text:`No observations found matching "${r}". Try a different search query.`}]};if(n==="interactive"){let l=[];l.push("# Timeline Anchor Search Results"),l.push(""),l.push(`Found ${u.length} observation(s) matching "${r}"`),l.push(""),l.push("To get timeline context around any of these observations, use the `get_context_timeline` tool with the observation ID as the anchor."),l.push(""),l.push(`**Top ${u.length} matches:**`),l.push("");for(let d=0;d({type:"observation",data:m,epoch:m.created_at_epoch})),...(d.sessions||[]).map(m=>({type:"session",data:m,epoch:m.created_at_epoch})),...(d.prompts||[]).map(m=>({type:"prompt",data:m,epoch:m.created_at_epoch}))];p.sort((m,y)=>m.epoch-y.epoch);let f=this.timelineService.filterByDepth(p,l.id,0,i,a);if(!f||f.length===0)return{content:[{type:"text",text:`Found observation #${l.id} matching "${r}", but no timeline context available (${i} records before, ${a} records after).`}]};let h=[];h.push(`# Timeline for query: "${r}"`),h.push(`**Anchor:** Observation #${l.id} - ${l.title||"Untitled"}`),h.push(`**Window:** ${i} records before -> ${a} records after | **Items:** ${f?.length??0}`),h.push("");let _=new Map;for(let m of f){let y=Ui(m.epoch);_.has(y)||_.set(y,[]),_.get(y).push(m)}let g=Array.from(_.entries()).sort((m,y)=>{let v=new Date(m[0]).getTime(),b=new Date(y[0]).getTime();return v-b});for(let[m,y]of g){h.push(`### ${m}`),h.push("");let v=null,b="",S=!1;for(let x of y){let w=x.type==="observation"&&x.data.id===l.id;if(x.type==="session"){S&&(h.push(""),S=!1,v=null,b="");let E=x.data,O=E.request||"Session summary";h.push(`**\u{1F3AF} #S${E.id}** ${O} (${kn(x.epoch)})`),h.push("")}else if(x.type==="prompt"){S&&(h.push(""),S=!1,v=null,b="");let E=x.data,O=E.prompt_text.length>100?E.prompt_text.substring(0,100)+"...":E.prompt_text;h.push(`**\u{1F4AC} User Prompt #${E.prompt_number}** (${kn(x.epoch)})`),h.push(`> ${O}`),h.push("")}else if(x.type==="observation"){let E=x.data,O=Vn(E.files_modified,c,E.files_read);O!==v&&(S&&h.push(""),h.push(`**${O}**`),h.push("| ID | Time | T | Title | Tokens |"),h.push("|----|------|---|-------|--------|"),v=O,S=!0,b="");let A=He.getInstance().getTypeIcon(E.type),M=Ar(x.epoch),q=E.title||"Untitled",B=rc(E.narrative),Y=M!==b?M:'"';b=M;let me=w?" <- **ANCHOR**":"";h.push(`| #${E.id} | ${Y} | ${A} | ${q}${me} | ~${B} |`)}}S&&h.push("")}return{content:[{type:"text",text:h.join(` -`)}]}}}};jr();var Pfe=4,mg=class{formatSearchTips(){return` +`)}]}}async getContextTimeline(e){let{anchor:r,depth_before:n=10,depth_after:i=10,project:a}=e,o=process.cwd(),s,c=r,u;if(typeof r=="number"){let _=this.sessionStore.getObservationById(r);if(!_)return{content:[{type:"text",text:`Observation #${r} not found`}],isError:!0};s=_.created_at_epoch,u=this.sessionStore.getTimelineAroundObservation(r,s,n,i,a)}else if(typeof r=="string")if(r.startsWith("S")||r.startsWith("#S")){let _=r.replace(/^#?S/,""),g=parseInt(_,10),m=this.sessionStore.getSessionSummariesByIds([g]);if(m.length===0)return{content:[{type:"text",text:`Session #${g} not found`}],isError:!0};s=m[0].created_at_epoch,c=`S${g}`,u=this.sessionStore.getTimelineAroundTimestamp(s,n,i,a)}else{let _=new Date(r);if(isNaN(_.getTime()))return{content:[{type:"text",text:`Invalid timestamp: ${r}`}],isError:!0};s=_.getTime(),u=this.sessionStore.getTimelineAroundTimestamp(s,n,i,a)}else return{content:[{type:"text",text:'Invalid anchor: must be observation ID (number), session ID (e.g., "S123"), or ISO timestamp'}],isError:!0};let l=[...u.observations.map(_=>({type:"observation",data:_,epoch:_.created_at_epoch})),...u.sessions.map(_=>({type:"session",data:_,epoch:_.created_at_epoch})),...u.prompts.map(_=>({type:"prompt",data:_,epoch:_.created_at_epoch}))];l.sort((_,g)=>_.epoch-g.epoch);let d=this.timelineService.filterByDepth(l,c,s,n,i);if(!d||d.length===0)return{content:[{type:"text",text:`No context found around ${new Date(s).toLocaleString()} (${n} records before, ${i} records after)`}]};let p=[];p.push(`# Timeline around anchor: ${c}`),p.push(`**Window:** ${n} records before -> ${i} records after | **Items:** ${d?.length??0}`),p.push("");let f=new Map;for(let _ of d){let g=Li(_.epoch);f.has(g)||f.set(g,[]),f.get(g).push(_)}let h=Array.from(f.entries()).sort((_,g)=>{let m=new Date(_[0]).getTime(),y=new Date(g[0]).getTime();return m-y});for(let[_,g]of h){p.push(`### ${_}`),p.push("");let m=null,y="",v=!1;for(let b of g){let S=typeof c=="number"&&b.type==="observation"&&b.data.id===c||typeof c=="string"&&c.startsWith("S")&&b.type==="session"&&`S${b.data.id}`===c;if(b.type==="session"){v&&(p.push(""),v=!1,m=null,y="");let x=b.data,w=x.request||"Session summary",E=S?" <- **ANCHOR**":"";p.push(`**\u{1F3AF} #S${x.id}** ${w} (${kn(b.epoch)})${E}`),p.push("")}else if(b.type==="prompt"){v&&(p.push(""),v=!1,m=null,y="");let x=b.data,w=x.prompt_text.length>100?x.prompt_text.substring(0,100)+"...":x.prompt_text;p.push(`**\u{1F4AC} User Prompt #${x.prompt_number}** (${kn(b.epoch)})`),p.push(`> ${w}`),p.push("")}else if(b.type==="observation"){let x=b.data,w=Vn(x.files_modified,o,x.files_read);w!==m&&(v&&p.push(""),p.push(`**${w}**`),p.push("| ID | Time | T | Title | Tokens |"),p.push("|----|------|---|-------|--------|"),m=w,v=!0,y="");let E=He.getInstance().getTypeIcon(x.type),O=Ar(b.epoch),A=x.title||"Untitled",M=rc(x.narrative),B=O!==y?O:'"';y=O;let U=S?" <- **ANCHOR**":"";p.push(`| #${x.id} | ${B} | ${E} | ${A}${U} | ~${M} |`)}}v&&p.push("")}return{content:[{type:"text",text:p.join(` +`)}]}}async getTimelineByQuery(e){let{query:r,mode:n="auto",depth_before:i=10,depth_after:a=10,limit:o=5,project:s}=e,c=process.cwd(),u=[];if(this.chromaSync){k.debug("SEARCH","Using hybrid semantic search for timeline query",{});let l=await this.queryChroma(r,100);if(k.debug("SEARCH","Chroma returned semantic matches for timeline",{matchCount:l.ids.length}),l.ids.length>0){let d=Date.now()-Lt.RECENCY_WINDOW_MS,p=l.ids.filter((f,h)=>{let _=l.metadatas[h];return _&&_.created_at_epoch>d});k.debug("SEARCH","Results within 90-day window",{count:p.length}),p.length>0&&(u=this.sessionStore.getObservationsByIds(p,{orderBy:"date_desc",limit:n==="auto"?1:o}),k.debug("SEARCH","Hydrated observations from SQLite",{count:u.length}))}}if(u.length===0)return{content:[{type:"text",text:`No observations found matching "${r}". Try a different search query.`}]};if(n==="interactive"){let l=[];l.push("# Timeline Anchor Search Results"),l.push(""),l.push(`Found ${u.length} observation(s) matching "${r}"`),l.push(""),l.push("To get timeline context around any of these observations, use the `get_context_timeline` tool with the observation ID as the anchor."),l.push(""),l.push(`**Top ${u.length} matches:**`),l.push("");for(let d=0;d({type:"observation",data:m,epoch:m.created_at_epoch})),...(d.sessions||[]).map(m=>({type:"session",data:m,epoch:m.created_at_epoch})),...(d.prompts||[]).map(m=>({type:"prompt",data:m,epoch:m.created_at_epoch}))];p.sort((m,y)=>m.epoch-y.epoch);let f=this.timelineService.filterByDepth(p,l.id,0,i,a);if(!f||f.length===0)return{content:[{type:"text",text:`Found observation #${l.id} matching "${r}", but no timeline context available (${i} records before, ${a} records after).`}]};let h=[];h.push(`# Timeline for query: "${r}"`),h.push(`**Anchor:** Observation #${l.id} - ${l.title||"Untitled"}`),h.push(`**Window:** ${i} records before -> ${a} records after | **Items:** ${f?.length??0}`),h.push("");let _=new Map;for(let m of f){let y=Li(m.epoch);_.has(y)||_.set(y,[]),_.get(y).push(m)}let g=Array.from(_.entries()).sort((m,y)=>{let v=new Date(m[0]).getTime(),b=new Date(y[0]).getTime();return v-b});for(let[m,y]of g){h.push(`### ${m}`),h.push("");let v=null,b="",S=!1;for(let x of y){let w=x.type==="observation"&&x.data.id===l.id;if(x.type==="session"){S&&(h.push(""),S=!1,v=null,b="");let E=x.data,O=E.request||"Session summary";h.push(`**\u{1F3AF} #S${E.id}** ${O} (${kn(x.epoch)})`),h.push("")}else if(x.type==="prompt"){S&&(h.push(""),S=!1,v=null,b="");let E=x.data,O=E.prompt_text.length>100?E.prompt_text.substring(0,100)+"...":E.prompt_text;h.push(`**\u{1F4AC} User Prompt #${E.prompt_number}** (${kn(x.epoch)})`),h.push(`> ${O}`),h.push("")}else if(x.type==="observation"){let E=x.data,O=Vn(E.files_modified,c,E.files_read);O!==v&&(S&&h.push(""),h.push(`**${O}**`),h.push("| ID | Time | T | Title | Tokens |"),h.push("|----|------|---|-------|--------|"),v=O,S=!0,b="");let A=He.getInstance().getTypeIcon(E.type),M=Ar(x.epoch),L=E.title||"Untitled",B=rc(E.narrative),Y=M!==b?M:'"';b=M;let me=w?" <- **ANCHOR**":"";h.push(`| #${E.id} | ${Y} | ${A} | ${L}${me} | ~${B} |`)}}S&&h.push("")}return{content:[{type:"text",text:h.join(` +`)}]}}}};jr();var Ofe=4,mg=class{formatSearchTips(){return` --- \u{1F4A1} Search Strategy: 1. Search with index to see titles, dates, IDs @@ -1249,18 +1249,18 @@ No previous sessions found for project "${r}".`}]};let a=[];a.push("# Recent Ses Tips: \u2022 Filter by type: obs_type="bugfix,feature" \u2022 Filter by date: dateStart="2025-01-01" -\u2022 Sort: orderBy="date_desc" or "date_asc"`}formatTime(e){return new Date(e).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}estimateReadTokens(e){let r=(e.title?.length||0)+(e.subtitle?.length||0)+(e.narrative?.length||0)+(e.facts?.length||0);return Math.ceil(r/Pfe)}formatObservationIndex(e,r){let n=`#${e.id}`,i=this.formatTime(e.created_at_epoch),a=He.getInstance().getTypeIcon(e.type),o=e.title||"Untitled",s=this.estimateReadTokens(e),c=He.getInstance().getWorkEmoji(e.type),u=e.discovery_tokens||0,l=u>0?`${c} ${u}`:"-";return`| ${n} | ${i} | ${a} | ${o} | ~${s} | ${l} |`}formatSessionIndex(e,r){let n=`#S${e.id}`,i=this.formatTime(e.created_at_epoch),a="\u{1F3AF}",o=e.request||`Session ${e.memory_session_id?.substring(0,8)||"unknown"}`;return`| ${n} | ${i} | ${a} | ${o} | - | - |`}formatUserPromptIndex(e,r){let n=`#P${e.id}`,i=this.formatTime(e.created_at_epoch),a="\u{1F4AC}",o=e.prompt_text.length>60?e.prompt_text.substring(0,57)+"...":e.prompt_text;return`| ${n} | ${i} | ${a} | ${o} | - | - |`}formatTableHeader(){return`| ID | Time | T | Title | Read | Work | +\u2022 Sort: orderBy="date_desc" or "date_asc"`}formatTime(e){return new Date(e).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}estimateReadTokens(e){let r=(e.title?.length||0)+(e.subtitle?.length||0)+(e.narrative?.length||0)+(e.facts?.length||0);return Math.ceil(r/Ofe)}formatObservationIndex(e,r){let n=`#${e.id}`,i=this.formatTime(e.created_at_epoch),a=He.getInstance().getTypeIcon(e.type),o=e.title||"Untitled",s=this.estimateReadTokens(e),c=He.getInstance().getWorkEmoji(e.type),u=e.discovery_tokens||0,l=u>0?`${c} ${u}`:"-";return`| ${n} | ${i} | ${a} | ${o} | ~${s} | ${l} |`}formatSessionIndex(e,r){let n=`#S${e.id}`,i=this.formatTime(e.created_at_epoch),a="\u{1F3AF}",o=e.request||`Session ${e.memory_session_id?.substring(0,8)||"unknown"}`;return`| ${n} | ${i} | ${a} | ${o} | - | - |`}formatUserPromptIndex(e,r){let n=`#P${e.id}`,i=this.formatTime(e.created_at_epoch),a="\u{1F4AC}",o=e.prompt_text.length>60?e.prompt_text.substring(0,57)+"...":e.prompt_text;return`| ${n} | ${i} | ${a} | ${o} | - | - |`}formatTableHeader(){return`| ID | Time | T | Title | Read | Work | |-----|------|---|-------|------|------|`}formatSearchTableHeader(){return`| ID | Time | T | Title | Read | |----|------|---|-------|------|`}formatObservationSearchRow(e,r){let n=`#${e.id}`,i=this.formatTime(e.created_at_epoch),a=He.getInstance().getTypeIcon(e.type),o=e.title||"Untitled",s=this.estimateReadTokens(e);return{row:`| ${n} | ${i===r?"\u2033":i} | ${a} | ${o} | ~${s} |`,time:i}}formatSessionSearchRow(e,r){let n=`#S${e.id}`,i=this.formatTime(e.created_at_epoch),a="\u{1F3AF}",o=e.request||`Session ${e.memory_session_id?.substring(0,8)||"unknown"}`;return{row:`| ${n} | ${i===r?"\u2033":i} | ${a} | ${o} | - |`,time:i}}formatUserPromptSearchRow(e,r){let n=`#P${e.id}`,i=this.formatTime(e.created_at_epoch),a="\u{1F4AC}",o=e.prompt_text.length>60?e.prompt_text.substring(0,57)+"...":e.prompt_text;return{row:`| ${n} | ${i===r?"\u2033":i} | ${a} | ${o} | - |`,time:i}}};jr();var hg=class{buildTimeline(e){let r=[...e.observations.map(n=>({type:"observation",data:n,epoch:n.created_at_epoch})),...e.sessions.map(n=>({type:"session",data:n,epoch:n.created_at_epoch})),...e.prompts.map(n=>({type:"prompt",data:n,epoch:n.created_at_epoch}))];return r.sort((n,i)=>n.epoch-i.epoch),r}filterByDepth(e,r,n,i,a){if(e.length===0)return e;let o=-1;if(typeof r=="number")o=e.findIndex(u=>u.type==="observation"&&u.data.id===r);else if(typeof r=="string"&&r.startsWith("S")){let u=parseInt(r.slice(1),10);o=e.findIndex(l=>l.type==="session"&&l.data.id===u)}else o=e.findIndex(u=>u.epoch>=n),o===-1&&(o=e.length-1);if(o===-1)return e;let s=Math.max(0,o-i),c=Math.min(e.length,o+a+1);return e.slice(s,c)}formatTimeline(e,r,n,i,a){if(e.length===0)return n?`Found observation matching "${n}", but no timeline context available.`:"No timeline items found";let o=[];if(n&&r){let u=e.find(d=>d.type==="observation"&&d.data.id===r),l=u?u.data.title||"Untitled":"Unknown";o.push(`# Timeline for query: "${n}"`),o.push(`**Anchor:** Observation #${r} - ${l}`)}else r?o.push(`# Timeline around anchor: ${r}`):o.push("# Timeline");i!==void 0&&a!==void 0?o.push(`**Window:** ${i} records before \u2192 ${a} records after | **Items:** ${e.length}`):o.push(`**Items:** ${e.length}`),o.push(""),o.push("**Legend:** \u{1F3AF} session-request | \u{1F534} bugfix | \u{1F7E3} feature | \u{1F504} refactor | \u2705 change | \u{1F535} discovery | \u{1F9E0} decision"),o.push("");let s=new Map;for(let u of e){let l=this.formatDate(u.epoch);s.has(l)||s.set(l,[]),s.get(l).push(u)}let c=Array.from(s.entries()).sort((u,l)=>{let d=new Date(u[0]).getTime(),p=new Date(l[0]).getTime();return d-p});for(let[u,l]of c){o.push(`### ${u}`),o.push("");let d=null,p="",f=!1;for(let h of l){let _=typeof r=="number"&&h.type==="observation"&&h.data.id===r||typeof r=="string"&&r.startsWith("S")&&h.type==="session"&&`S${h.data.id}`===r;if(h.type==="session"){f&&(o.push(""),f=!1,d=null,p="");let g=h.data,m=g.request||"Session summary",y=_?" \u2190 **ANCHOR**":"";o.push(`**\u{1F3AF} #S${g.id}** ${m} (${this.formatDateTime(h.epoch)})${y}`),o.push("")}else if(h.type==="prompt"){f&&(o.push(""),f=!1,d=null,p="");let g=h.data,m=g.prompt_text.length>100?g.prompt_text.substring(0,100)+"...":g.prompt_text;o.push(`**\u{1F4AC} User Prompt #${g.prompt_number}** (${this.formatDateTime(h.epoch)})`),o.push(`> ${m}`),o.push("")}else if(h.type==="observation"){let g=h.data,m="General";m!==d&&(f&&o.push(""),o.push(`**${m}**`),o.push("| ID | Time | T | Title | Tokens |"),o.push("|----|------|---|-------|--------|"),d=m,f=!0,p="");let y=this.getTypeIcon(g.type),v=this.formatTime(h.epoch),b=g.title||"Untitled",S=this.estimateTokens(g.narrative),w=v!==p?v:"\u2033";p=v;let E=_?" \u2190 **ANCHOR**":"";o.push(`| #${g.id} | ${w} | ${y} | ${b}${E} | ~${S} |`)}}f&&o.push("")}return o.join(` -`)}getTypeIcon(e){return He.getInstance().getTypeIcon(e)}formatDate(e){return new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}formatTime(e){return new Date(e).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}formatDateTime(e){return new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}estimateTokens(e){return e?Math.ceil(e.length/4):0}};var gg=class{constructor(e,r){this.sseBroadcaster=e;this.workerService=r}broadcastNewPrompt(e){this.sseBroadcaster.broadcast({type:"new_prompt",prompt:e}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:!0}),this.workerService.broadcastProcessingStatus()}broadcastSessionStarted(e,r){this.sseBroadcaster.broadcast({type:"session_started",sessionDbId:e,project:r}),this.workerService.broadcastProcessingStatus()}broadcastObservationQueued(e){this.sseBroadcaster.broadcast({type:"observation_queued",sessionDbId:e}),this.workerService.broadcastProcessingStatus()}broadcastSessionCompleted(e){this.sseBroadcaster.broadcast({type:"session_completed",timestamp:Date.now(),sessionDbId:e}),this.workerService.broadcastProcessingStatus()}broadcastSummarizeQueued(){this.workerService.broadcastProcessingStatus()}};var aU=dt(ph(),1),vg=dt(require("path"),1),_g=require("fs");cn();Re();var Xr=class{wrapHandler(e){return(r,n)=>{try{let i=e(r,n);i instanceof Promise&&i.catch(a=>this.handleError(n,a))}catch(i){k.error("HTTP","Route handler error",{path:r.path},i),this.handleError(n,i)}}}parseIntParam(e,r,n){let i=parseInt(e.params[n],10);return isNaN(i)?(this.badRequest(r,`Invalid ${n}`),null):i}validateRequired(e,r,n){for(let i of n)if(e.body[i]===void 0||e.body[i]===null)return this.badRequest(r,`Missing ${i}`),!1;return!0}badRequest(e,r){e.status(400).json({error:r})}notFound(e,r){e.status(404).json({error:r})}handleError(e,r,n){k.failure("WORKER",n||"Request failed",{},r),e.headersSent||e.status(500).json({error:r.message})}};var yg=class extends Xr{constructor(r,n,i){super();this.sseBroadcaster=r;this.dbManager=n;this.sessionManager=i}setupRoutes(r){let n=Gr();r.use(aU.default.static(vg.default.join(n,"ui"))),r.get("/health",this.handleHealth.bind(this)),r.get("/",this.handleViewerUI.bind(this)),r.get("/stream",this.handleSSEStream.bind(this))}handleHealth=this.wrapHandler((r,n)=>{n.json({status:"ok",timestamp:Date.now()})});handleViewerUI=this.wrapHandler((r,n)=>{let i=Gr(),o=[vg.default.join(i,"ui","viewer.html"),vg.default.join(i,"plugin","ui","viewer.html")].find(c=>(0,_g.existsSync)(c));if(!o)throw new Error("Viewer UI not found at any expected location");let s=(0,_g.readFileSync)(o,"utf-8");n.setHeader("Content-Type","text/html"),n.send(s)});handleSSEStream=this.wrapHandler((r,n)=>{n.setHeader("Content-Type","text/event-stream"),n.setHeader("Cache-Control","no-cache"),n.setHeader("Connection","keep-alive"),this.sseBroadcaster.addClient(n);let i=this.dbManager.getSessionStore().getAllProjects();this.sseBroadcaster.broadcast({type:"initial_load",projects:i,timestamp:Date.now()});let a=this.sessionManager.isAnySessionProcessing(),o=this.sessionManager.getTotalActiveWork();this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:a,queueDepth:o})})};Re();Re();var oU=100;function Ofe(t){let e=(t.match(//g)||[]).length,r=(t.match(//g)||[]).length;return e+r}function sU(t){let e=Ofe(t);return e>oU&&k.warn("SYSTEM","tag count exceeds limit",void 0,{tagCount:e,maxAllowed:oU,contentLength:t.length}),t.replace(/[\s\S]*?<\/claude-mem-context>/g,"").replace(/[\s\S]*?<\/private>/g,"").trim()}function tE(t){return sU(t)}function cU(t){return sU(t)}var bg=class{constructor(e,r){this.sessionManager=e;this.eventBroadcaster=r}async completeByDbId(e){await this.sessionManager.deleteSession(e),this.eventBroadcaster.broadcastSessionCompleted(e)}};Re();var Md=class{static checkUserPromptPrivacy(e,r,n,i,a,o){let s=e.getUserPrompt(r,n);return!s||s.trim()===""?(k.debug("HOOK",`Skipping ${i} - user prompt was entirely private`,{sessionId:a,promptNumber:n,...o}),null):s}};on();cn();var xg=class extends Xr{constructor(r,n,i,a,o,s,c){super();this.sessionManager=r;this.dbManager=n;this.sdkAgent=i;this.geminiAgent=a;this.openRouterAgent=o;this.eventBroadcaster=s;this.workerService=c;this.completionHandler=new bg(r,s)}completionHandler;getActiveAgent(){if(eE()){if(Q$())return k.debug("SESSION","Using OpenRouter agent"),this.openRouterAgent;throw new Error("OpenRouter provider selected but no API key configured. Set CLAUDE_MEM_OPENROUTER_API_KEY in settings or OPENROUTER_API_KEY environment variable.")}if(Y$()){if(X$())return k.debug("SESSION","Using Gemini agent"),this.geminiAgent;throw new Error("Gemini provider selected but no API key configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.")}return this.sdkAgent}getSelectedProvider(){return eE()&&Q$()?"openrouter":Y$()&&X$()?"gemini":"claude"}ensureGeneratorRunning(r,n){let i=this.sessionManager.getSession(r);if(!i)return;let a=this.getSelectedProvider();if(!i.generatorPromise){this.startGeneratorWithProvider(i,a,n);return}i.currentProvider&&i.currentProvider!==a&&k.info("SESSION","Provider changed, will switch after current generator finishes",{sessionId:r,currentProvider:i.currentProvider,selectedProvider:a,historyLength:i.conversationHistory.length})}startGeneratorWithProvider(r,n,i){if(!r)return;let a=n==="openrouter"?this.openRouterAgent:n==="gemini"?this.geminiAgent:this.sdkAgent,o=n==="openrouter"?"OpenRouter":n==="gemini"?"Gemini":"Claude SDK";k.info("SESSION",`Generator auto-starting (${i}) using ${o}`,{sessionId:r.sessionDbId,queueDepth:r.pendingMessages.length,historyLength:r.conversationHistory.length}),r.currentProvider=n,r.generatorPromise=a.startSession(r,this.workerService).catch(s=>{if(r.abortController.signal.aborted)return;k.error("SESSION","Generator failed",{sessionId:r.sessionDbId,provider:n,error:s.message},s);let c=this.sessionManager.getPendingMessageStore();try{let u=c.markSessionMessagesFailed(r.sessionDbId);u>0&&k.warn("SESSION","Marked messages as failed after generator error",{sessionId:r.sessionDbId,failedCount:u})}catch(u){k.error("SESSION","Failed to mark messages as failed",{sessionId:r.sessionDbId},u)}}).finally(()=>{let s=r.sessionDbId,c=r.abortController.signal.aborted;if(c?k.info("SESSION","Generator aborted",{sessionId:s}):k.warn("SESSION","Generator exited unexpectedly",{sessionId:s}),r.generatorPromise=null,r.currentProvider=null,this.workerService.broadcastProcessingStatus(),!c)try{let l=this.sessionManager.getPendingMessageStore().getPendingCount(s);l>0?(k.info("SESSION","Restarting generator after crash/exit with pending work",{sessionId:s,pendingCount:l}),r.abortController=new AbortController,setTimeout(()=>{let d=this.sessionManager.getSession(s);d&&!d.generatorPromise&&this.startGeneratorWithProvider(d,this.getSelectedProvider(),"crash-recovery")},1e3)):(r.abortController.abort(),k.debug("SESSION","Aborted controller after natural completion",{sessionId:s}))}catch(u){k.debug("SESSION","Error during recovery check, aborting to prevent leaks",{sessionId:s,error:u instanceof Error?u.message:String(u)}),r.abortController.abort()}})}setupRoutes(r){r.post("/sessions/:sessionDbId/init",this.handleSessionInit.bind(this)),r.post("/sessions/:sessionDbId/observations",this.handleObservations.bind(this)),r.post("/sessions/:sessionDbId/summarize",this.handleSummarize.bind(this)),r.get("/sessions/:sessionDbId/status",this.handleSessionStatus.bind(this)),r.delete("/sessions/:sessionDbId",this.handleSessionDelete.bind(this)),r.post("/sessions/:sessionDbId/complete",this.handleSessionComplete.bind(this)),r.post("/api/sessions/init",this.handleSessionInitByClaudeId.bind(this)),r.post("/api/sessions/observations",this.handleObservationsByClaudeId.bind(this)),r.post("/api/sessions/summarize",this.handleSummarizeByClaudeId.bind(this))}handleSessionInit=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");if(i===null)return;let{userPrompt:a,promptNumber:o}=r.body;k.info("HTTP","SessionRoutes: handleSessionInit called",{sessionDbId:i,promptNumber:o,has_userPrompt:!!a});let s=this.sessionManager.initializeSession(i,a,o),c=this.dbManager.getSessionStore().getLatestUserPrompt(s.contentSessionId);if(c){this.eventBroadcaster.broadcastNewPrompt({id:c.id,content_session_id:c.content_session_id,project:c.project,prompt_number:c.prompt_number,prompt_text:c.prompt_text,created_at_epoch:c.created_at_epoch});let u=Date.now(),l=c.prompt_text;this.dbManager.getChromaSync().syncUserPrompt(c.id,c.memory_session_id,c.project,l,c.prompt_number,c.created_at_epoch).then(()=>{let d=Date.now()-u,p=l.length>60?l.substring(0,60)+"...":l;k.debug("CHROMA","User prompt synced",{promptId:c.id,duration:`${d}ms`,prompt:p})}).catch(d=>{k.warn("CHROMA","User prompt sync failed, continuing without vector search",{promptId:c.id,prompt:l.length>60?l.substring(0,60)+"...":l},d)})}this.startGeneratorWithProvider(s,this.getSelectedProvider(),"init"),this.eventBroadcaster.broadcastSessionStarted(i,s.project),n.json({status:"initialized",sessionDbId:i,port:_n()})});handleObservations=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");if(i===null)return;let{tool_name:a,tool_input:o,tool_response:s,prompt_number:c,cwd:u}=r.body;this.sessionManager.queueObservation(i,{tool_name:a,tool_input:o,tool_response:s,prompt_number:c,cwd:u}),this.ensureGeneratorRunning(i,"observation"),this.eventBroadcaster.broadcastObservationQueued(i),n.json({status:"queued"})});handleSummarize=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");if(i===null)return;let{last_assistant_message:a}=r.body;this.sessionManager.queueSummarize(i,a),this.ensureGeneratorRunning(i,"summarize"),this.eventBroadcaster.broadcastSummarizeQueued(),n.json({status:"queued"})});handleSessionStatus=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");if(i===null)return;let a=this.sessionManager.getSession(i);if(!a){n.json({status:"not_found"});return}n.json({status:"active",sessionDbId:i,project:a.project,queueLength:a.pendingMessages.length,uptime:Date.now()-a.startTime})});handleSessionDelete=this.wrapHandler(async(r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");i!==null&&(await this.completionHandler.completeByDbId(i),n.json({status:"deleted"}))});handleSessionComplete=this.wrapHandler(async(r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");i!==null&&(await this.completionHandler.completeByDbId(i),n.json({success:!0}))});handleObservationsByClaudeId=this.wrapHandler((r,n)=>{let{contentSessionId:i,tool_name:a,tool_input:o,tool_response:s,cwd:c}=r.body;if(!i)return this.badRequest(n,"Missing contentSessionId");let u=Ye.loadFromFile($n);if(new Set(u.CLAUDE_MEM_SKIP_TOOLS.split(",").map(y=>y.trim()).filter(Boolean)).has(a)){k.debug("SESSION","Skipping observation for tool",{tool_name:a}),n.json({status:"skipped",reason:"tool_excluded"});return}if(new Set(["Edit","Write","Read","NotebookEdit"]).has(a)&&o){let y=o.file_path||o.notebook_path;if(y&&y.includes("session-memory")){k.debug("SESSION","Skipping meta-observation for session-memory file",{tool_name:a,file_path:y}),n.json({status:"skipped",reason:"session_memory_meta"});return}}let p=this.dbManager.getSessionStore(),f=p.createSDKSession(i,"",""),h=p.getPromptNumberFromUserPrompts(i);if(!Md.checkUserPromptPrivacy(p,i,h,"observation",f,{tool_name:a})){n.json({status:"skipped",reason:"private"});return}let g=o!==void 0?tE(JSON.stringify(o)):"{}",m=s!==void 0?tE(JSON.stringify(s)):"{}";this.sessionManager.queueObservation(f,{tool_name:a,tool_input:g,tool_response:m,prompt_number:h,cwd:c||k.happyPathError("SESSION","Missing cwd when queueing observation in SessionRoutes",{sessionId:f},{tool_name:a},"")}),this.ensureGeneratorRunning(f,"observation"),this.eventBroadcaster.broadcastObservationQueued(f),n.json({status:"queued"})});handleSummarizeByClaudeId=this.wrapHandler((r,n)=>{let{contentSessionId:i,last_assistant_message:a}=r.body;if(!i)return this.badRequest(n,"Missing contentSessionId");let o=this.dbManager.getSessionStore(),s=o.createSDKSession(i,"",""),c=o.getPromptNumberFromUserPrompts(i);if(!Md.checkUserPromptPrivacy(o,i,c,"summarize",s)){n.json({status:"skipped",reason:"private"});return}this.sessionManager.queueSummarize(s,a),this.ensureGeneratorRunning(s,"summarize"),this.eventBroadcaster.broadcastSummarizeQueued(),n.json({status:"queued"})});handleSessionInitByClaudeId=this.wrapHandler((r,n)=>{let{contentSessionId:i,project:a,prompt:o}=r.body;if(k.info("HTTP","SessionRoutes: handleSessionInitByClaudeId called",{contentSessionId:i,project:a,prompt_length:o?.length}),!this.validateRequired(r,n,["contentSessionId","project","prompt"]))return;let s=this.dbManager.getSessionStore(),c=s.createSDKSession(i,a,o),u=s.getSessionById(c),l=!u?.memory_session_id;k.info("SESSION",`CREATED | contentSessionId=${i} \u2192 sessionDbId=${c} | isNew=${l} | project=${a}`,{sessionId:c});let p=s.getPromptNumberFromUserPrompts(i)+1,f=u?.memory_session_id||null;p>1?k.debug("HTTP",`[ALIGNMENT] DB Lookup Proof | contentSessionId=${i} \u2192 memorySessionId=${f||"(not yet captured)"} | prompt#=${p}`):k.debug("HTTP",`[ALIGNMENT] New Session | contentSessionId=${i} | prompt#=${p} | memorySessionId will be captured on first SDK response`);let h=cU(o);if(!h||h.trim()===""){k.debug("HOOK","Session init - prompt entirely private",{sessionId:c,promptNumber:p,originalLength:o.length}),n.json({sessionDbId:c,promptNumber:p,skipped:!0,reason:"private"});return}s.saveUserPrompt(i,p,h),k.debug("SESSION","User prompt saved",{sessionId:c,promptNumber:p}),n.json({sessionDbId:c,promptNumber:p,skipped:!1})})};var rE=dt(require("path"),1),Tc=require("fs");Re();var uU=require("os");cn();var Sg=class extends Xr{constructor(r,n,i,a,o,s){super();this.paginationHelper=r;this.dbManager=n;this.sessionManager=i;this.sseBroadcaster=a;this.workerService=o;this.startTime=s}setupRoutes(r){r.get("/api/observations",this.handleGetObservations.bind(this)),r.get("/api/summaries",this.handleGetSummaries.bind(this)),r.get("/api/prompts",this.handleGetPrompts.bind(this)),r.get("/api/observation/:id",this.handleGetObservationById.bind(this)),r.post("/api/observations/batch",this.handleGetObservationsByIds.bind(this)),r.get("/api/session/:id",this.handleGetSessionById.bind(this)),r.post("/api/sdk-sessions/batch",this.handleGetSdkSessionsByIds.bind(this)),r.get("/api/prompt/:id",this.handleGetPromptById.bind(this)),r.get("/api/stats",this.handleGetStats.bind(this)),r.get("/api/projects",this.handleGetProjects.bind(this)),r.get("/api/processing-status",this.handleGetProcessingStatus.bind(this)),r.post("/api/processing",this.handleSetProcessing.bind(this)),r.get("/api/pending-queue",this.handleGetPendingQueue.bind(this)),r.post("/api/pending-queue/process",this.handleProcessPendingQueue.bind(this)),r.delete("/api/pending-queue/failed",this.handleClearFailedQueue.bind(this)),r.delete("/api/pending-queue/all",this.handleClearAllQueue.bind(this)),r.post("/api/import",this.handleImport.bind(this))}handleGetObservations=this.wrapHandler((r,n)=>{let{offset:i,limit:a,project:o}=this.parsePaginationParams(r),s=this.paginationHelper.getObservations(i,a,o);n.json(s)});handleGetSummaries=this.wrapHandler((r,n)=>{let{offset:i,limit:a,project:o}=this.parsePaginationParams(r),s=this.paginationHelper.getSummaries(i,a,o);n.json(s)});handleGetPrompts=this.wrapHandler((r,n)=>{let{offset:i,limit:a,project:o}=this.parsePaginationParams(r),s=this.paginationHelper.getPrompts(i,a,o);n.json(s)});handleGetObservationById=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"id");if(i===null)return;let o=this.dbManager.getSessionStore().getObservationById(i);if(!o){this.notFound(n,`Observation #${i} not found`);return}n.json(o)});handleGetObservationsByIds=this.wrapHandler((r,n)=>{let{ids:i,orderBy:a,limit:o,project:s}=r.body;if(!i||!Array.isArray(i)){this.badRequest(n,"ids must be an array of numbers");return}if(i.length===0){n.json([]);return}if(!i.every(l=>typeof l=="number"&&Number.isInteger(l))){this.badRequest(n,"All ids must be integers");return}let u=this.dbManager.getSessionStore().getObservationsByIds(i,{orderBy:a,limit:o,project:s});n.json(u)});handleGetSessionById=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"id");if(i===null)return;let o=this.dbManager.getSessionStore().getSessionSummariesByIds([i]);if(o.length===0){this.notFound(n,`Session #${i} not found`);return}n.json(o[0])});handleGetSdkSessionsByIds=this.wrapHandler((r,n)=>{let{memorySessionIds:i}=r.body;if(!Array.isArray(i)){this.badRequest(n,"memorySessionIds must be an array");return}let o=this.dbManager.getSessionStore().getSdkSessionsBySessionIds(i);n.json(o)});handleGetPromptById=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"id");if(i===null)return;let o=this.dbManager.getSessionStore().getUserPromptsByIds([i]);if(o.length===0){this.notFound(n,`Prompt #${i} not found`);return}n.json(o[0])});handleGetStats=this.wrapHandler((r,n)=>{let i=this.dbManager.getSessionStore().db,a=Gr(),o=rE.default.join(a,"package.json"),c=JSON.parse((0,Tc.readFileSync)(o,"utf-8")).version,u=i.prepare("SELECT COUNT(*) as count FROM observations").get(),l=i.prepare("SELECT COUNT(*) as count FROM sdk_sessions").get(),d=i.prepare("SELECT COUNT(*) as count FROM session_summaries").get(),p=rE.default.join((0,uU.homedir)(),".claude-mem","claude-mem.db"),f=0;(0,Tc.existsSync)(p)&&(f=(0,Tc.statSync)(p).size);let h=Math.floor((Date.now()-this.startTime)/1e3),_=this.sessionManager.getActiveSessionCount(),g=this.sseBroadcaster.getClientCount();n.json({worker:{version:c,uptime:h,activeSessions:_,sseClients:g,port:_n()},database:{path:p,size:f,observations:u.count,sessions:l.count,summaries:d.count}})});handleGetProjects=this.wrapHandler((r,n)=>{let o=this.dbManager.getSessionStore().db.prepare(` +`)}getTypeIcon(e){return He.getInstance().getTypeIcon(e)}formatDate(e){return new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}formatTime(e){return new Date(e).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}formatDateTime(e){return new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}estimateTokens(e){return e?Math.ceil(e.length/4):0}};var gg=class{constructor(e,r){this.sseBroadcaster=e;this.workerService=r}broadcastNewPrompt(e){this.sseBroadcaster.broadcast({type:"new_prompt",prompt:e}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:!0}),this.workerService.broadcastProcessingStatus()}broadcastSessionStarted(e,r){this.sseBroadcaster.broadcast({type:"session_started",sessionDbId:e,project:r}),this.workerService.broadcastProcessingStatus()}broadcastObservationQueued(e){this.sseBroadcaster.broadcast({type:"observation_queued",sessionDbId:e}),this.workerService.broadcastProcessingStatus()}broadcastSessionCompleted(e){this.sseBroadcaster.broadcast({type:"session_completed",timestamp:Date.now(),sessionDbId:e}),this.workerService.broadcastProcessingStatus()}broadcastSummarizeQueued(){this.workerService.broadcastProcessingStatus()}};var dU=dt(ph(),1),vg=dt(require("path"),1),_g=require("fs");cn();Re();var Xr=class{wrapHandler(e){return(r,n)=>{try{let i=e(r,n);i instanceof Promise&&i.catch(a=>this.handleError(n,a))}catch(i){k.error("HTTP","Route handler error",{path:r.path},i),this.handleError(n,i)}}}parseIntParam(e,r,n){let i=parseInt(e.params[n],10);return isNaN(i)?(this.badRequest(r,`Invalid ${n}`),null):i}validateRequired(e,r,n){for(let i of n)if(e.body[i]===void 0||e.body[i]===null)return this.badRequest(r,`Missing ${i}`),!1;return!0}badRequest(e,r){e.status(400).json({error:r})}notFound(e,r){e.status(404).json({error:r})}handleError(e,r,n){k.failure("WORKER",n||"Request failed",{},r),e.headersSent||e.status(500).json({error:r.message})}};var yg=class extends Xr{constructor(r,n,i){super();this.sseBroadcaster=r;this.dbManager=n;this.sessionManager=i}setupRoutes(r){let n=Gr();r.use(dU.default.static(vg.default.join(n,"ui"))),r.get("/health",this.handleHealth.bind(this)),r.get("/",this.handleViewerUI.bind(this)),r.get("/stream",this.handleSSEStream.bind(this))}handleHealth=this.wrapHandler((r,n)=>{n.json({status:"ok",timestamp:Date.now()})});handleViewerUI=this.wrapHandler((r,n)=>{let i=Gr(),o=[vg.default.join(i,"ui","viewer.html"),vg.default.join(i,"plugin","ui","viewer.html")].find(c=>(0,_g.existsSync)(c));if(!o)throw new Error("Viewer UI not found at any expected location");let s=(0,_g.readFileSync)(o,"utf-8");n.setHeader("Content-Type","text/html"),n.send(s)});handleSSEStream=this.wrapHandler((r,n)=>{n.setHeader("Content-Type","text/event-stream"),n.setHeader("Cache-Control","no-cache"),n.setHeader("Connection","keep-alive"),this.sseBroadcaster.addClient(n);let i=this.dbManager.getSessionStore().getAllProjects();this.sseBroadcaster.broadcast({type:"initial_load",projects:i,timestamp:Date.now()});let a=this.sessionManager.isAnySessionProcessing(),o=this.sessionManager.getTotalActiveWork();this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:a,queueDepth:o})})};Re();Re();var pU=100;function Rfe(t){let e=(t.match(//g)||[]).length,r=(t.match(//g)||[]).length;return e+r}function fU(t){let e=Rfe(t);return e>pU&&k.warn("SYSTEM","tag count exceeds limit",void 0,{tagCount:e,maxAllowed:pU,contentLength:t.length}),t.replace(/[\s\S]*?<\/claude-mem-context>/g,"").replace(/[\s\S]*?<\/private>/g,"").trim()}function rE(t){return fU(t)}function mU(t){return fU(t)}var bg=class{constructor(e,r){this.sessionManager=e;this.eventBroadcaster=r}async completeByDbId(e){await this.sessionManager.deleteSession(e),this.eventBroadcaster.broadcastSessionCompleted(e)}};Re();var Md=class{static checkUserPromptPrivacy(e,r,n,i,a,o){let s=e.getUserPrompt(r,n);return!s||s.trim()===""?(k.debug("HOOK",`Skipping ${i} - user prompt was entirely private`,{sessionId:a,promptNumber:n,...o}),null):s}};on();cn();var xg=class extends Xr{constructor(r,n,i,a,o,s,c){super();this.sessionManager=r;this.dbManager=n;this.sdkAgent=i;this.geminiAgent=a;this.openRouterAgent=o;this.eventBroadcaster=s;this.workerService=c;this.completionHandler=new bg(r,s)}completionHandler;getActiveAgent(){if(tE()){if(eE())return k.debug("SESSION","Using OpenRouter agent"),this.openRouterAgent;throw new Error("OpenRouter provider selected but no API key configured. Set CLAUDE_MEM_OPENROUTER_API_KEY in settings or OPENROUTER_API_KEY environment variable.")}if(Q$()){if(Y$())return k.debug("SESSION","Using Gemini agent"),this.geminiAgent;throw new Error("Gemini provider selected but no API key configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.")}return this.sdkAgent}getSelectedProvider(){return tE()&&eE()?"openrouter":Q$()&&Y$()?"gemini":"claude"}ensureGeneratorRunning(r,n){let i=this.sessionManager.getSession(r);if(!i)return;let a=this.getSelectedProvider();if(!i.generatorPromise){this.startGeneratorWithProvider(i,a,n);return}i.currentProvider&&i.currentProvider!==a&&k.info("SESSION","Provider changed, will switch after current generator finishes",{sessionId:r,currentProvider:i.currentProvider,selectedProvider:a,historyLength:i.conversationHistory.length})}startGeneratorWithProvider(r,n,i){if(!r)return;let a=n==="openrouter"?this.openRouterAgent:n==="gemini"?this.geminiAgent:this.sdkAgent,o=n==="openrouter"?"OpenRouter":n==="gemini"?"Gemini":"Claude SDK";k.info("SESSION",`Generator auto-starting (${i}) using ${o}`,{sessionId:r.sessionDbId,queueDepth:r.pendingMessages.length,historyLength:r.conversationHistory.length}),r.currentProvider=n,r.generatorPromise=a.startSession(r,this.workerService).catch(s=>{if(r.abortController.signal.aborted)return;k.error("SESSION","Generator failed",{sessionId:r.sessionDbId,provider:n,error:s.message},s);let c=this.sessionManager.getPendingMessageStore();try{let u=c.markSessionMessagesFailed(r.sessionDbId);u>0&&k.error("SESSION","Marked messages as failed after generator error",{sessionId:r.sessionDbId,failedCount:u})}catch(u){k.error("SESSION","Failed to mark messages as failed",{sessionId:r.sessionDbId},u)}}).finally(()=>{let s=r.sessionDbId,c=r.abortController.signal.aborted;if(c?k.info("SESSION","Generator aborted",{sessionId:s}):k.error("SESSION","Generator exited unexpectedly",{sessionId:s}),r.generatorPromise=null,r.currentProvider=null,this.workerService.broadcastProcessingStatus(),!c)try{let l=this.sessionManager.getPendingMessageStore().getPendingCount(s);if(l>0){k.info("SESSION","Restarting generator after crash/exit with pending work",{sessionId:s,pendingCount:l});let d=r.abortController;r.abortController=new AbortController,d.abort(),setTimeout(()=>{let p=this.sessionManager.getSession(s);p&&!p.generatorPromise&&this.startGeneratorWithProvider(p,this.getSelectedProvider(),"crash-recovery")},1e3)}else r.abortController.abort(),k.debug("SESSION","Aborted controller after natural completion",{sessionId:s})}catch(u){k.debug("SESSION","Error during recovery check, aborting to prevent leaks",{sessionId:s,error:u instanceof Error?u.message:String(u)}),r.abortController.abort()}})}setupRoutes(r){r.post("/sessions/:sessionDbId/init",this.handleSessionInit.bind(this)),r.post("/sessions/:sessionDbId/observations",this.handleObservations.bind(this)),r.post("/sessions/:sessionDbId/summarize",this.handleSummarize.bind(this)),r.get("/sessions/:sessionDbId/status",this.handleSessionStatus.bind(this)),r.delete("/sessions/:sessionDbId",this.handleSessionDelete.bind(this)),r.post("/sessions/:sessionDbId/complete",this.handleSessionComplete.bind(this)),r.post("/api/sessions/init",this.handleSessionInitByClaudeId.bind(this)),r.post("/api/sessions/observations",this.handleObservationsByClaudeId.bind(this)),r.post("/api/sessions/summarize",this.handleSummarizeByClaudeId.bind(this))}handleSessionInit=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");if(i===null)return;let{userPrompt:a,promptNumber:o}=r.body;k.info("HTTP","SessionRoutes: handleSessionInit called",{sessionDbId:i,promptNumber:o,has_userPrompt:!!a});let s=this.sessionManager.initializeSession(i,a,o),c=this.dbManager.getSessionStore().getLatestUserPrompt(s.contentSessionId);if(c){this.eventBroadcaster.broadcastNewPrompt({id:c.id,content_session_id:c.content_session_id,project:c.project,prompt_number:c.prompt_number,prompt_text:c.prompt_text,created_at_epoch:c.created_at_epoch});let u=Date.now(),l=c.prompt_text;this.dbManager.getChromaSync().syncUserPrompt(c.id,c.memory_session_id,c.project,l,c.prompt_number,c.created_at_epoch).then(()=>{let d=Date.now()-u,p=l.length>60?l.substring(0,60)+"...":l;k.debug("CHROMA","User prompt synced",{promptId:c.id,duration:`${d}ms`,prompt:p})}).catch(d=>{k.error("CHROMA","User prompt sync failed, continuing without vector search",{promptId:c.id,prompt:l.length>60?l.substring(0,60)+"...":l},d)})}this.startGeneratorWithProvider(s,this.getSelectedProvider(),"init"),this.eventBroadcaster.broadcastSessionStarted(i,s.project),n.json({status:"initialized",sessionDbId:i,port:_n()})});handleObservations=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");if(i===null)return;let{tool_name:a,tool_input:o,tool_response:s,prompt_number:c,cwd:u}=r.body;this.sessionManager.queueObservation(i,{tool_name:a,tool_input:o,tool_response:s,prompt_number:c,cwd:u}),this.ensureGeneratorRunning(i,"observation"),this.eventBroadcaster.broadcastObservationQueued(i),n.json({status:"queued"})});handleSummarize=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");if(i===null)return;let{last_assistant_message:a}=r.body;this.sessionManager.queueSummarize(i,a),this.ensureGeneratorRunning(i,"summarize"),this.eventBroadcaster.broadcastSummarizeQueued(),n.json({status:"queued"})});handleSessionStatus=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");if(i===null)return;let a=this.sessionManager.getSession(i);if(!a){n.json({status:"not_found"});return}n.json({status:"active",sessionDbId:i,project:a.project,queueLength:a.pendingMessages.length,uptime:Date.now()-a.startTime})});handleSessionDelete=this.wrapHandler(async(r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");i!==null&&(await this.completionHandler.completeByDbId(i),n.json({status:"deleted"}))});handleSessionComplete=this.wrapHandler(async(r,n)=>{let i=this.parseIntParam(r,n,"sessionDbId");i!==null&&(await this.completionHandler.completeByDbId(i),n.json({success:!0}))});handleObservationsByClaudeId=this.wrapHandler((r,n)=>{let{contentSessionId:i,tool_name:a,tool_input:o,tool_response:s,cwd:c}=r.body;if(!i)return this.badRequest(n,"Missing contentSessionId");let u=Ye.loadFromFile($n);if(new Set(u.CLAUDE_MEM_SKIP_TOOLS.split(",").map(y=>y.trim()).filter(Boolean)).has(a)){k.debug("SESSION","Skipping observation for tool",{tool_name:a}),n.json({status:"skipped",reason:"tool_excluded"});return}if(new Set(["Edit","Write","Read","NotebookEdit"]).has(a)&&o){let y=o.file_path||o.notebook_path;if(y&&y.includes("session-memory")){k.debug("SESSION","Skipping meta-observation for session-memory file",{tool_name:a,file_path:y}),n.json({status:"skipped",reason:"session_memory_meta"});return}}let p=this.dbManager.getSessionStore(),f=p.createSDKSession(i,"",""),h=p.getPromptNumberFromUserPrompts(i);if(!Md.checkUserPromptPrivacy(p,i,h,"observation",f,{tool_name:a})){n.json({status:"skipped",reason:"private"});return}let g=o!==void 0?rE(JSON.stringify(o)):"{}",m=s!==void 0?rE(JSON.stringify(s)):"{}";this.sessionManager.queueObservation(f,{tool_name:a,tool_input:g,tool_response:m,prompt_number:h,cwd:c||(k.error("SESSION","Missing cwd when queueing observation in SessionRoutes",{sessionId:f,tool_name:a}),"")}),this.ensureGeneratorRunning(f,"observation"),this.eventBroadcaster.broadcastObservationQueued(f),n.json({status:"queued"})});handleSummarizeByClaudeId=this.wrapHandler((r,n)=>{let{contentSessionId:i,last_assistant_message:a}=r.body;if(!i)return this.badRequest(n,"Missing contentSessionId");let o=this.dbManager.getSessionStore(),s=o.createSDKSession(i,"",""),c=o.getPromptNumberFromUserPrompts(i);if(!Md.checkUserPromptPrivacy(o,i,c,"summarize",s)){n.json({status:"skipped",reason:"private"});return}this.sessionManager.queueSummarize(s,a),this.ensureGeneratorRunning(s,"summarize"),this.eventBroadcaster.broadcastSummarizeQueued(),n.json({status:"queued"})});handleSessionInitByClaudeId=this.wrapHandler((r,n)=>{let{contentSessionId:i,project:a,prompt:o}=r.body;if(k.info("HTTP","SessionRoutes: handleSessionInitByClaudeId called",{contentSessionId:i,project:a,prompt_length:o?.length}),!this.validateRequired(r,n,["contentSessionId","project","prompt"]))return;let s=this.dbManager.getSessionStore(),c=s.createSDKSession(i,a,o),u=s.getSessionById(c),l=!u?.memory_session_id;k.info("SESSION",`CREATED | contentSessionId=${i} \u2192 sessionDbId=${c} | isNew=${l} | project=${a}`,{sessionId:c});let p=s.getPromptNumberFromUserPrompts(i)+1,f=u?.memory_session_id||null;p>1?k.debug("HTTP",`[ALIGNMENT] DB Lookup Proof | contentSessionId=${i} \u2192 memorySessionId=${f||"(not yet captured)"} | prompt#=${p}`):k.debug("HTTP",`[ALIGNMENT] New Session | contentSessionId=${i} | prompt#=${p} | memorySessionId will be captured on first SDK response`);let h=mU(o);if(!h||h.trim()===""){k.debug("HOOK","Session init - prompt entirely private",{sessionId:c,promptNumber:p,originalLength:o.length}),n.json({sessionDbId:c,promptNumber:p,skipped:!0,reason:"private"});return}s.saveUserPrompt(i,p,h),k.debug("SESSION","User prompt saved",{sessionId:c,promptNumber:p}),n.json({sessionDbId:c,promptNumber:p,skipped:!1})})};var nE=dt(require("path"),1),Tc=require("fs");Re();var hU=require("os");cn();var Sg=class extends Xr{constructor(r,n,i,a,o,s){super();this.paginationHelper=r;this.dbManager=n;this.sessionManager=i;this.sseBroadcaster=a;this.workerService=o;this.startTime=s}setupRoutes(r){r.get("/api/observations",this.handleGetObservations.bind(this)),r.get("/api/summaries",this.handleGetSummaries.bind(this)),r.get("/api/prompts",this.handleGetPrompts.bind(this)),r.get("/api/observation/:id",this.handleGetObservationById.bind(this)),r.post("/api/observations/batch",this.handleGetObservationsByIds.bind(this)),r.get("/api/session/:id",this.handleGetSessionById.bind(this)),r.post("/api/sdk-sessions/batch",this.handleGetSdkSessionsByIds.bind(this)),r.get("/api/prompt/:id",this.handleGetPromptById.bind(this)),r.get("/api/stats",this.handleGetStats.bind(this)),r.get("/api/projects",this.handleGetProjects.bind(this)),r.get("/api/processing-status",this.handleGetProcessingStatus.bind(this)),r.post("/api/processing",this.handleSetProcessing.bind(this)),r.get("/api/pending-queue",this.handleGetPendingQueue.bind(this)),r.post("/api/pending-queue/process",this.handleProcessPendingQueue.bind(this)),r.delete("/api/pending-queue/failed",this.handleClearFailedQueue.bind(this)),r.delete("/api/pending-queue/all",this.handleClearAllQueue.bind(this)),r.post("/api/import",this.handleImport.bind(this))}handleGetObservations=this.wrapHandler((r,n)=>{let{offset:i,limit:a,project:o}=this.parsePaginationParams(r),s=this.paginationHelper.getObservations(i,a,o);n.json(s)});handleGetSummaries=this.wrapHandler((r,n)=>{let{offset:i,limit:a,project:o}=this.parsePaginationParams(r),s=this.paginationHelper.getSummaries(i,a,o);n.json(s)});handleGetPrompts=this.wrapHandler((r,n)=>{let{offset:i,limit:a,project:o}=this.parsePaginationParams(r),s=this.paginationHelper.getPrompts(i,a,o);n.json(s)});handleGetObservationById=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"id");if(i===null)return;let o=this.dbManager.getSessionStore().getObservationById(i);if(!o){this.notFound(n,`Observation #${i} not found`);return}n.json(o)});handleGetObservationsByIds=this.wrapHandler((r,n)=>{let{ids:i,orderBy:a,limit:o,project:s}=r.body;if(!i||!Array.isArray(i)){this.badRequest(n,"ids must be an array of numbers");return}if(i.length===0){n.json([]);return}if(!i.every(l=>typeof l=="number"&&Number.isInteger(l))){this.badRequest(n,"All ids must be integers");return}let u=this.dbManager.getSessionStore().getObservationsByIds(i,{orderBy:a,limit:o,project:s});n.json(u)});handleGetSessionById=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"id");if(i===null)return;let o=this.dbManager.getSessionStore().getSessionSummariesByIds([i]);if(o.length===0){this.notFound(n,`Session #${i} not found`);return}n.json(o[0])});handleGetSdkSessionsByIds=this.wrapHandler((r,n)=>{let{memorySessionIds:i}=r.body;if(!Array.isArray(i)){this.badRequest(n,"memorySessionIds must be an array");return}let o=this.dbManager.getSessionStore().getSdkSessionsBySessionIds(i);n.json(o)});handleGetPromptById=this.wrapHandler((r,n)=>{let i=this.parseIntParam(r,n,"id");if(i===null)return;let o=this.dbManager.getSessionStore().getUserPromptsByIds([i]);if(o.length===0){this.notFound(n,`Prompt #${i} not found`);return}n.json(o[0])});handleGetStats=this.wrapHandler((r,n)=>{let i=this.dbManager.getSessionStore().db,a=Gr(),o=nE.default.join(a,"package.json"),c=JSON.parse((0,Tc.readFileSync)(o,"utf-8")).version,u=i.prepare("SELECT COUNT(*) as count FROM observations").get(),l=i.prepare("SELECT COUNT(*) as count FROM sdk_sessions").get(),d=i.prepare("SELECT COUNT(*) as count FROM session_summaries").get(),p=nE.default.join((0,hU.homedir)(),".claude-mem","claude-mem.db"),f=0;(0,Tc.existsSync)(p)&&(f=(0,Tc.statSync)(p).size);let h=Math.floor((Date.now()-this.startTime)/1e3),_=this.sessionManager.getActiveSessionCount(),g=this.sseBroadcaster.getClientCount();n.json({worker:{version:c,uptime:h,activeSessions:_,sseClients:g,port:_n()},database:{path:p,size:f,observations:u.count,sessions:l.count,summaries:d.count}})});handleGetProjects=this.wrapHandler((r,n)=>{let o=this.dbManager.getSessionStore().db.prepare(` SELECT DISTINCT project FROM observations WHERE project IS NOT NULL GROUP BY project ORDER BY MAX(created_at_epoch) DESC - `).all().map(s=>s.project);n.json({projects:o})});handleGetProcessingStatus=this.wrapHandler((r,n)=>{let i=this.sessionManager.isAnySessionProcessing(),a=this.sessionManager.getTotalActiveWork();n.json({isProcessing:i,queueDepth:a})});handleSetProcessing=this.wrapHandler((r,n)=>{this.workerService.broadcastProcessingStatus();let i=this.sessionManager.isAnySessionProcessing(),a=this.sessionManager.getTotalQueueDepth(),o=this.sessionManager.getActiveSessionCount();n.json({status:"ok",isProcessing:i,queueDepth:a,activeSessions:o})});parsePaginationParams(r){let n=parseInt(r.query.offset,10)||0,i=Math.min(parseInt(r.query.limit,10)||20,100),a=r.query.project;return{offset:n,limit:i,project:a}}handleImport=this.wrapHandler((r,n)=>{let{sessions:i,summaries:a,observations:o,prompts:s}=r.body,c={sessionsImported:0,sessionsSkipped:0,summariesImported:0,summariesSkipped:0,observationsImported:0,observationsSkipped:0,promptsImported:0,promptsSkipped:0},u=this.dbManager.getSessionStore();if(Array.isArray(i))for(let l of i)u.importSdkSession(l).imported?c.sessionsImported++:c.sessionsSkipped++;if(Array.isArray(a))for(let l of a)u.importSessionSummary(l).imported?c.summariesImported++:c.summariesSkipped++;if(Array.isArray(o))for(let l of o)u.importObservation(l).imported?c.observationsImported++:c.observationsSkipped++;if(Array.isArray(s))for(let l of s)u.importUserPrompt(l).imported?c.promptsImported++:c.promptsSkipped++;n.json({success:!0,stats:c})});handleGetPendingQueue=this.wrapHandler((r,n)=>{let{PendingMessageStore:i}=(go(),Zd(Xs)),a=new i(this.dbManager.getSessionStore().db,3),o=a.getQueueMessages(),s=a.getRecentlyProcessed(20,30),c=a.getStuckCount(300*1e3),u=a.getSessionsWithPendingMessages();n.json({queue:{messages:o,totalPending:o.filter(l=>l.status==="pending").length,totalProcessing:o.filter(l=>l.status==="processing").length,totalFailed:o.filter(l=>l.status==="failed").length,stuckCount:c},recentlyProcessed:s,sessionsWithPendingWork:u})});handleProcessPendingQueue=this.wrapHandler(async(r,n)=>{let i=Math.min(Math.max(parseInt(r.body.sessionLimit,10)||10,1),100),a=await this.workerService.processPendingQueues(i);n.json({success:!0,...a})});handleClearFailedQueue=this.wrapHandler((r,n)=>{let{PendingMessageStore:i}=(go(),Zd(Xs)),o=new i(this.dbManager.getSessionStore().db,3).clearFailed();k.info("QUEUE","Cleared failed queue messages",{clearedCount:o}),n.json({success:!0,clearedCount:o})});handleClearAllQueue=this.wrapHandler((r,n)=>{let{PendingMessageStore:i}=(go(),Zd(Xs)),o=new i(this.dbManager.getSessionStore().db,3).clearAll();k.warn("QUEUE","Cleared ALL queue messages (pending, processing, failed)",{clearedCount:o}),n.json({success:!0,clearedCount:o})})};var Tg=class extends Xr{constructor(r){super();this.searchManager=r}setupRoutes(r){r.get("/api/search",this.handleUnifiedSearch.bind(this)),r.get("/api/timeline",this.handleUnifiedTimeline.bind(this)),r.get("/api/decisions",this.handleDecisions.bind(this)),r.get("/api/changes",this.handleChanges.bind(this)),r.get("/api/how-it-works",this.handleHowItWorks.bind(this)),r.get("/api/search/observations",this.handleSearchObservations.bind(this)),r.get("/api/search/sessions",this.handleSearchSessions.bind(this)),r.get("/api/search/prompts",this.handleSearchPrompts.bind(this)),r.get("/api/search/by-concept",this.handleSearchByConcept.bind(this)),r.get("/api/search/by-file",this.handleSearchByFile.bind(this)),r.get("/api/search/by-type",this.handleSearchByType.bind(this)),r.get("/api/context/recent",this.handleGetRecentContext.bind(this)),r.get("/api/context/timeline",this.handleGetContextTimeline.bind(this)),r.get("/api/context/preview",this.handleContextPreview.bind(this)),r.get("/api/context/inject",this.handleContextInject.bind(this)),r.get("/api/timeline/by-query",this.handleGetTimelineByQuery.bind(this)),r.get("/api/search/help",this.handleSearchHelp.bind(this))}handleUnifiedSearch=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.search(r.query);n.json(i)});handleUnifiedTimeline=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.timeline(r.query);n.json(i)});handleDecisions=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.decisions(r.query);n.json(i)});handleChanges=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.changes(r.query);n.json(i)});handleHowItWorks=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.howItWorks(r.query);n.json(i)});handleSearchObservations=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.searchObservations(r.query);n.json(i)});handleSearchSessions=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.searchSessions(r.query);n.json(i)});handleSearchPrompts=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.searchUserPrompts(r.query);n.json(i)});handleSearchByConcept=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.findByConcept(r.query);n.json(i)});handleSearchByFile=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.findByFile(r.query);n.json(i)});handleSearchByType=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.findByType(r.query);n.json(i)});handleGetRecentContext=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.getRecentContext(r.query);n.json(i)});handleGetContextTimeline=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.getContextTimeline(r.query);n.json(i)});handleContextPreview=this.wrapHandler(async(r,n)=>{let i=r.query.project;if(!i){this.badRequest(n,"Project parameter is required");return}let{generateContext:a}=await Promise.resolve().then(()=>(hE(),mE)),o=`/preview/${i}`,s=await a({session_id:"preview-"+Date.now(),cwd:o},!0);n.setHeader("Content-Type","text/plain; charset=utf-8"),n.send(s)});handleContextInject=this.wrapHandler(async(r,n)=>{let i=r.query.projects||r.query.project,a=r.query.colors==="true";if(!i){this.badRequest(n,"Project(s) parameter is required");return}let o=i.split(",").map(d=>d.trim()).filter(Boolean);if(o.length===0){this.badRequest(n,"At least one project is required");return}let{generateContext:s}=await Promise.resolve().then(()=>(hE(),mE)),u=`/context/${o[o.length-1]}`,l=await s({session_id:"context-inject-"+Date.now(),cwd:u,projects:o},a);n.setHeader("Content-Type","text/plain; charset=utf-8"),n.send(l)});handleGetTimelineByQuery=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.getTimelineByQuery(r.query);n.json(i)});handleSearchHelp=this.wrapHandler((r,n)=>{n.json({title:"Claude-Mem Search API",description:"HTTP API for searching persistent memory",endpoints:[{path:"/api/search/observations",method:"GET",description:"Search observations using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)",project:"Filter by project name (optional)"}},{path:"/api/search/sessions",method:"GET",description:"Search session summaries using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)"}},{path:"/api/search/prompts",method:"GET",description:"Search user prompts using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)",project:"Filter by project name (optional)"}},{path:"/api/search/by-concept",method:"GET",description:"Find observations by concept tag",parameters:{concept:"Concept tag (required): discovery, decision, bugfix, feature, refactor",limit:"Number of results (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/by-file",method:"GET",description:"Find observations and sessions by file path",parameters:{filePath:"File path or partial path (required)",limit:"Number of results per type (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/by-type",method:"GET",description:"Find observations by type",parameters:{type:"Observation type (required): discovery, decision, bugfix, feature, refactor",limit:"Number of results (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/context/recent",method:"GET",description:"Get recent session context including summaries and observations",parameters:{project:"Project name (default: current directory)",limit:"Number of recent sessions (default: 3)"}},{path:"/api/context/timeline",method:"GET",description:"Get unified timeline around a specific point in time",parameters:{anchor:'Anchor point: observation ID, session ID (e.g., "S123"), or ISO timestamp (required)',depth_before:"Number of records before anchor (default: 10)",depth_after:"Number of records after anchor (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/timeline/by-query",method:"GET",description:"Search for best match, then get timeline around it",parameters:{query:"Search query (required)",mode:'Search mode: "auto", "observations", or "sessions" (default: "auto")',depth_before:"Number of records before match (default: 10)",depth_after:"Number of records after match (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/help",method:"GET",description:"Get this help documentation"}],examples:['curl "http://localhost:37777/api/search/observations?query=authentication&limit=5"','curl "http://localhost:37777/api/search/by-type?type=bugfix&limit=10"','curl "http://localhost:37777/api/context/recent?project=claude-mem&limit=3"','curl "http://localhost:37777/api/context/timeline?anchor=123&depth_before=5&depth_after=5"']})})};var Io=dt(require("path"),1),mr=require("fs"),_E=require("os");cn();Re();var vE=require("child_process"),To=require("fs"),pq=require("os"),qd=require("path");Re();var Ld=(0,qd.join)((0,pq.homedir)(),".claude","plugins","marketplaces","thedotmack");function gE(t){return!t||typeof t!="string"?!1:/^[a-zA-Z0-9][a-zA-Z0-9._/-]*$/.test(t)&&!t.includes("..")}var Lfe=3e5,yE=6e5;function On(t){let e=(0,vE.spawnSync)("git",t,{cwd:Ld,encoding:"utf-8",timeout:Lfe,windowsHide:!0,shell:!1});if(e.error)throw e.error;if(e.status!==0)throw new Error(e.stderr||e.stdout||"Git command failed");return e.stdout.trim()}function fq(t,e=yE){let n=process.platform==="win32"?"npm.cmd":"npm",i=(0,vE.spawnSync)(n,t,{cwd:Ld,encoding:"utf-8",timeout:e,windowsHide:!0,shell:!1});if(i.error)throw i.error;if(i.status!==0)throw new Error(i.stderr||i.stdout||"npm command failed");return i.stdout.trim()}function Ig(){let t=(0,qd.join)(Ld,".git");if(!(0,To.existsSync)(t))return{branch:null,isBeta:!1,isGitRepo:!1,isDirty:!1,canSwitch:!1,error:"Installed plugin is not a git repository"};try{let e=On(["rev-parse","--abbrev-ref","HEAD"]),n=On(["status","--porcelain"]).length>0,i=e.startsWith("beta");return{branch:e,isBeta:i,isGitRepo:!0,isDirty:n,canSwitch:!0}}catch(e){return k.error("BRANCH","Failed to get branch info",{},e),{branch:null,isBeta:!1,isGitRepo:!0,isDirty:!1,canSwitch:!1,error:e.message}}}async function mq(t){if(!gE(t))return{success:!1,error:`Invalid branch name: ${t}. Branch names must be alphanumeric with hyphens, underscores, slashes, or dots.`};let e=Ig();if(!e.isGitRepo)return{success:!1,error:"Installed plugin is not a git repository. Please reinstall."};if(e.branch===t)return{success:!0,branch:t,message:`Already on branch ${t}`};try{k.info("BRANCH","Starting branch switch",{from:e.branch,to:t}),k.debug("BRANCH","Discarding local changes"),On(["checkout","--","."]),On(["clean","-fd"]),k.debug("BRANCH","Fetching from origin"),On(["fetch","origin"]),k.debug("BRANCH","Checking out branch",{branch:t});try{On(["checkout",t])}catch(n){k.debug("BRANCH","Branch not local, tracking remote",{branch:t,error:n instanceof Error?n.message:String(n)}),On(["checkout","-b",t,`origin/${t}`])}k.debug("BRANCH","Pulling latest"),On(["pull","origin",t]);let r=(0,qd.join)(Ld,".install-version");return(0,To.existsSync)(r)&&(0,To.unlinkSync)(r),k.debug("BRANCH","Running npm install"),fq(["install"],yE),k.success("BRANCH","Branch switch complete",{branch:t}),{success:!0,branch:t,message:`Switched to ${t}. Worker will restart automatically.`}}catch(r){k.error("BRANCH","Branch switch failed",{targetBranch:t},r);try{e.branch&&gE(e.branch)&&On(["checkout",e.branch])}catch(n){k.warn("BRANCH","Recovery checkout also failed",{originalBranch:e.branch},n)}return{success:!1,error:`Branch switch failed: ${r.message}`}}}async function hq(){let t=Ig();if(!t.isGitRepo||!t.branch)return{success:!1,error:"Cannot pull updates: not a git repository"};try{if(!gE(t.branch))return{success:!1,error:`Invalid current branch name: ${t.branch}`};k.info("BRANCH","Pulling updates",{branch:t.branch}),On(["checkout","--","."]),On(["fetch","origin"]),On(["pull","origin",t.branch]);let e=(0,qd.join)(Ld,".install-version");return(0,To.existsSync)(e)&&(0,To.unlinkSync)(e),fq(["install"],yE),k.success("BRANCH","Updates pulled",{branch:t.branch}),{success:!0,branch:t.branch,message:`Updated ${t.branch}. Worker will restart automatically.`}}catch(e){return k.error("BRANCH","Pull failed",{},e),{success:!1,error:`Pull failed: ${e.message}`}}}on();var Pg=class extends Xr{constructor(r){super();this.settingsManager=r}setupRoutes(r){r.get("/api/settings",this.handleGetSettings.bind(this)),r.post("/api/settings",this.handleUpdateSettings.bind(this)),r.get("/api/mcp/status",this.handleGetMcpStatus.bind(this)),r.post("/api/mcp/toggle",this.handleToggleMcp.bind(this)),r.get("/api/branch/status",this.handleGetBranchStatus.bind(this)),r.post("/api/branch/switch",this.handleSwitchBranch.bind(this)),r.post("/api/branch/update",this.handleUpdateBranch.bind(this))}handleGetSettings=this.wrapHandler((r,n)=>{let i=Io.default.join((0,_E.homedir)(),".claude-mem","settings.json");this.ensureSettingsFile(i);let a=Ye.loadFromFile(i);n.json(a)});handleUpdateSettings=this.wrapHandler((r,n)=>{let i=this.validateSettings(r.body);if(!i.valid){n.status(400).json({success:!1,error:i.error});return}let a=Io.default.join((0,_E.homedir)(),".claude-mem","settings.json");this.ensureSettingsFile(a);let o={};if((0,mr.existsSync)(a)){let c=(0,mr.readFileSync)(a,"utf-8");try{o=JSON.parse(c)}catch(u){k.error("SETTINGS","Failed to parse settings file",{settingsPath:a},u),n.status(500).json({success:!1,error:"Settings file is corrupted. Delete ~/.claude-mem/settings.json to reset."});return}}let s=["CLAUDE_MEM_MODEL","CLAUDE_MEM_CONTEXT_OBSERVATIONS","CLAUDE_MEM_WORKER_PORT","CLAUDE_MEM_WORKER_HOST","CLAUDE_MEM_PROVIDER","CLAUDE_MEM_GEMINI_API_KEY","CLAUDE_MEM_GEMINI_MODEL","CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED","CLAUDE_MEM_OPENROUTER_API_KEY","CLAUDE_MEM_OPENROUTER_MODEL","CLAUDE_MEM_OPENROUTER_SITE_URL","CLAUDE_MEM_OPENROUTER_APP_NAME","CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES","CLAUDE_MEM_OPENROUTER_MAX_TOKENS","CLAUDE_MEM_DATA_DIR","CLAUDE_MEM_LOG_LEVEL","CLAUDE_MEM_PYTHON_VERSION","CLAUDE_CODE_PATH","CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT","CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES","CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS","CLAUDE_MEM_CONTEXT_FULL_COUNT","CLAUDE_MEM_CONTEXT_FULL_FIELD","CLAUDE_MEM_CONTEXT_SESSION_COUNT","CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY","CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE"];for(let c of s)r.body[c]!==void 0&&(o[c]=r.body[c]);(0,mr.writeFileSync)(a,JSON.stringify(o,null,2),"utf-8"),kR(),k.info("WORKER","Settings updated"),n.json({success:!0,message:"Settings updated successfully"})});handleGetMcpStatus=this.wrapHandler((r,n)=>{let i=this.isMcpEnabled();n.json({enabled:i})});handleToggleMcp=this.wrapHandler((r,n)=>{let{enabled:i}=r.body;if(typeof i!="boolean"){this.badRequest(n,"enabled must be a boolean");return}this.toggleMcp(i),n.json({success:!0,enabled:this.isMcpEnabled()})});handleGetBranchStatus=this.wrapHandler((r,n)=>{let i=Ig();n.json(i)});handleSwitchBranch=this.wrapHandler(async(r,n)=>{let{branch:i}=r.body;if(!i){n.status(400).json({success:!1,error:"Missing branch parameter"});return}let a=["main","beta/7.0","feature/bun-executable"];if(!a.includes(i)){n.status(400).json({success:!1,error:`Invalid branch. Allowed: ${a.join(", ")}`});return}k.info("WORKER","Branch switch requested",{branch:i});let o=await mq(i);o.success&&setTimeout(()=>{k.info("WORKER","Restarting worker after branch switch"),process.exit(0)},1e3),n.json(o)});handleUpdateBranch=this.wrapHandler(async(r,n)=>{k.info("WORKER","Branch update requested");let i=await hq();i.success&&setTimeout(()=>{k.info("WORKER","Restarting worker after branch update"),process.exit(0)},1e3),n.json(i)});validateSettings(r){if(r.CLAUDE_MEM_PROVIDER&&!["claude","gemini","openrouter"].includes(r.CLAUDE_MEM_PROVIDER))return{valid:!1,error:'CLAUDE_MEM_PROVIDER must be "claude", "gemini", or "openrouter"'};if(r.CLAUDE_MEM_GEMINI_MODEL&&!["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-3-flash"].includes(r.CLAUDE_MEM_GEMINI_MODEL))return{valid:!1,error:"CLAUDE_MEM_GEMINI_MODEL must be one of: gemini-2.5-flash-lite, gemini-2.5-flash, gemini-3-flash"};if(r.CLAUDE_MEM_CONTEXT_OBSERVATIONS){let i=parseInt(r.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10);if(isNaN(i)||i<1||i>200)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_OBSERVATIONS must be between 1 and 200"}}if(r.CLAUDE_MEM_WORKER_PORT){let i=parseInt(r.CLAUDE_MEM_WORKER_PORT,10);if(isNaN(i)||i<1024||i>65535)return{valid:!1,error:"CLAUDE_MEM_WORKER_PORT must be between 1024 and 65535"}}if(r.CLAUDE_MEM_WORKER_HOST){let i=r.CLAUDE_MEM_WORKER_HOST;if(!/^(127\.0\.0\.1|0\.0\.0\.0|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/.test(i))return{valid:!1,error:"CLAUDE_MEM_WORKER_HOST must be a valid IP address (e.g., 127.0.0.1, 0.0.0.0)"}}if(r.CLAUDE_MEM_LOG_LEVEL&&!["DEBUG","INFO","WARN","ERROR","SILENT"].includes(r.CLAUDE_MEM_LOG_LEVEL.toUpperCase()))return{valid:!1,error:"CLAUDE_MEM_LOG_LEVEL must be one of: DEBUG, INFO, WARN, ERROR, SILENT"};if(r.CLAUDE_MEM_PYTHON_VERSION&&!/^3\.\d{1,2}$/.test(r.CLAUDE_MEM_PYTHON_VERSION))return{valid:!1,error:'CLAUDE_MEM_PYTHON_VERSION must be in format "3.X" or "3.XX" (e.g., "3.13")'};let n=["CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT","CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY","CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE"];for(let i of n)if(r[i]&&!["true","false"].includes(r[i]))return{valid:!1,error:`${i} must be "true" or "false"`};if(r.CLAUDE_MEM_CONTEXT_FULL_COUNT){let i=parseInt(r.CLAUDE_MEM_CONTEXT_FULL_COUNT,10);if(isNaN(i)||i<0||i>20)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_FULL_COUNT must be between 0 and 20"}}if(r.CLAUDE_MEM_CONTEXT_SESSION_COUNT){let i=parseInt(r.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10);if(isNaN(i)||i<1||i>50)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_SESSION_COUNT must be between 1 and 50"}}if(r.CLAUDE_MEM_CONTEXT_FULL_FIELD&&!["narrative","facts"].includes(r.CLAUDE_MEM_CONTEXT_FULL_FIELD))return{valid:!1,error:'CLAUDE_MEM_CONTEXT_FULL_FIELD must be "narrative" or "facts"'};if(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES){let i=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES,10);if(isNaN(i)||i<1||i>100)return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES must be between 1 and 100"}}if(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS){let i=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS,10);if(isNaN(i)||i<1e3||i>1e6)return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_MAX_TOKENS must be between 1000 and 1000000"}}if(r.CLAUDE_MEM_OPENROUTER_SITE_URL)try{new URL(r.CLAUDE_MEM_OPENROUTER_SITE_URL)}catch(i){return k.debug("SETTINGS","Invalid URL format",{url:r.CLAUDE_MEM_OPENROUTER_SITE_URL,error:i instanceof Error?i.message:String(i)}),{valid:!1,error:"CLAUDE_MEM_OPENROUTER_SITE_URL must be a valid URL"}}return{valid:!0}}isMcpEnabled(){let r=Gr(),n=Io.default.join(r,"plugin",".mcp.json");return(0,mr.existsSync)(n)}toggleMcp(r){let n=Gr(),i=Io.default.join(n,"plugin",".mcp.json"),a=Io.default.join(n,"plugin",".mcp.json.disabled");r&&(0,mr.existsSync)(a)?((0,mr.renameSync)(a,i),k.info("WORKER","MCP search server enabled")):!r&&(0,mr.existsSync)(i)?((0,mr.renameSync)(i,a),k.info("WORKER","MCP search server disabled")):k.debug("WORKER","MCP toggle no-op (already in desired state)",{enabled:r})}ensureSettingsFile(r){if(!(0,mr.existsSync)(r)){let n=Ye.getAllDefaults(),i=Io.default.dirname(r);(0,mr.existsSync)(i)||(0,mr.mkdirSync)(i,{recursive:!0}),(0,mr.writeFileSync)(r,JSON.stringify(n,null,2),"utf-8"),k.info("SETTINGS","Created settings file with defaults",{settingsPath:r})}}};var Po=require("fs"),Og=require("path");Re();on();var Rg=class extends Xr{getLogFilePath(){let e=Ye.get("CLAUDE_MEM_DATA_DIR"),r=(0,Og.join)(e,"logs"),n=new Date().toISOString().split("T")[0];return(0,Og.join)(r,`claude-mem-${n}.log`)}getLogsDir(){let e=Ye.get("CLAUDE_MEM_DATA_DIR");return(0,Og.join)(e,"logs")}setupRoutes(e){e.get("/api/logs",this.handleGetLogs.bind(this)),e.post("/api/logs/clear",this.handleClearLogs.bind(this))}handleGetLogs=this.wrapHandler((e,r)=>{let n=this.getLogFilePath();if(!(0,Po.existsSync)(n)){r.json({logs:"",path:n,exists:!1});return}let i=parseInt(e.query.lines||"1000",10),a=Math.min(i,1e4),s=(0,Po.readFileSync)(n,"utf-8").split(` + `).all().map(s=>s.project);n.json({projects:o})});handleGetProcessingStatus=this.wrapHandler((r,n)=>{let i=this.sessionManager.isAnySessionProcessing(),a=this.sessionManager.getTotalActiveWork();n.json({isProcessing:i,queueDepth:a})});handleSetProcessing=this.wrapHandler((r,n)=>{this.workerService.broadcastProcessingStatus();let i=this.sessionManager.isAnySessionProcessing(),a=this.sessionManager.getTotalQueueDepth(),o=this.sessionManager.getActiveSessionCount();n.json({status:"ok",isProcessing:i,queueDepth:a,activeSessions:o})});parsePaginationParams(r){let n=parseInt(r.query.offset,10)||0,i=Math.min(parseInt(r.query.limit,10)||20,100),a=r.query.project;return{offset:n,limit:i,project:a}}handleImport=this.wrapHandler((r,n)=>{let{sessions:i,summaries:a,observations:o,prompts:s}=r.body,c={sessionsImported:0,sessionsSkipped:0,summariesImported:0,summariesSkipped:0,observationsImported:0,observationsSkipped:0,promptsImported:0,promptsSkipped:0},u=this.dbManager.getSessionStore();if(Array.isArray(i))for(let l of i)u.importSdkSession(l).imported?c.sessionsImported++:c.sessionsSkipped++;if(Array.isArray(a))for(let l of a)u.importSessionSummary(l).imported?c.summariesImported++:c.summariesSkipped++;if(Array.isArray(o))for(let l of o)u.importObservation(l).imported?c.observationsImported++:c.observationsSkipped++;if(Array.isArray(s))for(let l of s)u.importUserPrompt(l).imported?c.promptsImported++:c.promptsSkipped++;n.json({success:!0,stats:c})});handleGetPendingQueue=this.wrapHandler((r,n)=>{let{PendingMessageStore:i}=(vo(),Zd(Xs)),a=new i(this.dbManager.getSessionStore().db,3),o=a.getQueueMessages(),s=a.getRecentlyProcessed(20,30),c=a.getStuckCount(300*1e3),u=a.getSessionsWithPendingMessages();n.json({queue:{messages:o,totalPending:o.filter(l=>l.status==="pending").length,totalProcessing:o.filter(l=>l.status==="processing").length,totalFailed:o.filter(l=>l.status==="failed").length,stuckCount:c},recentlyProcessed:s,sessionsWithPendingWork:u})});handleProcessPendingQueue=this.wrapHandler(async(r,n)=>{let i=Math.min(Math.max(parseInt(r.body.sessionLimit,10)||10,1),100),a=await this.workerService.processPendingQueues(i);n.json({success:!0,...a})});handleClearFailedQueue=this.wrapHandler((r,n)=>{let{PendingMessageStore:i}=(vo(),Zd(Xs)),o=new i(this.dbManager.getSessionStore().db,3).clearFailed();k.info("QUEUE","Cleared failed queue messages",{clearedCount:o}),n.json({success:!0,clearedCount:o})});handleClearAllQueue=this.wrapHandler((r,n)=>{let{PendingMessageStore:i}=(vo(),Zd(Xs)),o=new i(this.dbManager.getSessionStore().db,3).clearAll();k.warn("QUEUE","Cleared ALL queue messages (pending, processing, failed)",{clearedCount:o}),n.json({success:!0,clearedCount:o})})};var Tg=class extends Xr{constructor(r){super();this.searchManager=r}setupRoutes(r){r.get("/api/search",this.handleUnifiedSearch.bind(this)),r.get("/api/timeline",this.handleUnifiedTimeline.bind(this)),r.get("/api/decisions",this.handleDecisions.bind(this)),r.get("/api/changes",this.handleChanges.bind(this)),r.get("/api/how-it-works",this.handleHowItWorks.bind(this)),r.get("/api/search/observations",this.handleSearchObservations.bind(this)),r.get("/api/search/sessions",this.handleSearchSessions.bind(this)),r.get("/api/search/prompts",this.handleSearchPrompts.bind(this)),r.get("/api/search/by-concept",this.handleSearchByConcept.bind(this)),r.get("/api/search/by-file",this.handleSearchByFile.bind(this)),r.get("/api/search/by-type",this.handleSearchByType.bind(this)),r.get("/api/context/recent",this.handleGetRecentContext.bind(this)),r.get("/api/context/timeline",this.handleGetContextTimeline.bind(this)),r.get("/api/context/preview",this.handleContextPreview.bind(this)),r.get("/api/context/inject",this.handleContextInject.bind(this)),r.get("/api/timeline/by-query",this.handleGetTimelineByQuery.bind(this)),r.get("/api/search/help",this.handleSearchHelp.bind(this))}handleUnifiedSearch=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.search(r.query);n.json(i)});handleUnifiedTimeline=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.timeline(r.query);n.json(i)});handleDecisions=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.decisions(r.query);n.json(i)});handleChanges=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.changes(r.query);n.json(i)});handleHowItWorks=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.howItWorks(r.query);n.json(i)});handleSearchObservations=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.searchObservations(r.query);n.json(i)});handleSearchSessions=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.searchSessions(r.query);n.json(i)});handleSearchPrompts=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.searchUserPrompts(r.query);n.json(i)});handleSearchByConcept=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.findByConcept(r.query);n.json(i)});handleSearchByFile=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.findByFile(r.query);n.json(i)});handleSearchByType=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.findByType(r.query);n.json(i)});handleGetRecentContext=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.getRecentContext(r.query);n.json(i)});handleGetContextTimeline=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.getContextTimeline(r.query);n.json(i)});handleContextPreview=this.wrapHandler(async(r,n)=>{let i=r.query.project;if(!i){this.badRequest(n,"Project parameter is required");return}let{generateContext:a}=await Promise.resolve().then(()=>(gE(),hE)),o=`/preview/${i}`,s=await a({session_id:"preview-"+Date.now(),cwd:o},!0);n.setHeader("Content-Type","text/plain; charset=utf-8"),n.send(s)});handleContextInject=this.wrapHandler(async(r,n)=>{let i=r.query.projects||r.query.project,a=r.query.colors==="true";if(!i){this.badRequest(n,"Project(s) parameter is required");return}let o=i.split(",").map(d=>d.trim()).filter(Boolean);if(o.length===0){this.badRequest(n,"At least one project is required");return}let{generateContext:s}=await Promise.resolve().then(()=>(gE(),hE)),u=`/context/${o[o.length-1]}`,l=await s({session_id:"context-inject-"+Date.now(),cwd:u,projects:o},a);n.setHeader("Content-Type","text/plain; charset=utf-8"),n.send(l)});handleGetTimelineByQuery=this.wrapHandler(async(r,n)=>{let i=await this.searchManager.getTimelineByQuery(r.query);n.json(i)});handleSearchHelp=this.wrapHandler((r,n)=>{n.json({title:"Claude-Mem Search API",description:"HTTP API for searching persistent memory",endpoints:[{path:"/api/search/observations",method:"GET",description:"Search observations using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)",project:"Filter by project name (optional)"}},{path:"/api/search/sessions",method:"GET",description:"Search session summaries using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)"}},{path:"/api/search/prompts",method:"GET",description:"Search user prompts using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)",project:"Filter by project name (optional)"}},{path:"/api/search/by-concept",method:"GET",description:"Find observations by concept tag",parameters:{concept:"Concept tag (required): discovery, decision, bugfix, feature, refactor",limit:"Number of results (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/by-file",method:"GET",description:"Find observations and sessions by file path",parameters:{filePath:"File path or partial path (required)",limit:"Number of results per type (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/by-type",method:"GET",description:"Find observations by type",parameters:{type:"Observation type (required): discovery, decision, bugfix, feature, refactor",limit:"Number of results (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/context/recent",method:"GET",description:"Get recent session context including summaries and observations",parameters:{project:"Project name (default: current directory)",limit:"Number of recent sessions (default: 3)"}},{path:"/api/context/timeline",method:"GET",description:"Get unified timeline around a specific point in time",parameters:{anchor:'Anchor point: observation ID, session ID (e.g., "S123"), or ISO timestamp (required)',depth_before:"Number of records before anchor (default: 10)",depth_after:"Number of records after anchor (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/timeline/by-query",method:"GET",description:"Search for best match, then get timeline around it",parameters:{query:"Search query (required)",mode:'Search mode: "auto", "observations", or "sessions" (default: "auto")',depth_before:"Number of records before match (default: 10)",depth_after:"Number of records after match (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/help",method:"GET",description:"Get this help documentation"}],examples:['curl "http://localhost:37777/api/search/observations?query=authentication&limit=5"','curl "http://localhost:37777/api/search/by-type?type=bugfix&limit=10"','curl "http://localhost:37777/api/context/recent?project=claude-mem&limit=3"','curl "http://localhost:37777/api/context/timeline?anchor=123&depth_before=5&depth_after=5"']})})};var Io=dt(require("path"),1),mr=require("fs"),bE=require("os");cn();Re();var yE=require("child_process"),To=require("fs"),yL=require("os"),Ld=require("path");Re();var qd=(0,Ld.join)((0,yL.homedir)(),".claude","plugins","marketplaces","thedotmack");function vE(t){return!t||typeof t!="string"?!1:/^[a-zA-Z0-9][a-zA-Z0-9._/-]*$/.test(t)&&!t.includes("..")}var Ffe=3e5,_E=6e5;function On(t){let e=(0,yE.spawnSync)("git",t,{cwd:qd,encoding:"utf-8",timeout:Ffe,windowsHide:!0,shell:!1});if(e.error)throw e.error;if(e.status!==0)throw new Error(e.stderr||e.stdout||"Git command failed");return e.stdout.trim()}function _L(t,e=_E){let n=process.platform==="win32"?"npm.cmd":"npm",i=(0,yE.spawnSync)(n,t,{cwd:qd,encoding:"utf-8",timeout:e,windowsHide:!0,shell:!1});if(i.error)throw i.error;if(i.status!==0)throw new Error(i.stderr||i.stdout||"npm command failed");return i.stdout.trim()}function Ig(){let t=(0,Ld.join)(qd,".git");if(!(0,To.existsSync)(t))return{branch:null,isBeta:!1,isGitRepo:!1,isDirty:!1,canSwitch:!1,error:"Installed plugin is not a git repository"};try{let e=On(["rev-parse","--abbrev-ref","HEAD"]),n=On(["status","--porcelain"]).length>0,i=e.startsWith("beta");return{branch:e,isBeta:i,isGitRepo:!0,isDirty:n,canSwitch:!0}}catch(e){return k.error("BRANCH","Failed to get branch info",{},e),{branch:null,isBeta:!1,isGitRepo:!0,isDirty:!1,canSwitch:!1,error:e.message}}}async function bL(t){if(!vE(t))return{success:!1,error:`Invalid branch name: ${t}. Branch names must be alphanumeric with hyphens, underscores, slashes, or dots.`};let e=Ig();if(!e.isGitRepo)return{success:!1,error:"Installed plugin is not a git repository. Please reinstall."};if(e.branch===t)return{success:!0,branch:t,message:`Already on branch ${t}`};try{k.info("BRANCH","Starting branch switch",{from:e.branch,to:t}),k.debug("BRANCH","Discarding local changes"),On(["checkout","--","."]),On(["clean","-fd"]),k.debug("BRANCH","Fetching from origin"),On(["fetch","origin"]),k.debug("BRANCH","Checking out branch",{branch:t});try{On(["checkout",t])}catch(n){k.debug("BRANCH","Branch not local, tracking remote",{branch:t,error:n instanceof Error?n.message:String(n)}),On(["checkout","-b",t,`origin/${t}`])}k.debug("BRANCH","Pulling latest"),On(["pull","origin",t]);let r=(0,Ld.join)(qd,".install-version");return(0,To.existsSync)(r)&&(0,To.unlinkSync)(r),k.debug("BRANCH","Running npm install"),_L(["install"],_E),k.success("BRANCH","Branch switch complete",{branch:t}),{success:!0,branch:t,message:`Switched to ${t}. Worker will restart automatically.`}}catch(r){k.error("BRANCH","Branch switch failed",{targetBranch:t},r);try{e.branch&&vE(e.branch)&&On(["checkout",e.branch])}catch(n){k.error("BRANCH","Recovery checkout also failed",{originalBranch:e.branch},n)}return{success:!1,error:`Branch switch failed: ${r.message}`}}}async function xL(){let t=Ig();if(!t.isGitRepo||!t.branch)return{success:!1,error:"Cannot pull updates: not a git repository"};try{if(!vE(t.branch))return{success:!1,error:`Invalid current branch name: ${t.branch}`};k.info("BRANCH","Pulling updates",{branch:t.branch}),On(["checkout","--","."]),On(["fetch","origin"]),On(["pull","origin",t.branch]);let e=(0,Ld.join)(qd,".install-version");return(0,To.existsSync)(e)&&(0,To.unlinkSync)(e),_L(["install"],_E),k.success("BRANCH","Updates pulled",{branch:t.branch}),{success:!0,branch:t.branch,message:`Updated ${t.branch}. Worker will restart automatically.`}}catch(e){return k.error("BRANCH","Pull failed",{},e),{success:!1,error:`Pull failed: ${e.message}`}}}on();var Pg=class extends Xr{constructor(r){super();this.settingsManager=r}setupRoutes(r){r.get("/api/settings",this.handleGetSettings.bind(this)),r.post("/api/settings",this.handleUpdateSettings.bind(this)),r.get("/api/mcp/status",this.handleGetMcpStatus.bind(this)),r.post("/api/mcp/toggle",this.handleToggleMcp.bind(this)),r.get("/api/branch/status",this.handleGetBranchStatus.bind(this)),r.post("/api/branch/switch",this.handleSwitchBranch.bind(this)),r.post("/api/branch/update",this.handleUpdateBranch.bind(this))}handleGetSettings=this.wrapHandler((r,n)=>{let i=Io.default.join((0,bE.homedir)(),".claude-mem","settings.json");this.ensureSettingsFile(i);let a=Ye.loadFromFile(i);n.json(a)});handleUpdateSettings=this.wrapHandler((r,n)=>{let i=this.validateSettings(r.body);if(!i.valid){n.status(400).json({success:!1,error:i.error});return}let a=Io.default.join((0,bE.homedir)(),".claude-mem","settings.json");this.ensureSettingsFile(a);let o={};if((0,mr.existsSync)(a)){let c=(0,mr.readFileSync)(a,"utf-8");try{o=JSON.parse(c)}catch(u){k.error("SETTINGS","Failed to parse settings file",{settingsPath:a},u),n.status(500).json({success:!1,error:"Settings file is corrupted. Delete ~/.claude-mem/settings.json to reset."});return}}let s=["CLAUDE_MEM_MODEL","CLAUDE_MEM_CONTEXT_OBSERVATIONS","CLAUDE_MEM_WORKER_PORT","CLAUDE_MEM_WORKER_HOST","CLAUDE_MEM_PROVIDER","CLAUDE_MEM_GEMINI_API_KEY","CLAUDE_MEM_GEMINI_MODEL","CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED","CLAUDE_MEM_OPENROUTER_API_KEY","CLAUDE_MEM_OPENROUTER_MODEL","CLAUDE_MEM_OPENROUTER_SITE_URL","CLAUDE_MEM_OPENROUTER_APP_NAME","CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES","CLAUDE_MEM_OPENROUTER_MAX_TOKENS","CLAUDE_MEM_DATA_DIR","CLAUDE_MEM_LOG_LEVEL","CLAUDE_MEM_PYTHON_VERSION","CLAUDE_CODE_PATH","CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT","CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES","CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS","CLAUDE_MEM_CONTEXT_FULL_COUNT","CLAUDE_MEM_CONTEXT_FULL_FIELD","CLAUDE_MEM_CONTEXT_SESSION_COUNT","CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY","CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE"];for(let c of s)r.body[c]!==void 0&&(o[c]=r.body[c]);(0,mr.writeFileSync)(a,JSON.stringify(o,null,2),"utf-8"),CR(),k.info("WORKER","Settings updated"),n.json({success:!0,message:"Settings updated successfully"})});handleGetMcpStatus=this.wrapHandler((r,n)=>{let i=this.isMcpEnabled();n.json({enabled:i})});handleToggleMcp=this.wrapHandler((r,n)=>{let{enabled:i}=r.body;if(typeof i!="boolean"){this.badRequest(n,"enabled must be a boolean");return}this.toggleMcp(i),n.json({success:!0,enabled:this.isMcpEnabled()})});handleGetBranchStatus=this.wrapHandler((r,n)=>{let i=Ig();n.json(i)});handleSwitchBranch=this.wrapHandler(async(r,n)=>{let{branch:i}=r.body;if(!i){n.status(400).json({success:!1,error:"Missing branch parameter"});return}let a=["main","beta/7.0","feature/bun-executable"];if(!a.includes(i)){n.status(400).json({success:!1,error:`Invalid branch. Allowed: ${a.join(", ")}`});return}k.info("WORKER","Branch switch requested",{branch:i});let o=await bL(i);o.success&&setTimeout(()=>{k.info("WORKER","Restarting worker after branch switch"),process.exit(0)},1e3),n.json(o)});handleUpdateBranch=this.wrapHandler(async(r,n)=>{k.info("WORKER","Branch update requested");let i=await xL();i.success&&setTimeout(()=>{k.info("WORKER","Restarting worker after branch update"),process.exit(0)},1e3),n.json(i)});validateSettings(r){if(r.CLAUDE_MEM_PROVIDER&&!["claude","gemini","openrouter"].includes(r.CLAUDE_MEM_PROVIDER))return{valid:!1,error:'CLAUDE_MEM_PROVIDER must be "claude", "gemini", or "openrouter"'};if(r.CLAUDE_MEM_GEMINI_MODEL&&!["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-3-flash"].includes(r.CLAUDE_MEM_GEMINI_MODEL))return{valid:!1,error:"CLAUDE_MEM_GEMINI_MODEL must be one of: gemini-2.5-flash-lite, gemini-2.5-flash, gemini-3-flash"};if(r.CLAUDE_MEM_CONTEXT_OBSERVATIONS){let i=parseInt(r.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10);if(isNaN(i)||i<1||i>200)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_OBSERVATIONS must be between 1 and 200"}}if(r.CLAUDE_MEM_WORKER_PORT){let i=parseInt(r.CLAUDE_MEM_WORKER_PORT,10);if(isNaN(i)||i<1024||i>65535)return{valid:!1,error:"CLAUDE_MEM_WORKER_PORT must be between 1024 and 65535"}}if(r.CLAUDE_MEM_WORKER_HOST){let i=r.CLAUDE_MEM_WORKER_HOST;if(!/^(127\.0\.0\.1|0\.0\.0\.0|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/.test(i))return{valid:!1,error:"CLAUDE_MEM_WORKER_HOST must be a valid IP address (e.g., 127.0.0.1, 0.0.0.0)"}}if(r.CLAUDE_MEM_LOG_LEVEL&&!["DEBUG","INFO","WARN","ERROR","SILENT"].includes(r.CLAUDE_MEM_LOG_LEVEL.toUpperCase()))return{valid:!1,error:"CLAUDE_MEM_LOG_LEVEL must be one of: DEBUG, INFO, WARN, ERROR, SILENT"};if(r.CLAUDE_MEM_PYTHON_VERSION&&!/^3\.\d{1,2}$/.test(r.CLAUDE_MEM_PYTHON_VERSION))return{valid:!1,error:'CLAUDE_MEM_PYTHON_VERSION must be in format "3.X" or "3.XX" (e.g., "3.13")'};let n=["CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT","CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY","CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE"];for(let i of n)if(r[i]&&!["true","false"].includes(r[i]))return{valid:!1,error:`${i} must be "true" or "false"`};if(r.CLAUDE_MEM_CONTEXT_FULL_COUNT){let i=parseInt(r.CLAUDE_MEM_CONTEXT_FULL_COUNT,10);if(isNaN(i)||i<0||i>20)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_FULL_COUNT must be between 0 and 20"}}if(r.CLAUDE_MEM_CONTEXT_SESSION_COUNT){let i=parseInt(r.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10);if(isNaN(i)||i<1||i>50)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_SESSION_COUNT must be between 1 and 50"}}if(r.CLAUDE_MEM_CONTEXT_FULL_FIELD&&!["narrative","facts"].includes(r.CLAUDE_MEM_CONTEXT_FULL_FIELD))return{valid:!1,error:'CLAUDE_MEM_CONTEXT_FULL_FIELD must be "narrative" or "facts"'};if(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES){let i=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES,10);if(isNaN(i)||i<1||i>100)return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES must be between 1 and 100"}}if(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS){let i=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS,10);if(isNaN(i)||i<1e3||i>1e6)return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_MAX_TOKENS must be between 1000 and 1000000"}}if(r.CLAUDE_MEM_OPENROUTER_SITE_URL)try{new URL(r.CLAUDE_MEM_OPENROUTER_SITE_URL)}catch(i){return k.debug("SETTINGS","Invalid URL format",{url:r.CLAUDE_MEM_OPENROUTER_SITE_URL,error:i instanceof Error?i.message:String(i)}),{valid:!1,error:"CLAUDE_MEM_OPENROUTER_SITE_URL must be a valid URL"}}return{valid:!0}}isMcpEnabled(){let r=Gr(),n=Io.default.join(r,"plugin",".mcp.json");return(0,mr.existsSync)(n)}toggleMcp(r){let n=Gr(),i=Io.default.join(n,"plugin",".mcp.json"),a=Io.default.join(n,"plugin",".mcp.json.disabled");r&&(0,mr.existsSync)(a)?((0,mr.renameSync)(a,i),k.info("WORKER","MCP search server enabled")):!r&&(0,mr.existsSync)(i)?((0,mr.renameSync)(i,a),k.info("WORKER","MCP search server disabled")):k.debug("WORKER","MCP toggle no-op (already in desired state)",{enabled:r})}ensureSettingsFile(r){if(!(0,mr.existsSync)(r)){let n=Ye.getAllDefaults(),i=Io.default.dirname(r);(0,mr.existsSync)(i)||(0,mr.mkdirSync)(i,{recursive:!0}),(0,mr.writeFileSync)(r,JSON.stringify(n,null,2),"utf-8"),k.info("SETTINGS","Created settings file with defaults",{settingsPath:r})}}};var Po=require("fs"),Og=require("path");Re();on();var Rg=class extends Xr{getLogFilePath(){let e=Ye.get("CLAUDE_MEM_DATA_DIR"),r=(0,Og.join)(e,"logs"),n=new Date().toISOString().split("T")[0];return(0,Og.join)(r,`claude-mem-${n}.log`)}getLogsDir(){let e=Ye.get("CLAUDE_MEM_DATA_DIR");return(0,Og.join)(e,"logs")}setupRoutes(e){e.get("/api/logs",this.handleGetLogs.bind(this)),e.post("/api/logs/clear",this.handleClearLogs.bind(this))}handleGetLogs=this.wrapHandler((e,r)=>{let n=this.getLogFilePath();if(!(0,Po.existsSync)(n)){r.json({logs:"",path:n,exists:!1});return}let i=parseInt(e.query.lines||"1000",10),a=Math.min(i,1e4),s=(0,Po.readFileSync)(n,"utf-8").split(` `),c=Math.max(0,s.length-a),u=s.slice(c).join(` -`);r.json({logs:u,path:n,exists:!0,totalLines:s.length,returnedLines:s.length-c})});handleClearLogs=this.wrapHandler((e,r)=>{let n=this.getLogFilePath();if(!(0,Po.existsSync)(n)){r.json({success:!0,message:"Log file does not exist",path:n});return}(0,Po.writeFileSync)(n,"","utf-8"),k.info("SYSTEM","Log file cleared via UI",{path:n}),r.json({success:!0,message:"Log file cleared",path:n})})};var Bfe={};var Cg=class{server;startTime=Date.now();mcpClient;mcpReady=!1;initializationCompleteFlag=!1;isShuttingDown=!1;dbManager;sessionManager;sseBroadcaster;sdkAgent;geminiAgent;openRouterAgent;paginationHelper;settingsManager;sessionEventBroadcaster;searchRoutes=null;initializationComplete;resolveInitialization;constructor(){this.initializationComplete=new Promise(e=>{this.resolveInitialization=e}),this.dbManager=new _h,this.sessionManager=new xh(this.dbManager),this.sseBroadcaster=new Sh,this.sdkAgent=new og(this.dbManager,this.sessionManager),this.geminiAgent=new sg(this.dbManager,this.sessionManager),this.geminiAgent.setFallbackAgent(this.sdkAgent),this.openRouterAgent=new lg(this.dbManager,this.sessionManager),this.openRouterAgent.setFallbackAgent(this.sdkAgent),this.paginationHelper=new dg(this.dbManager),this.settingsManager=new pg(this.dbManager),this.sessionEventBroadcaster=new gg(this.sseBroadcaster,this),this.sessionManager.setOnSessionDeleted(()=>{this.broadcastProcessingStatus()}),this.mcpClient=new _s({name:"worker-search-proxy",version:"1.0.0"},{capabilities:{}}),this.server=new mh({getInitializationComplete:()=>this.initializationCompleteFlag,getMcpReady:()=>this.mcpReady,onShutdown:()=>this.shutdown(),onRestart:()=>this.shutdown()}),this.registerRoutes(),this.registerSignalHandlers()}registerSignalHandlers(){let e={value:this.isShuttingDown},r=AR(()=>this.shutdown(),e);process.on("SIGTERM",()=>{this.isShuttingDown=e.value,r("SIGTERM")}),process.on("SIGINT",()=>{this.isShuttingDown=e.value,r("SIGINT")})}registerRoutes(){this.server.registerRoutes(new yg(this.sseBroadcaster,this.dbManager,this.sessionManager)),this.server.registerRoutes(new xg(this.sessionManager,this.dbManager,this.sdkAgent,this.geminiAgent,this.openRouterAgent,this.sessionEventBroadcaster,this)),this.server.registerRoutes(new Sg(this.paginationHelper,this.dbManager,this.sessionManager,this.sseBroadcaster,this,this.startTime)),this.server.registerRoutes(new Pg(this.settingsManager)),this.server.registerRoutes(new Rg),this.server.app.get("/api/context/inject",async(e,r,n)=>{let a=new Promise((o,s)=>setTimeout(()=>s(new Error("Initialization timeout")),3e5));if(await Promise.race([this.initializationComplete,a]),!this.searchRoutes){r.status(503).json({error:"Search routes not initialized"});return}n()})}async start(){let e=_n(),r=em();await this.server.listen(e,r),k.info("SYSTEM","Worker started",{host:r,port:e,pid:process.pid}),this.initializeBackground().catch(n=>{k.error("SYSTEM","Background initialization failed",{},n)})}async initializeBackground(){try{await jR();let{ModeManager:e}=await Promise.resolve().then(()=>(jr(),b4)),{SettingsDefaultsManager:r}=await Promise.resolve().then(()=>(on(),$R)),{USER_SETTINGS_PATH:n}=await Promise.resolve().then(()=>(cn(),Yz)),a=r.loadFromFile(n).CLAUDE_MEM_MODE;e.getInstance().loadMode(a),k.info("SYSTEM",`Mode loaded: ${a}`),await this.dbManager.initialize();let{PendingMessageStore:o}=await Promise.resolve().then(()=>(go(),Xs)),s=new o(this.dbManager.getSessionStore().db,3),c=300*1e3,u=s.resetStuckMessages(c);u>0&&k.info("SYSTEM",`Recovered ${u} stuck messages from previous session`,{thresholdMinutes:5});let l=new mg,d=new hg,p=new fg(this.dbManager.getSessionSearch(),this.dbManager.getSessionStore(),this.dbManager.getChromaSync(),l,d);this.searchRoutes=new Tg(p),this.server.registerRoutes(this.searchRoutes),k.info("WORKER","SearchManager initialized and search routes registered");let f=gq.default.join(__dirname,"mcp-server.cjs"),h=new Ss({command:"node",args:[f],env:process.env}),_=3e5,g=this.mcpClient.connect(h),m=new Promise((y,v)=>setTimeout(()=>v(new Error("MCP connection timeout after 5 minutes")),_));await Promise.race([g,m]),this.mcpReady=!0,k.success("WORKER","Connected to MCP server"),this.initializationCompleteFlag=!0,this.resolveInitialization(),k.info("SYSTEM","Background initialization complete"),this.processPendingQueues(50).then(y=>{y.sessionsStarted>0&&k.info("SYSTEM",`Auto-recovered ${y.sessionsStarted} sessions with pending work`,{totalPending:y.totalPendingSessions,started:y.sessionsStarted,sessionIds:y.startedSessionIds})}).catch(y=>{k.warn("SYSTEM","Auto-recovery of pending queues failed",{},y)})}catch(e){throw k.error("SYSTEM","Background initialization failed",{},e),e}}startSessionProcessor(e,r){if(!e)return;let n=e.sessionDbId;k.info("SYSTEM",`Starting generator (${r})`,{sessionId:n}),e.generatorPromise=this.sdkAgent.startSession(e,this).catch(i=>{k.error("SDK","Session generator failed",{sessionId:e.sessionDbId,project:e.project},i)}).finally(()=>{e.generatorPromise=null,this.broadcastProcessingStatus()})}async processPendingQueues(e=10){let{PendingMessageStore:r}=await Promise.resolve().then(()=>(go(),Xs)),n=new r(this.dbManager.getSessionStore().db,3),i=n.getSessionsWithPendingMessages(),a={totalPendingSessions:i.length,sessionsStarted:0,sessionsSkipped:0,startedSessionIds:[]};if(i.length===0)return a;k.info("SYSTEM",`Processing up to ${e} of ${i.length} pending session queues`);for(let o of i){if(a.sessionsStarted>=e)break;try{if(this.sessionManager.getSession(o)?.generatorPromise){a.sessionsSkipped++;continue}let c=this.sessionManager.initializeSession(o);k.info("SYSTEM",`Starting processor for session ${o}`,{project:c.project,pendingCount:n.getPendingCount(o)}),this.startSessionProcessor(c,"startup-recovery"),a.sessionsStarted++,a.startedSessionIds.push(o),await new Promise(u=>setTimeout(u,100))}catch(s){k.warn("SYSTEM",`Failed to process session ${o}`,{},s),a.sessionsSkipped++}}return a}async shutdown(){await UR({server:this.server.getHttpServer(),sessionManager:this.sessionManager,mcpClient:this.mcpClient,dbManager:this.dbManager})}broadcastProcessingStatus(){let e=this.sessionManager.isAnySessionProcessing(),r=this.sessionManager.getTotalActiveWork(),n=this.sessionManager.getActiveSessionCount();k.info("WORKER","Broadcasting processing status",{isProcessing:e,queueDepth:r,activeSessions:n}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:e,queueDepth:r})}};async function Ffe(){let t=process.argv[2],e=_n();switch(t){case"start":{if(await yl(e,1e3)){let a=await zR(e);a.matches?(k.info("SYSTEM","Worker already running and healthy"),process.exit(0)):(k.info("SYSTEM","Worker version mismatch detected - auto-restarting",{pluginVersion:a.pluginVersion,workerVersion:a.workerVersion}),await im(e),await nm(e,Qa(15e3))||(k.error("SYSTEM","Port did not free up after shutdown for version mismatch restart",{port:e}),process.exit(1)),Mi())}await rm(e)&&(k.info("SYSTEM","Port in use, waiting for worker to become healthy"),await yl(e,Qa(15e3))&&(k.info("SYSTEM","Worker is now healthy"),process.exit(0)),k.error("SYSTEM","Port in use but worker not responding to health checks"),process.exit(1)),k.info("SYSTEM","Starting worker daemon");let n=q0(__filename,e);n===void 0&&(k.error("SYSTEM","Failed to spawn worker daemon"),process.exit(1)),U0({pid:n,port:e,startedAt:new Date().toISOString()}),await yl(e,Qa(3e4))||(Mi(),k.error("SYSTEM","Worker failed to start (health check timeout)"),process.exit(1)),k.info("SYSTEM","Worker started successfully"),process.exit(0)}case"stop":await im(e),await nm(e,Qa(15e3))||k.warn("SYSTEM","Port did not free up after shutdown",{port:e}),Mi(),k.info("SYSTEM","Worker stopped successfully"),process.exit(0);case"restart":{k.info("SYSTEM","Restarting worker"),await im(e),await nm(e,Qa(15e3))||(k.error("SYSTEM","Port did not free up after shutdown, aborting restart",{port:e}),process.exit(1)),Mi();let n=q0(__filename,e);n===void 0&&(k.error("SYSTEM","Failed to spawn worker daemon during restart"),process.exit(1)),U0({pid:n,port:e,startedAt:new Date().toISOString()}),await yl(e,Qa(3e4))||(Mi(),k.error("SYSTEM","Worker failed to restart"),process.exit(1)),k.info("SYSTEM","Worker restarted successfully"),process.exit(0)}case"status":{let r=await rm(e),n=OR();r&&n?(console.log("Worker is running"),console.log(` PID: ${n.pid}`),console.log(` Port: ${n.port}`),console.log(` Started: ${n.startedAt}`)):console.log("Worker is not running"),process.exit(0)}case"cursor":{let r=process.argv[3],n=await m4(r,process.argv.slice(4));process.exit(n)}default:new Cg().start().catch(n=>{k.failure("SYSTEM","Worker failed to start",{},n),Mi(),process.exit(1)})}}var Zfe=typeof require<"u"&&typeof module<"u"?require.main===module||!module.parent:Bfe.url===`file://${process.argv[1]}`||process.argv[1]?.endsWith("worker-service");Zfe&&Ffe();0&&(module.exports={WorkerService,updateCursorContextForProject}); +`);r.json({logs:u,path:n,exists:!0,totalLines:s.length,returnedLines:s.length-c})});handleClearLogs=this.wrapHandler((e,r)=>{let n=this.getLogFilePath();if(!(0,Po.existsSync)(n)){r.json({success:!0,message:"Log file does not exist",path:n});return}(0,Po.writeFileSync)(n,"","utf-8"),k.info("SYSTEM","Log file cleared via UI",{path:n}),r.json({success:!0,message:"Log file cleared",path:n})})};var Vfe={};var Cg=class{server;startTime=Date.now();mcpClient;mcpReady=!1;initializationCompleteFlag=!1;isShuttingDown=!1;dbManager;sessionManager;sseBroadcaster;sdkAgent;geminiAgent;openRouterAgent;paginationHelper;settingsManager;sessionEventBroadcaster;searchRoutes=null;initializationComplete;resolveInitialization;constructor(){this.initializationComplete=new Promise(e=>{this.resolveInitialization=e}),this.dbManager=new _h,this.sessionManager=new xh(this.dbManager),this.sseBroadcaster=new Sh,this.sdkAgent=new og(this.dbManager,this.sessionManager),this.geminiAgent=new sg(this.dbManager,this.sessionManager),this.geminiAgent.setFallbackAgent(this.sdkAgent),this.openRouterAgent=new lg(this.dbManager,this.sessionManager),this.openRouterAgent.setFallbackAgent(this.sdkAgent),this.paginationHelper=new dg(this.dbManager),this.settingsManager=new pg(this.dbManager),this.sessionEventBroadcaster=new gg(this.sseBroadcaster,this),this.sessionManager.setOnSessionDeleted(()=>{this.broadcastProcessingStatus()}),this.mcpClient=new _s({name:"worker-search-proxy",version:"1.0.0"},{capabilities:{}}),this.server=new mh({getInitializationComplete:()=>this.initializationCompleteFlag,getMcpReady:()=>this.mcpReady,onShutdown:()=>this.shutdown(),onRestart:()=>this.shutdown()}),this.registerRoutes(),this.registerSignalHandlers()}registerSignalHandlers(){let e={value:this.isShuttingDown},r=qR(()=>this.shutdown(),e);process.on("SIGTERM",()=>{this.isShuttingDown=e.value,r("SIGTERM")}),process.on("SIGINT",()=>{this.isShuttingDown=e.value,r("SIGINT")})}registerRoutes(){this.server.registerRoutes(new yg(this.sseBroadcaster,this.dbManager,this.sessionManager)),this.server.registerRoutes(new xg(this.sessionManager,this.dbManager,this.sdkAgent,this.geminiAgent,this.openRouterAgent,this.sessionEventBroadcaster,this)),this.server.registerRoutes(new Sg(this.paginationHelper,this.dbManager,this.sessionManager,this.sseBroadcaster,this,this.startTime)),this.server.registerRoutes(new Pg(this.settingsManager)),this.server.registerRoutes(new Rg),this.server.app.get("/api/context/inject",async(e,r,n)=>{let a=new Promise((o,s)=>setTimeout(()=>s(new Error("Initialization timeout")),3e5));if(await Promise.race([this.initializationComplete,a]),!this.searchRoutes){r.status(503).json({error:"Search routes not initialized"});return}n()})}async start(){let e=_n(),r=em();await this.server.listen(e,r),k.info("SYSTEM","Worker started",{host:r,port:e,pid:process.pid}),this.initializeBackground().catch(n=>{k.error("SYSTEM","Background initialization failed",{},n)})}async initializeBackground(){try{await LR();let{ModeManager:e}=await Promise.resolve().then(()=>(jr(),k4)),{SettingsDefaultsManager:r}=await Promise.resolve().then(()=>(on(),OR)),{USER_SETTINGS_PATH:n}=await Promise.resolve().then(()=>(cn(),i4)),a=r.loadFromFile(n).CLAUDE_MEM_MODE;e.getInstance().loadMode(a),k.info("SYSTEM",`Mode loaded: ${a}`),await this.dbManager.initialize();let{PendingMessageStore:o}=await Promise.resolve().then(()=>(vo(),Xs)),s=new o(this.dbManager.getSessionStore().db,3),c=300*1e3,u=s.resetStuckMessages(c);u>0&&k.info("SYSTEM",`Recovered ${u} stuck messages from previous session`,{thresholdMinutes:5});let l=new mg,d=new hg,p=new fg(this.dbManager.getSessionSearch(),this.dbManager.getSessionStore(),this.dbManager.getChromaSync(),l,d);this.searchRoutes=new Tg(p),this.server.registerRoutes(this.searchRoutes),k.info("WORKER","SearchManager initialized and search routes registered");let f=SL.default.join(__dirname,"mcp-server.cjs"),h=new Ss({command:"node",args:[f],env:process.env}),_=3e5,g=this.mcpClient.connect(h),m=new Promise((y,v)=>setTimeout(()=>v(new Error("MCP connection timeout after 5 minutes")),_));await Promise.race([g,m]),this.mcpReady=!0,k.success("WORKER","Connected to MCP server"),this.initializationCompleteFlag=!0,this.resolveInitialization(),k.info("SYSTEM","Background initialization complete"),this.processPendingQueues(50).then(y=>{y.sessionsStarted>0&&k.info("SYSTEM",`Auto-recovered ${y.sessionsStarted} sessions with pending work`,{totalPending:y.totalPendingSessions,started:y.sessionsStarted,sessionIds:y.startedSessionIds})}).catch(y=>{k.error("SYSTEM","Auto-recovery of pending queues failed",{},y)})}catch(e){throw k.error("SYSTEM","Background initialization failed",{},e),e}}startSessionProcessor(e,r){if(!e)return;let n=e.sessionDbId;k.info("SYSTEM",`Starting generator (${r})`,{sessionId:n}),e.generatorPromise=this.sdkAgent.startSession(e,this).catch(i=>{k.error("SDK","Session generator failed",{sessionId:e.sessionDbId,project:e.project},i)}).finally(()=>{e.generatorPromise=null,this.broadcastProcessingStatus()})}async processPendingQueues(e=10){let{PendingMessageStore:r}=await Promise.resolve().then(()=>(vo(),Xs)),n=new r(this.dbManager.getSessionStore().db,3),i=n.getSessionsWithPendingMessages(),a={totalPendingSessions:i.length,sessionsStarted:0,sessionsSkipped:0,startedSessionIds:[]};if(i.length===0)return a;k.info("SYSTEM",`Processing up to ${e} of ${i.length} pending session queues`);for(let o of i){if(a.sessionsStarted>=e)break;try{if(this.sessionManager.getSession(o)?.generatorPromise){a.sessionsSkipped++;continue}let c=this.sessionManager.initializeSession(o);k.info("SYSTEM",`Starting processor for session ${o}`,{project:c.project,pendingCount:n.getPendingCount(o)}),this.startSessionProcessor(c,"startup-recovery"),a.sessionsStarted++,a.startedSessionIds.push(o),await new Promise(u=>setTimeout(u,100))}catch(s){k.error("SYSTEM",`Failed to process session ${o}`,{},s),a.sessionsSkipped++}}return a}async shutdown(){await BR({server:this.server.getHttpServer(),sessionManager:this.sessionManager,mcpClient:this.mcpClient,dbManager:this.dbManager})}broadcastProcessingStatus(){let e=this.sessionManager.isAnySessionProcessing(),r=this.sessionManager.getTotalActiveWork(),n=this.sessionManager.getActiveSessionCount();k.info("WORKER","Broadcasting processing status",{isProcessing:e,queueDepth:r,activeSessions:n}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:e,queueDepth:r})}};async function Zfe(){let t=process.argv[2],e=_n();switch(t){case"start":{if(await yl(e,1e3)){let a=await HR(e);a.matches?(k.info("SYSTEM","Worker already running and healthy"),process.exit(0)):(k.info("SYSTEM","Worker version mismatch detected - auto-restarting",{pluginVersion:a.pluginVersion,workerVersion:a.workerVersion}),await im(e),await nm(e,eo(15e3))||(k.error("SYSTEM","Port did not free up after shutdown for version mismatch restart",{port:e}),process.exit(1)),Di())}await rm(e)&&(k.info("SYSTEM","Port in use, waiting for worker to become healthy"),await yl(e,eo(15e3))&&(k.info("SYSTEM","Worker is now healthy"),process.exit(0)),k.error("SYSTEM","Port in use but worker not responding to health checks"),process.exit(1)),k.info("SYSTEM","Starting worker daemon");let n=q0(__filename,e);n===void 0&&(k.error("SYSTEM","Failed to spawn worker daemon"),process.exit(1)),L0({pid:n,port:e,startedAt:new Date().toISOString()}),await yl(e,eo(3e4))||(Di(),k.error("SYSTEM","Worker failed to start (health check timeout)"),process.exit(1)),k.info("SYSTEM","Worker started successfully"),process.exit(0)}case"stop":await im(e),await nm(e,eo(15e3))||k.warn("SYSTEM","Port did not free up after shutdown",{port:e}),Di(),k.info("SYSTEM","Worker stopped successfully"),process.exit(0);case"restart":{k.info("SYSTEM","Restarting worker"),await im(e),await nm(e,eo(15e3))||(k.error("SYSTEM","Port did not free up after shutdown, aborting restart",{port:e}),process.exit(1)),Di();let n=q0(__filename,e);n===void 0&&(k.error("SYSTEM","Failed to spawn worker daemon during restart"),process.exit(1)),L0({pid:n,port:e,startedAt:new Date().toISOString()}),await yl(e,eo(3e4))||(Di(),k.error("SYSTEM","Worker failed to restart"),process.exit(1)),k.info("SYSTEM","Worker restarted successfully"),process.exit(0)}case"status":{let r=await rm(e),n=MR();r&&n?(console.log("Worker is running"),console.log(` PID: ${n.pid}`),console.log(` Port: ${n.port}`),console.log(` Started: ${n.startedAt}`)):console.log("Worker is not running"),process.exit(0)}case"cursor":{let r=process.argv[3],n=await b4(r,process.argv.slice(4));process.exit(n)}default:new Cg().start().catch(n=>{k.failure("SYSTEM","Worker failed to start",{},n),Di(),process.exit(1)})}}var Hfe=typeof require<"u"&&typeof module<"u"?require.main===module||!module.parent:Vfe.url===`file://${process.argv[1]}`||process.argv[1]?.endsWith("worker-service");Hfe&&Zfe();0&&(module.exports={WorkerService,updateCursorContextForProject}); /*! Bundled license information: depd/index.js: diff --git a/plugin/ui/CLAUDE.md b/plugin/ui/CLAUDE.md index c590e51a..85576217 100644 --- a/plugin/ui/CLAUDE.md +++ b/plugin/ui/CLAUDE.md @@ -3,13 +3,6 @@ -### Dec 24, 2025 - -**viewer-bundle.js** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32379 | 9:10 PM | ✅ | Built and deployed claude-mem v8.0.6 to marketplace | ~370 | - ### Dec 25, 2025 **viewer-bundle.js** @@ -22,7 +15,6 @@ | #32600 | 8:42 PM | 🔵 | Identified potential UI element for billing toggle | ~146 | | #32559 | 8:18 PM | 🔵 | Listed files changed in the current branch | ~169 | | #32458 | 5:42 PM | ✅ | Rebuilt and synchronized plugin files after merge | ~286 | -| #32440 | 3:44 PM | ✅ | Project build completed for version 8.1.0 | ~335 | ### Dec 26, 2025 @@ -134,4 +126,12 @@ | ID | Time | T | Title | Read | |----|------|---|-------|------| | #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | + +### Jan 7, 2026 + +**viewer-bundle.js** +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #38186 | 7:33 PM | 🟣 | Claude-mem plugin v9.0.0 built and deployed to marketplace | ~327 | +| #38120 | 5:46 PM | 🔴 | Rebuilt all plugin hooks and worker service | ~278 | \ No newline at end of file diff --git a/scripts/bug-report/CLAUDE.md b/scripts/bug-report/CLAUDE.md index f6ae4a7f..adfdcb11 100644 --- a/scripts/bug-report/CLAUDE.md +++ b/scripts/bug-report/CLAUDE.md @@ -3,72 +3,5 @@ -### Dec 15, 2025 - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #27158 | 8:08 PM | 🔵 | Complete API Key Authentication Flow Traced Through System | ~460 | - -### Dec 16, 2025 - -**collector.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #27823 | 6:56 PM | 🔵 | Bug Report System Reads PID File for Diagnostics | ~264 | - -### Dec 20, 2025 - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #30253 | 3:17 PM | 🔵 | Agent SDK Integration Throughout Codebase | ~402 | - -### Dec 21, 2025 - -**cli.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31603 | 8:21 PM | 🔵 | Complete Console.* Statement Audit Across Codebase | ~813 | - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31601 | 8:19 PM | 🔵 | 215 console logging statements in TypeScript utility scripts | ~501 | - -### Dec 30, 2025 - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34502 | 2:31 PM | ✅ | Updated Bug Report Script Import to V2 API | ~292 | - -### Dec 31, 2025 - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34572 | 2:36 PM | ⚖️ | Comprehensive Post-Mortem Document Created | ~692 | -| #34571 | 2:35 PM | ⚖️ | Post-Mortem Analysis Identifies Scope Confusion as Root Failure Cause | ~599 | -| #34570 | " | 🔵 | Root Cause Identified: Utility Scripts Never Fixed Despite Phase 4 Review | ~513 | -| #34569 | " | 🔵 | Bug Report Script Shows Same systemPrompt Error and Unsafe Result Access | ~443 | - -### Jan 1, 2026 - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35288 | 1:22 PM | 🔵 | Bug Report Generation Tool Using Agent SDK | ~501 | - -### Jan 5, 2026 - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | - -**collector.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 | +*No recent activity* \ No newline at end of file diff --git a/src/CLAUDE.md b/src/CLAUDE.md index 2f12e8c2..adfdcb11 100644 --- a/src/CLAUDE.md +++ b/src/CLAUDE.md @@ -3,11 +3,5 @@ -### Jan 5, 2026 - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37391 | 12:48 AM | ✅ | Staged 23 CLAUDE.md files with mix of new and modified content | ~400 | -| #37390 | 12:47 AM | ✅ | Regenerated 23 CLAUDE.md files in budapest workspace | ~365 | +*No recent activity* \ No newline at end of file diff --git a/src/hooks/CLAUDE.md b/src/hooks/CLAUDE.md index 4e6ff8f8..75f845db 100644 --- a/src/hooks/CLAUDE.md +++ b/src/hooks/CLAUDE.md @@ -3,147 +3,98 @@ -### Dec 30, 2025 +### Dec 9, 2025 -**new-hook.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #34440 | 2:16 PM | 🔵 | TypeScript type errors identified across multiple components | ~328 | +| #23126 | 6:40 PM | ✅ | Removed SKIP_TOOLS Check from saveHook Function | ~288 | +| #23125 | " | 🔵 | SKIP_TOOLS Reference Still Present in saveHook Function | ~224 | +| #23124 | " | ✅ | Removed SKIP_TOOLS Constant from save-hook.ts | ~297 | +| #23123 | 6:39 PM | 🔵 | Current SKIP_TOOLS Implementation in save-hook.ts | ~397 | +| #23122 | " | 🔴 | Hardened Spinner Stop Mechanism with Timeout and Logging | ~361 | +| #23121 | " | 🔵 | Current Spinner Stop Implementation in summary-hook.ts | ~348 | +| #23118 | 6:38 PM | ✅ | Phase 6: StopInput Interface Type Safety Restored | ~248 | +| #23117 | 6:37 PM | ✅ | Phase 6: PostToolUseInput Interface Type Safety Restored | ~222 | +| #23116 | " | ✅ | Phase 6: UserPromptSubmitInput Interface Type Safety Restored | ~216 | +| #23115 | " | ✅ | Phase 6: SessionStartInput Interface Type Safety Restored | ~341 | +| #23114 | " | 🔵 | Current State of context-hook.ts Interface | ~409 | +| #23113 | " | 🔵 | Current State of summary-hook.ts Interface and Spinner Stop | ~397 | +| #23112 | " | 🔵 | Current State of save-hook.ts Interface and SKIP_TOOLS | ~395 | +| #23111 | " | 🔵 | Current State of new-hook.ts Interface | ~381 | +| #23076 | 6:27 PM | ✅ | Added Comment Explaining Exit Code 3 in user-message-hook.ts | ~245 | +| #23075 | 6:26 PM | ✅ | Deleted Expired Announcement Code from user-message-hook.ts | ~354 | +| #23074 | " | ✅ | Replaced Verbose Manual Mode Help with Error in cleanup-hook.ts | ~222 | +| #23073 | " | ✅ | Removed cwd from cleanup-hook Debug Logging | ~177 | +| #23072 | " | ✅ | Simplified SessionEndInput Interface in cleanup-hook.ts | ~236 | + +### Dec 10, 2025 -**summary-hook.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #34393 | 1:41 PM | 🔵 | Stop Hook (summary-hook.ts) Only Requests Summary, No Process Cleanup | ~375 | +| #23407 | 2:14 PM | 🔵 | New Hook Implementation Structure | ~264 | -### Dec 31, 2025 +### Dec 13, 2025 -**new-hook.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #34675 | 3:37 PM | 🔵 | API Endpoint /api/sessions/init Expects contentSessionId Parameter | ~401 | -| #34674 | " | 🔵 | Source Hook Files Use contentSessionId Parameter | ~327 | -| #34602 | 2:56 PM | 🔵 | New Hook Architecture: Session Initialization and Privacy Filtering | ~385 | +| #25389 | 9:30 PM | 🔴 | Save Hook Error Logging Enhanced With Tool Context | ~361 | +| #25388 | " | 🔴 | New Hook Now Logs SDK Agent Start Errors | ~344 | +| #25387 | 9:29 PM | 🔴 | New Hook Now Logs Session Initialization Errors | ~350 | +| #25386 | " | 🔴 | Context Hook Now Logs Error Text Before Throwing | ~338 | +| #25385 | " | ✅ | Added Logger Import to New Hook | ~249 | +| #25384 | " | ✅ | Added Logger Import to Context Hook | ~223 | +| #25383 | " | 🔵 | New Hook Has Two Silent Failure Points | ~392 | +| #25382 | 9:28 PM | 🔵 | Save Hook Has Partial Error Logging | ~351 | +| #25381 | " | 🔵 | Summary Hook Has Partial Error Logging | ~345 | +| #25380 | " | 🔵 | Context Hook Silent Failure Pattern Confirmed | ~354 | + +### Dec 14, 2025 -**context-hook.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #34631 | 3:02 PM | 🟣 | Context-Preservation Workflow Design Documents Created | ~729 | +| #26730 | 11:24 PM | 🔵 | Context Hook TypeScript Source Shows EnsureWorkerRunning as First Action | ~441 | +| #26729 | " | 🔵 | Context Hook TypeScript Source Calls ensureWorkerRunning Before API Requests | ~411 | +| #26260 | 8:32 PM | 🔵 | User Message Hook Calls Context Inject with colors=true Parameter | ~300 | +| #26244 | 8:29 PM | 🔵 | Context Hook Delegates to Worker API Context Endpoint | ~260 | +| #25692 | 4:24 PM | 🔵 | Summary hook extracts last user and assistant messages from transcript file before sending to worker | ~465 | -### Jan 1, 2026 +### Dec 17, 2025 -**new-hook.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35287 | 1:22 PM | 🔵 | SDKAgent Resume Logic Analysis - Two-Stage Session ID System | ~517 | -| #35284 | " | 🔵 | New Hook Session Initialization Flow | ~631 | -| #35221 | 1:11 PM | 🔵 | New-hook workflow: Two-phase session initialization | ~477 | -| #35201 | 1:07 PM | 🔵 | New Hook receives and processes cwd parameter | ~303 | +| #28449 | 4:23 PM | 🔵 | New Hook Session Initialization Flow | ~385 | + +### Dec 19, 2025 -**context-hook.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35206 | 1:08 PM | 🔵 | context-hook.ts falls back to process.cwd() when cwd missing | ~311 | +| #30105 | 8:11 PM | 🔵 | Hook Response Utility Standardizes Hook Output Format | ~387 | +| #30103 | 8:10 PM | 🔵 | Context Hook Injects Mode-Based Memory Context During SessionStart | ~460 | + +### Dec 20, 2025 -**save-hook.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35204 | 1:07 PM | 🔵 | PostToolUse hook validates cwd as required field | ~301 | +| #31085 | 7:59 PM | 🔵 | Summary Hook Uses session_id from Hook Input | ~315 | -### Jan 2, 2026 +### Dec 27, 2025 -**new-hook.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35997 | 5:32 PM | 🟣 | Session Alignment Logging Implemented Across Hook, HTTP, and SDK Layers | ~342 | -| #35977 | 4:48 PM | 🔵 | Existing alignment logging infrastructure found | ~353 | -| #35970 | 4:47 PM | 🔵 | Session ID Logging Distribution Across Codebase | ~485 | -| #35964 | 4:45 PM | 🔵 | Session Initialization Two-Stage API Pattern | ~468 | -| #35954 | 4:43 PM | 🔵 | New Hook Session Initialization Flow | ~393 | -| #35893 | 2:48 PM | 🔵 | New Hook Initializes Session And Starts SDK Agent Without Exit Code | ~382 | -| #35833 | 2:29 PM | 🔵 | New Hook Starts Memory Agent Asynchronously | ~404 | +| #33216 | 9:07 PM | 🔵 | UserPromptSubmit Hook (new-hook.ts) Initializes Session and Starts SDK Agent via Two HTTP Endpoints | ~735 | +| #33211 | 9:04 PM | 🔵 | User Message Hook Displays Context Info via stderr in Parallel with Context Injection | ~476 | +| #33210 | 9:03 PM | 🔵 | Summary Hook (summary-hook.ts) Extracts Messages and Triggers Summarization | ~479 | +| #33209 | " | 🔵 | SessionStart Hook (context-hook.ts) Fetches Context Injection via HTTP | ~520 | + +### Jan 7, 2026 -**context-hook.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35958 | 4:44 PM | 🔵 | Context Hook Session Context Injection | ~379 | -| #35894 | 2:48 PM | 🔵 | Context Hook Explicitly Exits With Code 0 On Success | ~355 | -| #35837 | 2:30 PM | 🔵 | Context Hook Returns Synchronously with Explicit Exit | ~413 | - -**save-hook.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35956 | 4:43 PM | 🔵 | Save Hook Tool Observation Storage | ~380 | -| #35899 | 2:48 PM | 🔵 | Save Hook Sends Observations Without Explicit Exit Code | ~387 | -| #35869 | 2:36 PM | 🔴 | Save Hook Entry Point Lacks Error Handling Around Async Call | ~448 | -| #35835 | 2:30 PM | 🔵 | Save Hook Uses Fire-and-Forget for Observations | ~394 | - -**user-message-hook.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35955 | 4:43 PM | 🔵 | User Message Hook Context Display Mechanism | ~369 | -| #35888 | 2:47 PM | 🔵 | User Message Hook Exits With USER_MESSAGE_ONLY Code | ~313 | -| #35831 | 2:29 PM | 🔵 | User Message Hook Exits with Special Exit Code | ~348 | - -**hook-response.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35953 | 4:43 PM | 🔵 | Standard Hook Response Protocol | ~253 | -| #35950 | 4:42 PM | 🔵 | Hook System Architecture Discovery | ~254 | -| #35891 | 2:47 PM | 🔵 | STANDARD_HOOK_RESPONSE Signals Continue And Suppress Output | ~333 | - -**summary-hook.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 | -| #35889 | 2:47 PM | 🔵 | Summary Hook Outputs STANDARD_HOOK_RESPONSE On Success And Error | ~358 | -| #35829 | 2:29 PM | 🔵 | Summary Hook Uses Fire-and-Forget HTTP Pattern | ~385 | -| #35770 | 1:23 PM | ✅ | Last User Message Field Removed Across 11 Files in Codebase | ~374 | -| #35747 | 1:18 PM | 🔴 | Removed Incorrect last_user_message Extraction from Summary Hook | ~382 | -| #35734 | 1:11 PM | 🔵 | Summary Hook Extracts Last User and Assistant Messages from Transcript | ~383 | -| #35733 | " | 🔵 | Located last_user_message usage across codebase | ~333 | - -### Jan 3, 2026 - -**new-hook.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36296 | 8:04 PM | 🔵 | TypeScript Compilation Check: Pre-Existing Errors Unrelated to Refactoring | ~621 | -| #36112 | 3:44 PM | 🔵 | New Hook Architecture and Session Initialization Flow | ~412 | - -### Jan 5, 2026 - -**save-hook.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38081 | 9:55 PM | 🔵 | Save Hook - Pure HTTP Client with No Database Dependencies | ~206 | -| #37626 | 5:35 PM | 🔵 | FormatTool Function Usage Across Codebase | ~493 | -| #37540 | 4:46 PM | 🔵 | save-hook.ts First formatTool Call Point in Observation Pipeline | ~416 | - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | - -**context-hook.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 | - -**new-hook.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 | -| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 | - -**hook-response.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37554 | 4:48 PM | 🔵 | Standard Hook Response Protocol for Claude Code | ~387 | - -### Jan 6, 2026 - -**context-hook.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 | +| #38235 | 7:42 PM | ✅ | Deprecated User Message Hook Source File | ~399 | +| #38176 | 7:26 PM | ⚖️ | Plan Created to Merge User Message into Context Hook JSON Output | ~536 | +| #38175 | " | 🔵 | Complete Claude-Mem Hook Output Architecture Documented | ~530 | +| #38174 | " | 🔵 | UserPromptSubmit Hook Initializes Sessions and Strips Slash Commands | ~480 | +| #38173 | 7:25 PM | 🔵 | Standard Hook Response Pattern for Non-SessionStart Hooks | ~343 | +| #38172 | 7:22 PM | 🔵 | Claude Code Hook Output Architecture Clarified - Exit Code Pattern is Correct for User-Only Display | ~523 | +| #38170 | 7:21 PM | 🔵 | User-Message-Hook TypeScript Source Shows Exit Code 1 Strategy for User-Only Display | ~203 | \ No newline at end of file diff --git a/src/hooks/user-message-hook.ts b/src/hooks/user-message-hook.ts index a1485a04..d164b51c 100644 --- a/src/hooks/user-message-hook.ts +++ b/src/hooks/user-message-hook.ts @@ -1,15 +1,20 @@ /** * User Message Hook - SessionStart - * Displays context information to the user via stderr * - * This hook runs in parallel with context-hook to show users what context - * has been loaded into their session. Uses stderr as the communication channel - * since it's currently the only way to display messages in Claude Code UI. + * @deprecated This hook is no longer used as of Claude Code 2.1.0 (ultrathink update). + * SessionStart hooks no longer display any user-visible messages in the Claude Code UI. + * Context is still injected via hookSpecificOutput.additionalContext in context-hook.ts, + * but users don't see any startup output. + * + * This file is kept for reference but is not registered in hooks.json. + * + * Historical behavior: + * - Displayed context information to the user via stderr + * - Ran in parallel with context-hook to show users what context was loaded + * - Used stderr + exit code 1 to display to user only without adding to Claude's context */ import { basename } from "path"; import { ensureWorkerRunning, getWorkerPort } from "../shared/worker-utils.js"; -import { HOOK_EXIT_CODES } from "../shared/hook-constants.js"; -import { logger } from "../utils/logger.js"; // Ensure worker is running await ensureWorkerRunning(); @@ -39,4 +44,4 @@ console.error( `\n📺 Watch live in browser http://localhost:${port}/\n` ); -process.exit(HOOK_EXIT_CODES.USER_MESSAGE_ONLY); \ No newline at end of file +process.exit(1); // Exit code 1 for SessionStart = show stderr to user only \ No newline at end of file diff --git a/src/sdk/CLAUDE.md b/src/sdk/CLAUDE.md index 57a07dc6..bb6ea47d 100644 --- a/src/sdk/CLAUDE.md +++ b/src/sdk/CLAUDE.md @@ -3,139 +3,19 @@ -### Dec 22, 2025 - -**SDKAgent.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31951 | 8:17 PM | 🟣 | Mode System with Inheritance and Multilingual Support | ~776 | - -**prompts.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31891 | 7:17 PM | 🔴 | Migration des prompts de résumé vers les fichiers de modes pour le support multilingue | ~474 | -| #31890 | " | 🔵 | Modifications en cours sur les fichiers de modes multilingues et le système de prompts | ~325 | -| #31872 | 7:04 PM | 🔄 | Externalisation des prompts de résumé codés en dur | ~378 | -| #31868 | 7:03 PM | 🔵 | サマリープロンプトのハードコーディング箇所の特定 | ~193 | -| #31829 | 6:28 PM | 🔄 | Removed languageNote usage from continuation observation XML template | ~90 | -| #31828 | " | 🔄 | Removed languageNote variable from buildContinuationPrompt | ~199 | -| #31827 | " | 🔄 | Removed languageNote usage from summary XML template | ~79 | -| #31826 | " | 🔄 | Removed unused languageNote variable from buildSummaryPrompt | ~198 | -| #31825 | 6:26 PM | 🔄 | Removed unused languageNote variable from buildInitPrompt | ~278 | -| #31820 | 6:20 PM | 🔵 | Prompts system architecture uses mode.prompts.format_examples field | ~305 | -| #31816 | 6:10 PM | 🔄 | Extracted memory continuation header to mode configuration | ~236 | -| #31815 | 6:09 PM | 🔄 | Extracted continuation instruction to mode configuration | ~252 | -| #31814 | " | 🔄 | Extracted continuation greeting to mode configuration | ~306 | -| #31813 | 6:08 PM | 🔄 | Removed hardcoded language instruction from buildSummaryPrompt | ~291 | -| #31812 | " | 🔄 | Replaced all XML placeholder text with mode configuration variables | ~459 | -| #31811 | " | 🔄 | Replaced hardcoded memory processing header with mode variable | ~252 | - -**parser.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31855 | 6:53 PM | ✅ | テストスイートの大規模削除とテスト分析レポートの追加 | ~197 | - -### Dec 23, 2025 - -**prompts.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32030 | 7:44 PM | 🔵 | SDK prompt building system uses mode configuration | ~330 | - -**parser.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32029 | 7:40 PM | 🔵 | Parser Layer Has No Skip Logic - Always Saves Observations | ~342 | - -### Dec 24, 2025 - -**prompts.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32213 | 8:17 PM | 🔵 | Prompt Generation System Architecture | ~402 | -| #32337 | 4:03 PM | ✅ | Enhanced observation prompt with granularity reminder | ~278 | - -### Dec 25, 2025 - -**parser.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32701 | 9:00 PM | 🔵 | Test Coverage Report Generated | ~471 | -| #32565 | 8:19 PM | 🔵 | Read parser.ts (first 150 lines) | ~146 | - -**prompts.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 | - -### Dec 27, 2025 - -**prompts.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33131 | 7:52 PM | 🔵 | Session ID Propagation Flow Analysis with Architectural Vulnerabilities Identified | ~577 | -| #33129 | " | 🔵 | Prompt Building Functions with Session ID Threading Documentation | ~483 | - -### Dec 28, 2025 - -**prompts.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33438 | 10:15 PM | 🔄 | Bulk Rename Session ID Fields Across Entire Codebase | ~384 | -| #33420 | 10:06 PM | 🔵 | Complete session ID flow analysis reveals missing SDK session capture mechanism | ~545 | -| #33415 | 10:05 PM | 🔵 | Prompt building functions receive sessionId but only use it for context display | ~372 | -| #33316 | 3:09 PM | 🔴 | Fixed Disconnected SDK Agent Sessions | ~350 | -| #33296 | 3:08 PM | 🔵 | Session ID Propagation Flow Architecture Traced Through Codebase | ~720 | - -### Dec 30, 2025 - -**parser.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34462 | 2:23 PM | 🔵 | Code Quality Review Identifies Critical V2 Migration Issues | ~418 | - -**prompts.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34398 | 1:53 PM | 🔵 | SDK Prompts Module Structure | ~361 | - -### Jan 1, 2026 - -**prompts.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35666 | 11:37 PM | ✅ | Staged error handling improvements across 10 files | ~261 | -| #35641 | 11:27 PM | ✅ | Added APPROVED OVERRIDE comments for JSON parse error handling in SDK prompts | ~336 | - -### Jan 2, 2026 - -**prompts.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 | -| #35770 | 1:23 PM | ✅ | Last User Message Field Removed Across 11 Files in Codebase | ~374 | -| #35763 | 1:22 PM | 🔄 | Removed last_user_message from SDKSession interface | ~241 | -| #35762 | 1:21 PM | 🔵 | SDKSession interface includes last_user_message field | ~221 | -| #35742 | 1:15 PM | 🔵 | SDKSession interface defines both user_prompt and last_user_message fields | ~289 | -| #35738 | 1:12 PM | 🔵 | Summary prompt uses last_assistant_message but not last_user_message | ~334 | -| #35737 | " | 🔵 | Summary Prompt Interface Defines Optional last_user_message | ~253 | -| #35736 | " | 🔵 | SDKSession Interface Defines Optional last_user_message Field | ~277 | -| #35733 | 1:11 PM | 🔵 | Located last_user_message usage across codebase | ~333 | - -### Jan 3, 2026 - -**parser.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36200 | 7:22 PM | 🔵 | Parser Module Analysis for Phase 2 Refactoring | ~562 | - ### Jan 5, 2026 -**prompts.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 | -| #37571 | 4:51 PM | ✅ | Phase 1 Anti-Pattern Check Complete - Clean Implementation | ~400 | -| #37557 | 4:49 PM | 🔵 | Issue #545 Bug Location and Fix Pattern Documented | ~462 | -| #37539 | 4:45 PM | 🔵 | SDK Defensive JSON Parsing Pattern Implementation | ~408 | +| #37703 | 6:01 PM | 🔵 | ParsedObservation files_read and files_modified are string arrays parsed from XML | ~330 | +| #37701 | " | 🔵 | Complete cwd data flow traced from hooks through observation processing | ~447 | + +### Jan 7, 2026 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 | +| #38454 | 10:26 PM | 🔵 | happyPathError usage pattern in summary prompt generation | ~421 | +| #38405 | 10:07 PM | ⚖️ | DEBUG Log Level Analysis - One Message Requires WARN Promotion | ~819 | +| #38404 | 10:06 PM | ⚖️ | Log Level Audit Analysis - WARN to ERROR Promotion Criteria Established | ~769 | \ No newline at end of file diff --git a/src/sdk/parser.ts b/src/sdk/parser.ts index b02c19e3..bed00ece 100644 --- a/src/sdk/parser.ts +++ b/src/sdk/parser.ts @@ -63,10 +63,10 @@ export function parseObservations(text: string, correlationId?: string): ParsedO if (validTypes.includes(type.trim())) { finalType = type.trim(); } else { - logger.warn('PARSER', `Invalid observation type: ${type}, using "${fallbackType}"`, { correlationId }); + logger.error('PARSER', `Invalid observation type: ${type}, using "${fallbackType}"`, { correlationId }); } } else { - logger.warn('PARSER', `Observation missing type field, using "${fallbackType}"`, { correlationId }); + logger.error('PARSER', `Observation missing type field, using "${fallbackType}"`, { correlationId }); } // All other fields are optional - save whatever we have @@ -75,7 +75,7 @@ export function parseObservations(text: string, correlationId?: string): ParsedO const cleanedConcepts = concepts.filter(c => c !== finalType); if (cleanedConcepts.length !== concepts.length) { - logger.warn('PARSER', 'Removed observation type from concepts array', { + logger.error('PARSER', 'Removed observation type from concepts array', { correlationId, type: finalType, originalConcepts: concepts, diff --git a/src/sdk/prompts.ts b/src/sdk/prompts.ts index df37ac1c..1cdb4127 100644 --- a/src/sdk/prompts.ts +++ b/src/sdk/prompts.ts @@ -123,13 +123,12 @@ export function buildObservationPrompt(obs: Observation): string { * Build prompt to generate progress summary */ export function buildSummaryPrompt(session: SDKSession, mode: ModeConfig): string { - const lastAssistantMessage = session.last_assistant_message || logger.happyPathError( - 'SDK', - 'Missing last_assistant_message in session for summary prompt', - { sessionId: session.id }, - undefined, - '' - ); + const lastAssistantMessage = session.last_assistant_message || (() => { + logger.error('SDK', 'Missing last_assistant_message in session for summary prompt', { + sessionId: session.id + }); + return ''; + })(); return `${mode.prompts.header_summary_checkpoint} ${mode.prompts.summary_instruction} diff --git a/src/servers/CLAUDE.md b/src/servers/CLAUDE.md index 60d51899..adfdcb11 100644 --- a/src/servers/CLAUDE.md +++ b/src/servers/CLAUDE.md @@ -3,123 +3,5 @@ -### Dec 21, 2025 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31603 | 8:21 PM | 🔵 | Complete Console.* Statement Audit Across Codebase | ~813 | - -### Dec 25, 2025 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 | - -### Dec 26, 2025 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32912 | 10:02 PM | 🔵 | Error handling uses consistent logger.error and logger.failure patterns throughout codebase | ~508 | - -### Dec 27, 2025 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33175 | 8:34 PM | 🔄 | Console.log interception now uses structured logger | ~288 | -| #33148 | 8:19 PM | 🔵 | Logging System Architecture Traced Across Codebase | ~384 | - -### Dec 28, 2025 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33653 | 11:48 PM | 🔵 | MCP Server Architecture - Thin Wrapper Over Worker HTTP API | ~433 | -| #33636 | 11:35 PM | ✅ | Major Documentation and Code Cleanup Removed 4,929 Lines | ~381 | -| #33624 | 11:29 PM | 🔄 | Removed callWorkerAPIWithPath function from MCP server | ~275 | -| #33623 | " | 🟣 | Added __IMPORTANT workflow guidance tool to MCP server | ~350 | -| #33622 | " | ✅ | Enhanced get_observations tool description with parameter details | ~274 | -| #33621 | " | ✅ | Enhanced timeline tool to support automatic anchor discovery via query | ~274 | -| #33620 | " | ✅ | Extended search tool parameter documentation in MCP server | ~224 | -| #33619 | " | 🔵 | Confirmed MCP server renamed to mcp-search-server with embedded workflow guidance | ~499 | -| #33618 | 11:28 PM | 🔵 | MCP Server Graceful Shutdown and Worker Verification | ~307 | -| #33611 | 11:22 PM | 🔄 | Removed TOOL_SCHEMAS and cleaned up TOOL_ENDPOINT_MAP | ~358 | -| #33610 | 11:21 PM | 🔵 | TOOL_SCHEMAS retains removed tool definitions | ~318 | -| #33609 | " | ✅ | Cleaned up get_observations parameter description | ~236 | -| #33608 | " | ✅ | Removed get_session and get_prompt tools from MCP server | ~353 | -| #33607 | " | 🔄 | Removed four non-workflow tools from MCP server | ~339 | -| #33606 | " | ✅ | Updated timeline tool description to emphasize workflow step position | ~341 | -| #33605 | " | 🔄 | Removed get_schema tool from MCP server | ~274 | -| #33604 | 11:20 PM | 🔵 | MCP server tool definitions and schema validation pattern | ~477 | -| #33602 | 11:19 PM | 🔵 | MCP Server Architecture - Thin HTTP Wrapper Over Worker API | ~465 | -| #33601 | 11:18 PM | 🔵 | MCP server search tool parameter descriptions examined | ~373 | -| #33600 | 11:15 PM | 🔵 | MCP get_observations tool successfully retrieving full observation details by ID | ~472 | -| #33598 | " | 🔵 | Filtered MCP search query successfully returning rename history with type constraints | ~386 | -| #33597 | 11:14 PM | 🔵 | MCP search tool successfully retrieving mem-search to mcp-search rename history | ~361 | -| #33534 | 10:53 PM | ✅ | Updated internal MCP server name to mcp-search-server | ~351 | -| #33533 | " | 🔵 | Located internal MCP server name at line 438 in mcp-server.ts | ~304 | -| #33531 | 10:52 PM | ⚖️ | Implementation plan approved for MCP server rename and skill workflow enhancement | ~727 | -| #33530 | " | ⚖️ | Rename MCP server from mem-search to mcp-search for clearer namespace separation | ~562 | -| #33511 | 10:44 PM | 🔵 | MCP server implementation provides thin HTTP wrapper over Worker API | ~404 | -| #33328 | 3:10 PM | 🟣 | Merged centralized logger and session continuity diagnostics to main | ~397 | -| #33280 | 3:07 PM | 🔄 | Logger coverage refactor for background services | ~428 | - -### Dec 29, 2025 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34194 | 9:57 PM | 🔵 | MCP server delegates to Worker HTTP API on localhost:37777 | ~360 | -| #33703 | 12:10 AM | 🔵 | Final Documentation Review Confirms Update Requirements | ~756 | -| #33702 | 12:09 AM | ⚖️ | Documentation Update Strategy Finalized for MCP Architecture Transition | ~845 | -| #33695 | 12:06 AM | 🔵 | Current MCP Server Implementation Validates 4-Tool Architecture | ~556 | -| #33678 | 12:03 AM | 🔄 | Complete Removal of mem-search Skill Documentation | ~453 | -| #33677 | 12:02 AM | 🔄 | MCP Server Tool Consolidation and Workflow Simplification | ~333 | -| #33676 | " | 🔄 | MCP Server Refactored as Thin HTTP Wrapper | ~473 | -| #33675 | " | 🔄 | Major Documentation and Code Cleanup in MCP Clarity Branch | ~491 | - -### Dec 30, 2025 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34440 | 2:16 PM | 🔵 | TypeScript type errors identified across multiple components | ~328 | - -### Jan 1, 2026 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35619 | 11:07 PM | 🔵 | MCP Server Fatal Error Handling | ~209 | - -### Jan 2, 2026 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36020 | 9:13 PM | 🔵 | MCP Server Worker API Error Handling | ~280 | - -### Jan 3, 2026 - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36296 | 8:04 PM | 🔵 | TypeScript Compilation Check: Pre-Existing Errors Unrelated to Refactoring | ~621 | - -### Jan 5, 2026 - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | - -**mcp-server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 | -| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 | -| #37562 | 4:50 PM | 🔵 | MCP Server Architecture for Claude Desktop Integration | ~397 | +*No recent activity* \ No newline at end of file diff --git a/src/servers/mcp-server.ts b/src/servers/mcp-server.ts index 7f1d559f..ea63dc28 100644 --- a/src/servers/mcp-server.ts +++ b/src/servers/mcp-server.ts @@ -299,9 +299,9 @@ async function main() { setTimeout(async () => { const workerAvailable = await verifyWorkerConnection(); if (!workerAvailable) { - logger.warn('SYSTEM', 'Worker not available', undefined, { workerUrl: WORKER_BASE_URL }); - logger.warn('SYSTEM', 'Tools will fail until Worker is started'); - logger.warn('SYSTEM', 'Start Worker with: npm run worker:restart'); + logger.error('SYSTEM', 'Worker not available', undefined, { workerUrl: WORKER_BASE_URL }); + logger.error('SYSTEM', 'Tools will fail until Worker is started'); + logger.error('SYSTEM', 'Start Worker with: npm run worker:restart'); } else { logger.info('SYSTEM', 'Worker available', undefined, { workerUrl: WORKER_BASE_URL }); } diff --git a/src/services/CLAUDE.md b/src/services/CLAUDE.md index 5a65ef2f..9ba56967 100644 --- a/src/services/CLAUDE.md +++ b/src/services/CLAUDE.md @@ -3,69 +3,36 @@ -### Jan 3, 2026 - -**context-generator.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 | - -**worker-service.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36642 | 10:56 PM | 🔵 | Logger Coverage Test Requirements Analysis | ~483 | - -**worker-types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36637 | 10:47 PM | 🟣 | GeminiAgent Analysis Agent Running But Timed Out After 120 Seconds | ~521 | -| #36631 | 10:45 PM | 🔵 | Worker Types Define ActiveSession With Refactored Session ID Properties | ~487 | - -### Jan 4, 2026 - -**worker-types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36758 | 12:34 AM | 🔵 | Issue #531 Root Cause - 73 Lines of Duplicated Export Type Definitions | ~529 | -| #36714 | 12:12 AM | 🔵 | Memory Leak Analysis Report for Issue #532 Generated | ~531 | -| #36712 | 12:11 AM | 🔵 | Memory Leak Analysis for Issue #532 Documented | ~646 | - -**worker-service.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36716 | 12:13 AM | 🔵 | Issue #514 Orphaned .jsonl Session Files Analysis | ~616 | -| #36713 | 12:11 AM | 🔵 | Issue #520 Stuck Messages Already Resolved | ~569 | -| #36711 | " | 🔵 | Issue #520 Stuck Messages Analysis - Already Resolved | ~526 | - ### Jan 5, 2026 -**context-generator.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #38079 | 9:55 PM | 🔵 | Context Generator Deprecated - Redirects to Modular Architecture | ~466 | +| #37989 | 8:39 PM | 🔵 | Worker Service CLI Commands | ~370 | +| #37988 | " | 🔵 | Worker Service Hook Command Integration | ~356 | +| #37943 | 8:09 PM | 🔵 | Worker service provides hook command interface | ~372 | +| #37936 | 8:08 PM | 🔵 | Worker service module located in budapest architecture | ~173 | +| #37837 | 6:55 PM | 🔵 | Worker Service CLI Structure and Extension Pattern | ~536 | +| #37836 | 6:54 PM | 🔵 | Worker Service HTTP API Architecture and Hook Integration Pattern | ~639 | +| #37830 | 6:50 PM | ⚖️ | Architectural Refactoring Plan: Unified CLI Hook System | ~631 | +| #37812 | 6:43 PM | 🔵 | WorkerService Architecture and CLI Entry Points | ~447 | +| #37738 | 6:17 PM | 🔵 | ActiveSession and PendingMessage Structures Analyzed for Phase 3 | ~327 | +| #37701 | 6:01 PM | 🔵 | Complete cwd data flow traced from hooks through observation processing | ~447 | +| #37691 | 5:55 PM | 🔵 | ActiveSession interface contains project name but no project root path | ~346 | +| #37418 | 1:04 AM | 🔴 | Fixed CLAUDE.md duplicate content by filtering to direct children only | ~469 | +| #37391 | 12:48 AM | ✅ | Staged 23 CLAUDE.md files with mix of new and modified content | ~400 | +| #37390 | 12:47 AM | ✅ | Regenerated 23 CLAUDE.md files in budapest workspace | ~365 | + +### Jan 7, 2026 -**CLAUDE.md** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | - -**worker-service.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38058 | 9:48 PM | 🔵 | Worker Service Architecture - Modular Orchestrator Pattern | ~523 | -| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 | -| #38001 | 9:02 PM | 🔵 | worker-service.ts demonstrates proper getWorkerHost() usage pattern | ~243 | -| #38000 | " | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 | -| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 | -| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 | -| #37649 | 5:50 PM | 🔵 | WorkerService orchestrator imports logger as foundational dependency | ~390 | -| #37546 | 4:47 PM | 🔵 | Worker Service Initialization Sequence Missing Settings File Creation | ~461 | - -### Jan 6, 2026 - -**worker-service.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 | -| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 | +| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 | +| #38446 | 10:26 PM | 🔵 | Worker Service Logs Startup Recovery Failures at WARN Level | ~419 | +| #38444 | 10:25 PM | 🔵 | Worker service auto-recovery error handling pattern | ~393 | +| #38431 | 10:24 PM | 🔵 | ERROR-Level Logging Used Across 21 Source Files | ~480 | +| #38404 | 10:06 PM | ⚖️ | Log Level Audit Analysis - WARN to ERROR Promotion Criteria Established | ~769 | +| #38354 | 9:10 PM | 🔵 | Provider Selection Architecture and Default Settings Location | ~478 | +| #38352 | 9:09 PM | 🔵 | Worker Service Environment Inheritance and Process Spawning Mechanisms | ~469 | +| #38269 | 7:53 PM | 🔵 | Worker Types Shared Type Definitions | ~847 | +| #38256 | 7:49 PM | 🔵 | Worker Service Orchestration Architecture | ~1166 | \ No newline at end of file diff --git a/src/services/context/CLAUDE.md b/src/services/context/CLAUDE.md index 8f402d55..adfdcb11 100644 --- a/src/services/context/CLAUDE.md +++ b/src/services/context/CLAUDE.md @@ -3,61 +3,5 @@ -### Jan 3, 2026 - -**ObservationCompiler.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36562 | 9:49 PM | 🟣 | Phase 4 Context Generation Tests Completed | ~524 | -| #36556 | 9:45 PM | 🟣 | ObservationCompiler Test Suite Created | ~487 | -| #36550 | 9:42 PM | 🔵 | ObservationCompiler Data Retrieval Module | ~463 | - -**TokenCalculator.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36561 | 9:49 PM | 🟣 | Phase 4 Context Generation Test Suite Completion | ~606 | -| #36555 | 9:44 PM | 🟣 | TokenCalculator Test Suite Created for Context Module | ~565 | -| #36433 | 9:00 PM | 🔵 | Token Calculation and Context Economics | ~429 | - -**ContextBuilder.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36558 | 9:48 PM | 🟣 | ContextBuilder Test Suite with Comprehensive Mocking | ~601 | -| #36434 | 9:00 PM | 🔵 | ContextBuilder Orchestration Pattern | ~445 | -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | -| #36285 | 8:02 PM | 🔄 | Phase 4: ContextBuilder Main Orchestrator Created | ~590 | - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36557 | 9:47 PM | 🟣 | MarkdownFormatter Test Suite Created | ~520 | -| #36549 | 9:42 PM | 🔵 | Context Generation Module Type System | ~410 | -| #36431 | 9:00 PM | 🔵 | Context Module Type System | ~513 | -| #36292 | 8:04 PM | 🔄 | Phase 4 Module Inventory: 12 Files Created in Context Architecture | ~571 | - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36552 | 9:43 PM | 🔵 | Context Generation API Documentation for Phase 4 | ~496 | -| #36417 | 8:57 PM | 🔄 | Context Module Public API Design | ~349 | - -**ContextConfigLoader.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36551 | 9:42 PM | 🔵 | ContextConfigLoader Mode-Aware Configuration | ~373 | -| #36279 | 8:01 PM | 🔄 | Phase 4: Context Generator Restructure - ContextConfigLoader Extracted | ~476 | - -**context** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36304 | 8:06 PM | 🔄 | Git Status: Phase 4 Changes Ready for Commit | ~570 | -| #36297 | 8:05 PM | 🔄 | Phase 4 Type Safety Verification: Zero TypeScript Errors in Context Module | ~591 | -| #36293 | 8:04 PM | 🔄 | Phase 4 Line Count Analysis: 2,081 Lines Across 12 Modular Files | ~628 | - -### Jan 5, 2026 - -**ContextBuilder.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 | +*No recent activity* \ No newline at end of file diff --git a/src/services/domain/CLAUDE.md b/src/services/domain/CLAUDE.md index 81acaa17..adfdcb11 100644 --- a/src/services/domain/CLAUDE.md +++ b/src/services/domain/CLAUDE.md @@ -3,125 +3,5 @@ -### Dec 21, 2025 - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31766 | 11:11 PM | 🟣 | Expansión de ModePrompts con campos de configuración granular | ~327 | -| #31765 | 11:10 PM | 🔵 | Sistema de configuración de modos con interfaces TypeScript | ~321 | -| #31764 | 11:09 PM | ⚖️ | Consulta arquitectónica con Gemini sobre reconstrucción completa de prompts por modos | ~469 | -| #31704 | 9:37 PM | 🔵 | Mode system architecture discovered in claude-mem | ~457 | -| #31428 | 6:56 PM | 🔵 | Domain Types Define Observation System Interfaces | ~292 | - -**ModeManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31747 | 10:43 PM | 🔵 | PR #412 Code Review Identifies Two Critical Bugs in Mode System | ~545 | -| #31746 | 10:42 PM | 🔵 | PR #412 Documentation Audit Identifies Comment Quality Issues | ~535 | -| #31743 | 10:36 PM | 🔵 | PR #412 proposes mode system with inheritance and multilingual support | ~523 | -| #31739 | 10:28 PM | 🟣 | Mode Inheritance System with Parent-Override Pattern | ~373 | -| #31732 | 10:05 PM | 🟣 | Implemented mode inheritance system with parent-override pattern | ~430 | -| #31731 | " | 🟣 | Added deep merge infrastructure for mode inheritance | ~313 | -| #31729 | 9:55 PM | 🟣 | Mode Inheritance Parser Implementation | ~299 | -| #31728 | 9:54 PM | 🔵 | ModeManager System Architecture | ~314 | -| #31727 | " | ⚖️ | Mode Inheritance System for Multilingual Support | ~509 | -| #31725 | 9:51 PM | ⚖️ | Mode Inheritance System Architecture | ~509 | -| #31709 | 9:39 PM | 🔵 | Mode system architecture comprehensively documented | ~588 | -| #31697 | 9:24 PM | 🔵 | Root Cause Found: getPackageRoot() Returns Wrong Directory for ModeManager | ~399 | -| #31662 | 8:56 PM | 🔵 | ModeManager Path Resolution Dependency on getPackageRoot | ~361 | -| #31649 | 8:46 PM | 🟣 | ModeManager singleton implements dynamic mode profile loading | ~363 | -| #31446 | 7:22 PM | 🔵 | ModeManager Loading System Investigation | ~297 | -| #31445 | 7:21 PM | 🔵 | ModeManager Icon Resolution Methods | ~358 | -| #31427 | 6:56 PM | 🔵 | ModeManager Imports ObservationType and ObservationConcept Types | ~192 | -| #31422 | 6:50 PM | 🔵 | Observation Metadata Constants Usage Across Codebase | ~366 | -| #31407 | 6:26 PM | 🔵 | ModeManager provides observation type metadata access methods | ~283 | - -### Dec 22, 2025 - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31896 | 7:18 PM | ✅ | Commit amendé avec les nouveaux types pour support multilingue des résumés | ~290 | -| #31895 | " | 🟣 | Ajout de quatre champs de prompts de résumé à l'interface ModePrompts | ~347 | -| #31894 | " | 🔵 | Interface ModePrompts contient les placeholders XML pour résumés | ~354 | -| #31808 | 6:07 PM | 🟣 | Added customizable XML placeholder fields to ModePrompts interface | ~432 | -| #31804 | 4:53 PM | ⚖️ | Refined scope for prompt placeholder extraction to mode configuration | ~439 | -| #31803 | 4:52 PM | 🔵 | Explored prompt system architecture for placeholder customization | ~472 | -| #31800 | 4:51 PM | ⚖️ | Initiated design task to extract hardcoded placeholders into mode configuration | ~441 | -| #31797 | 4:49 PM | 🔵 | ModePrompts interface defines high-level prompt sections but not field placeholders | ~364 | -| #31793 | 4:41 PM | 🔵 | Completed comprehensive exploration of mode system architecture | ~525 | -| #31784 | 4:37 PM | 🔵 | Examined ModeConfig type definitions for prompt customization | ~317 | - -**ModeManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31790 | 4:39 PM | 🔵 | Identified files that interact with ModeManager and prompts | ~332 | -| #31785 | 4:37 PM | 🔵 | Examined ModeManager for mode loading and inheritance system | ~286 | - -### Dec 23, 2025 - -**ModeManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32033 | 7:50 PM | ⚖️ | Mode-to-Settings Auto-Sync Architecture Designed | ~583 | -| #32032 | 7:45 PM | 🔵 | Queue System Bug: Mode Loaded Once at Startup Prevents Processing | ~450 | -| #32026 | 7:39 PM | 🔵 | Email Investigation Mode Configuration Located | ~300 | -| #32025 | 7:35 PM | 🔵 | ModeManager Implementation with Inheritance System | ~474 | - -### Dec 24, 2025 - -**ModeManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32214 | 8:17 PM | 🔵 | ModeManager singleton handles mode profiles with inheritance support | ~483 | - -### Dec 25, 2025 - -**ModeManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32701 | 9:00 PM | 🔵 | Test Coverage Report Generated | ~471 | -| #32580 | 8:22 PM | 🔵 | Grep for resetStuckMessages and processing | ~242 | - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 | - -### Dec 31, 2025 - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34631 | 3:02 PM | 🟣 | Context-Preservation Workflow Design Documents Created | ~729 | -| #34610 | 2:58 PM | 🔵 | Mode Configuration System Architecture for Memory Agent Behavior | ~570 | - -### Jan 1, 2026 - -**ModeManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35433 | 8:43 PM | 🔵 | Try-Catch Block Distribution Across Services | ~372 | - -### Jan 2, 2026 - -**ModeManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 | - -### Jan 3, 2026 - -**ModeManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36539 | 9:39 PM | 🔵 | ModeManager Singleton Pattern with Inheritance | ~343 | - -### Jan 5, 2026 - -**ModeManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 | +*No recent activity* \ No newline at end of file diff --git a/src/services/infrastructure/CLAUDE.md b/src/services/infrastructure/CLAUDE.md index 580d9c58..adfdcb11 100644 --- a/src/services/infrastructure/CLAUDE.md +++ b/src/services/infrastructure/CLAUDE.md @@ -3,75 +3,5 @@ -### Jan 3, 2026 - -**ProcessManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36571 | 9:54 PM | 🟣 | Phase 5 Infrastructure Tests Completed | ~504 | -| #36570 | " | 🟣 | ProcessManager Infrastructure Test Suite Created | ~535 | - -**GracefulShutdown.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36569 | 9:54 PM | 🟣 | GracefulShutdown Test Suite Created | ~457 | -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | - -**HealthMonitor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36568 | 9:53 PM | 🟣 | HealthMonitor Test Suite Created for Phase 5 | ~437 | - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36566 | 9:51 PM | 🔵 | Phase 5 Infrastructure APIs Documented | ~506 | - -### Jan 4, 2026 - -**ProcessManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36924 | 2:25 AM | ✅ | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 | -| #36914 | 2:24 AM | 🔵 | Recent commit 4d0a10c fixed multiple GitHub issues | ~365 | -| #36846 | 1:45 AM | 🔵 | WMIC Process Management Implementation for Windows | ~569 | -| #36829 | 1:40 AM | 🔵 | PR #542 Review Analysis - Multi-Issue Fix Validation | ~562 | -| #36827 | 1:03 AM | ✅ | Branch diff shows 1,293 insertions and 98 deletions across 15 files | ~464 | -| #36823 | 1:00 AM | 🔴 | GitHub Issue #517 Anti-Pattern Verification Complete - All Checks Passed | ~517 | -| #36822 | 12:59 AM | 🔴 | Final Verification: No PowerShell $_ Variables Remain - Only Explanatory Comment | ~432 | -| #36821 | " | 🟣 | Verified All Timeout Values Preserved at 60000ms | ~467 | -| #36820 | " | 🟣 | Verified taskkill Command Unchanged Across ProcessManager | ~471 | -| #36819 | " | 🟣 | Verified Unix/macOS Process Enumeration Unchanged | ~408 | -| #36818 | 12:58 AM | 🟣 | Verified PID Validation Logic Preserved Across ProcessManager | ~140 | -| #36817 | " | 🔴 | GitHub Issue #517 Implementation Complete and Verified | ~510 | -| #36815 | " | 🔴 | Verified Complete Removal of PowerShell $_ Variables | ~420 | -| #36814 | 12:57 AM | 🟣 | Verified Complete WMIC Migration in ProcessManager | ~454 | -| #36813 | " | 🟣 | Verified Consistent WMIC Output Parsing Pattern | ~392 | -| #36812 | " | 🔴 | GitHub Issue #517 Complete - Replaced PowerShell with WMIC in Both Functions | ~543 | -| #36811 | " | 🔴 | Replaced PowerShell with WMIC in getChildProcesses Function | ~480 | -| #36810 | " | 🔵 | ProcessManager PowerShell Commands Use $_ Variable Pattern | ~486 | -| #36779 | 12:44 AM | 🔵 | ProcessManager Windows PowerShell Functions Complete Analysis | ~550 | -| #36771 | 12:42 AM | 🔵 | ProcessManager Uses execAsync and taskkill Commands | ~390 | -| #36761 | 12:36 AM | ✅ | Created Implementation Plans for Four GitHub Issues | ~507 | -| #36720 | 12:15 AM | 🔵 | Issue #517 Windows PowerShell Analysis Completed | ~631 | -| #36718 | " | 🔵 | Issue #517 Analysis - Windows PowerShell Variable Escaping Bug | ~482 | - -### Jan 5, 2026 - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | - -**HealthMonitor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 | -| #38002 | " | 🔵 | HealthMonitor.ts uses hard-coded 127.0.0.1 for health checks | ~338 | -| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 | - -**ProcessManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37558 | 4:49 PM | 🔵 | Issue #555 Windows Hook Execution Patterns and Fix Strategy Documented | ~510 | +*No recent activity* \ No newline at end of file diff --git a/src/services/infrastructure/HealthMonitor.ts b/src/services/infrastructure/HealthMonitor.ts index adf53b0c..815eeea5 100644 --- a/src/services/infrastructure/HealthMonitor.ts +++ b/src/services/infrastructure/HealthMonitor.ts @@ -86,7 +86,7 @@ export async function httpShutdown(port: number): Promise { return false; } // Unexpected error - log full details - logger.warn('SYSTEM', 'Shutdown request failed unexpectedly', { port }, error as Error); + logger.error('SYSTEM', 'Shutdown request failed unexpectedly', { port }, error as Error); return false; } } diff --git a/src/services/infrastructure/ProcessManager.ts b/src/services/infrastructure/ProcessManager.ts index f9b2d71a..d572839b 100644 --- a/src/services/infrastructure/ProcessManager.ts +++ b/src/services/infrastructure/ProcessManager.ts @@ -100,7 +100,7 @@ export async function getChildProcesses(parentPid: number): Promise { .filter(n => !isNaN(n) && Number.isInteger(n) && n > 0); } catch (error) { // Shutdown cleanup - failure is non-critical, continue without child process cleanup - logger.warn('SYSTEM', 'Failed to enumerate child processes', { parentPid }, error as Error); + logger.error('SYSTEM', 'Failed to enumerate child processes', { parentPid }, error as Error); return []; } } @@ -213,7 +213,7 @@ export async function cleanupOrphanedProcesses(): Promise { } } catch (error) { // Orphan cleanup is non-critical - log and continue - logger.warn('SYSTEM', 'Failed to enumerate orphaned processes', {}, error as Error); + logger.error('SYSTEM', 'Failed to enumerate orphaned processes', {}, error as Error); return; } diff --git a/src/services/integrations/CLAUDE.md b/src/services/integrations/CLAUDE.md index 13001daf..adfdcb11 100644 --- a/src/services/integrations/CLAUDE.md +++ b/src/services/integrations/CLAUDE.md @@ -3,25 +3,5 @@ -### Jan 3, 2026 - -**CursorHooksInstaller.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | - -### Jan 5, 2026 - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | - -**CursorHooksInstaller.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38075 | 9:53 PM | 🟣 | Initial Folder CLAUDE.md Timeline Formatting Implementation | ~463 | -| #38063 | 9:50 PM | 🔵 | Cursor Integration Module - Context File Updates and Project Registry | ~613 | -| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 | -| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 | +*No recent activity* \ No newline at end of file diff --git a/src/services/integrations/CursorHooksInstaller.ts b/src/services/integrations/CursorHooksInstaller.ts index 3c3e7569..42f212b7 100644 --- a/src/services/integrations/CursorHooksInstaller.ts +++ b/src/services/integrations/CursorHooksInstaller.ts @@ -117,7 +117,7 @@ export async function updateCursorContextForProject(projectName: string, port: n logger.debug('CURSOR', 'Updated context file', { projectName, workspacePath: entry.workspacePath }); } catch (error) { // [ANTI-PATTERN IGNORED]: Background context update - failure is non-critical, user workflow continues - logger.warn('CURSOR', 'Failed to update context file', { projectName }, error as Error); + logger.error('CURSOR', 'Failed to update context file', { projectName }, error as Error); } } @@ -234,7 +234,7 @@ export function configureCursorMcp(target: CursorInstallTarget): number { } } catch (error) { // [ANTI-PATTERN IGNORED]: Fallback behavior - corrupt config, continue with empty - logger.warn('SYSTEM', 'Corrupt mcp.json, creating new config', { path: mcpJsonPath }, error as Error); + logger.error('SYSTEM', 'Corrupt mcp.json, creating new config', { path: mcpJsonPath }, error as Error); config = { mcpServers: {} }; } } diff --git a/src/services/process/CLAUDE.md b/src/services/process/CLAUDE.md index 71be178f..607e3616 100644 --- a/src/services/process/CLAUDE.md +++ b/src/services/process/CLAUDE.md @@ -3,56 +3,95 @@ -### Dec 10, 2025 - -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #23833 | 11:15 PM | 🔵 | ProcessManager Class Already Implemented | ~525 | -| #23823 | 11:12 PM | 🔵 | ProcessManager Accepts Port Parameter in start() Method | ~305 | -| #23815 | 10:52 PM | 🟣 | BinaryManager for Windows Exe Distribution Implemented | ~384 | -| #23814 | " | 🟣 | ProcessManager Core Implementation Created | ~482 | - -### Dec 11, 2025 - -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #23851 | 12:10 AM | 🔵 | ProcessManager Architecture Details Revealed | ~423 | - -### Dec 12, 2025 - -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #24359 | 7:00 PM | 🟣 | Phase 1 Critical Code Fixes Completed via Agent Task | ~441 | -| #24358 | 6:59 PM | ✅ | Completed Phase 1 Code Fixes for better-sqlite3 Migration | ~385 | -| #24350 | 6:58 PM | 🟣 | Added Port Validation to ProcessManager.start() | ~348 | -| #24346 | 6:57 PM | 🔵 | ProcessManager.start() Lacks Port Validation | ~327 | - -### Dec 14, 2025 - -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #26766 | 11:30 PM | ⚖️ | Root Cause Identified: Missing Post-Install Worker Restart Trigger in Plugin Update Flow | ~604 | -| #26765 | " | 🔵 | Explore Agent Confirms Root Cause: No Proactive Worker Restart After Plugin Updates | ~613 | -| #26736 | 11:25 PM | 🔵 | ProcessManager Restart Has No Delay Between Stop and Start | ~437 | -| #26735 | " | 🔵 | ProcessManager.restart Calls Stop Then Start With No Additional Delay | ~454 | - -### Dec 16, 2025 - -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #27787 | 6:29 PM | 🔵 | ProcessManager Uses PowerShell Start-Process with Hidden Windows | ~355 | -| #27408 | 3:24 PM | 🔵 | ProcessManager Security Analysis for Command Injection Vulnerability | ~428 | - ### Dec 17, 2025 +**ProcessManager.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #28476 | 4:26 PM | 🔵 | ProcessManager Windows Wrapper Pattern for Zombie Port Prevention | ~620 | +| #28932 | 7:30 PM | 🔵 | ProcessManager Architecture and Platform-Specific Process Spawning | ~523 | +| #28929 | " | 🔵 | ProcessManager Usage Across Codebase | ~319 | +| #28747 | 6:25 PM | 🔵 | Branch Diff Analysis - 26 Files Modified | ~374 | +| #28730 | 6:21 PM | 🔵 | Worker Wrapper Solves Windows Zombie Port Problem | ~416 | +| #28729 | " | 🔵 | Windows Worker Wrapper Architecture | ~222 | +| #28721 | 6:18 PM | 🔵 | Final Solution - Worker Wrapper Architecture Successfully Deployed | ~474 | +| #28719 | " | 🔵 | Initial Windows Worker Problem Analysis - Three Interconnected Issues | ~564 | +| #28714 | 6:15 PM | 🔴 | Windows Zombie Port Problem Resolved with Wrapper Process Architecture | ~421 | +| #28711 | 6:13 PM | 🔵 | Overview of Changes Between main and HEAD Branch | ~347 | +| #28660 | 5:31 PM | 🔵 | Branch Modifies 26 Files with Net Addition of 346 Lines | ~445 | +| #28644 | 5:24 PM | ✅ | Modified 27 files with 693 additions and 239 deletions for Windows support | ~447 | + +### Dec 18, 2025 + +**ProcessManager.ts** +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #29622 | 5:41 PM | 🔵 | Validation Patterns Across HTTP Routes and Core Services | ~488 | ### Dec 20, 2025 +**ProcessManager.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #30947 | 7:01 PM | 🔵 | Timeout Constants Usage Patterns Verified | ~416 | -| #30946 | " | 🔵 | ProcessManager Timeout Constants Located | ~348 | +| #31066 | 7:53 PM | 🔵 | Comprehensive KISS Principle Audit of Hooks and Worker Services | ~788 | +| #31020 | 7:28 PM | 🔄 | Inlined single-use timeout constants in ProcessManager | ~390 | +| #31013 | 7:27 PM | 🔵 | Comment Analysis Identified Stale FTS5 References and Documentation Gaps | ~681 | +| #31012 | 7:25 PM | 🔴 | Silent Failure Review Identified Regression in getWorkerPort() Error Handling | ~659 | +| #31010 | " | ⚖️ | PR #400 Approved After Comprehensive Code Review | ~594 | +| #31000 | 7:22 PM | 🔄 | ProcessManager timeout constants inlined to literal values | ~356 | +| #30993 | 7:20 PM | 🔴 | ProcessManager getPidInfo() enhanced with error logging | ~290 | +| #30990 | 7:19 PM | 🔵 | PR 400 achieves net deletion of 395 lines across 31 files | ~338 | +| #30988 | " | 🔵 | PR 400 modifies 31 files across hooks, services, and utilities | ~316 | +| #30986 | " | 🔵 | PR #400 File Scope: 31 Files Across Hooks, Services, and Utilities | ~526 | +| #30953 | 7:02 PM | 🔄 | Removed Single-Use Timeout Constants in ProcessManager | ~306 | +| #30949 | " | 🔴 | Fixed undefined constant in ProcessManager waitForExit | ~245 | +| #30948 | 7:01 PM | 🔵 | Windows Process Shutdown Strategy in ProcessManager | ~302 | +| #30907 | 6:46 PM | 🔴 | ProcessManager PID File Corruption Now Logs Warnings | ~326 | +| #30905 | 6:45 PM | 🔴 | ProcessManager getPidInfo Error Visibility | ~333 | +| #30902 | " | 🔴 | Added logging to PID file error handling in ProcessManager | ~260 | +| #30901 | 6:44 PM | 🔵 | Windows Graceful Shutdown via HTTP and Wrapper IPC | ~269 | +| #30900 | " | 🔵 | Platform-Specific Worker Script Selection | ~262 | +| #30899 | " | 🔵 | getPidInfo Usage Pattern in ProcessManager | ~206 | +| #30898 | " | 🔵 | ProcessManager PID File Management Implementation | ~249 | +| #30774 | 5:58 PM | 🔵 | ProcessManager Handles Cross-Platform Worker Lifecycle with Windows Workarounds | ~559 | +| #32307 | 5:56 PM | 🔵 | Worker Service Code Audit: 14 Issues Found Across Validation, Data Structures, and Complexity | ~793 | +| #30673 | 5:08 PM | 🔴 | Windows Worker Stop/Restart Reliability Improvements | ~376 | +| #30663 | 5:07 PM | 🔵 | Cross-Platform Support Across 12 Files | ~307 | + +### Dec 24, 2025 + +**ProcessManager.ts** +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #32071 | 3:24 PM | ⚖️ | Worker Startup Architecture Redesigned | ~380 | +| #32070 | " | 🔵 | ProcessManager Worker Spawning Architecture | ~428 | +| #32059 | 3:17 PM | ⚖️ | Worker Startup Refactored with File-Based Locking for Concurrent Hooks | ~552 | + +### Dec 26, 2025 + +**ProcessManager.ts** +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #32855 | 7:04 PM | 🔄 | Consolidated worker process management into single service | ~322 | +| #32837 | 6:25 PM | 🔵 | Deleted ProcessManager.ts contained comprehensive PID file infrastructure | ~430 | +| #32814 | 6:05 PM | ✅ | Increased All Timeout Limits to Maximum Values for Slow Systems | ~385 | + +### Dec 28, 2025 + +**ProcessManager.ts** +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #33370 | 3:47 PM | 🔵 | ToxMox Wrapper Architecture Deleted December 26, Six Days After Implementation | ~506 | +| #33369 | 3:46 PM | 🔵 | ToxMox December 17 Commit Introduced Wrapper Architecture to Fix Windows Zombie Port Bug | ~632 | +| #33368 | 3:45 PM | 🔵 | ToxMox December 20 Commit Improved Windows Worker Restart Reliability and Logging | ~487 | +| #33294 | 3:08 PM | ✅ | ToxMox Contributions Documented in Comprehensive Markdown Report | ~603 | +| #33284 | 3:07 PM | 🔄 | Consolidated Worker Lifecycle Management (-580 Lines) | ~327 | +| #33270 | 2:59 PM | ⚖️ | Self-Spawn Pattern Chosen for Worker Lifecycle | ~418 | + +### Jan 6, 2026 + +**ProcessManager.ts** +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 | +| #38105 | 12:14 AM | 🔵 | Windows Console Popup Flash Issue Documented and Fixed | ~455 | \ No newline at end of file diff --git a/src/services/queue/CLAUDE.md b/src/services/queue/CLAUDE.md index 6e57ebe1..adfdcb11 100644 --- a/src/services/queue/CLAUDE.md +++ b/src/services/queue/CLAUDE.md @@ -3,58 +3,5 @@ -### Dec 28, 2025 - -**SessionQueueProcessor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33396 | 9:53 PM | ✅ | Queue refactoring touched 12 files with net addition of 1021 lines | ~402 | -| #33395 | " | 🟣 | Queue system refactored with atomic message processing | ~487 | -| #33374 | 7:12 PM | 🟣 | Refactored Queue System with Atomic Message Claiming and In-Memory State Elimination | ~477 | -| #33384 | " | 🔵 | Confirmed `SessionQueueProcessor` Integration in `SessionManager` | ~289 | -| #33387 | " | ⚖️ | Formulated Plan to Address PR #470 Review Issues | ~441 | - -### Dec 30, 2025 - -**SessionQueueProcessor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34409 | 1:55 PM | 🔵 | SessionQueueProcessor Event-Driven Message Iteration | ~433 | -| #34391 | 1:40 PM | 🔵 | SessionQueueProcessor Respects Abort Signal But Only Stops Iterator Loop | ~382 | - -### Jan 1, 2026 - -**SessionQueueProcessor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35521 | 9:35 PM | 🔵 | Queue Processor Uses Database-Backed Message Store | ~316 | -| #35433 | 8:43 PM | 🔵 | Try-Catch Block Distribution Across Services | ~372 | -| #35432 | " | 🔵 | Services Directory Structure Mapped | ~268 | - -### Jan 2, 2026 - -**SessionQueueProcessor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 | -| #35887 | 2:47 PM | 🔵 | SessionQueueProcessor Has Error Recovery But Doesn't Mark Failed | ~353 | -| #35851 | 2:32 PM | 🔵 | Queue Processor Uses Atomic Claiming with Event-Driven Wake-Up | ~464 | - -### Jan 3, 2026 - -**SessionQueueProcessor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36343 | 8:29 PM | 🔄 | SessionQueueProcessor Updated to Use claimAndDelete | ~299 | -| #36340 | 8:28 PM | 🔵 | Complete Duplicate Bug Analysis via Explore Agent | ~435 | -| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 | -| #36314 | " | 🔵 | Message Queue Processing Duplicate Bug Investigation | ~316 | - -### Jan 4, 2026 - -**SessionQueueProcessor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36713 | 12:11 AM | 🔵 | Issue #520 Stuck Messages Already Resolved | ~569 | -| #36711 | " | 🔵 | Issue #520 Stuck Messages Analysis - Already Resolved | ~526 | +*No recent activity* \ No newline at end of file diff --git a/src/services/server/CLAUDE.md b/src/services/server/CLAUDE.md index 98613b34..adfdcb11 100644 --- a/src/services/server/CLAUDE.md +++ b/src/services/server/CLAUDE.md @@ -3,32 +3,5 @@ -### Jan 3, 2026 - -**Server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36689 | 11:56 PM | 🔵 | PR #538 Review Findings - Modular Architecture Refactor | ~590 | -| #36583 | 9:57 PM | 🟣 | Server Test Suite Created | ~485 | -| #36427 | 8:59 PM | 🔵 | Server Class Architecture and Route Registration | ~447 | - -**ErrorHandler.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36581 | 9:57 PM | 🟣 | ErrorHandler Test Suite Created for Phase 6 | ~444 | -| #36454 | 9:03 PM | 🔵 | Centralized Express Error Handling | ~446 | -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36575 | 9:55 PM | 🔵 | Server Layer API Documentation for Phase 6 | ~521 | - -### Jan 5, 2026 - -**Server.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 | -| #37533 | 4:44 PM | 🔵 | Windows IPC Detection Logic and Managed Mode Handling | ~427 | +*No recent activity* \ No newline at end of file diff --git a/src/services/sqlite/CLAUDE.md b/src/services/sqlite/CLAUDE.md index 2359a9be..adfdcb11 100644 --- a/src/services/sqlite/CLAUDE.md +++ b/src/services/sqlite/CLAUDE.md @@ -3,125 +3,5 @@ -### Jan 2, 2026 - -**SessionStore.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36101 | 10:25 PM | ✅ | Database migration made observations.text field nullable | ~353 | -| #36100 | " | 🔵 | storeObservation method implementation in SessionStore | ~368 | -| #36085 | 10:15 PM | 🔵 | Memory Session ID Two-Phase Capture Pattern | ~350 | -| #36084 | " | 🔵 | SDK Session Creation Idempotent Design Pattern | ~410 | -| #36029 | 9:21 PM | 🔄 | Removed try-catch block from ensureDiscoveryTokensColumn migration | ~322 | -| #35998 | 5:32 PM | 🔴 | Critical Session ID Placeholder Bug Fixed to Prevent Transcript Pollution | ~488 | -| #35995 | 5:31 PM | 🔵 | Worker Version Mismatch Detection Issue | ~419 | -| #35990 | 5:17 PM | 🔴 | Fixed memory_session_id initialization to prevent session ID collision | ~385 | -| #35989 | " | 🔵 | SDK Session Creation Uses Content Session ID as Memory Session Placeholder | ~399 | -| #35988 | " | 🔵 | Session ID Threading Architecture with FK Placeholder Pattern | ~380 | -| #35970 | 4:47 PM | 🔵 | Session ID Logging Distribution Across Codebase | ~485 | -| #35959 | 4:44 PM | 🔵 | SessionStore Database Schema and Session ID Architecture | ~684 | - -**migrations.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 | - -**PendingMessageStore.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 | -| #35885 | 2:46 PM | 🔵 | PendingMessageStore Implements Four-State Lifecycle | ~411 | -| #35858 | 2:33 PM | 🔵 | PendingMessageStore Provides Stuck Message Recovery Methods | ~496 | -| #35855 | " | 🔵 | PendingMessageStore Implements Database-Backed Message Queue with Status Tracking | ~518 | - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35840 | 2:30 PM | 🔵 | Database Schema Includes Observation Status Tracking | ~488 | - -### Jan 3, 2026 - -**transactions.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36689 | 11:56 PM | 🔵 | PR #538 Review Findings - Modular Architecture Refactor | ~590 | -| #36486 | 9:12 PM | 🟣 | Transactions Module Test Suite Implemented | ~833 | -| #36350 | 8:30 PM | 🔄 | Renamed StoreAndMarkCompleteResult to StoreObservationsResult | ~278 | -| #36348 | " | 🔵 | Transaction Module Structure for Observation Storage | ~370 | -| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 | - -**Import.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 | - -**SessionStore.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36636 | 10:46 PM | 🟣 | Session ID Refactor Analysis Agent Completed Comprehensive Report | ~637 | -| #36635 | " | 🟣 | SessionStore Analysis Agent Completed Report Generation | ~545 | -| #36621 | 10:43 PM | 🔵 | SessionStore Implementation Already Supports Timestamp Override | ~491 | -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | -| #36355 | 8:42 PM | 🔵 | SessionStore observations table uses 5-type enum constraint | ~273 | -| #36353 | " | 🔵 | Multiple observation table definitions found across codebase | ~280 | -| #36339 | 8:28 PM | 🔵 | Message Completion SQL Update in Transaction | ~343 | -| #36332 | 8:27 PM | 🔵 | Transaction Structure in storeObservationsAndMarkComplete | ~353 | -| #36117 | 6:19 PM | 🔵 | SessionStore Architecture: 2,012 Lines Managing 20 Migrations and 49 Methods | ~578 | -| #36113 | 3:58 PM | 🔴 | Fixed FOREIGN KEY Constraint Failure in Observation Storage | ~448 | - -**Sessions.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36470 | 9:06 PM | 🔵 | SQLite Module API Documentation Verified for Test Implementation | ~765 | - -**Database.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36435 | 9:00 PM | 🔵 | SQLite Database Configuration and Migration Management | ~476 | - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36416 | 8:57 PM | 🔄 | SQLite Module Public API with SessionStore Deprecation | ~402 | -| #36351 | 8:31 PM | 🔵 | SQLite Module Index Exports storeObservationsAndMarkComplete | ~268 | -| #36314 | 8:25 PM | 🔵 | Message Queue Processing Duplicate Bug Investigation | ~316 | - -**PendingMessageStore.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36342 | 8:29 PM | 🔄 | Implemented claimAndDelete Method in PendingMessageStore | ~353 | -| #36340 | 8:28 PM | 🔵 | Complete Duplicate Bug Analysis via Explore Agent | ~435 | -| #36329 | 8:25 PM | 🔵 | PendingMessageStore State Machine Architecture | ~393 | -| #36127 | 6:20 PM | 🔵 | PendingMessageStore Implements Persistent Work Queue for Crash Recovery | ~539 | - -**sqlite** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36296 | 8:04 PM | 🔵 | TypeScript Compilation Check: Pre-Existing Errors Unrelated to Refactoring | ~621 | - -**migrations.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36124 | 6:19 PM | 🔵 | Migrations File Contains 7 Separate Migration Definitions | ~509 | - -### Jan 4, 2026 - -**SessionStore.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36780 | 12:44 AM | 🔵 | Observation Schema Evolution with Hierarchical Fields | ~452 | -| #36770 | 12:42 AM | 🔵 | Export Script Type Duplication Analysis Complete | ~555 | - -**PendingMessageStore.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36713 | 12:11 AM | 🔵 | Issue #520 Stuck Messages Already Resolved | ~569 | -| #36711 | " | 🔵 | Issue #520 Stuck Messages Analysis - Already Resolved | ~526 | - -### Jan 5, 2026 - -**SessionSearch.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38036 | 9:43 PM | 🟣 | Configurable Observation Limits and Enhanced Folder Search | ~418 | +*No recent activity* \ No newline at end of file diff --git a/src/services/sqlite/sessions/CLAUDE.md b/src/services/sqlite/sessions/CLAUDE.md index 1415fb01..adfdcb11 100644 --- a/src/services/sqlite/sessions/CLAUDE.md +++ b/src/services/sqlite/sessions/CLAUDE.md @@ -3,30 +3,5 @@ -### Jan 3, 2026 - -**create.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 | -| #36482 | 9:10 PM | 🟣 | Sessions Module Test Suite Implemented | ~627 | -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36470 | 9:06 PM | 🔵 | SQLite Module API Documentation Verified for Test Implementation | ~765 | -| #36439 | 9:01 PM | 🔵 | Session Type Hierarchy | ~420 | - -**get.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36438 | 9:01 PM | 🔵 | Session Retrieval Functions with Database-First Pattern | ~479 | - -### Jan 4, 2026 - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36770 | 12:42 AM | 🔵 | Export Script Type Duplication Analysis Complete | ~555 | +*No recent activity* \ No newline at end of file diff --git a/src/services/sqlite/timeline/CLAUDE.md b/src/services/sqlite/timeline/CLAUDE.md index 4f93d793..adfdcb11 100644 --- a/src/services/sqlite/timeline/CLAUDE.md +++ b/src/services/sqlite/timeline/CLAUDE.md @@ -3,10 +3,5 @@ -### Jan 3, 2026 - -**queries.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | +*No recent activity* \ No newline at end of file diff --git a/src/services/sync/CLAUDE.md b/src/services/sync/CLAUDE.md index bb6f8e0d..8648f04b 100644 --- a/src/services/sync/CLAUDE.md +++ b/src/services/sync/CLAUDE.md @@ -3,137 +3,17 @@ -### Dec 21, 2025 +### Jan 7, 2026 -**ChromaSync.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #31745 | 10:42 PM | 🔵 | PR #412 Error Handling Audit Reveals Seven Silent Failure Patterns | ~529 | -| #31741 | 10:29 PM | 🟣 | Configurable Local Embedding Models with Multilingual Support | ~461 | -| #31738 | 10:26 PM | 🔵 | Configurable Embedding Models Already Implemented in Feature Branch | ~622 | -| #31737 | 10:23 PM | 🔵 | ChromaSync Embedding Architecture Investigation | ~582 | - -### Dec 22, 2025 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #31790 | 4:39 PM | 🔵 | Identified files that interact with ModeManager and prompts | ~332 | - -### Dec 24, 2025 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32154 | 6:41 PM | 🔵 | ChromaSync Vector Database Architecture | ~558 | -| #32153 | 6:40 PM | 🔵 | Session Identifier Architecture Across Codebase | ~529 | - -### Dec 25, 2025 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32558 | 8:18 PM | 🔵 | Identified files containing 'summary' or 'Summary' | ~167 | - -### Dec 26, 2025 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #32912 | 10:02 PM | 🔵 | Error handling uses consistent logger.error and logger.failure patterns throughout codebase | ~508 | - -### Dec 27, 2025 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33245 | 9:53 PM | 🔵 | Chroma Collection Creation Fails Silently in Fire-and-Forget Backfill | ~355 | -| #33244 | " | 🔵 | Commit 63fd158 Removed Double JSON Serialization from SDKAgent | ~304 | -| #33242 | 9:52 PM | 🔵 | ChromaSync Double-JSON Pattern Intact - Regression Not From Code Changes | ~367 | -| #33241 | " | 🔵 | mem-search Regression Root Cause: Silent ChromaSync Initialization Failures | ~568 | -| #33240 | 9:51 PM | 🔵 | mem-search Regression Root Cause: Silent ChromaSync Initialization Failures | ~478 | -| #33239 | 9:50 PM | 🔵 | mem-search Regression Root Cause: Silent ChromaSync Initialization Failures | ~460 | -| #33238 | 9:49 PM | 🔵 | Chroma Vector Search Initialization Failure in DatabaseManager | ~446 | -| #33233 | 9:44 PM | 🔵 | Vector Search Unavailable in mem-search - Chroma Not Initialized | ~335 | -| #33225 | 9:37 PM | 🔵 | Worker Performance Barriers Analysis | ~415 | -| #33224 | 9:35 PM | 🔵 | Worker Performance Barriers: Timeouts and Rate Limiting | ~491 | -| #33082 | 6:45 PM | 🔵 | User directory path patterns in codebase | ~362 | - -### Dec 28, 2025 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33439 | 10:15 PM | 🔄 | Extended Session ID Renaming to Additional Codebase Components | ~352 | -| #33322 | 3:09 PM | 🔵 | Worker Performance Bottlenecks Identified Across Multiple Subsystems | ~399 | -| #33299 | 3:08 PM | 🔵 | mem-search Regression Caused by Logger Error Serialization Bug | ~417 | -| #33292 | " | 🔄 | ChromaSync Lazy Initialization Replaces Startup Backfill | ~398 | - -### Dec 29, 2025 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33860 | 4:35 PM | 🔵 | Comprehensive Bun integration architecture and platform-specific implementation details | ~619 | -| #33791 | 3:48 PM | 🔵 | ChromaSync.close() terminates subprocess via transport.close() | ~302 | -| #33786 | 3:47 PM | 🔵 | ChromaDB vector database synchronization architecture | ~535 | -| #33778 | 3:36 PM | 🔵 | ChromaSync spawns chroma-mcp subprocess via StdioClientTransport | ~419 | - -### Dec 30, 2025 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34440 | 2:16 PM | 🔵 | TypeScript type errors identified across multiple components | ~328 | - -### Jan 1, 2026 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35434 | 8:45 PM | 🔵 | Comprehensive Try-Catch Audit of Worker Service Error Handling | ~792 | -| #35433 | 8:43 PM | 🔵 | Try-Catch Block Distribution Across Services | ~372 | -| #35432 | " | 🔵 | Services Directory Structure Mapped | ~268 | - -### Jan 2, 2026 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 | -| #35902 | 2:49 PM | 🔴 | Improved ChromaSync Error Logging | ~280 | -| #35901 | " | 🔵 | PR #525 File Changes Summary | ~376 | -| #35864 | 2:35 PM | 🔵 | Chroma Sync Methods Block on addDocuments Completion | ~441 | -| #35861 | 2:34 PM | 🔵 | ChromaSync Provides Vector Database Integration with Fail-Fast Design | ~476 | -| #35789 | 1:53 PM | ⚖️ | Error Logging Anti-Pattern Identified: Incomplete Error Information | ~404 | -| #35785 | 1:46 PM | 🔵 | Incomplete Error Logging Pattern in ChromaSync Collection Check | ~349 | -| #35783 | 1:45 PM | ⚖️ | Error Logging Anti-Pattern Identification Task | ~399 | -| #35775 | 1:24 PM | 🔵 | ensureConnection Call Sites in ChromaSync | ~309 | -| #35774 | " | 🔴 | Added Connection Error Detection in ensureCollection | ~342 | -| #35773 | " | 🔵 | ChromaSync Service Architecture and Connection Flow | ~420 | -| #35726 | 1:09 PM | ✅ | ChromaDB Error Handling Fix Committed to Bugfix Branch | ~314 | -| #35725 | " | 🔴 | ChromaDB Connection Error Handling Fixed | ~335 | -| #35724 | " | ✅ | Bugfix Branch Created with ChromaDB Connection Changes | ~303 | - -### Jan 3, 2026 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36296 | 8:04 PM | 🔵 | TypeScript Compilation Check: Pre-Existing Errors Unrelated to Refactoring | ~621 | - -### Jan 5, 2026 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 | - -### Jan 6, 2026 - -**ChromaSync.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 | -| #38105 | 12:14 AM | 🔵 | Windows Console Popup Flash Issue Documented and Fixed | ~455 | +| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 | +| #38449 | 10:26 PM | 🔵 | ChromaSync Error Handling: Throw After ERROR Log Pattern | ~452 | +| #38437 | 10:24 PM | 🔵 | Claude-mem core functionality and logging patterns identified | ~710 | +| #38432 | " | 🔵 | ChromaSync class architecture and fail-fast design pattern | ~508 | +| #38431 | " | 🔵 | ERROR-Level Logging Used Across 21 Source Files | ~480 | +| #38425 | " | ⚖️ | Log Level Architecture: Fail-Critical Over Fail-Fast for Chroma | ~467 | +| #38418 | 10:22 PM | 🔵 | ChromaDB Operates as Optional Subsystem with Graceful Degradation | ~586 | +| #38416 | " | 🔵 | ChromaDB Is Critical Not Optional - Log Audit Findings Challenged | ~405 | +| #38202 | 7:38 PM | 🔵 | ChromaSync Service Architecture | ~516 | \ No newline at end of file diff --git a/src/services/sync/ChromaSync.ts b/src/services/sync/ChromaSync.ts index 53bda769..740ebaf7 100644 --- a/src/services/sync/ChromaSync.ts +++ b/src/services/sync/ChromaSync.ts @@ -182,7 +182,7 @@ export class ChromaSync { } // Only attempt creation if it's genuinely a "collection not found" error - logger.warn('CHROMA_SYNC', 'Collection check failed, attempting to create', { collection: this.collectionName }, error as Error); + logger.error('CHROMA_SYNC', 'Collection check failed, attempting to create', { collection: this.collectionName }, error as Error); logger.info('CHROMA_SYNC', 'Creating collection', { collection: this.collectionName }); try { @@ -826,13 +826,13 @@ export class ChromaSync { throw error; } - const resultText = logger.happyPathError( - 'CHROMA', - 'Missing text in MCP chroma_query_documents result', - { project: this.project }, - { query_text: query }, - result.content[0]?.text || '' - ); + const resultText = result.content[0]?.text || (() => { + logger.error('CHROMA', 'Missing text in MCP chroma_query_documents result', { + project: this.project, + query_text: query + }); + return ''; + })(); // Parse JSON response let parsed: any; diff --git a/src/services/worker-service.ts b/src/services/worker-service.ts index fdcb88af..29ddd563 100644 --- a/src/services/worker-service.ts +++ b/src/services/worker-service.ts @@ -287,7 +287,7 @@ export class WorkerService { }); } }).catch(error => { - logger.warn('SYSTEM', 'Auto-recovery of pending queues failed', {}, error as Error); + logger.error('SYSTEM', 'Auto-recovery of pending queues failed', {}, error as Error); }); } catch (error) { logger.error('SYSTEM', 'Background initialization failed', {}, error as Error); @@ -366,7 +366,7 @@ export class WorkerService { await new Promise(resolve => setTimeout(resolve, 100)); } catch (error) { - logger.warn('SYSTEM', `Failed to process session ${sessionDbId}`, {}, error as Error); + logger.error('SYSTEM', `Failed to process session ${sessionDbId}`, {}, error as Error); result.sessionsSkipped++; } } diff --git a/src/services/worker/BranchManager.ts b/src/services/worker/BranchManager.ts index 3987d553..26ed5c45 100644 --- a/src/services/worker/BranchManager.ts +++ b/src/services/worker/BranchManager.ts @@ -242,7 +242,7 @@ export async function switchBranch(targetBranch: string): Promise } } catch (recoveryError) { // [POSSIBLY RELEVANT]: Recovery checkout failed, user needs manual intervention - already logging main error above - logger.warn('BRANCH', 'Recovery checkout also failed', { originalBranch: info.branch }, recoveryError as Error); + logger.error('BRANCH', 'Recovery checkout also failed', { originalBranch: info.branch }, recoveryError as Error); } return { diff --git a/src/services/worker/CLAUDE.md b/src/services/worker/CLAUDE.md index 999a7268..6afa6c49 100644 --- a/src/services/worker/CLAUDE.md +++ b/src/services/worker/CLAUDE.md @@ -3,125 +3,47 @@ -### Jan 3, 2026 - -**Search.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 | - -**GeminiAgent.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36637 | 10:47 PM | 🟣 | GeminiAgent Analysis Agent Running But Timed Out After 120 Seconds | ~521 | -| #36620 | 10:43 PM | 🔵 | GeminiAgent Implementation Uses Refactored Session ID Properties | ~508 | -| #36213 | 7:28 PM | 🔄 | Refactored GeminiAgent to Use Shared Utilities | ~596 | - -**SDKAgent.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36625 | 10:44 PM | 🔵 | Documentation and Code Reveal Placeholder Detection Pattern | ~583 | -| #36331 | 8:26 PM | 🔵 | SDKAgent Message Processing Flow | ~366 | -| #36212 | 7:27 PM | 🔄 | Refactored SDKAgent to Use Shared ResponseProcessor | ~616 | - -**TimelineService.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36523 | 9:34 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Services | ~386 | -| #36519 | " | 🔴 | Fixed Type Import Issues Preventing Worker Tests | ~308 | -| #36516 | 9:33 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Search Modules | ~377 | - -**SessionManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36346 | 8:30 PM | 🔄 | Removed pendingProcessingIds Tracking from Message Iterator | ~306 | -| #36345 | " | 🔄 | Removed pendingProcessingIds Initialization in SessionManager | ~281 | -| #36340 | 8:28 PM | 🔵 | Complete Duplicate Bug Analysis via Explore Agent | ~435 | -| #36333 | 8:27 PM | 🔵 | pendingProcessingIds Tracking Across System | ~357 | -| #36314 | 8:25 PM | 🔵 | Message Queue Processing Duplicate Bug Investigation | ~316 | - -**SearchManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 | - -**OpenRouterAgent.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36214 | 7:30 PM | 🔄 | Refactored OpenRouterAgent to Use Shared Utilities | ~703 | - -### Jan 4, 2026 - -**README.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36942 | 2:43 AM | 🔵 | Recent Context Feature Architecture | ~300 | - -**GeminiAgent.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36924 | 2:25 AM | ✅ | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 | -| #36914 | 2:24 AM | 🔵 | Recent commit 4d0a10c fixed multiple GitHub issues | ~365 | -| #36845 | 1:44 AM | 🔵 | GeminiAgent Model Configuration and Rate Limiting | ~527 | -| #36829 | 1:40 AM | 🔵 | PR #542 Review Analysis - Multi-Issue Fix Validation | ~562 | -| #36827 | 1:03 AM | ✅ | Branch diff shows 1,293 insertions and 98 deletions across 15 files | ~464 | -| #36790 | 12:49 AM | 🟣 | GitHub Issue #511 Completed - gemini-3-flash Model Support Added | ~482 | -| #36788 | " | 🟣 | Verified gemini-3-flash Three-Location Synchronization | ~331 | -| #36787 | 12:48 AM | 🟣 | Completed gemini-3-flash Support with Runtime Validation | ~382 | -| #36786 | " | 🟣 | Added gemini-3-flash Rate Limit to GEMINI_RPM_LIMITS | ~359 | -| #36785 | " | 🟣 | Added gemini-3-flash Model to GeminiModel Type Union | ~344 | -| #36784 | 12:47 AM | 🔵 | Current Gemini Model Support in GeminiAgent | ~428 | -| #36781 | 12:45 AM | 🔵 | Complete GeminiAgent Model Configuration Gap Analysis | ~552 | -| #36778 | 12:44 AM | 🔵 | GeminiAgent Model Type and RPM Limits Definition | ~395 | -| #36761 | 12:36 AM | ✅ | Created Implementation Plans for Four GitHub Issues | ~507 | -| #36757 | 12:33 AM | 🔵 | Issue #511 Root Cause Identified - Gemini-3-Flash Configuration Mismatch | ~416 | -| #36753 | " | 🔵 | GeminiAgent Implementation Details Examined | ~361 | - -**SessionManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36730 | 12:26 AM | ⚖️ | Revised Memory Leak Fix Strategy for Issue #532 | ~412 | -| #36714 | 12:12 AM | 🔵 | Memory Leak Analysis Report for Issue #532 Generated | ~531 | -| #36712 | 12:11 AM | 🔵 | Memory Leak Analysis for Issue #532 Documented | ~646 | - -**SDKAgent.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36716 | 12:13 AM | 🔵 | Issue #514 Orphaned .jsonl Session Files Analysis | ~616 | -| #36713 | 12:11 AM | 🔵 | Issue #520 Stuck Messages Already Resolved | ~569 | - ### Jan 5, 2026 -**SearchManager.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #38080 | 9:55 PM | 🔴 | Critical Date Preservation Fix for Folder CLAUDE.md Timeline Accuracy | ~534 | -| #38036 | 9:43 PM | 🟣 | Configurable Observation Limits and Enhanced Folder Search | ~418 | -| #37979 | 8:33 PM | 🔴 | Fixed date parsing to use API date headers instead of "today" | ~315 | -| #37978 | " | 🔵 | Regenerated CLAUDE.md files across entire repository | ~268 | -| #37970 | 8:31 PM | 🔴 | Fixed Date Parsing Bug in By-File API Endpoint | ~402 | -| #37654 | 5:51 PM | 🔵 | SearchManager imports logger as foundational dependency for search operations | ~358 | +| #37751 | 6:21 PM | 🔴 | OpenRouterAgent Fully Updated with projectRoot Threading | ~307 | +| #37748 | " | ✅ | OpenRouterAgent Observation Handler Updated with lastCwd | ~276 | +| #37746 | 6:20 PM | ✅ | GeminiAgent Summary Handler Updated with lastCwd | ~278 | +| #37745 | " | ✅ | OpenRouterAgent Init Prompt Call Updated with undefined projectRoot | ~299 | +| #37744 | " | ✅ | GeminiAgent First processAgentResponse Updated with lastCwd | ~274 | +| #37743 | " | ✅ | Added lastCwd Tracking to OpenRouterAgent | ~265 | +| #37742 | 6:19 PM | ✅ | Phase 3 Started: Added lastCwd Tracking to GeminiAgent | ~291 | +| #37741 | " | 🔵 | OpenRouterAgent Structure Analyzed for Phase 3 Implementation | ~367 | +| #37740 | " | 🔵 | SDKAgent Structure Analyzed for Phase 3 Implementation | ~430 | +| #37739 | 6:18 PM | 🔵 | GeminiAgent Structure Analyzed for Phase 3 Implementation | ~381 | +| #37737 | 6:16 PM | 🔵 | Identified processAgentResponse Callers for Phase 3 | ~275 | +| #37701 | 6:01 PM | 🔵 | Complete cwd data flow traced from hooks through observation processing | ~447 | +| #37421 | 1:06 AM | 🔵 | Identified by-file API endpoint usage across codebase | ~406 | +| #37416 | 1:02 AM | 🔴 | Fixed find_by_file Parameter Handling for Comma-Separated Values | ~375 | +| #37415 | " | 🟣 | SearchManager Parameter Normalization Enhanced for Folder Queries | ~406 | +| #37414 | 1:01 AM | 🔵 | SearchManager findByFile Uses filePath Parameter for File Search | ~429 | +| #37413 | " | 🔵 | Hybrid Search Strategy: Metadata-First with Semantic Ranking | ~475 | +| #37391 | 12:48 AM | ✅ | Staged 23 CLAUDE.md files with mix of new and modified content | ~400 | +| #37390 | 12:47 AM | ✅ | Regenerated 23 CLAUDE.md files in budapest workspace | ~365 | + +### Jan 7, 2026 -**SettingsManager.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 | - -**DatabaseManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37653 | 5:50 PM | 🔵 | DatabaseManager imports logger demonstrating widespread logger dependency | ~363 | - -**SessionManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37626 | 5:35 PM | 🔵 | FormatTool Function Usage Across Codebase | ~493 | -| #37538 | 4:45 PM | 🔵 | SessionManager formatTool Call Occurs After Database Persistence | ~351 | - -### Jan 6, 2026 - -**BranchManager.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38105 | 12:14 AM | 🔵 | Windows Console Popup Flash Issue Documented and Fixed | ~455 | +| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 | +| #38437 | 10:24 PM | 🔵 | Claude-mem core functionality and logging patterns identified | ~710 | +| #38433 | " | 🔵 | SessionManager Uses ERROR Logging for Database Persistence Failures | ~503 | +| #38431 | " | 🔵 | ERROR-Level Logging Used Across 21 Source Files | ~480 | +| #38425 | " | ⚖️ | Log Level Architecture: Fail-Critical Over Fail-Fast for Chroma | ~467 | +| #38418 | 10:22 PM | 🔵 | ChromaDB Operates as Optional Subsystem with Graceful Degradation | ~586 | +| #38416 | " | 🔵 | ChromaDB Is Critical Not Optional - Log Audit Findings Challenged | ~405 | +| #38405 | 10:07 PM | ⚖️ | DEBUG Log Level Analysis - One Message Requires WARN Promotion | ~819 | +| #38404 | 10:06 PM | ⚖️ | Log Level Audit Analysis - WARN to ERROR Promotion Criteria Established | ~769 | +| #38372 | 9:43 PM | 🔵 | Logging Anti-Pattern Found: Critical Errors Logged as DEBUG Instead of ERROR | ~464 | +| #38354 | 9:10 PM | 🔵 | Provider Selection Architecture and Default Settings Location | ~478 | +| #38353 | " | 🔵 | Session ID Architecture and Message Yielding for SDK Interaction | ~536 | +| #38253 | 7:47 PM | 🔵 | SDK Agent Implementation with Resume Logic | ~1036 | +| #38250 | 7:46 PM | 🔵 | Session Manager Event-Driven Architecture | ~865 | +| #38248 | 7:45 PM | 🔵 | OpenRouter Agent Implementation | ~851 | \ No newline at end of file diff --git a/src/services/worker/GeminiAgent.ts b/src/services/worker/GeminiAgent.ts index 53ff2627..9674a2d7 100644 --- a/src/services/worker/GeminiAgent.ts +++ b/src/services/worker/GeminiAgent.ts @@ -166,7 +166,7 @@ export class GeminiAgent { 'Gemini' ); } else { - logger.warn('SDK', 'Empty Gemini init response - session may lack context', { + logger.error('SDK', 'Empty Gemini init response - session may lack context', { sessionId: session.sessionDbId, model }); @@ -355,7 +355,7 @@ export class GeminiAgent { const data = await response.json() as GeminiResponse; if (!data.candidates?.[0]?.content?.parts?.[0]?.text) { - logger.warn('SDK', 'Empty response from Gemini'); + logger.error('SDK', 'Empty response from Gemini'); return { content: '' }; } diff --git a/src/services/worker/OpenRouterAgent.ts b/src/services/worker/OpenRouterAgent.ts index cf536958..195e35a4 100644 --- a/src/services/worker/OpenRouterAgent.ts +++ b/src/services/worker/OpenRouterAgent.ts @@ -125,7 +125,7 @@ export class OpenRouterAgent { undefined // No lastCwd yet - before message processing ); } else { - logger.warn('SDK', 'Empty OpenRouter init response - session may lack context', { + logger.error('SDK', 'Empty OpenRouter init response - session may lack context', { sessionId: session.sessionDbId, model }); @@ -372,7 +372,7 @@ export class OpenRouterAgent { } if (!data.choices?.[0]?.message?.content) { - logger.warn('SDK', 'Empty response from OpenRouter'); + logger.error('SDK', 'Empty response from OpenRouter'); return { content: '' }; } diff --git a/src/services/worker/SearchManager.ts b/src/services/worker/SearchManager.ts index e52cea8d..243cd4a4 100644 --- a/src/services/worker/SearchManager.ts +++ b/src/services/worker/SearchManager.ts @@ -411,7 +411,7 @@ export class SearchManager { } } } catch (chromaError) { - logger.warn('SEARCH', 'Chroma search failed for timeline, continuing without semantic results', {}, chromaError as Error); + logger.error('SEARCH', 'Chroma search failed for timeline, continuing without semantic results', {}, chromaError as Error); } } @@ -679,7 +679,7 @@ export class SearchManager { } } } catch (chromaError) { - logger.warn('SEARCH', 'Chroma search failed for decisions, falling back to metadata search', {}, chromaError as Error); + logger.error('SEARCH', 'Chroma search failed for decisions, falling back to metadata search', {}, chromaError as Error); } } @@ -747,7 +747,7 @@ export class SearchManager { } } } catch (chromaError) { - logger.warn('SEARCH', 'Chroma search failed for changes, falling back to metadata search', {}, chromaError as Error); + logger.error('SEARCH', 'Chroma search failed for changes, falling back to metadata search', {}, chromaError as Error); } } diff --git a/src/services/worker/agents/CLAUDE.md b/src/services/worker/agents/CLAUDE.md index 92fe7043..adfdcb11 100644 --- a/src/services/worker/agents/CLAUDE.md +++ b/src/services/worker/agents/CLAUDE.md @@ -3,80 +3,5 @@ -### Jan 3, 2026 - -**ResponseProcessor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36689 | 11:56 PM | 🔵 | PR #538 Review Findings - Modular Architecture Refactor | ~590 | -| #36640 | 10:56 PM | 🔵 | ResponseProcessor Validates memorySessionId Before Storage | ~438 | -| #36352 | 8:32 PM | 🔴 | Fixed Duplicate Observation Storage in ResponseProcessor | ~386 | -| #36340 | 8:28 PM | 🔵 | Complete Duplicate Bug Analysis via Explore Agent | ~435 | -| #36333 | 8:27 PM | 🔵 | pendingProcessingIds Tracking Across System | ~357 | -| #36206 | 7:24 PM | 🟣 | Created ResponseProcessor Module | ~621 | - -**FallbackErrorHandler.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 | -| #36627 | 10:44 PM | 🔵 | FallbackErrorHandler Implements Pattern-Based Error Classification | ~445 | -| #36522 | 9:34 PM | 🟣 | Phase 2 Worker Agent Tests Implemented | ~390 | -| #36518 | " | 🟣 | Phase 2 Test Suite Implementation Complete | ~348 | -| #36515 | 9:33 PM | 🟣 | Phase 2 Worker Agents Test Suite Implementation | ~422 | -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | -| #36210 | 7:25 PM | 🟣 | Created FallbackErrorHandler Module | ~533 | - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36637 | 10:47 PM | 🟣 | GeminiAgent Analysis Agent Running But Timed Out After 120 Seconds | ~521 | -| #36622 | 10:43 PM | 🔵 | Agent Module Architecture Consolidates Shared Functionality | ~396 | -| #36418 | 8:57 PM | 🔄 | Agent Shared Logic Consolidation | ~441 | -| #36211 | 7:26 PM | 🟣 | Created Agent Consolidation Index Module | ~520 | - -**index.js** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36525 | 9:34 PM | 🔵 | Test Import Strategy for Avoiding Module Side Effects | ~358 | -| #36521 | " | ⚖️ | Test Import Strategy: Direct Imports Over Barrel Exports | ~321 | - -**ObservationBroadcaster.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36443 | 9:01 PM | 🔴 | SSE Broadcasting Field Name Corrections | ~405 | -| #36207 | 7:24 PM | 🟣 | Created ObservationBroadcaster Module | ~480 | - -**SessionCleanupHelper.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36441 | 9:01 PM | 🔵 | Session Cleanup with Claim-and-Delete Queue Pattern | ~393 | -| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 | -| #36314 | " | 🔵 | Message Queue Processing Duplicate Bug Investigation | ~316 | -| #36208 | 7:25 PM | 🟣 | Created SessionCleanupHelper Module | ~527 | - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36432 | 9:00 PM | 🔵 | Agent Types Support Testing Without Worker Context | ~378 | -| #36201 | 7:23 PM | 🟣 | Created Shared Agent Types Module | ~565 | - -### Jan 4, 2026 - -**ResponseProcessor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36712 | 12:11 AM | 🔵 | Memory Leak Analysis for Issue #532 Documented | ~646 | - -### Jan 5, 2026 - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | - -**ResponseProcessor.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38051 | 9:46 PM | 🔵 | Live Context Integration in ResponseProcessor | ~523 | -| #37999 | 9:02 PM | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 | +*No recent activity* \ No newline at end of file diff --git a/src/services/worker/agents/ResponseProcessor.ts b/src/services/worker/agents/ResponseProcessor.ts index 5aa0c7fd..8dabdbcc 100644 --- a/src/services/worker/agents/ResponseProcessor.ts +++ b/src/services/worker/agents/ResponseProcessor.ts @@ -185,7 +185,7 @@ async function syncAndBroadcastObservations( title: obs.title || '(untitled)' }); }).catch((error) => { - logger.warn('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, { + logger.error('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, { obsId, type: obs.type, title: obs.title || '(untitled)' @@ -269,7 +269,7 @@ async function syncAndBroadcastSummary( request: summaryForStore.request || '(no request)' }); }).catch((error) => { - logger.warn('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, { + logger.error('CHROMA', `${agentName} chroma sync failed, continuing without vector search`, { summaryId: result.summaryId, request: summaryForStore.request || '(no request)' }, error); diff --git a/src/services/worker/http/CLAUDE.md b/src/services/worker/http/CLAUDE.md index b80ac5e2..adfdcb11 100644 --- a/src/services/worker/http/CLAUDE.md +++ b/src/services/worker/http/CLAUDE.md @@ -3,56 +3,5 @@ -### Dec 28, 2025 - -**BaseRouteHandler.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33396 | 9:53 PM | ✅ | Queue refactoring touched 12 files with net addition of 1021 lines | ~402 | -| #33336 | 3:36 PM | 🔴 | Fixed Windows Worker Crashes and Headers Already Sent Errors | ~351 | -| #33259 | 2:46 PM | 🔴 | Windows Worker Stability Pull Request Created | ~386 | -| #33258 | 2:38 PM | 🔴 | Added headersSent Guard to Error Handler | ~338 | -| #33256 | 2:36 PM | ⚖️ | Implementation Plan for Windows Worker Issues | ~471 | - -### Jan 1, 2026 - -**middleware.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35614 | 10:57 PM | 🔴 | Suppressed /api/logs endpoint logging to reduce noise | ~252 | -| #35612 | " | ✅ | HTTP logging middleware excludes /api/logs polling endpoint | ~262 | -| #35611 | " | 🔵 | HTTP Middleware Architecture in Worker Service | ~360 | - -**BaseRouteHandler.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35433 | 8:43 PM | 🔵 | Try-Catch Block Distribution Across Services | ~372 | - -### Jan 2, 2026 - -**middleware.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 | - -### Jan 3, 2026 - -**middleware.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36689 | 11:56 PM | 🔵 | PR #538 Review Findings - Modular Architecture Refactor | ~590 | - -### Jan 5, 2026 - -**BaseRouteHandler.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 | -| #37662 | " | 🔵 | BaseRouteHandler imports logger demonstrating HTTP layer dependency on logger | ~367 | - -**middleware.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37626 | 5:35 PM | 🔵 | FormatTool Function Usage Across Codebase | ~493 | -| #37537 | 4:45 PM | 🔵 | Middleware formatTool Call Confirmed as Critical Crash Point | ~361 | +*No recent activity* \ No newline at end of file diff --git a/src/services/worker/http/routes/CLAUDE.md b/src/services/worker/http/routes/CLAUDE.md index 0debd8eb..92d5e1a3 100644 --- a/src/services/worker/http/routes/CLAUDE.md +++ b/src/services/worker/http/routes/CLAUDE.md @@ -3,105 +3,57 @@ -### Jan 2, 2026 - -**SessionRoutes.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36103 | 10:25 PM | 🟣 | Generator Crash Recovery with Automatic Restart | ~374 | -| #36079 | 10:10 PM | 🔴 | Fixed Generator Crashes from Silent Chroma Vector Search Failures | ~531 | -| #36066 | 9:55 PM | 🔵 | Session Generator Lifecycle and Error Handling Architecture | ~536 | -| #36008 | 8:15 PM | 🔴 | Fixed Memory Leak in Generator Error Handler | ~358 | -| #36007 | " | 🔵 | Generator Error Handler Missing pendingProcessingIds Clear | ~376 | -| #35998 | 5:32 PM | 🔴 | Critical Session ID Placeholder Bug Fixed to Prevent Transcript Pollution | ~488 | -| #35997 | " | 🟣 | Session Alignment Logging Implemented Across Hook, HTTP, and SDK Layers | ~342 | -| #35994 | 5:18 PM | 🔄 | Session Alignment Logging Updated to Track Memory ID Capture Status | ~334 | -| #35985 | 5:16 PM | 🔵 | Alignment logging implemented across session lifecycle touchpoints | ~377 | -| #35977 | 4:48 PM | 🔵 | Existing alignment logging infrastructure found | ~353 | -| #35971 | 4:47 PM | 🟣 | Added Session Alignment Logging to Session Initialization | ~349 | -| #35970 | " | 🔵 | Session ID Logging Distribution Across Codebase | ~485 | -| #35968 | 4:46 PM | 🔵 | Content-Session API Endpoint Registration | ~280 | -| #35967 | " | 🔵 | Content-Session-Based Observation and Summarize Endpoints with Privacy and Tool Filtering | ~607 | -| #35966 | 4:45 PM | 🔵 | Session Initialization Stage One - Database Setup with Privacy Filtering | ~554 | -| #35964 | " | 🔵 | Session Initialization Two-Stage API Pattern | ~468 | -| #35963 | " | 🔵 | Session Route Endpoints and Crash Recovery Logic | ~634 | -| #35962 | " | 🔵 | Session ID Usage Pattern Distribution | ~309 | -| #35961 | 4:44 PM | 🔵 | SessionRoutes Multi-Provider Agent Selection | ~575 | -| #35936 | 2:56 PM | 🔵 | SessionRoutes Has Catch Block That Marks Failed Messages After Generator Crashes | ~437 | -| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 | -| #35854 | 2:32 PM | 🔵 | Generator Error Handler Marks Processing Messages as Failed | ~505 | - -**SearchRoutes.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35951 | 4:42 PM | 🔵 | Multi-Layer Service Architecture Discovery | ~395 | - -**LogsRoutes.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #35875 | 2:39 PM | 🔵 | Logging UI Architecture Mapped | ~599 | -| #35826 | 2:29 PM | 🔵 | Backend logs API implementation analyzed | ~284 | - -### Jan 3, 2026 - -**SessionRoutes.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36333 | 8:27 PM | 🔵 | pendingProcessingIds Tracking Across System | ~357 | -| #36323 | 8:25 PM | 🔵 | Message Queue Architecture Scope Expanded | ~302 | - ### Jan 4, 2026 -**SearchRoutes.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36942 | 2:43 AM | 🔵 | Recent Context Feature Architecture | ~300 | - -**SettingsRoutes.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36781 | 12:45 AM | 🔵 | Complete GeminiAgent Model Configuration Gap Analysis | ~552 | -| #36768 | 12:42 AM | 🔵 | Gemini Model Validation in SettingsRoutes | ~397 | -| #36757 | 12:33 AM | 🔵 | Issue #511 Root Cause Identified - Gemini-3-Flash Configuration Mismatch | ~416 | -| #36755 | " | 🔵 | SettingsRoutes Validation Includes gemini-3-flash | ~344 | -| #36754 | " | 🔵 | Gemini-3-Flash Model Already Supported | ~301 | - -**SessionRoutes.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36730 | 12:26 AM | ⚖️ | Revised Memory Leak Fix Strategy for Issue #532 | ~412 | -| #36714 | 12:12 AM | 🔵 | Memory Leak Analysis Report for Issue #532 Generated | ~531 | -| #36712 | 12:11 AM | 🔵 | Memory Leak Analysis for Issue #532 Documented | ~646 | +| #37327 | 11:44 PM | ✅ | Cleaned Up Auto-Generated CLAUDE.md Files | ~352 | +| #37326 | " | ✅ | Staged All Changes for Commit | ~386 | +| #37325 | " | ✅ | Staged PR #554 Implementation Files | ~373 | +| #37324 | " | ✅ | Cleaned Up Auto-Generated CLAUDE.md Files | ~392 | +| #37323 | " | ✅ | Cleanup Completed - 31 Auto-Generated CLAUDE.md Files Deleted | ~411 | +| #37286 | 11:07 PM | ✅ | Phase 1 Settings Patch Applied Successfully | ~249 | +| #37282 | 11:06 PM | ✅ | Phase 1 Settings Patch Created | ~284 | +| #37280 | " | 🔵 | Feature Branch Missing FOLDER_CLAUDEMD_ENABLED Setting | ~251 | +| #37272 | 11:02 PM | ✅ | Phase 1 Verification Complete - All Checks Pass | ~275 | +| #37270 | " | 🔵 | Settings Routes Already Include FOLDER_CLAUDEMD_ENABLED | ~333 | +| #37267 | 11:00 PM | ✅ | Added CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED to Settings Validation | ~284 | +| #37266 | 10:59 PM | 🟣 | Added FOLDER_CLAUDEMD_ENABLED to Settings Routes Handler | ~329 | +| #37259 | 10:32 PM | ⚖️ | Implementation Plan Created for PR #554 Enhancements | ~621 | +| #37258 | 10:31 PM | ⚖️ | Comprehensive Implementation Plan Created for PR #554 Review Fixes | ~722 | +| #37257 | 10:29 PM | 🔵 | Regenerate Script and Settings Infrastructure Analyzed | ~563 | +| #37255 | " | 🔵 | Folder CLAUDE.md Integration Flow Mapped | ~550 | ### Jan 5, 2026 -**CLAUDE.md** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | +| #37947 | 8:10 PM | 🔵 | Context injection generates formatted context via generateContext function | ~332 | +| #37838 | 6:55 PM | 🔵 | Complete Hook Architecture Technical Specification | ~704 | +| #37836 | 6:54 PM | 🔵 | Worker Service HTTP API Architecture and Hook Integration Pattern | ~639 | +| #37702 | 6:01 PM | 🔵 | Codebase uses path.join() exclusively with known anchors, no project root resolution pattern exists | ~489 | +| #37701 | " | 🔵 | Complete cwd data flow traced from hooks through observation processing | ~447 | +| #37694 | 5:55 PM | 🔵 | Sessions initialized via SessionManager.initializeSession() with cwd from request body | ~361 | +| #37440 | 1:13 AM | 🔵 | Comprehensive Analysis of Settings and Hard-Coded Limit | ~389 | +| #37435 | " | 🔵 | Settings Validation Limits CLAUDE_MEM_CONTEXT_OBSERVATIONS to 1-200 | ~307 | +| #37421 | 1:06 AM | 🔵 | Identified by-file API endpoint usage across codebase | ~406 | +| #37408 | 12:58 AM | 🔵 | SearchRoutes API Architecture with Worktree Support | ~543 | +| #37391 | 12:48 AM | ✅ | Staged 23 CLAUDE.md files with mix of new and modified content | ~400 | +| #37390 | 12:47 AM | ✅ | Regenerated 23 CLAUDE.md files in budapest workspace | ~365 | -**SearchRoutes.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 | -| #38072 | 9:52 PM | ✅ | Worktree Support Added to Context Injection API | ~526 | +### Jan 7, 2026 -**SessionRoutes.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #37999 | 9:02 PM | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 | -| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 | - -**SettingsRoutes.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37997 | 9:01 PM | 🔵 | SettingsRoutes validation pattern for CLAUDE_MEM_WORKER_HOST | ~320 | -| #37995 | " | 🔵 | CLAUDE_MEM_WORKER_HOST setting implementation pattern | ~304 | -| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 | -| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 | -| #37651 | 5:50 PM | 🔵 | SettingsRoutes uses both logger and SettingsDefaultsManager creating circular dependency exposure | ~404 | -| #37592 | 4:56 PM | ✅ | Phase 3 Anti-Pattern Check Complete - Clean Implementation | ~434 | -| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 | -| #37547 | 4:47 PM | ✅ | Issue #557 Analysis Report Created for Plugin Startup Failure | ~491 | -| #37543 | " | 🔵 | Settings File Auto-Creation Logic Found in SettingsRoutes | ~463 | +| #38467 | 10:29 PM | ⚖️ | Log Level Audit Strategy: Tighten ERROR Messages for Runtime Issue Discovery | ~464 | +| #38456 | 10:26 PM | 🔵 | happyPathError Inline Fallback: Missing CWD When Queueing Observations | ~463 | +| #38453 | " | 🔵 | Generator Exit Patterns: Distinguishing Aborts from Unexpected Failures | ~454 | +| #38437 | 10:24 PM | 🔵 | Claude-mem core functionality and logging patterns identified | ~710 | +| #38431 | " | 🔵 | ERROR-Level Logging Used Across 21 Source Files | ~480 | +| #38405 | 10:07 PM | ⚖️ | DEBUG Log Level Analysis - One Message Requires WARN Promotion | ~819 | +| #38404 | 10:06 PM | ⚖️ | Log Level Audit Analysis - WARN to ERROR Promotion Criteria Established | ~769 | +| #38372 | 9:43 PM | 🔵 | Logging Anti-Pattern Found: Critical Errors Logged as DEBUG Instead of ERROR | ~464 | +| #38356 | 9:16 PM | 🔴 | Fixed AbortController Leak During Crash Recovery | ~384 | +| #38354 | 9:10 PM | 🔵 | Provider Selection Architecture and Default Settings Location | ~478 | +| #38351 | 9:09 PM | 🔵 | AbortController Replacement Without Abort Confirmed at Line 191 | ~434 | \ No newline at end of file diff --git a/src/services/worker/http/routes/SessionRoutes.ts b/src/services/worker/http/routes/SessionRoutes.ts index f9a49ee8..fdf93546 100644 --- a/src/services/worker/http/routes/SessionRoutes.ts +++ b/src/services/worker/http/routes/SessionRoutes.ts @@ -150,7 +150,7 @@ export class SessionRoutes extends BaseRouteHandler { try { const failedCount = pendingStore.markSessionMessagesFailed(session.sessionDbId); if (failedCount > 0) { - logger.warn('SESSION', `Marked messages as failed after generator error`, { + logger.error('SESSION', `Marked messages as failed after generator error`, { sessionId: session.sessionDbId, failedCount }); @@ -168,7 +168,7 @@ export class SessionRoutes extends BaseRouteHandler { if (wasAborted) { logger.info('SESSION', `Generator aborted`, { sessionId: sessionDbId }); } else { - logger.warn('SESSION', `Generator exited unexpectedly`, { sessionId: sessionDbId }); + logger.error('SESSION', `Generator exited unexpectedly`, { sessionId: sessionDbId }); } session.generatorPromise = null; @@ -187,8 +187,10 @@ export class SessionRoutes extends BaseRouteHandler { pendingCount }); - // Create new AbortController for the restarted generator + // Abort OLD controller before replacing to prevent child process leaks + const oldController = session.abortController; session.abortController = new AbortController(); + oldController.abort(); // Small delay before restart setTimeout(() => { @@ -282,7 +284,7 @@ export class SessionRoutes extends BaseRouteHandler { prompt: truncatedPrompt }); }).catch((error) => { - logger.warn('CHROMA', 'User prompt sync failed, continuing without vector search', { + logger.error('CHROMA', 'User prompt sync failed, continuing without vector search', { promptId: latestPrompt.id, prompt: promptText.length > 60 ? promptText.substring(0, 60) + '...' : promptText }, error); @@ -466,13 +468,13 @@ export class SessionRoutes extends BaseRouteHandler { tool_input: cleanedToolInput, tool_response: cleanedToolResponse, prompt_number: promptNumber, - cwd: cwd || logger.happyPathError( - 'SESSION', - 'Missing cwd when queueing observation in SessionRoutes', - { sessionId: sessionDbId }, - { tool_name }, - '' - ) + cwd: cwd || (() => { + logger.error('SESSION', 'Missing cwd when queueing observation in SessionRoutes', { + sessionId: sessionDbId, + tool_name + }); + return ''; + })() }); // Ensure SDK agent is running diff --git a/src/services/worker/search/CLAUDE.md b/src/services/worker/search/CLAUDE.md index 1e6d4eb1..adfdcb11 100644 --- a/src/services/worker/search/CLAUDE.md +++ b/src/services/worker/search/CLAUDE.md @@ -3,46 +3,5 @@ -### Jan 3, 2026 - -**ResultFormatter.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 | -| #36540 | 9:39 PM | 🟣 | ResultFormatter Test Suite Created | ~424 | -| #36533 | 9:35 PM | 🔵 | ResultFormatter for Unified Search Result Display | ~598 | -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | - -**SearchOrchestrator.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36545 | 9:41 PM | 🟣 | Phase 3 Search Strategy Test Suite Completion | ~564 | -| #36544 | 9:40 PM | 🟣 | Phase 3 Search Strategy Test Suite Complete | ~449 | -| #36543 | " | 🟣 | Phase 3 Search Strategy Tests Completed | ~458 | -| #36541 | 9:39 PM | 🟣 | SearchOrchestrator Test Suite Implementation | ~588 | -| #36531 | 9:34 PM | 🔵 | SearchOrchestrator Strategy Selection Logic | ~334 | -| #36529 | " | 🔵 | Search Module Architecture Discovery | ~302 | - -**types.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36538 | 9:38 PM | 🟣 | SQLiteSearchStrategy Test Suite Created | ~527 | -| #36537 | " | 🟣 | HybridSearchStrategy Test Suite Created | ~435 | -| #36536 | " | 🟣 | ChromaSearchStrategy Test Suite Created | ~430 | -| #36523 | 9:34 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Services | ~386 | -| #36519 | " | 🔴 | Fixed Type Import Issues Preventing Worker Tests | ~308 | -| #36516 | 9:33 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Search Modules | ~377 | - -**index.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36527 | 9:34 PM | 🔵 | Search Strategy Architecture Analysis for Phase 3 Testing | ~486 | -| #36421 | 8:58 PM | 🔄 | Search Module Public API Organization | ~393 | - -### Jan 5, 2026 - -**ResultFormatter.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37968 | 8:22 PM | 🔵 | ResultFormatter Uses Epoch Timestamps from Database | ~364 | +*No recent activity* \ No newline at end of file diff --git a/src/services/worker/search/strategies/CLAUDE.md b/src/services/worker/search/strategies/CLAUDE.md index 1cfb9be0..adfdcb11 100644 --- a/src/services/worker/search/strategies/CLAUDE.md +++ b/src/services/worker/search/strategies/CLAUDE.md @@ -3,43 +3,5 @@ -### Jan 3, 2026 - -**SearchStrategy.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36670 | 11:37 PM | ✅ | Resolved merge conflicts by accepting branch changes for 39 files | ~435 | -| #36534 | 9:35 PM | 🔵 | SearchStrategy Interface Pattern | ~341 | -| #36523 | 9:34 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Services | ~386 | -| #36519 | " | 🔴 | Fixed Type Import Issues Preventing Worker Tests | ~308 | -| #36516 | 9:33 PM | 🔴 | Fixed TypeScript Type Import Issues in Worker Search Modules | ~377 | -| #36449 | 9:02 PM | 🔵 | Search Strategy Base Implementation | ~410 | -| #36419 | 8:57 PM | 🔵 | Search Strategy Interface Pattern | ~380 | - -**SQLiteSearchStrategy.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36545 | 9:41 PM | 🟣 | Phase 3 Search Strategy Test Suite Completion | ~564 | -| #36544 | 9:40 PM | 🟣 | Phase 3 Search Strategy Test Suite Complete | ~449 | -| #36538 | 9:38 PM | 🟣 | SQLiteSearchStrategy Test Suite Created | ~527 | -| #36527 | 9:34 PM | 🔵 | Search Strategy Architecture Analysis for Phase 3 Testing | ~486 | -| #36526 | " | 🔵 | SQLite Search Strategy Architecture | ~439 | -| #36451 | 9:02 PM | 🔵 | SQLite Search Strategy Implementation | ~453 | - -**ChromaSearchStrategy.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36543 | 9:40 PM | 🟣 | Phase 3 Search Strategy Tests Completed | ~458 | -| #36536 | 9:38 PM | 🟣 | ChromaSearchStrategy Test Suite Created | ~430 | -| #36530 | 9:34 PM | 🔵 | Chroma Vector Search Strategy Architecture | ~508 | -| #36529 | " | 🔵 | Search Module Architecture Discovery | ~302 | -| #36390 | 8:50 PM | 🔄 | Comprehensive Monolith Refactor with Modular Architecture | ~724 | - -**HybridSearchStrategy.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36537 | 9:38 PM | 🟣 | HybridSearchStrategy Test Suite Created | ~435 | -| #36532 | 9:34 PM | 🔵 | HybridSearchStrategy Four-Step Pattern | ~333 | -| #36528 | " | 🔵 | Hybrid Search Strategy Combining Metadata Filtering with Semantic Ranking | ~525 | -| #36459 | 9:03 PM | 🔵 | Hybrid Search Strategy with Four-Step Algorithm | ~530 | +*No recent activity* \ No newline at end of file diff --git a/src/services/worker/search/strategies/ChromaSearchStrategy.ts b/src/services/worker/search/strategies/ChromaSearchStrategy.ts index d5f86d75..05273f53 100644 --- a/src/services/worker/search/strategies/ChromaSearchStrategy.ts +++ b/src/services/worker/search/strategies/ChromaSearchStrategy.ts @@ -138,7 +138,7 @@ export class ChromaSearchStrategy extends BaseSearchStrategy implements SearchSt }; } catch (error) { - logger.warn('SEARCH', 'ChromaSearchStrategy: Search failed', {}, error as Error); + logger.error('SEARCH', 'ChromaSearchStrategy: Search failed', {}, error as Error); // Return empty result - caller may try fallback strategy return { results: { observations: [], sessions: [], prompts: [] }, diff --git a/src/services/worker/search/strategies/HybridSearchStrategy.ts b/src/services/worker/search/strategies/HybridSearchStrategy.ts index 2a492ec8..909350f0 100644 --- a/src/services/worker/search/strategies/HybridSearchStrategy.ts +++ b/src/services/worker/search/strategies/HybridSearchStrategy.ts @@ -111,7 +111,7 @@ export class HybridSearchStrategy extends BaseSearchStrategy implements SearchSt return this.emptyResult('hybrid'); } catch (error) { - logger.warn('SEARCH', 'HybridSearchStrategy: findByConcept failed', {}, error as Error); + logger.error('SEARCH', 'HybridSearchStrategy: findByConcept failed', {}, error as Error); // Fall back to metadata-only results const results = this.sessionSearch.findByConcept(concept, filterOptions); return { @@ -176,7 +176,7 @@ export class HybridSearchStrategy extends BaseSearchStrategy implements SearchSt return this.emptyResult('hybrid'); } catch (error) { - logger.warn('SEARCH', 'HybridSearchStrategy: findByType failed', {}, error as Error); + logger.error('SEARCH', 'HybridSearchStrategy: findByType failed', {}, error as Error); const results = this.sessionSearch.findByType(type as any, filterOptions); return { results: { observations: results, sessions: [], prompts: [] }, @@ -242,7 +242,7 @@ export class HybridSearchStrategy extends BaseSearchStrategy implements SearchSt return { observations: [], sessions, usedChroma: false }; } catch (error) { - logger.warn('SEARCH', 'HybridSearchStrategy: findByFile failed', {}, error as Error); + logger.error('SEARCH', 'HybridSearchStrategy: findByFile failed', {}, error as Error); const results = this.sessionSearch.findByFile(filePath, filterOptions); return { observations: results.observations, diff --git a/src/services/worker/search/strategies/SQLiteSearchStrategy.ts b/src/services/worker/search/strategies/SQLiteSearchStrategy.ts index 8f5df164..ba9ffc3b 100644 --- a/src/services/worker/search/strategies/SQLiteSearchStrategy.ts +++ b/src/services/worker/search/strategies/SQLiteSearchStrategy.ts @@ -97,7 +97,7 @@ export class SQLiteSearchStrategy extends BaseSearchStrategy implements SearchSt }; } catch (error) { - logger.warn('SEARCH', 'SQLiteSearchStrategy: Search failed', {}, error as Error); + logger.error('SEARCH', 'SQLiteSearchStrategy: Search failed', {}, error as Error); return this.emptyResult('sqlite'); } } diff --git a/src/shared/CLAUDE.md b/src/shared/CLAUDE.md index c07fa8fe..9e374522 100644 --- a/src/shared/CLAUDE.md +++ b/src/shared/CLAUDE.md @@ -3,117 +3,113 @@ -### Jan 2, 2026 +### Nov 10, 2025 -**SettingsDefaultsManager.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35965 | 4:45 PM | ✅ | Removed Session Alignment Debug Mode Setting | ~249 | +| #6295 | 1:18 PM | 🔵 | Path Configuration Structure for claude-mem | ~305 | + +### Dec 5, 2025 -**worker-utils.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35900 | 2:49 PM | 🔵 | Worker Health Checks Use Fetch Without Timeout Configuration | ~397 | +| #20730 | 9:06 PM | 🔵 | Path Configuration Module with ESM/CJS Compatibility | ~578 | +| #20718 | 9:00 PM | 🔵 | Worker Service Auto-Start and Health Check System | ~448 | +| #20410 | 7:21 PM | 🔵 | Path utilities provide cross-runtime directory management with Claude integration support | ~478 | +| #20409 | 7:20 PM | 🔵 | Worker utilities provide automatic PM2 startup with health checking and port configuration | ~479 | + +### Dec 9, 2025 -**paths.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35901 | 2:49 PM | 🔵 | PR #525 File Changes Summary | ~376 | +| #23141 | 6:42 PM | 🔵 | Located getSettingsPath Function in paths.ts | ~261 | +| #23134 | 6:41 PM | ✅ | Set CLAUDE_MEM_SKIP_TOOLS Default Value in SettingsDefaultsManager | ~261 | +| #23133 | " | ✅ | Added CLAUDE_MEM_SKIP_TOOLS to SettingsDefaults Interface | ~231 | +| #23131 | 6:40 PM | 🔵 | SettingsDefaultsManager Structure and Configuration Schema | ~363 | +| #22858 | 2:28 PM | 🔄 | Removed Brittle save.md Validation from paths.ts | ~305 | +| #22852 | 2:26 PM | 🔵 | Located save.md Validation Logic in paths.ts | ~255 | +| #22805 | 2:01 PM | 🔵 | Early Settings Silent Failure Point Identified | ~363 | +| #22803 | " | 🔵 | Worker Utilities Current Implementation Review | ~390 | +| #22518 | 12:59 AM | 🔵 | Worker Utils StartWorker Implementation Uses Plugin Root for PM2 | ~311 | + +### Dec 10, 2025 -**hook-constants.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35890 | 2:47 PM | 🔵 | Hook Exit Codes Define Three States But Not All Hooks Use Them | ~362 | -| #35865 | 2:35 PM | 🔵 | Hook Constants Define Timeouts and Exit Codes | ~445 | +| #23831 | 11:15 PM | 🔵 | Current hook-error-handler.ts References PM2 | ~277 | +| #23830 | " | 🔵 | Current worker-utils.ts Implementation Uses PM2 | ~431 | +| #23812 | 10:49 PM | 🔵 | Current Worker Startup Uses PM2 and PowerShell; Phase 2 Will Replace | ~428 | +| #23811 | " | 🔵 | Existing Paths Configuration for Phase 2 Reference | ~297 | + +### Dec 12, 2025 -**transcript-parser.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #35746 | 1:17 PM | 🔵 | Transcript Parser extractLastMessage Implementation Examined | ~423 | +| #24405 | 8:12 PM | 🔵 | PM2 Legacy Cleanup Migration in Worker Startup | ~303 | +| #24400 | 8:10 PM | 🔵 | Retrieved PM2 Cleanup Implementation Details from Memory | ~355 | +| #24362 | 7:00 PM | 🟣 | Implemented PM2 Cleanup One-Time Marker in worker-utils.ts | ~376 | +| #24361 | " | ✅ | Added File System Imports to worker-utils.ts for PM2 Marker | ~263 | +| #24360 | " | 🔵 | worker-utils.ts Contains PM2 Cleanup Logic Without One-Time Marker | ~390 | -### Jan 4, 2026 +### Dec 13, 2025 -**SettingsDefaultsManager.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36781 | 12:45 AM | 🔵 | Complete GeminiAgent Model Configuration Gap Analysis | ~552 | -| #36757 | 12:33 AM | 🔵 | Issue #511 Root Cause Identified - Gemini-3-Flash Configuration Mismatch | ~416 | -| #36754 | " | 🔵 | Gemini-3-Flash Model Already Supported | ~301 | +| #25088 | 7:18 PM | 🟣 | Added CLAUDE_MEM_EMBEDDING_FUNCTION to Settings Interface | ~269 | -### Jan 5, 2026 +### Dec 14, 2025 -**CLAUDE.md** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 | -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | +| #26790 | 11:38 PM | 🔴 | Fixed Undefined Port Variable in Error Logger | ~340 | +| #26789 | " | 🔴 | Fixed Undefined Port Variable in Error Logging | ~316 | +| #26788 | " | 🔵 | Worker Utils Already Imports Required Dependencies for Implementation | ~283 | +| #26787 | " | 🟣 | Phase 2 Complete: Pre-Restart Delay Added to Version Mismatch Handler | ~436 | +| #26786 | " | 🟣 | Phase 2 Complete: Pre-Restart Delay Added to ensureWorkerVersionMatches Function | ~420 | +| #26785 | 11:37 PM | 🟣 | Phase 1 Complete: PRE_RESTART_SETTLE_DELAY Constant Added to Hook Timeouts | ~351 | +| #26784 | " | 🟣 | Phase 1 Complete: PRE_RESTART_SETTLE_DELAY Constant Added to HOOK_TIMEOUTS | ~370 | +| #26783 | " | 🔵 | Hook Constants File Defines Timeout Values and Platform Multiplier | ~452 | +| #26782 | " | 🔵 | hook-constants.ts Defines Timeout Constants With Windows Platform Multiplier | ~418 | +| #26766 | 11:30 PM | ⚖️ | Root Cause Identified: Missing Post-Install Worker Restart Trigger in Plugin Update Flow | ~604 | +| #26765 | " | 🔵 | Explore Agent Confirms Root Cause: No Proactive Worker Restart After Plugin Updates | ~613 | +| #26732 | 11:25 PM | 🔵 | Worker Utils Implements Version Mismatch Detection and Auto-Restart | ~516 | +| #26731 | 11:24 PM | 🔵 | ensureWorkerRunning Implementation Shows 2.5 Second Startup Wait With Version Check | ~522 | +| #25695 | 4:27 PM | 🟣 | Added comprehensive error logging to transcript parser for debugging message extraction failures | ~473 | +| #25693 | 4:24 PM | 🔵 | Transcript parser extracts messages from JSONL file by scanning backwards for role-specific entries | ~491 | + +### Dec 17, 2025 -**SettingsDefaultsManager.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #38064 | 9:50 PM | ⚖️ | 9.0 Release Documentation Audit Complete - Major Gaps Identified | ~997 | -| #38055 | 9:47 PM | 🔵 | SettingsDefaultsManager Missing CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED Setting | ~549 | -| #38048 | 9:45 PM | 🔴 | PR #558 - Comprehensive Bug Fix and Test Quality Improvement | ~585 | -| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 | -| #37996 | 9:01 PM | 🔵 | SettingsDefaultsManager provides centralized settings management | ~310 | -| #37995 | " | 🔵 | CLAUDE_MEM_WORKER_HOST setting implementation pattern | ~304 | -| #37990 | 9:00 PM | 🔵 | CLAUDE_MEM_WORKER_HOST setting used across 19 files | ~289 | -| #37887 | 7:32 PM | ✅ | Added Cross-Reference Comment for DEFAULT_DATA_DIR Constant | ~361 | -| #37881 | 7:31 PM | 🔵 | SettingsDefaultsManager Implementation Details Examined | ~384 | -| #37785 | 6:37 PM | 🔴 | Completed Removal of All Logger References from SettingsDefaultsManager | ~315 | -| #37784 | " | 🔄 | Replaced Logger Calls with Console Logging in SettingsDefaultsManager | ~331 | -| #37783 | " | 🔄 | Removed Logger Import from SettingsDefaultsManager | ~323 | -| #37779 | 6:36 PM | 🔵 | SettingsDefaultsManager Uses Logger Methods | ~375 | -| #37774 | 6:35 PM | 🔵 | Circular Dependency Between Logger and SettingsDefaultsManager | ~326 | -| #37773 | " | 🔵 | SettingsDefaultsManager Uses Logger Import | ~267 | -| #37665 | 5:52 PM | 🔵 | Codebase uses dependency injection and lazy initialization patterns to avoid circular dependencies | ~548 | -| #37632 | 5:37 PM | 🔵 | SettingsDefaultsManager Circular Dependency with Logger Confirmed | ~556 | -| #37628 | 5:36 PM | 🔴 | Test Execution Shows Logger Circular Dependency Error | ~596 | -| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 | -| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 | -| #37593 | 4:56 PM | 🟣 | Phase 3 Committed - Settings Auto-Creation Implemented | ~386 | -| #37592 | " | ✅ | Phase 3 Anti-Pattern Check Complete - Clean Implementation | ~434 | -| #37590 | 4:55 PM | 🟣 | Phase 3 Complete - Settings Auto-Creation Implemented | ~400 | -| #37589 | " | 🟣 | Implemented Settings File Auto-Creation in loadFromFile | ~385 | -| #37588 | " | ✅ | Added Required Imports for Settings File Creation | ~291 | -| #37587 | 4:54 PM | 🔵 | SettingsDefaultsManager Missing File Auto-Creation | ~374 | -| #37548 | 4:48 PM | ✅ | Issue #543 Analysis Report Created for Slash Command Availability | ~540 | -| #37547 | 4:47 PM | ✅ | Issue #557 Analysis Report Created for Plugin Startup Failure | ~491 | -| #37535 | 4:44 PM | 🔵 | Settings Defaults Manager Implementation Analysis | ~447 | +| #28464 | 4:25 PM | 🔵 | Platform-Adjusted Hook Timeout Configuration | ~468 | +| #28461 | " | 🔵 | Dual ESM/CJS Path Resolution System | ~479 | +| #28452 | 4:23 PM | 🔵 | Worker Version Matching and Auto-Restart System | ~510 | + +### Dec 18, 2025 -**worker-utils.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #38012 | 9:12 PM | ✅ | Completed Phase 1: Added getWorkerHost() import and replaced hard-coded localhost | ~319 | -| #38000 | 9:02 PM | 🔵 | Mixed usage of hard-coded 127.0.0.1 vs getWorkerHost() | ~347 | -| #37999 | " | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 | -| #37998 | " | 🔵 | worker-utils.ts provides cached host and port accessors | ~360 | +| #29797 | 7:09 PM | 🔵 | Settings System Uses CLAUDE_MEM_MODE for Mode Selection | ~353 | +| #29234 | 12:10 AM | 🔵 | Centralized Settings Management with Environment Defaults | ~394 | + +### Dec 20, 2025 -**timeline-formatting.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #37967 | 8:21 PM | 🔵 | Timeline Formatting Utilities Provide Correct Date Functions | ~384 | +| #31086 | 7:59 PM | 🔵 | Transcript Parser Extracts Messages from JSONL Hook Files | ~327 | +| #30939 | 6:57 PM | 🔵 | Worker Utils File Examined for Error Handling Inconsistency | ~393 | +| #30855 | 6:22 PM | 🔵 | Transcript Parser Content Format Handling Examined | ~406 | + +### Dec 25, 2025 -**hook-constants.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #37558 | 4:49 PM | 🔵 | Issue #555 Windows Hook Execution Patterns and Fix Strategy Documented | ~510 | -| #37552 | 4:48 PM | 🔵 | Hook Timeout Configuration and Windows Multiplier | ~352 | +| #32616 | 8:43 PM | 🔵 | Comprehensive analysis of "enable billing" setting and its impact on rate limiting | ~533 | +| #32538 | 7:28 PM | ✅ | Set default Gemini billing to disabled | ~164 | + +### Jan 7, 2026 -**paths.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #37536 | 4:44 PM | 🔵 | Path Configuration and Directory Initialization Logic | ~430 | - -### Jan 6, 2026 - -**worker-utils.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38108 | 12:15 AM | 🔵 | Complete Windows Zombie Port Bug Technical Deep Dive | ~935 | - -**hook-constants.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 | +| #38175 | 7:26 PM | 🔵 | Complete Claude-Mem Hook Output Architecture Documented | ~530 | \ No newline at end of file diff --git a/src/shared/hook-constants.ts b/src/shared/hook-constants.ts index b6a9e582..ab788e46 100644 --- a/src/shared/hook-constants.ts +++ b/src/shared/hook-constants.ts @@ -9,12 +9,17 @@ export const HOOK_TIMEOUTS = { /** * Hook exit codes for Claude Code + * + * Exit code behavior per Claude Code docs: + * - 0: Success. For SessionStart/UserPromptSubmit, stdout added to context. + * - 2: Blocking error. For SessionStart, stderr shown to user only. + * - Other non-zero: stderr shown in verbose mode only. */ export const HOOK_EXIT_CODES = { SUCCESS: 0, FAILURE: 1, - /** Show user message that Claude does NOT receive as context */ - USER_MESSAGE_ONLY: 3, + /** Blocking error - for SessionStart, shows stderr to user only */ + BLOCKING_ERROR: 2, } as const; export function getTimeout(baseTimeout: number): number { diff --git a/src/utils/CLAUDE.md b/src/utils/CLAUDE.md index bf60d5f4..adfdcb11 100644 --- a/src/utils/CLAUDE.md +++ b/src/utils/CLAUDE.md @@ -3,81 +3,5 @@ -### Jan 5, 2026 - -**claude-md-utils.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38086 | 10:42 PM | ✅ | Merged PR with comprehensive CLAUDE.md documentation system | ~478 | -| #38080 | 9:55 PM | 🔴 | Critical Date Preservation Fix for Folder CLAUDE.md Timeline Accuracy | ~534 | -| #38049 | 9:46 PM | 🔵 | Live Context Core Implementation in claude-md-utils.ts | ~585 | -| #38047 | 9:45 PM | 🔴 | PR #556 Review Items - Worker Host Configuration and Path Resolution | ~389 | -| #38025 | 9:15 PM | 🔴 | Fixed PR #556 review items and committed changes | ~344 | -| #38024 | " | ✅ | Git status shows modified source files and auto-updated CLAUDE.md files | ~295 | -| #38022 | " | ✅ | Phase 3 complete: Worktree detection test coverage verified by agent | ~391 | -| #38015 | 9:13 PM | 🔴 | Enhanced error logging with message and stack trace details | ~313 | -| #38014 | " | ✅ | Enhanced error logging with message and stack details | ~309 | -| #38013 | 9:12 PM | ✅ | Verified removal of hard-coded localhost from claude-md-utils.ts | ~209 | -| #38012 | " | ✅ | Completed Phase 1: Added getWorkerHost() import and replaced hard-coded localhost | ~319 | -| #38011 | " | 🔴 | Fixed hard-coded localhost in claude-md-utils.ts | ~281 | -| #38010 | " | ✅ | Replaced hard-coded 127.0.0.1 with getWorkerHost() in claude-md-utils.ts | ~270 | -| #38009 | " | 🔴 | Added getWorkerHost import to claude-md-utils.ts | ~246 | -| #38005 | 9:03 PM | 🔵 | Comprehensive exploration of PR review items completed | ~438 | -| #37993 | 9:01 PM | 🔵 | Identified hard-coded localhost in claude-md-utils.ts line 260 | ~352 | -| #37992 | 9:00 PM | 🔵 | Located claude-md-utils.ts for fixing hard-coded host | ~182 | -| #37979 | 8:33 PM | 🔴 | Fixed date parsing to use API date headers instead of "today" | ~315 | -| #37978 | " | 🔵 | Regenerated CLAUDE.md files across entire repository | ~268 | -| #37971 | 8:32 PM | 🔴 | Fixed Date Parsing in CLAUDE.md Generator to Use API Date Headers | ~388 | -| #37966 | 8:21 PM | 🔵 | Date Parsing Bug Located in claude-md-utils.ts | ~383 | - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 | -| #37976 | 8:33 PM | 🔵 | CLAUDE.md shows recent entries with correct January 2026 dates | ~287 | - -**worktree.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38076 | 9:53 PM | 🟣 | Worktree-Aware Project Filtering for Unified Timeline Context | ~578 | - -**logger.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38048 | 9:45 PM | 🔴 | PR #558 - Comprehensive Bug Fix and Test Quality Improvement | ~585 | -| #37890 | 7:32 PM | ✅ | Committed DEFAULT_DATA_DIR Cross-Reference Documentation | ~326 | -| #37888 | " | ✅ | Logger DEFAULT_DATA_DIR Comment Updated to Cross-Reference SettingsDefaultsManager | ~311 | -| #37887 | " | ✅ | Added Cross-Reference Comment for DEFAULT_DATA_DIR Constant | ~361 | -| #37885 | " | ✅ | Added Cross-Reference Comment to Prevent DEFAULT_DATA_DIR Drift | ~344 | -| #37880 | 7:31 PM | 🔵 | Logger Implementation Uses Inline DEFAULT_DATA_DIR to Avoid Circular Dependency | ~354 | -| #37808 | 6:43 PM | 🔵 | Logger Module Only References SettingsDefaultsManager in Comments | ~357 | -| #37804 | 6:42 PM | 🔴 | Added readFileSync Import to Logger Module | ~257 | -| #37803 | " | 🔴 | Eliminated SettingsDefaultsManager Dependency from Logger Completely | ~375 | -| #37791 | 6:39 PM | 🔵 | Logger Module Exports formatTool Correctly in Direct Import | ~318 | -| #37781 | 6:36 PM | 🔴 | Added Lazy Log File Initialization to Logger Log Method | ~291 | -| #37780 | " | 🔴 | Fixed Circular Dependency Between Logger and SettingsDefaultsManager | ~426 | -| #37779 | " | 🔵 | SettingsDefaultsManager Uses Logger Methods | ~375 | -| #37778 | " | 🔵 | Logger Module Implementation Has formatTool Method | ~393 | -| #37774 | 6:35 PM | 🔵 | Circular Dependency Between Logger and SettingsDefaultsManager | ~326 | -| #37689 | 5:55 PM | 🔵 | Logger constructor immediately calls initializeLogFile which accesses SettingsDefaultsManager | ~409 | -| #37645 | 5:49 PM | 🔵 | Logger imports SettingsDefaultsManager for data directory and log level configuration | ~449 | -| #37642 | 5:41 PM | 🟣 | Second Task Agent Independently Created and Verified FormatTool Tests | ~544 | -| #37628 | 5:36 PM | 🔴 | Test Execution Shows Logger Circular Dependency Error | ~596 | -| #37627 | 5:35 PM | 🔵 | FormatTool Function Implementation and Fix Details | ~600 | -| #37626 | " | 🔵 | FormatTool Function Usage Across Codebase | ~493 | -| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 | -| #37613 | 5:31 PM | 🔵 | PR #558 Review Feedback Analysis | ~544 | -| #37575 | 4:52 PM | 🔴 | Phase 1 Committed - formatTool JSON.parse Fix | ~364 | - -**tag-stripping.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 | - -### Jan 6, 2026 - -**bun-path.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38104 | 12:14 AM | 🔵 | Windows Compatibility Issues Documented Across 56 Memory Entries | ~509 | +*No recent activity* \ No newline at end of file diff --git a/src/utils/claude-md-utils.ts b/src/utils/claude-md-utils.ts index 92fb30f4..07ffba87 100644 --- a/src/utils/claude-md-utils.ts +++ b/src/utils/claude-md-utils.ts @@ -16,6 +16,43 @@ import { getWorkerHost } from '../shared/worker-utils.js'; const SETTINGS_PATH = path.join(os.homedir(), '.claude-mem', 'settings.json'); +/** + * Validate that a file path is safe for CLAUDE.md generation. + * Rejects tilde paths, URLs, command-like strings, and paths with invalid chars. + * + * @param filePath - The file path to validate + * @param projectRoot - Optional project root for boundary checking + * @returns true if path is valid for CLAUDE.md processing + */ +function isValidPathForClaudeMd(filePath: string, projectRoot?: string): boolean { + // Reject empty or whitespace-only + if (!filePath || !filePath.trim()) return false; + + // Reject tilde paths (Node.js doesn't expand ~) + if (filePath.startsWith('~')) return false; + + // Reject URLs + if (filePath.startsWith('http://') || filePath.startsWith('https://')) return false; + + // Reject paths with spaces (likely command text or PR references) + if (filePath.includes(' ')) return false; + + // Reject paths with # (GitHub issue/PR references) + if (filePath.includes('#')) return false; + + // If projectRoot provided, ensure path stays within project boundaries + if (projectRoot) { + // For relative paths, resolve against projectRoot; for absolute paths, use directly + const resolved = path.isAbsolute(filePath) ? filePath : path.resolve(projectRoot, filePath); + const normalizedRoot = path.resolve(projectRoot); + if (!resolved.startsWith(normalizedRoot + path.sep) && resolved !== normalizedRoot) { + return false; + } + } + + return true; +} + /** * Replace tagged content in existing file, preserving content outside tags. * @@ -231,6 +268,14 @@ export async function updateFolderClaudeMdFiles( const folderPaths = new Set(); for (const filePath of filePaths) { if (!filePath || filePath === '') continue; + // VALIDATE PATH BEFORE PROCESSING + if (!isValidPathForClaudeMd(filePath, projectRoot)) { + logger.debug('FOLDER_INDEX', 'Skipping invalid file path', { + filePath, + reason: 'Failed path validation' + }); + continue; + } // Resolve relative paths to absolute using projectRoot let absoluteFilePath = filePath; if (projectRoot && !path.isAbsolute(filePath)) { @@ -264,7 +309,7 @@ export async function updateFolderClaudeMdFiles( ); if (!response.ok) { - logger.warn('FOLDER_INDEX', 'Failed to fetch timeline', { folderPath, status: response.status }); + logger.error('FOLDER_INDEX', 'Failed to fetch timeline', { folderPath, status: response.status }); continue; } @@ -281,7 +326,7 @@ export async function updateFolderClaudeMdFiles( } catch (error) { // Fire-and-forget: log warning but don't fail const err = error as Error; - logger.warn('FOLDER_INDEX', 'Failed to update CLAUDE.md', { + logger.error('FOLDER_INDEX', 'Failed to update CLAUDE.md', { folderPath, errorMessage: err.message, errorStack: err.stack diff --git a/src/utils/cursor-utils.ts b/src/utils/cursor-utils.ts index d7374db4..69daf96b 100644 --- a/src/utils/cursor-utils.ts +++ b/src/utils/cursor-utils.ts @@ -42,7 +42,7 @@ export function readCursorRegistry(registryFile: string): CursorProjectRegistry if (!existsSync(registryFile)) return {}; return JSON.parse(readFileSync(registryFile, 'utf-8')); } catch (error) { - logger.warn('CONFIG', 'Failed to read Cursor registry, using empty registry', { + logger.error('CONFIG', 'Failed to read Cursor registry, using empty registry', { file: registryFile, error: error instanceof Error ? error.message : String(error) }); @@ -151,7 +151,7 @@ export function configureCursorMcp(mcpJsonPath: string, mcpServerScriptPath: str config.mcpServers = {}; } } catch (error) { - logger.warn('CONFIG', 'Failed to read MCP config, starting fresh', { + logger.error('CONFIG', 'Failed to read MCP config, starting fresh', { file: mcpJsonPath, error: error instanceof Error ? error.message : String(error) }); diff --git a/src/utils/transcript-parser.ts b/src/utils/transcript-parser.ts index 7ec67394..40c3b10c 100644 --- a/src/utils/transcript-parser.ts +++ b/src/utils/transcript-parser.ts @@ -53,7 +53,7 @@ export class TranscriptParser { // Log summary if there were parse errors if (this.parseErrors.length > 0) { - logger.warn('PARSER', `Failed to parse ${this.parseErrors.length} lines`, { + logger.error('PARSER', `Failed to parse ${this.parseErrors.length} lines`, { path: transcriptPath, totalLines: lines.length, errorCount: this.parseErrors.length diff --git a/tests/CLAUDE.md b/tests/CLAUDE.md index b293d1de..e53fef6c 100644 --- a/tests/CLAUDE.md +++ b/tests/CLAUDE.md @@ -3,131 +3,58 @@ +### Nov 10, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #6358 | 3:14 PM | 🔵 | SDK Agent Spatial Awareness Implementation | ~309 | + +### Nov 21, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #13289 | 2:20 PM | 🟣 | Comprehensive Test Suite for Transcript Transformation | ~320 | + +### Nov 23, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #14617 | 6:15 PM | 🟣 | Test Suite Successfully Passing - All 8 Tests Green | ~498 | +| #14615 | 6:14 PM | 🟣 | YAGNI-Focused Test Suite for Transcript Transformation | ~457 | + +### Dec 5, 2025 + +| ID | Time | T | Title | Read | +|----|------|---|-------|------| +| #20732 | 9:07 PM | 🔵 | Smart Install Version Marker Tests for Upgrade Detection | ~452 | +| #20399 | 7:17 PM | 🔵 | Smart install tests validate version tracking with backward compatibility | ~311 | +| #20392 | 7:15 PM | 🔵 | Memory tag stripping tests validate dual-tag system for JSON context filtering | ~404 | +| #20391 | " | 🔵 | User prompt tag stripping tests validate privacy controls for memory exclusion | ~182 | + ### Jan 3, 2026 -**logger-coverage.test.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36642 | 10:56 PM | 🔵 | Logger Coverage Test Requirements Analysis | ~483 | -| #36641 | " | 🔵 | Logger Coverage Test Suite Enforces Logging Standards | ~433 | -| #36616 | 10:42 PM | 🔵 | Logger Coverage Test Implementation Examined | ~540 | - -**gemini_agent.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36639 | 10:55 PM | 🔵 | GeminiAgent Test Suite Structure | ~428 | -| #36637 | 10:47 PM | 🟣 | GeminiAgent Analysis Agent Running But Timed Out After 120 Seconds | ~521 | -| #36617 | 10:42 PM | 🔵 | GeminiAgent Test File Reveals Integration Requirements | ~506 | - -**session_id_refactor.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36636 | 10:46 PM | 🟣 | Session ID Refactor Analysis Agent Completed Comprehensive Report | ~637 | -| #36615 | 10:42 PM | 🔵 | Session ID Refactor Test File Defines Expected Behavior | ~522 | - -**session_store.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36635 | 10:46 PM | 🟣 | SessionStore Analysis Agent Completed Report Generation | ~545 | -| #36618 | 10:43 PM | 🔵 | SessionStore Test File Specifies Timestamp Override Feature | ~458 | -| #36485 | 9:12 PM | 🟣 | Prompts Module Test Suite Implemented | ~680 | - -**session_id_usage_validation.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36625 | 10:44 PM | 🔵 | Documentation and Code Reveal Placeholder Detection Pattern | ~583 | -| #36619 | 10:43 PM | 🔵 | Session ID Validation Test Architecture Examined | ~705 | - -**worker-spawn.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36570 | 9:54 PM | 🟣 | ProcessManager Infrastructure Test Suite Created | ~535 | +| #36663 | 11:06 PM | ✅ | Third Validation Test Updated: Resume Safety Check Now Uses NULL Comparison | ~417 | +| #36662 | " | ✅ | Second Validation Test Updated: Post-Capture Check Now Uses NULL Comparison | ~418 | +| #36661 | 11:05 PM | ✅ | First Validation Test Updated: Placeholder Detection Now Checks for NULL | ~482 | +| #36660 | " | ✅ | Updated Session ID Usage Validation Test Header to Reflect NULL-Based Architecture | ~588 | +| #36659 | " | ✅ | Sixth Test Fix: Updated Multi-Observation Test to Use Memory Session ID | ~486 | +| #36658 | " | ✅ | Fifth Test Fix: Updated storeSummary Tests to Use Actual Memory Session ID After Capture | ~555 | +| #36657 | 11:04 PM | ✅ | Fourth Test Fix: Updated storeObservation Tests to Use Actual Memory Session ID After Capture | ~547 | +| #36656 | " | ✅ | Third Test Fix: Updated getSessionById Test to Expect NULL for Uncaptured Memory Session ID | ~436 | +| #36655 | " | ✅ | Second Test Fix: Updated updateMemorySessionId Test to Expect NULL Before Update | ~395 | +| #36654 | " | ✅ | First Test Fix: Updated Memory Session ID Initialization Test to Expect NULL | ~426 | +| #36650 | 11:02 PM | 🔵 | Phase 1 Analysis Reveals Implementation-Test Mismatch on NULL vs Placeholder Initialization | ~687 | +| #36648 | " | 🔵 | Session ID Refactor Test Suite Documents Database Migration 17 and Dual ID System | ~651 | +| #36647 | 11:01 PM | 🔵 | SessionStore Test Suite Validates Prompt Counting and Timestamp Override Features | ~506 | +| #36646 | " | 🔵 | Session ID Architecture Revealed Through Test File Analysis | ~611 | ### Jan 4, 2026 -**gemini_agent.test.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36924 | 2:25 AM | ✅ | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 | -| #36908 | 2:01 AM | ✅ | Regression Tests Committed Successfully | ~418 | -| #36907 | " | ✅ | Regression Test Files Staged for Commit | ~317 | -| #36842 | 1:43 AM | 🔵 | Complete Test Framework and Pattern Documentation | ~670 | -| #36836 | 1:42 AM | 🔵 | GeminiAgent Test Coverage and Mocking Patterns | ~513 | -| #36751 | 12:32 AM | 🔵 | Gemini-Related Files Located Across Project | ~242 | - -**session_store.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36840 | 1:43 AM | 🔵 | SessionStore Integration Test Pattern | ~444 | - -### Jan 5, 2026 - -**sdk-agent-resume.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38086 | 10:42 PM | ✅ | Merged PR with comprehensive CLAUDE.md documentation system | ~478 | - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38082 | 10:13 PM | ✅ | Merge Conflict Resolution - Kept Feature Branch Versions | ~431 | - -**gemini_agent.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37819 | 6:44 PM | 🔄 | Replaced Module Mock with SpyOn Approach for SettingsDefaultsManager | ~354 | -| #37816 | " | 🔄 | Removed Module-Level Mocks from Gemini Test | ~347 | -| #37815 | " | 🔵 | Gemini Test Has Two Module-Level Mocks Defined Before Describe Block | ~375 | -| #37814 | " | 🔵 | Gemini Test Uses mock.restore() in afterEach Hook | ~319 | -| #37811 | 6:43 PM | 🔵 | SettingsDefaultsManager Tests Still Fail With Gemini Test Due to Mock | ~384 | -| #37809 | " | 🔴 | Logger Tests Now Pass When Run With Gemini Test | ~340 | -| #37800 | 6:41 PM | 🔴 | Fixed Incomplete SettingsDefaultsManager Mock in Gemini Agent Test | ~376 | -| #37799 | " | 🔵 | Gemini Test Uses mock.module to Override SettingsDefaultsManager | ~357 | -| #37798 | " | 🔵 | Gemini Agent Test Identified as Source of Module Corruption | ~351 | - -**logger-coverage.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37797 | 6:41 PM | 🔴 | Logger Coverage Test Now Passes With Other Tests After Exclusion | ~311 | -| #37793 | 6:39 PM | 🔴 | Added SettingsDefaultsManager to Logger Coverage Test Exclusions | ~355 | -| #37792 | " | 🔴 | Logger Tests Pass When Run Together With Coverage Test | ~345 | -| #37790 | " | 🔵 | Logger Coverage Test Detects Console Usage in SettingsDefaultsManager | ~391 | -| #37755 | 6:22 PM | 🔵 | Score 3 Marginal Tests Verified: Mock-Heavy Tests Validate Structure, Not Behavior | ~580 | -| #37750 | 6:21 PM | 🔵 | Test Audit: logger-coverage.test.ts Enforces Logging Standards Across Codebase | ~629 | -| #37735 | 6:16 PM | ✅ | Test Suite Audit Report Generated: 41 Tests Scored and Analyzed | ~634 | -| #37629 | 5:36 PM | 🔵 | Comprehensive Testing Patterns Documentation Generated | ~629 | -| #37620 | 5:33 PM | 🔵 | Existing Logger Coverage Test Suite Structure | ~536 | -| #37617 | 5:32 PM | ⚖️ | PR #558 Review Requirements Categorized by Priority | ~637 | - -**session_id_refactor.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37777 | 6:36 PM | 🔴 | Phase 1 Test Cleanup Completed - 6 Low-Quality Test Files Deleted | ~430 | -| #37764 | 6:32 PM | ✅ | Deleted 6 harmful test files causing mock pollution and testing zero runtime value | ~454 | -| #37756 | 6:22 PM | ⚖️ | Score 2 Weak Tests Verification Confirms Audit Findings | ~598 | - -**cursor-hook-outputs.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37758 | 6:25 PM | ⚖️ | Integration Test Design for Four Critical Testing Gaps | ~729 | - -**session_id_usage_validation.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37754 | 6:22 PM | 🔵 | Test Audit: session_id_usage_validation.test.ts Enforces Critical Session ID Architecture Invariants | ~826 | - -**worker-spawn.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37752 | 6:21 PM | 🔵 | Test Audit: worker-spawn.test.ts Tests Configuration and Contracts Without Testing Actual Spawning | ~651 | - -**cursor-context-update.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37706 | 6:10 PM | 🔵 | Test Audit: cursor-context-update.test.ts Validates Cursor Integration File Format | ~468 | - -**validate_sql_update.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37705 | 6:10 PM | 🔵 | Test Audit: validate_sql_update.test.ts Validates SQL Refactor Correctness | ~374 | +| #36858 | 1:50 AM | 🟣 | Phase 1 Implementation Completed via Subagent | ~499 | +| #36854 | 1:49 AM | 🟣 | gemini-3-flash Model Tests Added to GeminiAgent Test Suite | ~470 | +| #36851 | " | 🔵 | GeminiAgent Test Structure Analyzed | ~565 | \ No newline at end of file diff --git a/tests/hook-constants.test.ts b/tests/hook-constants.test.ts index 45fe97ee..f7eb0822 100644 --- a/tests/hook-constants.test.ts +++ b/tests/hook-constants.test.ts @@ -58,8 +58,8 @@ describe('hook-constants', () => { expect(HOOK_EXIT_CODES.FAILURE).toBe(1); }); - it('should define USER_MESSAGE_ONLY exit code', () => { - expect(HOOK_EXIT_CODES.USER_MESSAGE_ONLY).toBe(3); + it('should define BLOCKING_ERROR exit code', () => { + expect(HOOK_EXIT_CODES.BLOCKING_ERROR).toBe(2); }); }); diff --git a/tests/infrastructure/CLAUDE.md b/tests/infrastructure/CLAUDE.md index d6e4984d..a6643ca6 100644 --- a/tests/infrastructure/CLAUDE.md +++ b/tests/infrastructure/CLAUDE.md @@ -3,51 +3,13 @@ -### Jan 3, 2026 - -**graceful-shutdown.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36574 | 9:55 PM | 🟣 | Phase 5 Infrastructure Tests Committed | ~357 | -| #36569 | 9:54 PM | 🟣 | GracefulShutdown Test Suite Created | ~457 | - -**process-manager.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36571 | 9:54 PM | 🟣 | Phase 5 Infrastructure Tests Completed | ~504 | -| #36570 | " | 🟣 | ProcessManager Infrastructure Test Suite Created | ~535 | - -**health-monitor.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36568 | 9:53 PM | 🟣 | HealthMonitor Test Suite Created for Phase 5 | ~437 | - ### Jan 4, 2026 -**wmic-parsing.test.ts** | ID | Time | T | Title | Read | |----|------|---|-------|------| -| #36924 | 2:25 AM | ✅ | Merged fix/pr-538-followups branch into main with comprehensive updates | ~481 | -| #36908 | 2:01 AM | ✅ | Regression Tests Committed Successfully | ~418 | -| #36907 | " | ✅ | Regression Test Files Staged for Commit | ~317 | - -**process-manager.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36842 | 1:43 AM | 🔵 | Complete Test Framework and Pattern Documentation | ~670 | -| #36837 | 1:42 AM | 🔵 | ProcessManager Test Patterns with File System Operations | ~466 | -| #36779 | 12:44 AM | 🔵 | ProcessManager Windows PowerShell Functions Complete Analysis | ~550 | - -### Jan 5, 2026 - -**wmic-parsing.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37735 | 6:16 PM | ✅ | Test Suite Audit Report Generated: 41 Tests Scored and Analyzed | ~634 | - -**process-manager.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37629 | 5:36 PM | 🔵 | Comprehensive Testing Patterns Documentation Generated | ~629 | -| #37622 | 5:34 PM | 🔵 | Bun Test Pattern for File I/O and State Management | ~571 | +| #36870 | 1:54 AM | 🟣 | Phase 2 Implementation Completed via Subagent | ~572 | +| #36866 | 1:53 AM | 🔄 | WMIC Test Refactored to Use Direct Logic Testing | ~533 | +| #36865 | 1:52 AM | ✅ | WMIC Test File Updated with Improved Mock Implementation | ~370 | +| #36863 | 1:51 AM | 🟣 | WMIC Parsing Test File Created | ~581 | +| #36861 | " | 🔵 | Existing ProcessManager Test File Structure Analyzed | ~516 | \ No newline at end of file diff --git a/tests/log-level-audit.test.ts b/tests/log-level-audit.test.ts new file mode 100644 index 00000000..78a48f48 --- /dev/null +++ b/tests/log-level-audit.test.ts @@ -0,0 +1,309 @@ +/** + * Log Level Audit Test + * + * This test scans all TypeScript files in src/ to find logger calls, + * extracts the message text, and groups them by log level for review. + * + * Purpose: Help identify misclassified log messages that should be at a different level. + * + * Log Level Guidelines: + * - ERROR/failure: Critical failures that require investigation (data loss, service down) + * - WARN: Non-critical issues with fallback behavior (degraded, but functional) + * - INFO: Normal operational events (session started, request processed) + * - DEBUG: Detailed diagnostic information (variable values, flow tracing) + */ + +import { describe, it, expect } from 'bun:test'; +import { readdir, readFile } from 'fs/promises'; +import { join, relative } from 'path'; + +const PROJECT_ROOT = join(import.meta.dir, '..'); +const SRC_DIR = join(PROJECT_ROOT, 'src'); + +interface LoggerCall { + file: string; + line: number; + level: string; + component: string; + message: string; + errorParam: string | null; + fullMatch: string; +} + +/** + * Recursively find all TypeScript files in a directory + */ +async function findTypeScriptFiles(dir: string): Promise { + const files: string[] = []; + const entries = await readdir(dir, { withFileTypes: true }); + + for (const entry of entries) { + const fullPath = join(dir, entry.name); + + if (entry.isDirectory()) { + files.push(...(await findTypeScriptFiles(fullPath))); + } else if (entry.isFile() && /\.ts$/.test(entry.name) && !/\.d\.ts$/.test(entry.name)) { + files.push(fullPath); + } + } + + return files; +} + +/** + * Extract logger calls from file content + * Handles multiline calls and captures error parameter (4th arg) + */ +function extractLoggerCalls(content: string, filePath: string): LoggerCall[] { + const calls: LoggerCall[] = []; + const lines = content.split('\n'); + const seenCalls = new Set(); + + // Build line number index for position-to-line lookup + const lineStarts: number[] = [0]; + for (let i = 0; i < content.length; i++) { + if (content[i] === '\n') { + lineStarts.push(i + 1); + } + } + + function getLineNumber(pos: number): number { + for (let i = lineStarts.length - 1; i >= 0; i--) { + if (lineStarts[i] <= pos) return i + 1; + } + return 1; + } + + // Pattern that matches logger calls across multiple lines + // Captures: method, component, message, and everything up to closing paren + // Uses [\s\S] instead of . to match newlines + const loggerPattern = /logger\.(error|warn|info|debug|failure|success|timing|dataIn|dataOut|happyPathError)\s*\(\s*['"]([^'"]+)['"][\s\S]*?\)/g; + + let match: RegExpExecArray | null; + while ((match = loggerPattern.exec(content)) !== null) { + const fullMatch = match[0]; + const method = match[1]; + const component = match[2]; + const lineNum = getLineNumber(match.index); + + // Extract message (2nd string arg) - could be single, double, or template + const messageMatch = fullMatch.match(/['"][^'"]+['"]\s*,\s*(['"`])([\s\S]*?)\1/); + const message = messageMatch ? messageMatch[2] : '(message not captured)'; + + // Extract error parameter (4th arg) - look for "error as Error" or similar patterns + let errorParam: string | null = null; + const errorMatch = fullMatch.match(/,\s*(error|err|e)\s+as\s+Error\s*\)/i) || + fullMatch.match(/,\s*(error|err|e)\s*\)/i) || + fullMatch.match(/,\s*new\s+Error\s*\([^)]*\)\s*\)/i); + if (errorMatch) { + errorParam = errorMatch[0].replace(/^\s*,\s*/, '').replace(/\s*\)\s*$/, ''); + } + + const key = `${filePath}:${lineNum}:${method}:${message.substring(0, 50)}`; + if (!seenCalls.has(key)) { + seenCalls.add(key); + calls.push({ + file: relative(PROJECT_ROOT, filePath), + line: lineNum, + level: normalizeLevel(method), + component, + message, + errorParam, + fullMatch: fullMatch.replace(/\s+/g, ' ').trim() // Normalize whitespace for display + }); + } + } + + return calls; +} + +/** + * Normalize log level names to standard categories + */ +function normalizeLevel(method: string): string { + switch (method) { + case 'error': + case 'failure': + return 'ERROR'; + case 'warn': + case 'happyPathError': + return 'WARN'; + case 'info': + case 'success': + case 'timing': + case 'dataIn': + case 'dataOut': + return 'INFO'; + case 'debug': + return 'DEBUG'; + default: + return method.toUpperCase(); + } +} + +/** + * Generate formatted audit report + */ +function generateReport(calls: LoggerCall[]): string { + const byLevel: Record = { + 'ERROR': [], + 'WARN': [], + 'INFO': [], + 'DEBUG': [] + }; + + for (const call of calls) { + if (byLevel[call.level]) { + byLevel[call.level].push(call); + } + } + + const lines: string[] = []; + lines.push('\n=== LOG LEVEL AUDIT REPORT ===\n'); + lines.push(`Total logger calls found: ${calls.length}\n`); + + // ERROR level + lines.push(''); + lines.push('ERROR (should be critical failures only):'); + lines.push('─'.repeat(60)); + if (byLevel['ERROR'].length === 0) { + lines.push(' (none found)'); + } else { + for (const call of byLevel['ERROR'].sort((a, b) => a.file.localeCompare(b.file))) { + lines.push(` ${call.file}:${call.line} [${call.component}]`); + lines.push(` message: "${formatMessage(call.message)}"`); + if (call.errorParam) { + lines.push(` error: ${call.errorParam}`); + } + lines.push(` full: ${call.fullMatch}`); + lines.push(''); + } + } + lines.push(` Count: ${byLevel['ERROR'].length}`); + + // WARN level + lines.push(''); + lines.push('WARN (should be non-critical, has fallback):'); + lines.push('─'.repeat(60)); + if (byLevel['WARN'].length === 0) { + lines.push(' (none found)'); + } else { + for (const call of byLevel['WARN'].sort((a, b) => a.file.localeCompare(b.file))) { + lines.push(` ${call.file}:${call.line} [${call.component}]`); + lines.push(` message: "${formatMessage(call.message)}"`); + if (call.errorParam) { + lines.push(` error: ${call.errorParam}`); + } + lines.push(` full: ${call.fullMatch}`); + lines.push(''); + } + } + lines.push(` Count: ${byLevel['WARN'].length}`); + + // INFO level + lines.push(''); + lines.push('INFO (informational):'); + lines.push('─'.repeat(60)); + if (byLevel['INFO'].length === 0) { + lines.push(' (none found)'); + } else { + for (const call of byLevel['INFO'].sort((a, b) => a.file.localeCompare(b.file))) { + lines.push(` ${call.file}:${call.line} [${call.component}]`); + lines.push(` message: "${formatMessage(call.message)}"`); + if (call.errorParam) { + lines.push(` error: ${call.errorParam}`); + } + lines.push(` full: ${call.fullMatch}`); + lines.push(''); + } + } + lines.push(` Count: ${byLevel['INFO'].length}`); + + // DEBUG level + lines.push(''); + lines.push('DEBUG (detailed diagnostics):'); + lines.push('─'.repeat(60)); + if (byLevel['DEBUG'].length === 0) { + lines.push(' (none found)'); + } else { + for (const call of byLevel['DEBUG'].sort((a, b) => a.file.localeCompare(b.file))) { + lines.push(` ${call.file}:${call.line} [${call.component}]`); + lines.push(` message: "${formatMessage(call.message)}"`); + if (call.errorParam) { + lines.push(` error: ${call.errorParam}`); + } + lines.push(` full: ${call.fullMatch}`); + lines.push(''); + } + } + lines.push(` Count: ${byLevel['DEBUG'].length}`); + + // Summary + lines.push(''); + lines.push('=== SUMMARY ==='); + lines.push(` ERROR: ${byLevel['ERROR'].length}`); + lines.push(` WARN: ${byLevel['WARN'].length}`); + lines.push(` INFO: ${byLevel['INFO'].length}`); + lines.push(` DEBUG: ${byLevel['DEBUG'].length}`); + lines.push(` TOTAL: ${calls.length}`); + lines.push(''); + + return lines.join('\n'); +} + +/** + * Format message for display - NO TRUNCATION + */ +function formatMessage(message: string): string { + return message; +} + +describe('Log Level Audit', () => { + let allCalls: LoggerCall[] = []; + + it('should scan all TypeScript files and extract logger calls', async () => { + const files = await findTypeScriptFiles(SRC_DIR); + expect(files.length).toBeGreaterThan(0); + + for (const file of files) { + const content = await readFile(file, 'utf-8'); + const calls = extractLoggerCalls(content, file); + allCalls.push(...calls); + } + + expect(allCalls.length).toBeGreaterThan(0); + }); + + it('should generate audit report for log level review', () => { + const report = generateReport(allCalls); + console.log(report); + + // This test always passes - it's for generating a review report + expect(true).toBe(true); + }); + + it('should have summary statistics', () => { + const byLevel: Record = { + 'ERROR': 0, + 'WARN': 0, + 'INFO': 0, + 'DEBUG': 0 + }; + + for (const call of allCalls) { + if (byLevel[call.level] !== undefined) { + byLevel[call.level]++; + } + } + + console.log('\n📊 Log Level Distribution:'); + console.log(` ERROR: ${byLevel['ERROR']} (${((byLevel['ERROR'] / allCalls.length) * 100).toFixed(1)}%)`); + console.log(` WARN: ${byLevel['WARN']} (${((byLevel['WARN'] / allCalls.length) * 100).toFixed(1)}%)`); + console.log(` INFO: ${byLevel['INFO']} (${((byLevel['INFO'] / allCalls.length) * 100).toFixed(1)}%)`); + console.log(` DEBUG: ${byLevel['DEBUG']} (${((byLevel['DEBUG'] / allCalls.length) * 100).toFixed(1)}%)`); + + // Log distribution health check - not a hard failure, just informational + // A healthy codebase typically has: DEBUG > INFO > WARN > ERROR + expect(allCalls.length).toBeGreaterThan(0); + }); +}); diff --git a/tests/logger-usage-standards.test.ts b/tests/logger-usage-standards.test.ts index 3e23c882..277e88a3 100644 --- a/tests/logger-usage-standards.test.ts +++ b/tests/logger-usage-standards.test.ts @@ -34,6 +34,7 @@ const EXCLUDED_PATTERNS = [ /worker-service\.ts$/, // CLI entry point with interactive setup wizard (console.log for user prompts) /integrations\/.*Installer\.ts$/, // CLI installer commands (console.log for interactive installation output) /SettingsDefaultsManager\.ts$/, // Must use console.log to avoid circular dependency with logger + /user-message-hook\.ts$/, // Deprecated - kept for reference only, not registered in hooks.json ]; // Files that should always use logger (core business logic) diff --git a/tests/utils/CLAUDE.md b/tests/utils/CLAUDE.md index aba6cc5b..adfdcb11 100644 --- a/tests/utils/CLAUDE.md +++ b/tests/utils/CLAUDE.md @@ -3,36 +3,5 @@ -### Jan 5, 2026 - -**claude-md-utils.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38086 | 10:42 PM | ✅ | Merged PR with comprehensive CLAUDE.md documentation system | ~478 | -| #38047 | 9:45 PM | 🔴 | PR #556 Review Items - Worker Host Configuration and Path Resolution | ~389 | -| #38025 | 9:15 PM | 🔴 | Fixed PR #556 review items and committed changes | ~344 | -| #38024 | " | ✅ | Git status shows modified source files and auto-updated CLAUDE.md files | ~295 | -| #38022 | " | ✅ | Phase 3 complete: Worktree detection test coverage verified by agent | ~391 | -| #38021 | " | 🔵 | Test suite expanded with additional projectRoot edge case tests | ~389 | -| #38020 | 9:14 PM | ✅ | All 27 tests passing in claude-md-utils test suite | ~237 | -| #38019 | " | ✅ | Test suite passed for claude-md-utils.ts with all 27 tests green | ~306 | -| #38018 | " | 🟣 | Added comprehensive test coverage for worktree detection and projectRoot path resolution | ~450 | -| #38017 | " | ✅ | Verified existing claude-md-utils.test.ts passes with 27 tests | ~244 | -| #38016 | 9:13 PM | 🔵 | Existing test suite for claude-md-utils.ts with projectRoot tests already present | ~426 | -| #37977 | 8:33 PM | 🔵 | All 23 tests pass for claude-md-utils module | ~209 | - -**logger-format-tool.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37809 | 6:43 PM | 🔴 | Logger Tests Now Pass When Run With Gemini Test | ~340 | -| #37797 | 6:41 PM | 🔴 | Logger Coverage Test Now Passes With Other Tests After Exclusion | ~311 | -| #37796 | 6:40 PM | 🔴 | Utils and Shared Tests Pass When Run Together | ~342 | -| #37792 | 6:39 PM | 🔴 | Logger Tests Pass When Run Together With Coverage Test | ~345 | -| #37789 | 6:38 PM | 🔴 | Logger FormatTool Tests Pass When Run In Isolation | ~359 | -| #37777 | 6:36 PM | 🔴 | Phase 1 Test Cleanup Completed - 6 Low-Quality Test Files Deleted | ~430 | -| #37769 | 6:34 PM | 🔵 | Logger-format-tool test file contains 81 comprehensive tests for non-existent logger.formatTool method | ~487 | -| #37655 | 5:51 PM | 🔵 | Logger formatTool test imports logger directly creating test-time circular dependency exposure | ~392 | -| #37642 | 5:41 PM | 🟣 | Second Task Agent Independently Created and Verified FormatTool Tests | ~544 | -| #37638 | 5:40 PM | 🟣 | FormatTool Test Suite Successfully Passes All 56 Tests | ~515 | -| #37635 | 5:39 PM | 🟣 | Created Comprehensive FormatTool Test Suite | ~619 | +*No recent activity* \ No newline at end of file diff --git a/tests/utils/claude-md-utils.test.ts b/tests/utils/claude-md-utils.test.ts index e8ad98a6..44d1c02f 100644 --- a/tests/utils/claude-md-utils.test.ts +++ b/tests/utils/claude-md-utils.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, mock, afterEach, beforeEach } from 'bun:test'; import { mkdirSync, writeFileSync, readFileSync, existsSync, rmSync } from 'fs'; -import { join } from 'path'; +import path, { join } from 'path'; import { tmpdir } from 'os'; // Mock logger BEFORE imports (required pattern) @@ -322,7 +322,7 @@ describe('updateFolderClaudeMdFiles', () => { expect(callUrl).toContain(encodeURIComponent('/home/user/my-project/src/utils')); }); - it('should not modify absolute paths even with projectRoot', async () => { + it('should accept absolute paths within projectRoot and use them directly', async () => { const folderPath = join(tempDir, 'absolute-path-test'); const filePath = join(folderPath, 'file.ts'); @@ -339,10 +339,10 @@ describe('updateFolderClaudeMdFiles', () => { global.fetch = fetchMock; await updateFolderClaudeMdFiles( - [filePath], // absolute path + [filePath], // absolute path within tempDir 'test-project', 37777, - '/home/user/my-project' // projectRoot should be ignored + tempDir // projectRoot matches the absolute path's root ); // Should call API with the original absolute path's folder @@ -485,3 +485,152 @@ describe('updateFolderClaudeMdFiles', () => { expect(callUrl).toContain(encodeURIComponent('/home/user/project/src')); }); }); + +describe('path validation in updateFolderClaudeMdFiles', () => { + it('should reject tilde paths', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['~/.claude-mem/logs/worker.log'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should reject URLs', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['https://example.com/file.ts'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should reject paths with spaces', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['PR #610 on thedotmack/CLAUDE.md'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should reject paths with hash symbols', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['issue#123/file.ts'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should reject path traversal outside project', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['../../../etc/passwd'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should reject absolute paths outside project root', async () => { + const fetchMock = mock(() => Promise.resolve({ ok: true } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['/etc/passwd'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).not.toHaveBeenCalled(); + }); + + it('should accept absolute paths within project root', async () => { + const apiResponse = { + content: [{ text: '| #123 | 4:30 PM | 🔵 | Test | ~100 |' }] + }; + const fetchMock = mock(() => Promise.resolve({ + ok: true, + json: () => Promise.resolve(apiResponse) + } as Response)); + global.fetch = fetchMock; + + // Create an absolute path within the temp directory + const absolutePathInProject = path.join(tempDir, 'src', 'utils', 'file.ts'); + + await updateFolderClaudeMdFiles( + [absolutePathInProject], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).toHaveBeenCalledTimes(1); + }); + + it('should accept absolute paths when no projectRoot is provided', async () => { + const apiResponse = { + content: [{ text: '| #123 | 4:30 PM | 🔵 | Test | ~100 |' }] + }; + const fetchMock = mock(() => Promise.resolve({ + ok: true, + json: () => Promise.resolve(apiResponse) + } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['/home/user/valid/file.ts'], + 'test-project', + 37777 + // No projectRoot provided + ); + + expect(fetchMock).toHaveBeenCalledTimes(1); + }); + + it('should accept valid relative paths', async () => { + const apiResponse = { + content: [{ text: '| #123 | 4:30 PM | 🔵 | Test | ~100 |' }] + }; + const fetchMock = mock(() => Promise.resolve({ + ok: true, + json: () => Promise.resolve(apiResponse) + } as Response)); + global.fetch = fetchMock; + + await updateFolderClaudeMdFiles( + ['src/utils/logger.ts'], + 'test-project', + 37777, + tempDir + ); + + expect(fetchMock).toHaveBeenCalledTimes(1); + }); +}); diff --git a/tests/worker/agents/CLAUDE.md b/tests/worker/agents/CLAUDE.md index 6229aa27..adfdcb11 100644 --- a/tests/worker/agents/CLAUDE.md +++ b/tests/worker/agents/CLAUDE.md @@ -3,49 +3,5 @@ -### Jan 3, 2026 - -**fallback-error-handler.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36522 | 9:34 PM | 🟣 | Phase 2 Worker Agent Tests Implemented | ~390 | -| #36525 | " | 🔵 | Test Import Strategy for Avoiding Module Side Effects | ~358 | -| #36518 | " | 🟣 | Phase 2 Test Suite Implementation Complete | ~348 | -| #36521 | " | ⚖️ | Test Import Strategy: Direct Imports Over Barrel Exports | ~321 | -| #36515 | 9:33 PM | 🟣 | Phase 2 Worker Agents Test Suite Implementation | ~422 | - -### Jan 4, 2026 - -**observation-broadcaster.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36842 | 1:43 AM | 🔵 | Complete Test Framework and Pattern Documentation | ~670 | -| #36834 | 1:41 AM | 🔵 | Bun Test Framework Pattern and Structure | ~418 | - -### Jan 5, 2026 - -**CLAUDE.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38078 | 9:54 PM | ✅ | CLAUDE.md Documentation Cleanup - 1,233 Lines Removed Across 18 Files | ~590 | - -**response-processor.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37999 | 9:02 PM | 🔵 | getWorkerHost and getWorkerPort used in 18 files across codebase | ~282 | -| #37756 | 6:22 PM | ⚖️ | Score 2 Weak Tests Verification Confirms Audit Findings | ~598 | -| #37712 | 6:12 PM | 🔵 | Test Audit: response-processor.test.ts Has Heavy Mocking for XML Parsing and Database Operations | ~697 | - -**observation-broadcaster.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37777 | 6:36 PM | 🔴 | Phase 1 Test Cleanup Completed - 6 Low-Quality Test Files Deleted | ~430 | -| #37764 | 6:32 PM | ✅ | Deleted 6 harmful test files causing mock pollution and testing zero runtime value | ~454 | -| #37755 | 6:22 PM | 🔵 | Score 3 Marginal Tests Verified: Mock-Heavy Tests Validate Structure, Not Behavior | ~580 | -| #37711 | 6:11 PM | 🔵 | Test Audit: observation-broadcaster.test.ts Validates SSE Broadcasting with Mock Workers | ~605 | - -**fallback-error-handler.test.ts** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #37735 | 6:16 PM | ✅ | Test Suite Audit Report Generated: 41 Tests Scored and Analyzed | ~634 | +*No recent activity* \ No newline at end of file diff --git a/~/.claude/CLAUDE.md b/~/.claude/CLAUDE.md deleted file mode 100644 index cf16779d..00000000 --- a/~/.claude/CLAUDE.md +++ /dev/null @@ -1,26 +0,0 @@ - -# Recent Activity - - - -### Dec 3, 2025 - -**settings.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #19956 | 10:13 PM | 🔵 | No MCP Servers Currently Configured | ~230 | - -### Dec 5, 2025 - -**settings.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #20295 | 6:07 PM | 🔵 | Claude Settings Configuration with Plugin Enablement | ~319 | - -### Dec 31, 2025 - -**settings.json** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34618 | 2:59 PM | 🔵 | Make-Plan and Do Skills Already Configured in Claude Settings | ~373 | - \ No newline at end of file diff --git a/~/.claude/plans/CLAUDE.md b/~/.claude/plans/CLAUDE.md deleted file mode 100644 index 6e1085e8..00000000 --- a/~/.claude/plans/CLAUDE.md +++ /dev/null @@ -1,157 +0,0 @@ - -# Recent Activity - - - -### Nov 30, 2025 - -**hidden-sniffing-nest.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #17674 | 6:01 PM | ⚖️ | Plan Mode Exited with Finalized Dual-Tag Implementation Strategy | ~692 | -| #17669 | 5:55 PM | ⚖️ | Implementation Plan Updated with User Requirements Clarification | ~735 | -| #17646 | 5:42 PM | ⚖️ | Implementation Plan Created for Dual-Tag System Feature Extraction | ~625 | - -### Dec 5, 2025 - -**distributed-growing-wall-agent-648df112.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #20982 | 11:47 PM | 🔵 | Implementation Plan Retrieved: Nine-Phase Selective Hook Refactoring Strategy | ~487 | -| #20373 | 7:00 PM | ⚖️ | Implementation plan created for selective merge of hook refactoring | ~367 | - -**distributed-growing-wall.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #20375 | 7:02 PM | ✅ | Simplified implementation plan created for primary session | ~346 | - -### Dec 7, 2025 - -**staged-whistling-ember.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #21295 | 6:28 PM | ⚖️ | Phase 2 MCP DRY Architecture Plan Created | ~586 | - -### Dec 9, 2025 - -**fancy-purring-horizon.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #23061 | 6:17 PM | 🔵 | Claude-Mem Hooks Cleanup Plan Structure Reviewed | ~400 | - -### Dec 10, 2025 - -**abundant-purring-crystal.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #23712 | 8:56 PM | ⚖️ | PM2 Replacement Architecture: Bun-based Self-Executable Worker Service | ~825 | - -### Dec 12, 2025 - -**abundant-purring-crystal.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #24402 | 8:10 PM | 🔵 | Retrieved PM2 Replacement Architecture Decision from Memory | ~476 | - -**concurrent-snuggling-goblet.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #24284 | 5:31 PM | 🔵 | PM2 to Bun Migration Plan for Worker Process Management | ~414 | -| #24283 | 5:30 PM | ⚖️ | Six-phase implementation plan created to address PR #248 issues | ~652 | -| #24282 | 5:22 PM | ⚖️ | PR #248 review plan identifies six issues requiring fixes before merge | ~640 | - -### Dec 13, 2025 - -**smooth-whistling-mccarthy.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #25444 | 10:02 PM | 🔵 | Error Message Quality Improvement Plan Loaded | ~371 | - -### Dec 18, 2025 - -**indexed-jingling-pinwheel.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #29414 | 4:06 PM | 🔵 | Mode-based prompt customization plan has critical scope gaps | ~465 | - -### Dec 19, 2025 - -**precious-bubbling-ember.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #30066 | 8:00 PM | 🔵 | RAGTIME Tool Blocking Prevents Observation Hook System | ~596 | - -### Dec 20, 2025 - -**recursive-juggling-clover.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #30974 | 7:12 PM | 🔵 | Nonsense Audit Plan Review - Final Issue Remaining | ~375 | -| #30962 | 7:08 PM | 🔴 | Expanded logger.formatTool() to Handle All Tool Types | ~425 | -| #30960 | 7:07 PM | 🔵 | Issue 18 of 20 Identified in Nonsense Audit Plan | ~317 | -| #30935 | 6:56 PM | 🔄 | Removed Ceremonial Wrapper Function in Hook Response System | ~382 | -| #30925 | 6:53 PM | 🔴 | Removed Redundant Try-Catch from getWorkerPort() | ~360 | -| #30916 | 6:49 PM | ✅ | Phase 2 Major Cleanup Milestone Completed | ~364 | -| #30915 | " | 🔴 | SessionRoutes Catch-All Exception Masking Removed | ~345 | -| #30909 | 6:48 PM | 🔵 | Loaded Comprehensive Code Quality Audit Plan | ~402 | -| #30888 | 6:40 PM | ✅ | Phase 2 Progress Updated | ~306 | -| #30887 | " | 🔄 | Tag-Stripping DRY Violation Fixed | ~417 | -| #30881 | 6:37 PM | 🔴 | Eliminated Triple-Duplicated Date/Time Formatting Functions | ~366 | -| #30880 | " | 🔵 | Issue 8: Duplicate Date/Time Formatting Functions in SearchManager | ~214 | -| #30862 | 6:26 PM | 🔴 | Cleanup Hook Error Logging Added | ~297 | -| #30853 | 6:20 PM | 🔴 | Summary Hook Finally Block Error Propagation Fixed | ~323 | -| #30849 | 6:19 PM | 🔵 | Nonsense Audit Plan Identified - Issue 5 Summary Hook Error Masking | ~408 | -| #30842 | 6:18 PM | ✅ | Phase 1 Critical Fixes Marked Complete | ~449 | -| #30841 | 6:17 PM | 🔵 | Code Quality Remediation Plan Structure | ~406 | -| #32289 | 6:09 PM | 🔴 | Vector Search Failures Now Show Explicit Error Messages | ~267 | - -**delightful-gliding-hinton.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #30519 | 4:48 PM | 🔵 | Plan file contains multi-phase deployment strategy | ~209 | -| #30514 | 4:46 PM | 🟣 | Sequential Phase Execution System for Plan Deployment | ~213 | - -### Dec 28, 2025 - -**cozy-percolating-clover.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33567 | 11:06 PM | 🔴 | Validation of Memory Session Append Bug Fix | ~251 | - -**mellow-discovering-meerkat.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #33265 | 2:58 PM | 🟣 | Self-spawn pattern for background worker lifecycle management | ~446 | -| #33264 | " | 🟣 | Worker Lifecycle Management PR Created (PR #458) | ~432 | - -### Dec 29, 2025 - -**sprightly-frolicking-tulip.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34215 | 10:08 PM | 🔵 | Retrieved Detailed Cursor Integration Implementation History | ~676 | -| #34124 | 9:09 PM | 🔵 | Cursor Hooks Integration Branch Code Review Completed | ~571 | -| #34098 | 9:03 PM | 🔵 | Cursor Hooks Integration Branch Code Review Completed | ~413 | -| #34087 | 9:00 PM | 🔵 | Comprehensive code review plan for Cursor IDE hooks integration | ~449 | - -### Dec 30, 2025 - -**lively-twirling-garden.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #34413 | 1:59 PM | 🔵 | Agent SDK V2 Upgrade Plan Reviewed | ~380 | - -### Jan 4, 2026 - -**gentle-munching-wolf.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #36729 | 12:23 AM | ⚖️ | Implementation Plan Created for PR Review Follow-ups and Issue Fixes | ~673 | - -### Jan 5, 2026 - -**rustling-crunching-thimble.md** -| ID | Time | T | Title | Read | -|----|------|---|-------|------| -| #38007 | 9:04 PM | ⚖️ | Created implementation plan for three PR review items | ~373 | - \ No newline at end of file