@ripla/godd-mcp 1.0.4-canary.9 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -94
- package/dist/godd.cjs +349 -233
- package/dist/godd.js +2193 -838
- package/dist/index.js +152 -122
- package/{notes-api → notes/api}/.env.example +6 -1
- package/{notes-api → notes/api}/README.md +6 -5
- package/{notes-api → notes/api}/app/main.py +29 -2
- package/{notes-api → notes/api}/app/routers/auth.py +6 -1
- package/{notes-api → notes/api}/app/routers/issues.py +157 -1
- package/{notes-api → notes/api}/app/routers/pr.py +2 -2
- package/{notes-api → notes/api}/app/services/github_app_token.py +32 -1
- package/{notes-api → notes/api}/app/services/github_issues.py +101 -11
- package/{notes-api → notes/api}/app/services/github_pr.py +6 -1
- package/{notes-api → notes/api}/tests/test_github_app_token.py +49 -1
- package/{notes-api → notes/api}/tests/test_github_service.py +42 -0
- package/notes/api/tests/test_health.py +52 -0
- package/{notes-api → notes/api}/tests/test_issues.py +216 -0
- package/{notes-api → notes/api}/tests/test_pr.py +24 -0
- package/{notes-api → notes/api}/tests/test_pr_chain.py +19 -0
- package/{notes-api → notes/api}/uv.lock +178 -2
- package/notes/app/DESIGN.md +273 -0
- package/{notes-app → notes/app}/README.md +4 -1
- package/notes/app/docker/Dockerfile.e2e +19 -0
- package/notes/app/docker/Dockerfile.prod +15 -0
- package/notes/app/docker/Dockerfile.test +17 -0
- package/notes/app/e2e/file-tree.spec.ts +26 -0
- package/notes/app/e2e/file-view.spec.ts +25 -0
- package/notes/app/e2e/fixtures.ts +28 -0
- package/{notes-app → notes/app}/e2e/global-setup.ts +5 -7
- package/notes/app/e2e/login.spec.ts +25 -0
- package/notes/app/e2e/pages/login-page.ts +29 -0
- package/notes/app/e2e/pages/main-page.ts +29 -0
- package/notes/app/e2e/panel-resize-handle.spec.ts +213 -0
- package/{notes-app → notes/app}/eslint.config.js +9 -0
- package/{notes-app → notes/app}/package.json +0 -3
- package/{notes-app → notes/app}/pnpm-workspace.yaml +1 -0
- package/notes/app/src/components/CommentPanel.test.tsx +194 -0
- package/{notes-app → notes/app}/src/components/CommentPanel.tsx +119 -10
- package/notes/app/src/components/CommentSelectionPopover.tsx +26 -0
- package/notes/app/src/components/EditToolbar.test.tsx +102 -0
- package/{notes-app → notes/app}/src/components/EditToolbar.tsx +5 -54
- package/notes/app/src/components/FileInfoPanel.branch-tab.test.tsx +250 -0
- package/notes/app/src/components/FileInfoPanel.history-tab.test.tsx +146 -0
- package/notes/app/src/components/FileInfoPanel.test.tsx +101 -0
- package/{notes-app → notes/app}/src/components/FileInfoPanel.tsx +135 -20
- package/notes/app/src/components/IssueCommentThread.test.tsx +93 -0
- package/notes/app/src/components/IssueCommentThread.tsx +156 -0
- package/notes/app/src/components/IssueDetailView.test.tsx +1118 -0
- package/notes/app/src/components/IssueDetailView.tsx +476 -0
- package/notes/app/src/components/IssueList.test.tsx +545 -0
- package/notes/app/src/components/IssueList.tsx +374 -0
- package/{notes-app → notes/app}/src/components/LabelSelector.test.tsx +94 -8
- package/notes/app/src/components/LabelSelector.tsx +452 -0
- package/{notes-app → notes/app}/src/components/MarkdownEditor.tsx +140 -2
- package/notes/app/src/components/PanelResizeHandle.test.tsx +481 -0
- package/notes/app/src/components/PanelResizeHandle.tsx +96 -0
- package/{notes-app → notes/app}/src/hooks/useEditSession.test.ts +171 -23
- package/{notes-app → notes/app}/src/hooks/useEditSession.ts +49 -62
- package/notes/app/src/hooks/useMdUpLayout.test.ts +10 -0
- package/notes/app/src/hooks/useMdUpLayout.ts +27 -0
- package/notes/app/src/hooks/usePeriodicSync.test.ts +244 -0
- package/notes/app/src/hooks/usePeriodicSync.ts +83 -0
- package/notes/app/src/hooks/useResizablePanelWidth.test.ts +251 -0
- package/notes/app/src/hooks/useResizablePanelWidth.ts +167 -0
- package/{notes-app → notes/app}/src/lib/api.test.ts +81 -1
- package/{notes-app → notes/app}/src/lib/api.ts +98 -4
- package/notes/app/src/lib/commentAnchor.test.ts +22 -0
- package/notes/app/src/lib/commentAnchor.ts +28 -0
- package/notes/app/src/lib/commentHighlight.test.ts +110 -0
- package/notes/app/src/lib/commentHighlight.ts +44 -0
- package/notes/app/src/lib/github-sync.test.ts +126 -0
- package/notes/app/src/lib/github-sync.ts +89 -0
- package/notes/app/src/lib/issue-list-utils.test.ts +275 -0
- package/notes/app/src/lib/issue-list-utils.ts +135 -0
- package/notes/app/src/lib/issue-mobile-layout.test.ts +17 -0
- package/notes/app/src/lib/issue-mobile-layout.ts +20 -0
- package/notes/app/src/lib/issue-url-sync.test.ts +73 -0
- package/notes/app/src/lib/issue-url-sync.ts +43 -0
- package/notes/app/src/lib/main-page-default-view.test.ts +37 -0
- package/notes/app/src/lib/main-page-default-view.ts +15 -0
- package/notes/app/src/lib/resizable-panel.test.ts +199 -0
- package/notes/app/src/lib/resizable-panel.ts +136 -0
- package/notes/app/src/pages/LoginPage.test.tsx +17 -0
- package/notes/app/src/pages/MainPage.branch-modal.test.tsx +226 -0
- package/notes/app/src/pages/MainPage.issue-sync.test.tsx +145 -0
- package/notes/app/src/pages/MainPage.sidebar.test.tsx +361 -0
- package/{notes-app → notes/app}/src/pages/MainPage.tsx +406 -61
- package/{notes-app → notes/app}/src/pages/SettingsPage.test.tsx +32 -23
- package/{notes-app → notes/app}/src/pages/UserManagementPage.test.tsx +8 -18
- package/notes/app/src/test/mocks.ts +156 -0
- package/notes/app/src/test/render.tsx +27 -0
- package/package.json +3 -5
- package/notes-api/tests/test_health.py +0 -11
- package/notes-app/docker/Dockerfile.e2e +0 -14
- package/notes-app/docker/Dockerfile.prod +0 -12
- package/notes-app/docker/Dockerfile.test +0 -12
- package/notes-app/e2e/file-tree.spec.ts +0 -29
- package/notes-app/e2e/file-view.spec.ts +0 -24
- package/notes-app/e2e/login.spec.ts +0 -32
- package/notes-app/src/components/IssueDetailView.test.tsx +0 -201
- package/notes-app/src/components/IssueDetailView.tsx +0 -318
- package/notes-app/src/components/IssueList.test.tsx +0 -93
- package/notes-app/src/components/IssueList.tsx +0 -169
- package/notes-app/src/components/LabelSelector.tsx +0 -276
- package/notes-app/src/pages/LoginPage.test.tsx +0 -29
- package/stacks/django-vue.yaml +0 -33
- package/stacks/fastapi-react.yaml +0 -160
- package/stacks/flutter-firebase.yaml +0 -58
- package/stacks/nextjs-prisma.yaml +0 -33
- package/stacks/schema.json +0 -144
- package/templates/agents/architect.hbs +0 -183
- package/templates/agents/auto-documenter.hbs +0 -36
- package/templates/agents/backend-developer.hbs +0 -175
- package/templates/agents/code-reviewer.hbs +0 -29
- package/templates/agents/database-developer.hbs +0 -52
- package/templates/agents/debug-specialist.hbs +0 -39
- package/templates/agents/environment-setup.hbs +0 -41
- package/templates/agents/frontend-developer.hbs +0 -45
- package/templates/agents/integration-qa.hbs +0 -26
- package/templates/agents/performance-qa.hbs +0 -24
- package/templates/agents/pr-writer.hbs +0 -53
- package/templates/agents/quality-lead.hbs +0 -26
- package/templates/agents/requirements-analyst.hbs +0 -26
- package/templates/agents/security-analyst.hbs +0 -21
- package/templates/agents/security-reviewer.hbs +0 -20
- package/templates/agents/ssot-updater.hbs +0 -45
- package/templates/agents/technical-writer.hbs +0 -28
- package/templates/agents/unit-test-engineer.hbs +0 -19
- package/templates/agents/user-clone.hbs +0 -49
- package/templates/github-actions/aws/deploy-notes.yml.hbs +0 -117
- package/templates/github-actions/azure/deploy-notes.yml.hbs +0 -78
- package/templates/github-actions/gcp/deploy-notes.yml.hbs +0 -76
- package/templates/github-actions/vercel-railway/deploy-notes.yml.hbs +0 -49
- package/templates/mindsets/agent-stdio.hbs +0 -51
- package/templates/mindsets/dart.hbs +0 -39
- package/templates/mindsets/ddd-clean-architecture.hbs +0 -52
- package/templates/mindsets/electron.hbs +0 -41
- package/templates/mindsets/fastapi.hbs +0 -40
- package/templates/mindsets/flutter.hbs +0 -56
- package/templates/mindsets/kotlin.hbs +0 -46
- package/templates/mindsets/postgresql.hbs +0 -39
- package/templates/mindsets/python.hbs +0 -39
- package/templates/mindsets/react.hbs +0 -51
- package/templates/mindsets/swift.hbs +0 -46
- package/templates/mindsets/terraform.hbs +0 -53
- package/templates/mindsets/typescript.hbs +0 -34
- package/templates/mindsets/vite.hbs +0 -37
- package/templates/notes-compose.yml +0 -82
- package/templates/partials/cogito-geo.hbs +0 -84
- package/templates/partials/cogito-godd.hbs +0 -22
- package/templates/partials/cogito-grammar.hbs +0 -105
- package/templates/partials/cogito-particle.hbs +0 -76
- package/templates/partials/cogito-root-ai.hbs +0 -79
- package/templates/partials/cogito-root-arch.hbs +0 -75
- package/templates/partials/cogito-root-core.hbs +0 -75
- package/templates/partials/cogito-root-daily.hbs +0 -58
- package/templates/partials/cogito-root-dev.hbs +0 -71
- package/templates/partials/cogito-root-devops.hbs +0 -71
- package/templates/partials/cogito-root-framework.hbs +0 -80
- package/templates/partials/cogito-root-lang.hbs +0 -74
- package/templates/partials/godd-core.hbs +0 -50
- package/templates/partials/project-context.hbs +0 -52
- package/templates/partials/ssot-header.hbs +0 -40
- package/templates/partials/ssot-rules.hbs +0 -30
- package/templates/prompts/adr.hbs +0 -39
- package/templates/prompts/agent-dev-workflow.hbs +0 -34
- package/templates/prompts/analyze-report.hbs +0 -36
- package/templates/prompts/auto-documentation.hbs +0 -37
- package/templates/prompts/check.hbs +0 -52
- package/templates/prompts/commit.hbs +0 -96
- package/templates/prompts/dev.hbs +0 -127
- package/templates/prompts/docs-init.hbs +0 -101
- package/templates/prompts/docs-update.hbs +0 -51
- package/templates/prompts/git-workflow.hbs +0 -125
- package/templates/prompts/impact-analysis.hbs +0 -43
- package/templates/prompts/install.hbs +0 -40
- package/templates/prompts/new-branch.hbs +0 -61
- package/templates/prompts/notes-deploy.hbs +0 -138
- package/templates/prompts/pr-analyze.hbs +0 -44
- package/templates/prompts/pr-create.hbs +0 -125
- package/templates/prompts/push-execute.hbs +0 -83
- package/templates/prompts/push.hbs +0 -24
- package/templates/prompts/release-notes.hbs +0 -38
- package/templates/prompts/requirements-to-business-flow.hbs +0 -29
- package/templates/prompts/requirements-to-tickets.hbs +0 -26
- package/templates/prompts/review.hbs +0 -126
- package/templates/prompts/setup.hbs +0 -247
- package/templates/prompts/spec.hbs +0 -35
- package/templates/prompts/specification-to-tickets.hbs +0 -24
- package/templates/prompts/submit.hbs +0 -143
- package/templates/prompts/sync.hbs +0 -63
- package/templates/prompts/test-plan.hbs +0 -56
- package/templates/scripts/aws/terraform-backend-setup.sh.hbs +0 -149
- package/templates/terraform/aws/alb.tf.hbs +0 -58
- package/templates/terraform/aws/backend.tf.hbs +0 -10
- package/templates/terraform/aws/cloudfront.tf.hbs +0 -96
- package/templates/terraform/aws/ecr.tf.hbs +0 -30
- package/templates/terraform/aws/ecs.tf.hbs +0 -142
- package/templates/terraform/aws/iam.tf.hbs +0 -88
- package/templates/terraform/aws/local.tf.hbs +0 -34
- package/templates/terraform/aws/output.tf.hbs +0 -49
- package/templates/terraform/aws/provider.tf.hbs +0 -26
- package/templates/terraform/aws/rds.tf.hbs +0 -38
- package/templates/terraform/aws/s3.tf.hbs +0 -34
- package/templates/terraform/aws/secrets.tf.hbs +0 -53
- package/templates/terraform/aws/security_groups.tf.hbs +0 -81
- package/templates/terraform/aws/vpc.tf.hbs +0 -63
- package/templates/terraform/azure/backend.tf.hbs +0 -8
- package/templates/terraform/azure/iam.tf.hbs +0 -36
- package/templates/terraform/azure/main.tf.hbs +0 -203
- package/templates/terraform/azure/output.tf.hbs +0 -19
- package/templates/terraform/azure/provider.tf.hbs +0 -19
- package/templates/terraform/gcp/backend.tf.hbs +0 -6
- package/templates/terraform/gcp/iam.tf.hbs +0 -47
- package/templates/terraform/gcp/main.tf.hbs +0 -175
- package/templates/terraform/gcp/output.tf.hbs +0 -15
- package/templates/terraform/gcp/provider.tf.hbs +0 -19
- package/templates/terraform/vercel-railway/main.tf.hbs +0 -64
- package/templates/terraform/vercel-railway/output.tf.hbs +0 -11
- /package/{notes-api → notes/api}/.dockerignore +0 -0
- /package/{notes-api → notes/api}/alembic/README +0 -0
- /package/{notes-api → notes/api}/alembic/env.py +0 -0
- /package/{notes-api → notes/api}/alembic/script.py.mako +0 -0
- /package/{notes-api → notes/api}/alembic/versions/001_initial_notes_tables.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/002_add_performance_indexes.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/003_add_yjs_documents.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/004_add_comments.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/005_add_github_username.py +0 -0
- /package/{notes-api → notes/api}/alembic/versions/006_add_check_constraints.py +0 -0
- /package/{notes-api → notes/api}/alembic.ini +0 -0
- /package/{notes-api → notes/api}/app/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/config.py +0 -0
- /package/{notes-api → notes/api}/app/database.py +0 -0
- /package/{notes-api → notes/api}/app/http_client.py +0 -0
- /package/{notes-api → notes/api}/app/models/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/models/audit.py +0 -0
- /package/{notes-api → notes/api}/app/models/base.py +0 -0
- /package/{notes-api → notes/api}/app/models/collab.py +0 -0
- /package/{notes-api → notes/api}/app/models/comment.py +0 -0
- /package/{notes-api → notes/api}/app/models/session.py +0 -0
- /package/{notes-api → notes/api}/app/models/setting.py +0 -0
- /package/{notes-api → notes/api}/app/models/user.py +0 -0
- /package/{notes-api → notes/api}/app/path_validation.py +0 -0
- /package/{notes-api → notes/api}/app/routers/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/routers/collab.py +0 -0
- /package/{notes-api → notes/api}/app/routers/comments.py +0 -0
- /package/{notes-api → notes/api}/app/routers/files.py +0 -0
- /package/{notes-api → notes/api}/app/routers/settings.py +0 -0
- /package/{notes-api → notes/api}/app/routers/tree.py +0 -0
- /package/{notes-api → notes/api}/app/routers/upload.py +0 -0
- /package/{notes-api → notes/api}/app/routers/users.py +0 -0
- /package/{notes-api → notes/api}/app/schemas/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/schemas/auth.py +0 -0
- /package/{notes-api → notes/api}/app/schemas/user.py +0 -0
- /package/{notes-api → notes/api}/app/security.py +0 -0
- /package/{notes-api → notes/api}/app/services/__init__.py +0 -0
- /package/{notes-api → notes/api}/app/services/audit.py +0 -0
- /package/{notes-api → notes/api}/app/services/business_date.py +0 -0
- /package/{notes-api → notes/api}/app/services/collab.py +0 -0
- /package/{notes-api → notes/api}/app/services/github.py +0 -0
- /package/{notes-api → notes/api}/app/services/pr_chain.py +0 -0
- /package/{notes-api → notes/api}/app/startup.py +0 -0
- /package/{notes-api → notes/api}/docker/Dockerfile +0 -0
- /package/{notes-api → notes/api}/docker/Dockerfile.test +0 -0
- /package/{notes-api → notes/api}/pyproject.toml +0 -0
- /package/{notes-api → notes/api}/tests/conftest.py +0 -0
- /package/{notes-api → notes/api}/tests/test_audit.py +0 -0
- /package/{notes-api → notes/api}/tests/test_auth.py +0 -0
- /package/{notes-api → notes/api}/tests/test_business_date.py +0 -0
- /package/{notes-api → notes/api}/tests/test_collab.py +0 -0
- /package/{notes-api → notes/api}/tests/test_comments.py +0 -0
- /package/{notes-api → notes/api}/tests/test_config_ssl.py +0 -0
- /package/{notes-api → notes/api}/tests/test_config_warnings.py +0 -0
- /package/{notes-api → notes/api}/tests/test_files.py +0 -0
- /package/{notes-api → notes/api}/tests/test_path_validation.py +0 -0
- /package/{notes-api → notes/api}/tests/test_security.py +0 -0
- /package/{notes-api → notes/api}/tests/test_settings.py +0 -0
- /package/{notes-api → notes/api}/tests/test_tree.py +0 -0
- /package/{notes-api → notes/api}/tests/test_upload.py +0 -0
- /package/{notes-api → notes/api}/tests/test_users.py +0 -0
- /package/{notes-app → notes/app}/.dockerignore +0 -0
- /package/{notes-app → notes/app}/index.html +0 -0
- /package/{notes-app → notes/app}/nginx.conf +0 -0
- /package/{notes-app → notes/app}/package-lock.json +0 -0
- /package/{notes-app → notes/app}/playwright.config.ts +0 -0
- /package/{notes-app → notes/app}/pnpm-lock.yaml +0 -0
- /package/{notes-app → notes/app}/src/App.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/BranchSelectorModal.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/CodeBlockView.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/CodeBlockView.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/CollabStatus.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/DiffPreview.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/DrawioEditor.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/DrawioViewer.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/ErrorBoundary.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/ErrorBoundary.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileContentView.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileContextMenu.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileContextMenu.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileDialogs.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/FileDialogs.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/SaveStatusIndicator.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/SaveStatusIndicator.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/Skeleton.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/SpreadsheetEditor.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/SpreadsheetEditor.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/TextEditor.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/ToastContainer.tsx +0 -0
- /package/{notes-app → notes/app}/src/components/TreeNode.tsx +0 -0
- /package/{notes-app → notes/app}/src/contexts/AuthContext.test.tsx +0 -0
- /package/{notes-app → notes/app}/src/contexts/AuthContext.tsx +0 -0
- /package/{notes-app → notes/app}/src/contexts/ToastContext.test.ts +0 -0
- /package/{notes-app → notes/app}/src/contexts/ToastContext.tsx +0 -0
- /package/{notes-app → notes/app}/src/hooks/useAutoSave.test.ts +0 -0
- /package/{notes-app → notes/app}/src/hooks/useAutoSave.ts +0 -0
- /package/{notes-app → notes/app}/src/hooks/useCollaboration.ts +0 -0
- /package/{notes-app → notes/app}/src/hooks/useComments.ts +0 -0
- /package/{notes-app → notes/app}/src/hooks/useYText.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/branch-diff.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/branch-diff.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/created-file.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/created-file.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/csv-utils.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/csv-utils.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/deepLinkPathToSearch.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/deepLinkPathToSearch.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/draft-storage.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/draft-storage.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/mermaid-render.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/postLoginRedirect.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/postLoginRedirect.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/tree-utils.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/user-colors.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/xlsx-utils.test.ts +0 -0
- /package/{notes-app → notes/app}/src/lib/xlsx-utils.ts +0 -0
- /package/{notes-app → notes/app}/src/main.tsx +0 -0
- /package/{notes-app → notes/app}/src/pages/LoginPage.tsx +0 -0
- /package/{notes-app → notes/app}/src/pages/MainPage.insertChildEntry.test.ts +0 -0
- /package/{notes-app → notes/app}/src/pages/SettingsPage.tsx +0 -0
- /package/{notes-app → notes/app}/src/pages/UserManagementPage.tsx +0 -0
- /package/{notes-app → notes/app}/src/styles/globals.css +0 -0
- /package/{notes-app → notes/app}/src/types.ts +0 -0
- /package/{notes-app → notes/app}/src/vite-env.d.ts +0 -0
- /package/{notes-app → notes/app}/tsconfig.json +0 -0
- /package/{notes-app → notes/app}/tsconfig.node.json +0 -0
- /package/{notes-app → notes/app}/vite.config.js +0 -0
- /package/{notes-app → notes/app}/vite.config.ts +0 -0
- /package/{notes-app → notes/app}/vitest.config.ts +0 -0
package/dist/index.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import{createRequire}from"module";const require=createRequire(import.meta.url);
|
|
3
|
-
var c1=Object.create;var Dc=Object.defineProperty;var u1=Object.getOwnPropertyDescriptor;var l1=Object.getOwnPropertyNames;var p1=Object.getPrototypeOf,d1=Object.prototype.hasOwnProperty;var An=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var k=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lc=(e,t)=>{for(var r in t)Dc(e,r,{get:t[r],enumerable:!0})},f1=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of l1(t))!d1.call(e,o)&&o!==r&&Dc(e,o,{get:()=>t[o],enumerable:!(n=u1(t,o))||n.enumerable});return e};var Zc=(e,t,r)=>(r=e!=null?c1(p1(e)):{},f1(t||!e||!e.__esModule?Dc(r,"default",{value:e,enumerable:!0}):r,e));var ii=k(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.regexpCode=re.getEsmExportName=re.getProperty=re.safeStringify=re.stringify=re.strConcat=re.addCodeArg=re.str=re._=re.nil=re._Code=re.Name=re.IDENTIFIER=re._CodeOrName=void 0;var ni=class{};re._CodeOrName=ni;re.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var fn=class extends ni{constructor(t){if(super(),!re.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};re.Name=fn;var xt=class extends ni{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof fn&&(r[n.str]=(r[n.str]||0)+1),r),{})}};re._Code=xt;re.nil=new xt("");function O_(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Sp(r,t[n]),r.push(e[++n]);return new xt(r)}re._=O_;var wp=new xt("+");function N_(e,...t){let r=[oi(e[0])],n=0;for(;n<t.length;)r.push(wp),Sp(r,t[n]),r.push(wp,oi(e[++n]));return fE(r),new xt(r)}re.str=N_;function Sp(e,t){t instanceof xt?e.push(...t._items):t instanceof fn?e.push(t):e.push(gE(t))}re.addCodeArg=Sp;function fE(e){let t=1;for(;t<e.length-1;){if(e[t]===wp){let r=hE(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function hE(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof fn||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof fn))return`"${e}${t.slice(1)}`}function mE(e,t){return t.emptyStr()?e:e.emptyStr()?t:N_`${e}${t}`}re.strConcat=mE;function gE(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:oi(Array.isArray(e)?e.join(","):e)}function _E(e){return new xt(oi(e))}re.stringify=_E;function oi(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}re.safeStringify=oi;function yE(e){return typeof e=="string"&&re.IDENTIFIER.test(e)?new xt(`.${e}`):O_`[${e}]`}re.getProperty=yE;function vE(e){if(typeof e=="string"&&re.IDENTIFIER.test(e))return new xt(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}re.getEsmExportName=vE;function xE(e){return new xt(e.toString())}re.regexpCode=xE});var Pp=k(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.ValueScope=rt.ValueScopeName=rt.Scope=rt.varKinds=rt.UsedValueState=void 0;var tt=ii(),Tp=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},ra;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(ra||(rt.UsedValueState=ra={}));rt.varKinds={const:new tt.Name("const"),let:new tt.Name("let"),var:new tt.Name("var")};var na=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof tt.Name?t:this.name(t)}name(t){return new tt.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};rt.Scope=na;var oa=class extends tt.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,tt._)`.${new tt.Name(r)}[${n}]`}};rt.ValueScopeName=oa;var bE=(0,tt._)`\n`,$p=class extends na{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?bE:tt.nil}}get(){return this._scope}name(t){return new oa(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:i}=o,s=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[i];if(a){let p=a.get(s);if(p)return p}else a=this._values[i]=new Map;a.set(s,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(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,tt._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let i=tt.nil;for(let s in t){let a=t[s];if(!a)continue;let c=n[s]=n[s]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,ra.Started);let p=r(u);if(p){let l=this.opts.es5?rt.varKinds.var:rt.varKinds.const;i=(0,tt._)`${i}${l} ${u} = ${p};${this.opts._n}`}else if(p=o?.(u))i=(0,tt._)`${i}${p}${this.opts._n}`;else throw new Tp(u);c.set(u,ra.Completed)})}return i}};rt.ValueScope=$p});var H=k(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 ee=ii(),Rt=Pp(),Pr=ii();Object.defineProperty(G,"_",{enumerable:!0,get:function(){return Pr._}});Object.defineProperty(G,"str",{enumerable:!0,get:function(){return Pr.str}});Object.defineProperty(G,"strConcat",{enumerable:!0,get:function(){return Pr.strConcat}});Object.defineProperty(G,"nil",{enumerable:!0,get:function(){return Pr.nil}});Object.defineProperty(G,"getProperty",{enumerable:!0,get:function(){return Pr.getProperty}});Object.defineProperty(G,"stringify",{enumerable:!0,get:function(){return Pr.stringify}});Object.defineProperty(G,"regexpCode",{enumerable:!0,get:function(){return Pr.regexpCode}});Object.defineProperty(G,"Name",{enumerable:!0,get:function(){return Pr.Name}});var ca=Pp();Object.defineProperty(G,"Scope",{enumerable:!0,get:function(){return ca.Scope}});Object.defineProperty(G,"ValueScope",{enumerable:!0,get:function(){return ca.ValueScope}});Object.defineProperty(G,"ValueScopeName",{enumerable:!0,get:function(){return ca.ValueScopeName}});Object.defineProperty(G,"varKinds",{enumerable:!0,get:function(){return ca.varKinds}});G.operators={GT:new ee._Code(">"),GTE:new ee._Code(">="),LT:new ee._Code("<"),LTE:new ee._Code("<="),EQ:new ee._Code("==="),NEQ:new ee._Code("!=="),NOT:new ee._Code("!"),OR:new ee._Code("||"),AND:new ee._Code("&&"),ADD:new ee._Code("+")};var nr=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Ep=class extends nr{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?Rt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=Yn(this.rhs,t,r)),this}get names(){return this.rhs instanceof ee._CodeOrName?this.rhs.names:{}}},ia=class extends nr{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof ee.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Yn(this.rhs,t,r),this}get names(){let t=this.lhs instanceof ee.Name?{}:{...this.lhs.names};return aa(t,this.rhs)}},zp=class extends ia{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Cp=class extends nr{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Ip=class extends nr{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Rp=class extends nr{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Ap=class extends nr{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=Yn(this.code,t,r),this}get names(){return this.code instanceof ee._CodeOrName?this.code.names:{}}},si=class extends nr{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,o=n.length;for(;o--;){let i=n[o];i.optimizeNames(t,r)||(kE(t,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>gn(t,r.names),{})}},or=class extends si{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Op=class extends si{},Jn=class extends or{};Jn.kind="else";var hn=class e extends or{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Jn(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(j_(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=Yn(this.condition,t,r),this}get names(){let t=super.names;return aa(t,this.condition),this.else&&gn(t,this.else.names),t}};hn.kind="if";var mn=class extends or{};mn.kind="for";var Np=class extends mn{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=Yn(this.iteration,t,r),this}get names(){return gn(super.names,this.iteration.names)}},jp=class extends mn{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?Rt.varKinds.var:this.varKind,{name:n,from:o,to:i}=this;return`for(${r} ${n}=${o}; ${n}<${i}; ${n}++)`+super.render(t)}get names(){let t=aa(super.names,this.from);return aa(t,this.to)}},sa=class extends mn{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=Yn(this.iterable,t,r),this}get names(){return gn(super.names,this.iterable.names)}},ai=class extends or{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};ai.kind="func";var ci=class extends si{render(t){return"return "+super.render(t)}};ci.kind="return";var Mp=class extends or{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&gn(t,this.catch.names),this.finally&&gn(t,this.finally.names),t}},ui=class extends or{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};ui.kind="catch";var li=class extends or{render(t){return"finally"+super.render(t)}};li.kind="finally";var Dp=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
4
|
-
`:""},this._extScope=t,this._scope=new Rt.Scope({parent:t}),this._nodes=[new Op]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,o){let i=this._scope.toName(r);return n!==void 0&&o&&(this._constants[i.str]=n),this._leafNode(new Ep(t,i,n)),i}const(t,r,n){return this._def(Rt.varKinds.const,t,r,n)}let(t,r,n){return this._def(Rt.varKinds.let,t,r,n)}var(t,r,n){return this._def(Rt.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new ia(t,r,n))}add(t,r){return this._leafNode(new zp(t,G.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==ee.nil&&this._leafNode(new Ap(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,ee.addCodeArg)(r,o));return r.push("}"),new ee._Code(r)}if(t,r,n){if(this._blockNode(new hn(t)),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(t){return this._elseNode(new hn(t))}else(){return this._elseNode(new Jn)}endIf(){return this._endBlockNode(hn,Jn)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Np(t),r)}forRange(t,r,n,o,i=this.opts.es5?Rt.varKinds.var:Rt.varKinds.let){let s=this._scope.toName(t);return this._for(new jp(i,s,r,n),()=>o(s))}forOf(t,r,n,o=Rt.varKinds.const){let i=this._scope.toName(t);if(this.opts.es5){let s=r instanceof ee.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,ee._)`${s}.length`,a=>{this.var(i,(0,ee._)`${s}[${a}]`),n(i)})}return this._for(new sa("of",o,i,r),()=>n(i))}forIn(t,r,n,o=this.opts.es5?Rt.varKinds.var:Rt.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,ee._)`Object.keys(${r})`,n);let i=this._scope.toName(t);return this._for(new sa("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(mn)}label(t){return this._leafNode(new Cp(t))}break(t){return this._leafNode(new Ip(t))}return(t){let r=new ci;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(ci)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Mp;if(this._blockNode(o),this.code(t),r){let i=this.name("e");this._currNode=o.catch=new ui(i),r(i)}return n&&(this._currNode=o.finally=new li,this.code(n)),this._endBlockNode(ui,li)}throw(t){return this._leafNode(new Rp(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){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||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=ee.nil,n,o){return this._blockNode(new ai(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(ai)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof hn))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};G.CodeGen=Dp;function gn(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function aa(e,t){return t instanceof ee._CodeOrName?gn(e,t.names):e}function Yn(e,t,r){if(e instanceof ee.Name)return n(e);if(!o(e))return e;return new ee._Code(e._items.reduce((i,s)=>(s instanceof ee.Name&&(s=n(s)),s instanceof ee._Code?i.push(...s._items):i.push(s),i),[]));function n(i){let s=r[i.str];return s===void 0||t[i.str]!==1?i:(delete t[i.str],s)}function o(i){return i instanceof ee._Code&&i._items.some(s=>s instanceof ee.Name&&t[s.str]===1&&r[s.str]!==void 0)}}function kE(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function j_(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,ee._)`!${Lp(e)}`}G.not=j_;var wE=M_(G.operators.AND);function SE(...e){return e.reduce(wE)}G.and=SE;var TE=M_(G.operators.OR);function $E(...e){return e.reduce(TE)}G.or=$E;function M_(e){return(t,r)=>t===ee.nil?r:r===ee.nil?t:(0,ee._)`${Lp(t)} ${e} ${Lp(r)}`}function Lp(e){return e instanceof ee.Name?e:(0,ee._)`(${e})`}});var ne=k(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.checkStrictMode=W.getErrorPath=W.Type=W.useFunc=W.setEvaluated=W.evaluatedPropsToName=W.mergeEvaluated=W.eachItem=W.unescapeJsonPointer=W.escapeJsonPointer=W.escapeFragment=W.unescapeFragment=W.schemaRefOrVal=W.schemaHasRulesButRef=W.schemaHasRules=W.checkUnknownRules=W.alwaysValidSchema=W.toHash=void 0;var ae=H(),PE=ii();function EE(e){let t={};for(let r of e)t[r]=!0;return t}W.toHash=EE;function zE(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Z_(e,t),!q_(t,e.self.RULES.all))}W.alwaysValidSchema=zE;function Z_(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let i in t)o[i]||B_(e,`unknown keyword: "${i}"`)}W.checkUnknownRules=Z_;function q_(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}W.schemaHasRules=q_;function CE(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}W.schemaHasRulesButRef=CE;function IE({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,ae._)`${r}`}return(0,ae._)`${e}${t}${(0,ae.getProperty)(n)}`}W.schemaRefOrVal=IE;function RE(e){return F_(decodeURIComponent(e))}W.unescapeFragment=RE;function AE(e){return encodeURIComponent(qp(e))}W.escapeFragment=AE;function qp(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}W.escapeJsonPointer=qp;function F_(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}W.unescapeJsonPointer=F_;function OE(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}W.eachItem=OE;function D_({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,i,s,a)=>{let c=s===void 0?i:s instanceof ae.Name?(i instanceof ae.Name?e(o,i,s):t(o,i,s),s):i instanceof ae.Name?(t(o,s,i),i):r(i,s);return a===ae.Name&&!(c instanceof ae.Name)?n(o,c):c}}W.mergeEvaluated={props:D_({mergeNames:(e,t,r)=>e.if((0,ae._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,ae._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,ae._)`${r} || {}`).code((0,ae._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,ae._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,ae._)`${r} || {}`),Fp(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:U_}),items:D_({mergeNames:(e,t,r)=>e.if((0,ae._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,ae._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,ae._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,ae._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function U_(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,ae._)`{}`);return t!==void 0&&Fp(e,r,t),r}W.evaluatedPropsToName=U_;function Fp(e,t,r){Object.keys(r).forEach(n=>e.assign((0,ae._)`${t}${(0,ae.getProperty)(n)}`,!0))}W.setEvaluated=Fp;var L_={};function NE(e,t){return e.scopeValue("func",{ref:t,code:L_[t.code]||(L_[t.code]=new PE._Code(t.code))})}W.useFunc=NE;var Zp;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Zp||(W.Type=Zp={}));function jE(e,t,r){if(e instanceof ae.Name){let n=t===Zp.Num;return r?n?(0,ae._)`"[" + ${e} + "]"`:(0,ae._)`"['" + ${e} + "']"`:n?(0,ae._)`"/" + ${e}`:(0,ae._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,ae.getProperty)(e).toString():"/"+qp(e)}W.getErrorPath=jE;function B_(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}W.checkStrictMode=B_});var ir=k(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});var Ze=H(),ME={data:new Ze.Name("data"),valCxt:new Ze.Name("valCxt"),instancePath:new Ze.Name("instancePath"),parentData:new Ze.Name("parentData"),parentDataProperty:new Ze.Name("parentDataProperty"),rootData:new Ze.Name("rootData"),dynamicAnchors:new Ze.Name("dynamicAnchors"),vErrors:new Ze.Name("vErrors"),errors:new Ze.Name("errors"),this:new Ze.Name("this"),self:new Ze.Name("self"),scope:new Ze.Name("scope"),json:new Ze.Name("json"),jsonPos:new Ze.Name("jsonPos"),jsonLen:new Ze.Name("jsonLen"),jsonPart:new Ze.Name("jsonPart")};Up.default=ME});var pi=k(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.extendErrors=qe.resetErrorsCount=qe.reportExtraError=qe.reportError=qe.keyword$DataError=qe.keywordError=void 0;var te=H(),ua=ne(),Ge=ir();qe.keywordError={message:({keyword:e})=>(0,te.str)`must pass "${e}" keyword validation`};qe.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,te.str)`"${e}" keyword must be ${t} ($data)`:(0,te.str)`"${e}" keyword is invalid ($data)`};function DE(e,t=qe.keywordError,r,n){let{it:o}=e,{gen:i,compositeRule:s,allErrors:a}=o,c=G_(e,t,r);n??(s||a)?V_(i,c):H_(o,(0,te._)`[${c}]`)}qe.reportError=DE;function LE(e,t=qe.keywordError,r){let{it:n}=e,{gen:o,compositeRule:i,allErrors:s}=n,a=G_(e,t,r);V_(o,a),i||s||H_(n,Ge.default.vErrors)}qe.reportExtraError=LE;function ZE(e,t){e.assign(Ge.default.errors,t),e.if((0,te._)`${Ge.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,te._)`${Ge.default.vErrors}.length`,t),()=>e.assign(Ge.default.vErrors,null)))}qe.resetErrorsCount=ZE;function qE({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:i}){if(o===void 0)throw new Error("ajv implementation error");let s=e.name("err");e.forRange("i",o,Ge.default.errors,a=>{e.const(s,(0,te._)`${Ge.default.vErrors}[${a}]`),e.if((0,te._)`${s}.instancePath === undefined`,()=>e.assign((0,te._)`${s}.instancePath`,(0,te.strConcat)(Ge.default.instancePath,i.errorPath))),e.assign((0,te._)`${s}.schemaPath`,(0,te.str)`${i.errSchemaPath}/${t}`),i.opts.verbose&&(e.assign((0,te._)`${s}.schema`,r),e.assign((0,te._)`${s}.data`,n))})}qe.extendErrors=qE;function V_(e,t){let r=e.const("err",t);e.if((0,te._)`${Ge.default.vErrors} === null`,()=>e.assign(Ge.default.vErrors,(0,te._)`[${r}]`),(0,te._)`${Ge.default.vErrors}.push(${r})`),e.code((0,te._)`${Ge.default.errors}++`)}function H_(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,te._)`new ${e.ValidationError}(${t})`):(r.assign((0,te._)`${n}.errors`,t),r.return(!1))}var _n={keyword:new te.Name("keyword"),schemaPath:new te.Name("schemaPath"),params:new te.Name("params"),propertyName:new te.Name("propertyName"),message:new te.Name("message"),schema:new te.Name("schema"),parentSchema:new te.Name("parentSchema")};function G_(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,te._)`{}`:FE(e,t,r)}function FE(e,t,r={}){let{gen:n,it:o}=e,i=[UE(o,r),BE(e,r)];return VE(e,t,i),n.object(...i)}function UE({errorPath:e},{instancePath:t}){let r=t?(0,te.str)`${e}${(0,ua.getErrorPath)(t,ua.Type.Str)}`:e;return[Ge.default.instancePath,(0,te.strConcat)(Ge.default.instancePath,r)]}function BE({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,te.str)`${t}/${e}`;return r&&(o=(0,te.str)`${o}${(0,ua.getErrorPath)(r,ua.Type.Str)}`),[_n.schemaPath,o]}function VE(e,{params:t,message:r},n){let{keyword:o,data:i,schemaValue:s,it:a}=e,{opts:c,propertyName:u,topSchemaRef:p,schemaPath:l}=a;n.push([_n.keyword,o],[_n.params,typeof t=="function"?t(e):t||(0,te._)`{}`]),c.messages&&n.push([_n.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([_n.schema,s],[_n.parentSchema,(0,te._)`${p}${l}`],[Ge.default.data,i]),u&&n.push([_n.propertyName,u])}});var W_=k(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.boolOrEmptySchema=Qn.topBoolOrEmptySchema=void 0;var HE=pi(),GE=H(),KE=ir(),WE={message:"boolean schema is false"};function JE(e){let{gen:t,schema:r,validateName:n}=e;r===!1?K_(e,!1):typeof r=="object"&&r.$async===!0?t.return(KE.default.data):(t.assign((0,GE._)`${n}.errors`,null),t.return(!0))}Qn.topBoolOrEmptySchema=JE;function YE(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),K_(e)):r.var(t,!0)}Qn.boolOrEmptySchema=YE;function K_(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,HE.reportError)(o,WE,void 0,t)}});var Bp=k(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.getRules=Xn.isJSONType=void 0;var QE=["string","number","integer","boolean","null","object","array"],XE=new Set(QE);function ez(e){return typeof e=="string"&&XE.has(e)}Xn.isJSONType=ez;function tz(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Xn.getRules=tz});var Vp=k(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.shouldUseRule=Er.shouldUseGroup=Er.schemaHasRulesForType=void 0;function rz({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&J_(e,n)}Er.schemaHasRulesForType=rz;function J_(e,t){return t.rules.some(r=>Y_(e,r))}Er.shouldUseGroup=J_;function Y_(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Er.shouldUseRule=Y_});var di=k(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.reportTypeError=Fe.checkDataTypes=Fe.checkDataType=Fe.coerceAndCheckDataType=Fe.getJSONTypes=Fe.getSchemaTypes=Fe.DataType=void 0;var nz=Bp(),oz=Vp(),iz=pi(),B=H(),Q_=ne(),eo;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(eo||(Fe.DataType=eo={}));function sz(e){let t=X_(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Fe.getSchemaTypes=sz;function X_(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(nz.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Fe.getJSONTypes=X_;function az(e,t){let{gen:r,data:n,opts:o}=e,i=cz(t,o.coerceTypes),s=t.length>0&&!(i.length===0&&t.length===1&&(0,oz.schemaHasRulesForType)(e,t[0]));if(s){let a=Gp(t,n,o.strictNumbers,eo.Wrong);r.if(a,()=>{i.length?uz(e,t,i):Kp(e)})}return s}Fe.coerceAndCheckDataType=az;var ey=new Set(["string","number","integer","boolean","null"]);function cz(e,t){return t?e.filter(r=>ey.has(r)||t==="array"&&r==="array"):[]}function uz(e,t,r){let{gen:n,data:o,opts:i}=e,s=n.let("dataType",(0,B._)`typeof ${o}`),a=n.let("coerced",(0,B._)`undefined`);i.coerceTypes==="array"&&n.if((0,B._)`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,B._)`${o}[0]`).assign(s,(0,B._)`typeof ${o}`).if(Gp(t,o,i.strictNumbers),()=>n.assign(a,o))),n.if((0,B._)`${a} !== undefined`);for(let u of r)(ey.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),Kp(e),n.endIf(),n.if((0,B._)`${a} !== undefined`,()=>{n.assign(o,a),lz(e,a)});function c(u){switch(u){case"string":n.elseIf((0,B._)`${s} == "number" || ${s} == "boolean"`).assign(a,(0,B._)`"" + ${o}`).elseIf((0,B._)`${o} === null`).assign(a,(0,B._)`""`);return;case"number":n.elseIf((0,B._)`${s} == "boolean" || ${o} === null
|
|
3
|
+
var j1=Object.create;var Mc=Object.defineProperty;var M1=Object.getOwnPropertyDescriptor;var L1=Object.getOwnPropertyNames;var Z1=Object.getPrototypeOf,q1=Object.prototype.hasOwnProperty;var Cn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var k=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lc=(e,t)=>{for(var r in t)Mc(e,r,{get:t[r],enumerable:!0})},F1=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of L1(t))!q1.call(e,o)&&o!==r&&Mc(e,o,{get:()=>t[o],enumerable:!(n=M1(t,o))||n.enumerable});return e};var Zc=(e,t,r)=>(r=e!=null?j1(Z1(e)):{},F1(t||!e||!e.__esModule?Mc(r,"default",{value:e,enumerable:!0}):r,e));var ri=k(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.regexpCode=re.getEsmExportName=re.getProperty=re.safeStringify=re.stringify=re.strConcat=re.addCodeArg=re.str=re._=re.nil=re._Code=re.Name=re.IDENTIFIER=re._CodeOrName=void 0;var ei=class{};re._CodeOrName=ei;re.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var pn=class extends ei{constructor(t){if(super(),!re.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};re.Name=pn;var xt=class extends ei{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof pn&&(r[n.str]=(r[n.str]||0)+1),r),{})}};re._Code=xt;re.nil=new xt("");function D_(e,...t){let r=[e[0]],n=0;for(;n<t.length;)wp(r,t[n]),r.push(e[++n]);return new xt(r)}re._=D_;var Sp=new xt("+");function j_(e,...t){let r=[ti(e[0])],n=0;for(;n<t.length;)r.push(Sp),wp(r,t[n]),r.push(Sp,ti(e[++n]));return FE(r),new xt(r)}re.str=j_;function wp(e,t){t instanceof xt?e.push(...t._items):t instanceof pn?e.push(t):e.push(VE(t))}re.addCodeArg=wp;function FE(e){let t=1;for(;t<e.length-1;){if(e[t]===Sp){let r=UE(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function UE(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof pn||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof pn))return`"${e}${t.slice(1)}`}function BE(e,t){return t.emptyStr()?e:e.emptyStr()?t:j_`${e}${t}`}re.strConcat=BE;function VE(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:ti(Array.isArray(e)?e.join(","):e)}function HE(e){return new xt(ti(e))}re.stringify=HE;function ti(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}re.safeStringify=ti;function GE(e){return typeof e=="string"&&re.IDENTIFIER.test(e)?new xt(`.${e}`):D_`[${e}]`}re.getProperty=GE;function KE(e){if(typeof e=="string"&&re.IDENTIFIER.test(e))return new xt(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}re.getEsmExportName=KE;function WE(e){return new xt(e.toString())}re.regexpCode=WE});var Pp=k(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.ValueScope=rt.ValueScopeName=rt.Scope=rt.varKinds=rt.UsedValueState=void 0;var tt=ri(),Tp=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},Xs;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(Xs||(rt.UsedValueState=Xs={}));rt.varKinds={const:new tt.Name("const"),let:new tt.Name("let"),var:new tt.Name("var")};var ea=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof tt.Name?t:this.name(t)}name(t){return new tt.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};rt.Scope=ea;var ta=class extends tt.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,tt._)`.${new tt.Name(r)}[${n}]`}};rt.ValueScopeName=ta;var JE=(0,tt._)`\n`,$p=class extends ea{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?JE:tt.nil}}get(){return this._scope}name(t){return new ta(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:i}=o,s=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[i];if(a){let p=a.get(s);if(p)return p}else a=this._values[i]=new Map;a.set(s,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(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,tt._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let i=tt.nil;for(let s in t){let a=t[s];if(!a)continue;let c=n[s]=n[s]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,Xs.Started);let p=r(u);if(p){let l=this.opts.es5?rt.varKinds.var:rt.varKinds.const;i=(0,tt._)`${i}${l} ${u} = ${p};${this.opts._n}`}else if(p=o?.(u))i=(0,tt._)`${i}${p}${this.opts._n}`;else throw new Tp(u);c.set(u,Xs.Completed)})}return i}};rt.ValueScope=$p});var H=k(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 ee=ri(),It=Pp(),Tr=ri();Object.defineProperty(G,"_",{enumerable:!0,get:function(){return Tr._}});Object.defineProperty(G,"str",{enumerable:!0,get:function(){return Tr.str}});Object.defineProperty(G,"strConcat",{enumerable:!0,get:function(){return Tr.strConcat}});Object.defineProperty(G,"nil",{enumerable:!0,get:function(){return Tr.nil}});Object.defineProperty(G,"getProperty",{enumerable:!0,get:function(){return Tr.getProperty}});Object.defineProperty(G,"stringify",{enumerable:!0,get:function(){return Tr.stringify}});Object.defineProperty(G,"regexpCode",{enumerable:!0,get:function(){return Tr.regexpCode}});Object.defineProperty(G,"Name",{enumerable:!0,get:function(){return Tr.Name}});var ia=Pp();Object.defineProperty(G,"Scope",{enumerable:!0,get:function(){return ia.Scope}});Object.defineProperty(G,"ValueScope",{enumerable:!0,get:function(){return ia.ValueScope}});Object.defineProperty(G,"ValueScopeName",{enumerable:!0,get:function(){return ia.ValueScopeName}});Object.defineProperty(G,"varKinds",{enumerable:!0,get:function(){return ia.varKinds}});G.operators={GT:new ee._Code(">"),GTE:new ee._Code(">="),LT:new ee._Code("<"),LTE:new ee._Code("<="),EQ:new ee._Code("==="),NEQ:new ee._Code("!=="),NOT:new ee._Code("!"),OR:new ee._Code("||"),AND:new ee._Code("&&"),ADD:new ee._Code("+")};var rr=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Ep=class extends rr{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?It.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=Kn(this.rhs,t,r)),this}get names(){return this.rhs instanceof ee._CodeOrName?this.rhs.names:{}}},ra=class extends rr{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof ee.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Kn(this.rhs,t,r),this}get names(){let t=this.lhs instanceof ee.Name?{}:{...this.lhs.names};return oa(t,this.rhs)}},zp=class extends ra{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Cp=class extends rr{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Ip=class extends rr{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Rp=class extends rr{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Ap=class extends rr{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=Kn(this.code,t,r),this}get names(){return this.code instanceof ee._CodeOrName?this.code.names:{}}},ni=class extends rr{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,o=n.length;for(;o--;){let i=n[o];i.optimizeNames(t,r)||(YE(t,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>hn(t,r.names),{})}},nr=class extends ni{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Op=class extends ni{},Gn=class extends nr{};Gn.kind="else";var dn=class e extends nr{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Gn(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(M_(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=Kn(this.condition,t,r),this}get names(){let t=super.names;return oa(t,this.condition),this.else&&hn(t,this.else.names),t}};dn.kind="if";var fn=class extends nr{};fn.kind="for";var Np=class extends fn{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=Kn(this.iteration,t,r),this}get names(){return hn(super.names,this.iteration.names)}},Dp=class extends fn{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?It.varKinds.var:this.varKind,{name:n,from:o,to:i}=this;return`for(${r} ${n}=${o}; ${n}<${i}; ${n}++)`+super.render(t)}get names(){let t=oa(super.names,this.from);return oa(t,this.to)}},na=class extends fn{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=Kn(this.iterable,t,r),this}get names(){return hn(super.names,this.iterable.names)}},oi=class extends nr{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};oi.kind="func";var ii=class extends ni{render(t){return"return "+super.render(t)}};ii.kind="return";var jp=class extends nr{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&hn(t,this.catch.names),this.finally&&hn(t,this.finally.names),t}},si=class extends nr{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};si.kind="catch";var ai=class extends nr{render(t){return"finally"+super.render(t)}};ai.kind="finally";var Mp=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
4
|
+
`:""},this._extScope=t,this._scope=new It.Scope({parent:t}),this._nodes=[new Op]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,o){let i=this._scope.toName(r);return n!==void 0&&o&&(this._constants[i.str]=n),this._leafNode(new Ep(t,i,n)),i}const(t,r,n){return this._def(It.varKinds.const,t,r,n)}let(t,r,n){return this._def(It.varKinds.let,t,r,n)}var(t,r,n){return this._def(It.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new ra(t,r,n))}add(t,r){return this._leafNode(new zp(t,G.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==ee.nil&&this._leafNode(new Ap(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,ee.addCodeArg)(r,o));return r.push("}"),new ee._Code(r)}if(t,r,n){if(this._blockNode(new dn(t)),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(t){return this._elseNode(new dn(t))}else(){return this._elseNode(new Gn)}endIf(){return this._endBlockNode(dn,Gn)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Np(t),r)}forRange(t,r,n,o,i=this.opts.es5?It.varKinds.var:It.varKinds.let){let s=this._scope.toName(t);return this._for(new Dp(i,s,r,n),()=>o(s))}forOf(t,r,n,o=It.varKinds.const){let i=this._scope.toName(t);if(this.opts.es5){let s=r instanceof ee.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,ee._)`${s}.length`,a=>{this.var(i,(0,ee._)`${s}[${a}]`),n(i)})}return this._for(new na("of",o,i,r),()=>n(i))}forIn(t,r,n,o=this.opts.es5?It.varKinds.var:It.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,ee._)`Object.keys(${r})`,n);let i=this._scope.toName(t);return this._for(new na("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(fn)}label(t){return this._leafNode(new Cp(t))}break(t){return this._leafNode(new Ip(t))}return(t){let r=new ii;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(ii)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new jp;if(this._blockNode(o),this.code(t),r){let i=this.name("e");this._currNode=o.catch=new si(i),r(i)}return n&&(this._currNode=o.finally=new ai,this.code(n)),this._endBlockNode(si,ai)}throw(t){return this._leafNode(new Rp(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){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||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=ee.nil,n,o){return this._blockNode(new oi(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(oi)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof dn))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};G.CodeGen=Mp;function hn(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function oa(e,t){return t instanceof ee._CodeOrName?hn(e,t.names):e}function Kn(e,t,r){if(e instanceof ee.Name)return n(e);if(!o(e))return e;return new ee._Code(e._items.reduce((i,s)=>(s instanceof ee.Name&&(s=n(s)),s instanceof ee._Code?i.push(...s._items):i.push(s),i),[]));function n(i){let s=r[i.str];return s===void 0||t[i.str]!==1?i:(delete t[i.str],s)}function o(i){return i instanceof ee._Code&&i._items.some(s=>s instanceof ee.Name&&t[s.str]===1&&r[s.str]!==void 0)}}function YE(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function M_(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,ee._)`!${Lp(e)}`}G.not=M_;var QE=L_(G.operators.AND);function XE(...e){return e.reduce(QE)}G.and=XE;var ez=L_(G.operators.OR);function tz(...e){return e.reduce(ez)}G.or=tz;function L_(e){return(t,r)=>t===ee.nil?r:r===ee.nil?t:(0,ee._)`${Lp(t)} ${e} ${Lp(r)}`}function Lp(e){return e instanceof ee.Name?e:(0,ee._)`(${e})`}});var ne=k(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.checkStrictMode=W.getErrorPath=W.Type=W.useFunc=W.setEvaluated=W.evaluatedPropsToName=W.mergeEvaluated=W.eachItem=W.unescapeJsonPointer=W.escapeJsonPointer=W.escapeFragment=W.unescapeFragment=W.schemaRefOrVal=W.schemaHasRulesButRef=W.schemaHasRules=W.checkUnknownRules=W.alwaysValidSchema=W.toHash=void 0;var ae=H(),rz=ri();function nz(e){let t={};for(let r of e)t[r]=!0;return t}W.toHash=nz;function oz(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(F_(e,t),!U_(t,e.self.RULES.all))}W.alwaysValidSchema=oz;function F_(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let i in t)o[i]||H_(e,`unknown keyword: "${i}"`)}W.checkUnknownRules=F_;function U_(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}W.schemaHasRules=U_;function iz(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}W.schemaHasRulesButRef=iz;function sz({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,ae._)`${r}`}return(0,ae._)`${e}${t}${(0,ae.getProperty)(n)}`}W.schemaRefOrVal=sz;function az(e){return B_(decodeURIComponent(e))}W.unescapeFragment=az;function cz(e){return encodeURIComponent(qp(e))}W.escapeFragment=cz;function qp(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}W.escapeJsonPointer=qp;function B_(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}W.unescapeJsonPointer=B_;function uz(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}W.eachItem=uz;function Z_({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,i,s,a)=>{let c=s===void 0?i:s instanceof ae.Name?(i instanceof ae.Name?e(o,i,s):t(o,i,s),s):i instanceof ae.Name?(t(o,s,i),i):r(i,s);return a===ae.Name&&!(c instanceof ae.Name)?n(o,c):c}}W.mergeEvaluated={props:Z_({mergeNames:(e,t,r)=>e.if((0,ae._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,ae._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,ae._)`${r} || {}`).code((0,ae._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,ae._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,ae._)`${r} || {}`),Fp(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:V_}),items:Z_({mergeNames:(e,t,r)=>e.if((0,ae._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,ae._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,ae._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,ae._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function V_(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,ae._)`{}`);return t!==void 0&&Fp(e,r,t),r}W.evaluatedPropsToName=V_;function Fp(e,t,r){Object.keys(r).forEach(n=>e.assign((0,ae._)`${t}${(0,ae.getProperty)(n)}`,!0))}W.setEvaluated=Fp;var q_={};function lz(e,t){return e.scopeValue("func",{ref:t,code:q_[t.code]||(q_[t.code]=new rz._Code(t.code))})}W.useFunc=lz;var Zp;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Zp||(W.Type=Zp={}));function pz(e,t,r){if(e instanceof ae.Name){let n=t===Zp.Num;return r?n?(0,ae._)`"[" + ${e} + "]"`:(0,ae._)`"['" + ${e} + "']"`:n?(0,ae._)`"/" + ${e}`:(0,ae._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,ae.getProperty)(e).toString():"/"+qp(e)}W.getErrorPath=pz;function H_(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}W.checkStrictMode=H_});var or=k(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});var Ze=H(),dz={data:new Ze.Name("data"),valCxt:new Ze.Name("valCxt"),instancePath:new Ze.Name("instancePath"),parentData:new Ze.Name("parentData"),parentDataProperty:new Ze.Name("parentDataProperty"),rootData:new Ze.Name("rootData"),dynamicAnchors:new Ze.Name("dynamicAnchors"),vErrors:new Ze.Name("vErrors"),errors:new Ze.Name("errors"),this:new Ze.Name("this"),self:new Ze.Name("self"),scope:new Ze.Name("scope"),json:new Ze.Name("json"),jsonPos:new Ze.Name("jsonPos"),jsonLen:new Ze.Name("jsonLen"),jsonPart:new Ze.Name("jsonPart")};Up.default=dz});var ci=k(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.extendErrors=qe.resetErrorsCount=qe.reportExtraError=qe.reportError=qe.keyword$DataError=qe.keywordError=void 0;var te=H(),sa=ne(),Ge=or();qe.keywordError={message:({keyword:e})=>(0,te.str)`must pass "${e}" keyword validation`};qe.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,te.str)`"${e}" keyword must be ${t} ($data)`:(0,te.str)`"${e}" keyword is invalid ($data)`};function fz(e,t=qe.keywordError,r,n){let{it:o}=e,{gen:i,compositeRule:s,allErrors:a}=o,c=W_(e,t,r);n??(s||a)?G_(i,c):K_(o,(0,te._)`[${c}]`)}qe.reportError=fz;function hz(e,t=qe.keywordError,r){let{it:n}=e,{gen:o,compositeRule:i,allErrors:s}=n,a=W_(e,t,r);G_(o,a),i||s||K_(n,Ge.default.vErrors)}qe.reportExtraError=hz;function mz(e,t){e.assign(Ge.default.errors,t),e.if((0,te._)`${Ge.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,te._)`${Ge.default.vErrors}.length`,t),()=>e.assign(Ge.default.vErrors,null)))}qe.resetErrorsCount=mz;function gz({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:i}){if(o===void 0)throw new Error("ajv implementation error");let s=e.name("err");e.forRange("i",o,Ge.default.errors,a=>{e.const(s,(0,te._)`${Ge.default.vErrors}[${a}]`),e.if((0,te._)`${s}.instancePath === undefined`,()=>e.assign((0,te._)`${s}.instancePath`,(0,te.strConcat)(Ge.default.instancePath,i.errorPath))),e.assign((0,te._)`${s}.schemaPath`,(0,te.str)`${i.errSchemaPath}/${t}`),i.opts.verbose&&(e.assign((0,te._)`${s}.schema`,r),e.assign((0,te._)`${s}.data`,n))})}qe.extendErrors=gz;function G_(e,t){let r=e.const("err",t);e.if((0,te._)`${Ge.default.vErrors} === null`,()=>e.assign(Ge.default.vErrors,(0,te._)`[${r}]`),(0,te._)`${Ge.default.vErrors}.push(${r})`),e.code((0,te._)`${Ge.default.errors}++`)}function K_(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,te._)`new ${e.ValidationError}(${t})`):(r.assign((0,te._)`${n}.errors`,t),r.return(!1))}var mn={keyword:new te.Name("keyword"),schemaPath:new te.Name("schemaPath"),params:new te.Name("params"),propertyName:new te.Name("propertyName"),message:new te.Name("message"),schema:new te.Name("schema"),parentSchema:new te.Name("parentSchema")};function W_(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,te._)`{}`:_z(e,t,r)}function _z(e,t,r={}){let{gen:n,it:o}=e,i=[yz(o,r),vz(e,r)];return xz(e,t,i),n.object(...i)}function yz({errorPath:e},{instancePath:t}){let r=t?(0,te.str)`${e}${(0,sa.getErrorPath)(t,sa.Type.Str)}`:e;return[Ge.default.instancePath,(0,te.strConcat)(Ge.default.instancePath,r)]}function vz({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,te.str)`${t}/${e}`;return r&&(o=(0,te.str)`${o}${(0,sa.getErrorPath)(r,sa.Type.Str)}`),[mn.schemaPath,o]}function xz(e,{params:t,message:r},n){let{keyword:o,data:i,schemaValue:s,it:a}=e,{opts:c,propertyName:u,topSchemaRef:p,schemaPath:l}=a;n.push([mn.keyword,o],[mn.params,typeof t=="function"?t(e):t||(0,te._)`{}`]),c.messages&&n.push([mn.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([mn.schema,s],[mn.parentSchema,(0,te._)`${p}${l}`],[Ge.default.data,i]),u&&n.push([mn.propertyName,u])}});var Y_=k(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.boolOrEmptySchema=Wn.topBoolOrEmptySchema=void 0;var bz=ci(),kz=H(),Sz=or(),wz={message:"boolean schema is false"};function Tz(e){let{gen:t,schema:r,validateName:n}=e;r===!1?J_(e,!1):typeof r=="object"&&r.$async===!0?t.return(Sz.default.data):(t.assign((0,kz._)`${n}.errors`,null),t.return(!0))}Wn.topBoolOrEmptySchema=Tz;function $z(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),J_(e)):r.var(t,!0)}Wn.boolOrEmptySchema=$z;function J_(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,bz.reportError)(o,wz,void 0,t)}});var Bp=k(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.getRules=Jn.isJSONType=void 0;var Pz=["string","number","integer","boolean","null","object","array"],Ez=new Set(Pz);function zz(e){return typeof e=="string"&&Ez.has(e)}Jn.isJSONType=zz;function Cz(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Jn.getRules=Cz});var Vp=k($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.shouldUseRule=$r.shouldUseGroup=$r.schemaHasRulesForType=void 0;function Iz({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&Q_(e,n)}$r.schemaHasRulesForType=Iz;function Q_(e,t){return t.rules.some(r=>X_(e,r))}$r.shouldUseGroup=Q_;function X_(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}$r.shouldUseRule=X_});var ui=k(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.reportTypeError=Fe.checkDataTypes=Fe.checkDataType=Fe.coerceAndCheckDataType=Fe.getJSONTypes=Fe.getSchemaTypes=Fe.DataType=void 0;var Rz=Bp(),Az=Vp(),Oz=ci(),B=H(),ey=ne(),Yn;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(Yn||(Fe.DataType=Yn={}));function Nz(e){let t=ty(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Fe.getSchemaTypes=Nz;function ty(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(Rz.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Fe.getJSONTypes=ty;function Dz(e,t){let{gen:r,data:n,opts:o}=e,i=jz(t,o.coerceTypes),s=t.length>0&&!(i.length===0&&t.length===1&&(0,Az.schemaHasRulesForType)(e,t[0]));if(s){let a=Gp(t,n,o.strictNumbers,Yn.Wrong);r.if(a,()=>{i.length?Mz(e,t,i):Kp(e)})}return s}Fe.coerceAndCheckDataType=Dz;var ry=new Set(["string","number","integer","boolean","null"]);function jz(e,t){return t?e.filter(r=>ry.has(r)||t==="array"&&r==="array"):[]}function Mz(e,t,r){let{gen:n,data:o,opts:i}=e,s=n.let("dataType",(0,B._)`typeof ${o}`),a=n.let("coerced",(0,B._)`undefined`);i.coerceTypes==="array"&&n.if((0,B._)`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,B._)`${o}[0]`).assign(s,(0,B._)`typeof ${o}`).if(Gp(t,o,i.strictNumbers),()=>n.assign(a,o))),n.if((0,B._)`${a} !== undefined`);for(let u of r)(ry.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),Kp(e),n.endIf(),n.if((0,B._)`${a} !== undefined`,()=>{n.assign(o,a),Lz(e,a)});function c(u){switch(u){case"string":n.elseIf((0,B._)`${s} == "number" || ${s} == "boolean"`).assign(a,(0,B._)`"" + ${o}`).elseIf((0,B._)`${o} === null`).assign(a,(0,B._)`""`);return;case"number":n.elseIf((0,B._)`${s} == "boolean" || ${o} === null
|
|
5
5
|
|| (${s} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,B._)`+${o}`);return;case"integer":n.elseIf((0,B._)`${s} === "boolean" || ${o} === null
|
|
6
6
|
|| (${s} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,B._)`+${o}`);return;case"boolean":n.elseIf((0,B._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,B._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,B._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,B._)`${s} === "string" || ${s} === "number"
|
|
7
|
-
|| ${s} === "boolean" || ${o} === null`).assign(a,(0,B._)`[${o}]`)}}}function lz({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,B._)`${t} !== undefined`,()=>e.assign((0,B._)`${t}[${r}]`,n))}function Hp(e,t,r,n=eo.Correct){let o=n===eo.Correct?B.operators.EQ:B.operators.NEQ,i;switch(e){case"null":return(0,B._)`${t} ${o} null`;case"array":i=(0,B._)`Array.isArray(${t})`;break;case"object":i=(0,B._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=s((0,B._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=s();break;default:return(0,B._)`typeof ${t} ${o} ${e}`}return n===eo.Correct?i:(0,B.not)(i);function s(a=B.nil){return(0,B.and)((0,B._)`typeof ${t} == "number"`,a,r?(0,B._)`isFinite(${t})`:B.nil)}}Fe.checkDataType=Hp;function Gp(e,t,r,n){if(e.length===1)return Hp(e[0],t,r,n);let o,i=(0,Q_.toHash)(e);if(i.array&&i.object){let s=(0,B._)`typeof ${t} != "object"`;o=i.null?s:(0,B._)`!${t} || ${s}`,delete i.null,delete i.array,delete i.object}else o=B.nil;i.number&&delete i.integer;for(let s in i)o=(0,B.and)(o,Hp(s,t,r,n));return o}Fe.checkDataTypes=Gp;var pz={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,B._)`{type: ${e}}`:(0,B._)`{type: ${t}}`};function Kp(e){let t=dz(e);(0,iz.reportError)(t,pz)}Fe.reportTypeError=Kp;function dz(e){let{gen:t,data:r,schema:n}=e,o=(0,Q_.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var ry=k(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.assignDefaults=void 0;var to=H(),fz=ne();function hz(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)ty(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,i)=>ty(e,i,o.default))}la.assignDefaults=hz;function ty(e,t,r){let{gen:n,compositeRule:o,data:i,opts:s}=e;if(r===void 0)return;let a=(0,to._)`${i}${(0,to.getProperty)(t)}`;if(o){(0,fz.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,to._)`${a} === undefined`;s.useDefaults==="empty"&&(c=(0,to._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,to._)`${a} = ${(0,to.stringify)(r)}`)}});var bt=k(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.validateUnion=se.validateArray=se.usePattern=se.callValidateCode=se.schemaProperties=se.allSchemaProperties=se.noPropertyInData=se.propertyInData=se.isOwnProperty=se.hasPropFunc=se.reportMissingProp=se.checkMissingProp=se.checkReportMissingProp=void 0;var de=H(),Wp=ne(),zr=ir(),mz=ne();function gz(e,t){let{gen:r,data:n,it:o}=e;r.if(Yp(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,de._)`${t}`},!0),e.error()})}se.checkReportMissingProp=gz;function _z({gen:e,data:t,it:{opts:r}},n,o){return(0,de.or)(...n.map(i=>(0,de.and)(Yp(e,t,i,r.ownProperties),(0,de._)`${o} = ${i}`)))}se.checkMissingProp=_z;function yz(e,t){e.setParams({missingProperty:t},!0),e.error()}se.reportMissingProp=yz;function ny(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,de._)`Object.prototype.hasOwnProperty`})}se.hasPropFunc=ny;function Jp(e,t,r){return(0,de._)`${ny(e)}.call(${t}, ${r})`}se.isOwnProperty=Jp;function vz(e,t,r,n){let o=(0,de._)`${t}${(0,de.getProperty)(r)} !== undefined`;return n?(0,de._)`${o} && ${Jp(e,t,r)}`:o}se.propertyInData=vz;function Yp(e,t,r,n){let o=(0,de._)`${t}${(0,de.getProperty)(r)} === undefined`;return n?(0,de.or)(o,(0,de.not)(Jp(e,t,r))):o}se.noPropertyInData=Yp;function oy(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}se.allSchemaProperties=oy;function xz(e,t){return oy(t).filter(r=>!(0,Wp.alwaysValidSchema)(e,t[r]))}se.schemaProperties=xz;function bz({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:s},a,c,u){let p=u?(0,de._)`${e}, ${t}, ${n}${o}`:t,l=[[zr.default.instancePath,(0,de.strConcat)(zr.default.instancePath,i)],[zr.default.parentData,s.parentData],[zr.default.parentDataProperty,s.parentDataProperty],[zr.default.rootData,zr.default.rootData]];s.opts.dynamicRef&&l.push([zr.default.dynamicAnchors,zr.default.dynamicAnchors]);let d=(0,de._)`${p}, ${r.object(...l)}`;return c!==de.nil?(0,de._)`${a}.call(${c}, ${d})`:(0,de._)`${a}(${d})`}se.callValidateCode=bz;var kz=(0,de._)`new RegExp`;function wz({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,i=o(r,n);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,de._)`${o.code==="new RegExp"?kz:(0,mz.useFunc)(e,o)}(${r}, ${n})`})}se.usePattern=wz;function Sz(e){let{gen:t,data:r,keyword:n,it:o}=e,i=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return s(()=>t.assign(a,!1)),a}return t.var(i,!0),s(()=>t.break()),i;function s(a){let c=t.const("len",(0,de._)`${r}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:Wp.Type.Num},i),t.if((0,de.not)(i),a)})}}se.validateArray=Sz;function Tz(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Wp.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let s=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let p=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);t.assign(s,(0,de._)`${s} || ${a}`),e.mergeValidEvaluated(p,a)||t.if((0,de.not)(s))})),e.result(s,()=>e.reset(),()=>e.error(!0))}se.validateUnion=Tz});var ay=k(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.validateKeywordUsage=Ut.validSchemaType=Ut.funcKeywordCode=Ut.macroKeywordCode=void 0;var Ke=H(),yn=ir(),$z=bt(),Pz=pi();function Ez(e,t){let{gen:r,keyword:n,schema:o,parentSchema:i,it:s}=e,a=t.macro.call(s.self,o,i,s),c=sy(r,n,a);s.opts.validateSchema!==!1&&s.self.validateSchema(a,!0);let u=r.name("valid");e.subschema({schema:a,schemaPath:Ke.nil,errSchemaPath:`${s.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}Ut.macroKeywordCode=Ez;function zz(e,t){var r;let{gen:n,keyword:o,schema:i,parentSchema:s,$data:a,it:c}=e;Iz(c,t);let u=!a&&t.compile?t.compile.call(c.self,i,s,c):t.validate,p=sy(n,o,u),l=n.let("valid");e.block$data(l,d),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function d(){if(t.errors===!1)g(),t.modifying&&iy(e),_(()=>e.error());else{let v=t.async?h():f();t.modifying&&iy(e),_(()=>Cz(e,v))}}function h(){let v=n.let("ruleErrs",null);return n.try(()=>g((0,Ke._)`await `),y=>n.assign(l,!1).if((0,Ke._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(v,(0,Ke._)`${y}.errors`),()=>n.throw(y))),v}function f(){let v=(0,Ke._)`${p}.errors`;return n.assign(v,null),g(Ke.nil),v}function g(v=t.async?(0,Ke._)`await `:Ke.nil){let y=c.opts.passContext?yn.default.this:yn.default.self,S=!("compile"in t&&!a||t.schema===!1);n.assign(l,(0,Ke._)`${v}${(0,$z.callValidateCode)(e,p,y,S)}`,t.modifying)}function _(v){var y;n.if((0,Ke.not)((y=t.valid)!==null&&y!==void 0?y:l),v)}}Ut.funcKeywordCode=zz;function iy(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Ke._)`${n.parentData}[${n.parentDataProperty}]`))}function Cz(e,t){let{gen:r}=e;r.if((0,Ke._)`Array.isArray(${t})`,()=>{r.assign(yn.default.vErrors,(0,Ke._)`${yn.default.vErrors} === null ? ${t} : ${yn.default.vErrors}.concat(${t})`).assign(yn.default.errors,(0,Ke._)`${yn.default.vErrors}.length`),(0,Pz.extendErrors)(e)},()=>e.error())}function Iz({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function sy(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ke.stringify)(r)})}function Rz(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}Ut.validSchemaType=Rz;function Az({schema:e,opts:t,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 s=o.dependencies;if(s?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${i}: ${s.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Ut.validateKeywordUsage=Az});var uy=k(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.extendSubschemaMode=Cr.extendSubschemaData=Cr.getSubschema=void 0;var Bt=H(),cy=ne();function Oz(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:i,topSchemaRef:s}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,Bt._)`${e.schemaPath}${(0,Bt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,Bt._)`${e.schemaPath}${(0,Bt.getProperty)(t)}${(0,Bt.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,cy.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||i===void 0||s===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:s,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Cr.getSubschema=Oz;function Nz(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:i,propertyName:s}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:u,dataPathArr:p,opts:l}=t,d=a.let("data",(0,Bt._)`${t.data}${(0,Bt.getProperty)(r)}`,!0);c(d),e.errorPath=(0,Bt.str)`${u}${(0,cy.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0,Bt._)`${r}`,e.dataPathArr=[...p,e.parentDataProperty]}if(o!==void 0){let u=o instanceof Bt.Name?o:a.let("data",o,!0);c(u),s!==void 0&&(e.propertyName=s)}i&&(e.dataTypes=i);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}Cr.extendSubschemaData=Nz;function jz(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:i}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),i!==void 0&&(e.allErrors=i),e.jtdDiscriminator=t,e.jtdMetadata=r}Cr.extendSubschemaMode=jz});var Qp=k((Z6,ly)=>{"use strict";ly.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(i=Object.keys(t),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 s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!==t&&r!==r}});var dy=k((q6,py)=>{"use strict";var Ir=py.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};pa(t,n,o,e,"",e)};Ir.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Ir.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Ir.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Ir.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 pa(e,t,r,n,o,i,s,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,i,s,a,c,u);for(var p in n){var l=n[p];if(Array.isArray(l)){if(p in Ir.arrayKeywords)for(var d=0;d<l.length;d++)pa(e,t,r,l[d],o+"/"+p+"/"+d,i,o,p,n,d)}else if(p in Ir.propsKeywords){if(l&&typeof l=="object")for(var h in l)pa(e,t,r,l[h],o+"/"+p+"/"+Mz(h),i,o,p,n,h)}else(p in Ir.keywords||e.allKeys&&!(p in Ir.skipKeywords))&&pa(e,t,r,l,o+"/"+p,i,o,p,n)}r(n,o,i,s,a,c,u)}}function Mz(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var fi=k(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.getSchemaRefs=nt.resolveUrl=nt.normalizeId=nt._getFullPath=nt.getFullPath=nt.inlineRef=void 0;var Dz=ne(),Lz=Qp(),Zz=dy(),qz=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Fz(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Xp(e):t?fy(e)<=t:!1}nt.inlineRef=Fz;var Uz=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Xp(e){for(let t in e){if(Uz.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Xp)||typeof r=="object"&&Xp(r))return!0}return!1}function fy(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!qz.has(r)&&(typeof e[r]=="object"&&(0,Dz.eachItem)(e[r],n=>t+=fy(n)),t===1/0))return 1/0}return t}function hy(e,t="",r){r!==!1&&(t=ro(t));let n=e.parse(t);return my(e,n)}nt.getFullPath=hy;function my(e,t){return e.serialize(t).split("#")[0]+"#"}nt._getFullPath=my;var Bz=/#\/?$/;function ro(e){return e?e.replace(Bz,""):""}nt.normalizeId=ro;function Vz(e,t,r){return r=ro(r),e.resolve(t,r)}nt.resolveUrl=Vz;var Hz=/^[a-z_][-a-z0-9._]*$/i;function Gz(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=ro(e[r]||t),i={"":o},s=hy(n,o,!1),a={},c=new Set;return Zz(e,{allKeys:!0},(l,d,h,f)=>{if(f===void 0)return;let g=s+d,_=i[f];typeof l[r]=="string"&&(_=v.call(this,l[r])),y.call(this,l.$anchor),y.call(this,l.$dynamicAnchor),i[d]=_;function v(S){let $=this.opts.uriResolver.resolve;if(S=ro(_?$(_,S):S),c.has(S))throw p(S);c.add(S);let M=this.refs[S];return typeof M=="string"&&(M=this.refs[M]),typeof M=="object"?u(l,M.schema,S):S!==ro(g)&&(S[0]==="#"?(u(l,a[S],S),a[S]=l):this.refs[S]=g),S}function y(S){if(typeof S=="string"){if(!Hz.test(S))throw new Error(`invalid anchor "${S}"`);v.call(this,`#${S}`)}}}),a;function u(l,d,h){if(d!==void 0&&!Lz(l,d))throw p(h)}function p(l){return new Error(`reference "${l}" resolves to more than one schema`)}}nt.getSchemaRefs=Gz});var gi=k(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.getData=Rr.KeywordCxt=Rr.validateFunctionCode=void 0;var xy=W_(),gy=di(),td=Vp(),da=di(),Kz=ry(),mi=ay(),ed=uy(),O=H(),F=ir(),Wz=fi(),sr=ne(),hi=pi();function Jz(e){if(wy(e)&&(Sy(e),ky(e))){Xz(e);return}by(e,()=>(0,xy.topBoolOrEmptySchema)(e))}Rr.validateFunctionCode=Jz;function by({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},i){o.code.es5?e.func(t,(0,O._)`${F.default.data}, ${F.default.valCxt}`,n.$async,()=>{e.code((0,O._)`"use strict"; ${_y(r,o)}`),Qz(e,o),e.code(i)}):e.func(t,(0,O._)`${F.default.data}, ${Yz(o)}`,n.$async,()=>e.code(_y(r,o)).code(i))}function Yz(e){return(0,O._)`{${F.default.instancePath}="", ${F.default.parentData}, ${F.default.parentDataProperty}, ${F.default.rootData}=${F.default.data}${e.dynamicRef?(0,O._)`, ${F.default.dynamicAnchors}={}`:O.nil}}={}`}function Qz(e,t){e.if(F.default.valCxt,()=>{e.var(F.default.instancePath,(0,O._)`${F.default.valCxt}.${F.default.instancePath}`),e.var(F.default.parentData,(0,O._)`${F.default.valCxt}.${F.default.parentData}`),e.var(F.default.parentDataProperty,(0,O._)`${F.default.valCxt}.${F.default.parentDataProperty}`),e.var(F.default.rootData,(0,O._)`${F.default.valCxt}.${F.default.rootData}`),t.dynamicRef&&e.var(F.default.dynamicAnchors,(0,O._)`${F.default.valCxt}.${F.default.dynamicAnchors}`)},()=>{e.var(F.default.instancePath,(0,O._)`""`),e.var(F.default.parentData,(0,O._)`undefined`),e.var(F.default.parentDataProperty,(0,O._)`undefined`),e.var(F.default.rootData,F.default.data),t.dynamicRef&&e.var(F.default.dynamicAnchors,(0,O._)`{}`)})}function Xz(e){let{schema:t,opts:r,gen:n}=e;by(e,()=>{r.$comment&&t.$comment&&$y(e),oC(e),n.let(F.default.vErrors,null),n.let(F.default.errors,0),r.unevaluated&&eC(e),Ty(e),aC(e)})}function eC(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,O._)`${r}.evaluated`),t.if((0,O._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,O._)`${e.evaluated}.props`,(0,O._)`undefined`)),t.if((0,O._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,O._)`${e.evaluated}.items`,(0,O._)`undefined`))}function _y(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,O._)`/*# sourceURL=${r} */`:O.nil}function tC(e,t){if(wy(e)&&(Sy(e),ky(e))){rC(e,t);return}(0,xy.boolOrEmptySchema)(e,t)}function ky({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function wy(e){return typeof e.schema!="boolean"}function rC(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&$y(e),iC(e),sC(e);let i=n.const("_errs",F.default.errors);Ty(e,i),n.var(t,(0,O._)`${i} === ${F.default.errors}`)}function Sy(e){(0,sr.checkUnknownRules)(e),nC(e)}function Ty(e,t){if(e.opts.jtd)return yy(e,[],!1,t);let r=(0,gy.getSchemaTypes)(e.schema),n=(0,gy.coerceAndCheckDataType)(e,r);yy(e,r,!n,t)}function nC(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,sr.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function oC(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,sr.checkStrictMode)(e,"default is ignored in the schema root")}function iC(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,Wz.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function sC(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function $y({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)e.code((0,O._)`${F.default.self}.logger.log(${i})`);else if(typeof o.$comment=="function"){let s=(0,O.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,O._)`${F.default.self}.opts.$comment(${i}, ${s}, ${a}.schema)`)}}function aC(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=e;r.$async?t.if((0,O._)`${F.default.errors} === 0`,()=>t.return(F.default.data),()=>t.throw((0,O._)`new ${o}(${F.default.vErrors})`)):(t.assign((0,O._)`${n}.errors`,F.default.vErrors),i.unevaluated&&cC(e),t.return((0,O._)`${F.default.errors} === 0`))}function cC({gen:e,evaluated:t,props:r,items:n}){r instanceof O.Name&&e.assign((0,O._)`${t}.props`,r),n instanceof O.Name&&e.assign((0,O._)`${t}.items`,n)}function yy(e,t,r,n){let{gen:o,schema:i,data:s,allErrors:a,opts:c,self:u}=e,{RULES:p}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,sr.schemaHasRulesButRef)(i,p))){o.block(()=>Ey(e,"$ref",p.all.$ref.definition));return}c.jtd||uC(e,t),o.block(()=>{for(let d of p.rules)l(d);l(p.post)});function l(d){(0,td.shouldUseGroup)(i,d)&&(d.type?(o.if((0,da.checkDataType)(d.type,s,c.strictNumbers)),vy(e,d),t.length===1&&t[0]===d.type&&r&&(o.else(),(0,da.reportTypeError)(e)),o.endIf()):vy(e,d),a||o.if((0,O._)`${F.default.errors} === ${n||0}`))}}function vy(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,Kz.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,td.shouldUseRule)(n,i)&&Ey(e,i.keyword,i.definition,t.type)})}function uC(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(lC(e,t),e.opts.allowUnionTypes||pC(e,t),dC(e,e.dataTypes))}function lC(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Py(e.dataTypes,r)||rd(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),hC(e,t)}}function pC(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&rd(e,"use allowUnionTypes to allow union type keyword")}function dC(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,td.shouldUseRule)(e.schema,o)){let{type:i}=o.definition;i.length&&!i.some(s=>fC(t,s))&&rd(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function fC(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Py(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function hC(e,t){let r=[];for(let n of e.dataTypes)Py(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function rd(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,sr.checkStrictMode)(e,t,e.opts.strictTypes)}var fa=class{constructor(t,r,n){if((0,mi.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,sr.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",zy(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,mi.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=t.gen.const("_errs",F.default.errors))}result(t,r,n){this.failResult((0,O.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,O.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,O._)`${r} !== undefined && (${(0,O.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?hi.reportExtraError:hi.reportError)(this,this.def.error,r)}$dataError(){(0,hi.reportError)(this,this.def.$dataError||hi.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,hi.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=O.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=O.nil,r=O.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:i,def:s}=this;n.if((0,O.or)((0,O._)`${o} === undefined`,r)),t!==O.nil&&n.assign(t,!0),(i.length||s.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==O.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:i}=this;return(0,O.or)(s(),a());function s(){if(n.length){if(!(r instanceof O.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,O._)`${(0,da.checkDataTypes)(c,r,i.opts.strictNumbers,da.DataType.Wrong)}`}return O.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,O._)`!${c}(${r})`}return O.nil}}subschema(t,r){let n=(0,ed.getSubschema)(this.it,t);(0,ed.extendSubschemaData)(n,this.it,t),(0,ed.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return tC(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=sr.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=sr.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,O.Name)),!0}};Rr.KeywordCxt=fa;function Ey(e,t,r,n){let o=new fa(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,mi.funcKeywordCode)(o,r):"macro"in r?(0,mi.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,mi.funcKeywordCode)(o,r)}var mC=/^\/(?:[^~]|~0|~1)*$/,gC=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function zy(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,i;if(e==="")return F.default.rootData;if(e[0]==="/"){if(!mC.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,i=F.default.rootData}else{let u=gC.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);let p=+u[1];if(o=u[2],o==="#"){if(p>=t)throw new Error(c("property/index",p));return n[t-p]}if(p>t)throw new Error(c("data",p));if(i=r[t-p],!o)return i}let s=i,a=o.split("/");for(let u of a)u&&(i=(0,O._)`${i}${(0,O.getProperty)((0,sr.unescapeJsonPointer)(u))}`,s=(0,O._)`${s} && ${i}`);return s;function c(u,p){return`Cannot access ${u} ${p} levels up, current level is ${t}`}}Rr.getData=zy});var ha=k(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var nd=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};od.default=nd});var _i=k(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var id=fi(),sd=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,id.resolveUrl)(t,r,n),this.missingSchema=(0,id.normalizeId)((0,id.getFullPath)(t,this.missingRef))}};ad.default=sd});var ga=k(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.resolveSchema=kt.getCompilingSchema=kt.resolveRef=kt.compileSchema=kt.SchemaEnv=void 0;var At=H(),_C=ha(),vn=ir(),Ot=fi(),Cy=ne(),yC=gi(),no=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,Ot.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};kt.SchemaEnv=no;function ud(e){let t=Iy.call(this,e);if(t)return t;let r=(0,Ot.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:i}=this.opts,s=new At.CodeGen(this.scope,{es5:n,lines:o,ownProperties:i}),a;e.$async&&(a=s.scopeValue("Error",{ref:_C.default,code:(0,At._)`require("ajv/dist/runtime/validation_error").default`}));let c=s.scopeName("validate");e.validateName=c;let u={gen:s,allErrors:this.opts.allErrors,data:vn.default.data,parentData:vn.default.parentData,parentDataProperty:vn.default.parentDataProperty,dataNames:[vn.default.data],dataPathArr:[At.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:s.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,At.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:At.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,At._)`""`,opts:this.opts,self:this},p;try{this._compilations.add(e),(0,yC.validateFunctionCode)(u),s.optimize(this.opts.code.optimize);let l=s.toString();p=`${s.scopeRefs(vn.default.scope)}return ${l}`,this.opts.code.process&&(p=this.opts.code.process(p,e));let h=new Function(`${vn.default.self}`,`${vn.default.scope}`,p)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=e.schema,h.schemaEnv=e,e.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:l,scopeValues:s._values}),this.opts.unevaluated){let{props:f,items:g}=u;h.evaluated={props:f instanceof At.Name?void 0:f,items:g instanceof At.Name?void 0:g,dynamicProps:f instanceof At.Name,dynamicItems:g instanceof At.Name},h.source&&(h.source.evaluated=(0,At.stringify)(h.evaluated))}return e.validate=h,e}catch(l){throw delete e.validate,delete e.validateName,p&&this.logger.error("Error compiling schema, function code:",p),l}finally{this._compilations.delete(e)}}kt.compileSchema=ud;function vC(e,t,r){var n;r=(0,Ot.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let i=kC.call(this,e,r);if(i===void 0){let s=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;s&&(i=new no({schema:s,schemaId:a,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=xC.call(this,i)}kt.resolveRef=vC;function xC(e){return(0,Ot.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:ud.call(this,e)}function Iy(e){for(let t of this._compilations)if(bC(t,e))return t}kt.getCompilingSchema=Iy;function bC(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function kC(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||ma.call(this,e,t)}function ma(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Ot._getFullPath)(this.opts.uriResolver,r),o=(0,Ot.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return cd.call(this,r,e);let i=(0,Ot.normalizeId)(n),s=this.refs[i]||this.schemas[i];if(typeof s=="string"){let a=ma.call(this,e,s);return typeof a?.schema!="object"?void 0:cd.call(this,r,a)}if(typeof s?.schema=="object"){if(s.validate||ud.call(this,s),i===(0,Ot.normalizeId)(t)){let{schema:a}=s,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Ot.resolveUrl)(this.opts.uriResolver,o,u)),new no({schema:a,schemaId:c,root:e,baseId:o})}return cd.call(this,r,s)}}kt.resolveSchema=ma;var wC=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function cd(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Cy.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!wC.has(a)&&u&&(t=(0,Ot.resolveUrl)(this.opts.uriResolver,t,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,Cy.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Ot.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=ma.call(this,n,a)}let{schemaId:s}=this.opts;if(i=i||new no({schema:r,schemaId:s,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var Ry=k((G6,SC)=>{SC.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 pd=k((K6,jy)=>{"use strict";var TC=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Oy=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 ld(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var $C=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ay(e){return e.length=0,!0}function PC(e,t,r){if(e.length){let n=ld(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function EC(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,s=!1,a=PC;for(let c=0;c<e.length;c++){let u=e[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(s=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=Ay}else{o.push(u);continue}}return o.length&&(a===Ay?r.zone=o.join(""):s?n.push(o.join("")):n.push(ld(o))),r.address=n.join(""),r}function Ny(e){if(zC(e,":")<2)return{host:e,isIPV6:!1};let t=EC(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function zC(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function CC(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(o===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}function IC(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function RC(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Oy(r)){let n=Ny(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}jy.exports={nonSimpleDomain:$C,recomposeAuthority:RC,normalizeComponentEncoding:IC,removeDotSegments:CC,isIPv4:Oy,isUUID:TC,normalizeIPv6:Ny,stringArrayToHexStripped:ld}});var qy=k((W6,Zy)=>{"use strict";var{isUUID:AC}=pd(),OC=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,NC=["http","https","ws","wss","urn","urn:uuid"];function jC(e){return NC.indexOf(e)!==-1}function dd(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function My(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Dy(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function MC(e){return e.secure=dd(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function DC(e){if((e.port===(dd(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function LC(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(OC);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,i=fd(o);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function ZC(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,i=fd(o);i&&(e=i.serialize(e,t));let s=e,a=e.nss;return s.path=`${n||t.nid}:${a}`,t.skipEscape=!0,s}function qC(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!AC(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function FC(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Ly={scheme:"http",domainHost:!0,parse:My,serialize:Dy},UC={scheme:"https",domainHost:Ly.domainHost,parse:My,serialize:Dy},_a={scheme:"ws",domainHost:!0,parse:MC,serialize:DC},BC={scheme:"wss",domainHost:_a.domainHost,parse:_a.parse,serialize:_a.serialize},VC={scheme:"urn",parse:LC,serialize:ZC,skipNormalize:!0},HC={scheme:"urn:uuid",parse:qC,serialize:FC,skipNormalize:!0},ya={http:Ly,https:UC,ws:_a,wss:BC,urn:VC,"urn:uuid":HC};Object.setPrototypeOf(ya,null);function fd(e){return e&&(ya[e]||ya[e.toLowerCase()])||void 0}Zy.exports={wsIsSecure:dd,SCHEMES:ya,isValidSchemeName:jC,getSchemeHandler:fd}});var By=k((J6,xa)=>{"use strict";var{normalizeIPv6:GC,removeDotSegments:yi,recomposeAuthority:KC,normalizeComponentEncoding:va,isIPv4:WC,nonSimpleDomain:JC}=pd(),{SCHEMES:YC,getSchemeHandler:Fy}=qy();function QC(e,t){return typeof e=="string"?e=Vt(ar(e,t),t):typeof e=="object"&&(e=ar(Vt(e,t),t)),e}function XC(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Uy(ar(e,n),ar(t,n),n,!0);return n.skipEscape=!0,Vt(o,n)}function Uy(e,t,r,n){let o={};return n||(e=ar(Vt(e,r),r),t=ar(Vt(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=yi(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=yi(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=yi(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=yi(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function eI(e,t,r){return typeof e=="string"?(e=unescape(e),e=Vt(va(ar(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Vt(va(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=Vt(va(ar(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Vt(va(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function Vt(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],i=Fy(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 s=KC(r);if(s!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(s),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(a=yi(a)),s===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var tI=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function ar(e,t){let r=Object.assign({},t),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?e=r.scheme+":"+e:e="//"+e);let i=e.match(tI);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(WC(n.host)===!1){let c=GC(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 s=Fy(r.scheme||n.scheme);if(!r.unicodeSupport&&(!s||!s.unicodeSupport)&&n.host&&(r.domainHost||s&&s.domainHost)&&o===!1&&JC(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!s||s&&!s.skipNormalize)&&(e.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)))),s&&s.parse&&s.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var hd={SCHEMES:YC,normalize:QC,resolve:XC,resolveComponent:Uy,equal:eI,serialize:Vt,parse:ar};xa.exports=hd;xa.exports.default=hd;xa.exports.fastUri=hd});var Hy=k(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var Vy=By();Vy.code='require("ajv/dist/runtime/uri").default';md.default=Vy});var ev=k(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.CodeGen=Ne.Name=Ne.nil=Ne.stringify=Ne.str=Ne._=Ne.KeywordCxt=void 0;var rI=gi();Object.defineProperty(Ne,"KeywordCxt",{enumerable:!0,get:function(){return rI.KeywordCxt}});var oo=H();Object.defineProperty(Ne,"_",{enumerable:!0,get:function(){return oo._}});Object.defineProperty(Ne,"str",{enumerable:!0,get:function(){return oo.str}});Object.defineProperty(Ne,"stringify",{enumerable:!0,get:function(){return oo.stringify}});Object.defineProperty(Ne,"nil",{enumerable:!0,get:function(){return oo.nil}});Object.defineProperty(Ne,"Name",{enumerable:!0,get:function(){return oo.Name}});Object.defineProperty(Ne,"CodeGen",{enumerable:!0,get:function(){return oo.CodeGen}});var nI=ha(),Yy=_i(),oI=Bp(),vi=ga(),iI=H(),xi=fi(),ba=di(),_d=ne(),Gy=Ry(),sI=Hy(),Qy=(e,t)=>new RegExp(e,t);Qy.code="new RegExp";var aI=["removeAdditional","useDefaults","coerceTypes"],cI=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),uI={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."},lI={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Ky=200;function pI(e){var t,r,n,o,i,s,a,c,u,p,l,d,h,f,g,_,v,y,S,$,M,ve,pe,qr,Fr;let ft=e.strict,gr=(t=e.code)===null||t===void 0?void 0:t.optimize,ht=gr===!0||gr===void 0?1:gr||0,zo=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Qy,Rn=(o=e.uriResolver)!==null&&o!==void 0?o:sI.default;return{strictSchema:(s=(i=e.strictSchema)!==null&&i!==void 0?i:ft)!==null&&s!==void 0?s:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:ft)!==null&&c!==void 0?c:!0,strictTypes:(p=(u=e.strictTypes)!==null&&u!==void 0?u:ft)!==null&&p!==void 0?p:"log",strictTuples:(d=(l=e.strictTuples)!==null&&l!==void 0?l:ft)!==null&&d!==void 0?d:"log",strictRequired:(f=(h=e.strictRequired)!==null&&h!==void 0?h:ft)!==null&&f!==void 0?f:!1,code:e.code?{...e.code,optimize:ht,regExp:zo}:{optimize:ht,regExp:zo},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:Ky,loopEnum:(_=e.loopEnum)!==null&&_!==void 0?_:Ky,meta:(v=e.meta)!==null&&v!==void 0?v:!0,messages:(y=e.messages)!==null&&y!==void 0?y:!0,inlineRefs:(S=e.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:($=e.schemaId)!==null&&$!==void 0?$:"$id",addUsedSchema:(M=e.addUsedSchema)!==null&&M!==void 0?M:!0,validateSchema:(ve=e.validateSchema)!==null&&ve!==void 0?ve:!0,validateFormats:(pe=e.validateFormats)!==null&&pe!==void 0?pe:!0,unicodeRegExp:(qr=e.unicodeRegExp)!==null&&qr!==void 0?qr:!0,int32range:(Fr=e.int32range)!==null&&Fr!==void 0?Fr:!0,uriResolver:Rn}}var bi=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...pI(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new iI.ValueScope({scope:{},prefixes:cI,es5:r,lines:n}),this.logger=_I(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,oI.getRules)(),Wy.call(this,uI,t,"NOT SUPPORTED"),Wy.call(this,lI,t,"DEPRECATED","warn"),this._metaOpts=mI.call(this),t.formats&&fI.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&hI.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),dI.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=Gy;n==="id"&&(o={...Gy},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,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,t,r);async function o(p,l){await i.call(this,p.$schema);let d=this._addSchema(p,l);return d.validate||s.call(this,d)}async function i(p){p&&!this.getSchema(p)&&await o.call(this,{$ref:p},!0)}async function s(p){try{return this._compileSchemaEnv(p)}catch(l){if(!(l instanceof Yy.default))throw l;return a.call(this,l),await c.call(this,l.missingSchema),s.call(this,p)}}function a({missingSchema:p,missingRef:l}){if(this.refs[p])throw new Error(`AnySchema ${p} is loaded but ${l} cannot be resolved`)}async function c(p){let l=await u.call(this,p);this.refs[p]||await i.call(this,l.$schema),this.refs[p]||this.addSchema(l,p,r)}async function u(p){let l=this._loading[p];if(l)return l;try{return await(this._loading[p]=n(p))}finally{delete this._loading[p]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let s of t)this.addSchema(s,void 0,n,o);return this}let i;if(typeof t=="object"){let{schemaId:s}=this.opts;if(i=t[s],i!==void 0&&typeof i!="string")throw new Error(`schema ${s} must be string`)}return r=(0,xi.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$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,t);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(t){let r;for(;typeof(r=Jy.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new vi.SchemaEnv({schema:{},schemaId:n});if(r=vi.resolveSchema.call(this,o,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Jy.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,xi.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,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(vI.call(this,n,r),!r)return(0,_d.eachItem)(n,i=>gd.call(this,i)),this;bI.call(this,r);let o={...r,type:(0,ba.getJSONTypes)(r.type),schemaType:(0,ba.getJSONTypes)(r.schemaType)};return(0,_d.eachItem)(n,o.type.length===0?i=>gd.call(this,i,o):i=>o.type.forEach(s=>gd.call(this,i,o,s))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let o=n.rules.findIndex(i=>i.keyword===t);o>=0&&n.rules.splice(o,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,i)=>o+r+i)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let i=o.split("/").slice(1),s=t;for(let a of i)s=s[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,p=s[a];u&&p&&(s[a]=Xy(p))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,i=this.opts.addUsedSchema){let s,{schemaId:a}=this.opts;if(typeof t=="object")s=t[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,xi.normalizeId)(s||n);let u=xi.getSchemaRefs.call(this,t,n);return c=new vi.SchemaEnv({schema:t,schemaId:a,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(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):vi.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{vi.compileSchema.call(this,t)}finally{this.opts=r}}};bi.ValidationError=nI.default;bi.MissingRefError=Yy.default;Ne.default=bi;function Wy(e,t,r,n="error"){for(let o in e){let i=o;i in t&&this.logger[n](`${r}: option ${o}. ${e[i]}`)}}function Jy(e){return e=(0,xi.normalizeId)(e),this.schemas[e]||this.refs[e]}function dI(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function fI(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function hI(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function mI(){let e={...this.opts};for(let t of aI)delete e[t];return e}var gI={log(){},warn(){},error(){}};function _I(e){if(e===!1)return gI;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var yI=/^[a-z_$][a-z0-9_$:-]*$/i;function vI(e,t){let{RULES:r}=this;if((0,_d.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!yI.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function gd(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,s=o?i.post:i.rules.find(({type:c})=>c===r);if(s||(s={type:r,rules:[]},i.rules.push(s)),i.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,ba.getJSONTypes)(t.type),schemaType:(0,ba.getJSONTypes)(t.schemaType)}};t.before?xI.call(this,s,a,t.before):s.rules.push(a),i.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function xI(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function bI(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Xy(t)),e.validateSchema=this.compile(t,!0))}var kI={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Xy(e){return{anyOf:[e,kI]}}});var tv=k(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var wI={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};yd.default=wI});var iv=k(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.callRef=xn.getValidate=void 0;var SI=_i(),rv=bt(),ot=H(),io=ir(),nv=ga(),ka=ne(),TI={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:i,validateName:s,opts:a,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&o===u.baseId)return l();let p=nv.resolveRef.call(c,u,o,r);if(p===void 0)throw new SI.default(n.opts.uriResolver,o,r);if(p instanceof nv.SchemaEnv)return d(p);return h(p);function l(){if(i===u)return wa(e,s,i,i.$async);let f=t.scopeValue("root",{ref:u});return wa(e,(0,ot._)`${f}.validate`,u,u.$async)}function d(f){let g=ov(e,f);wa(e,g,f,f.$async)}function h(f){let g=t.scopeValue("schema",a.code.source===!0?{ref:f,code:(0,ot.stringify)(f)}:{ref:f}),_=t.name("valid"),v=e.subschema({schema:f,dataTypes:[],schemaPath:ot.nil,topSchemaRef:g,errSchemaPath:r},_);e.mergeEvaluated(v),e.ok(_)}}};function ov(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,ot._)`${r.scopeValue("wrapper",{ref:t})}.validate`}xn.getValidate=ov;function wa(e,t,r,n){let{gen:o,it:i}=e,{allErrors:s,schemaEnv:a,opts:c}=i,u=c.passContext?io.default.this:ot.nil;n?p():l();function p(){if(!a.$async)throw new Error("async schema referenced by sync schema");let f=o.let("valid");o.try(()=>{o.code((0,ot._)`await ${(0,rv.callValidateCode)(e,t,u)}`),h(t),s||o.assign(f,!0)},g=>{o.if((0,ot._)`!(${g} instanceof ${i.ValidationError})`,()=>o.throw(g)),d(g),s||o.assign(f,!1)}),e.ok(f)}function l(){e.result((0,rv.callValidateCode)(e,t,u),()=>h(t),()=>d(t))}function d(f){let g=(0,ot._)`${f}.errors`;o.assign(io.default.vErrors,(0,ot._)`${io.default.vErrors} === null ? ${g} : ${io.default.vErrors}.concat(${g})`),o.assign(io.default.errors,(0,ot._)`${io.default.vErrors}.length`)}function h(f){var g;if(!i.opts.unevaluated)return;let _=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(i.props!==!0)if(_&&!_.dynamicProps)_.props!==void 0&&(i.props=ka.mergeEvaluated.props(o,_.props,i.props));else{let v=o.var("props",(0,ot._)`${f}.evaluated.props`);i.props=ka.mergeEvaluated.props(o,v,i.props,ot.Name)}if(i.items!==!0)if(_&&!_.dynamicItems)_.items!==void 0&&(i.items=ka.mergeEvaluated.items(o,_.items,i.items));else{let v=o.var("items",(0,ot._)`${f}.evaluated.items`);i.items=ka.mergeEvaluated.items(o,v,i.items,ot.Name)}}}xn.callRef=wa;xn.default=TI});var sv=k(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var $I=tv(),PI=iv(),EI=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",$I.default,PI.default];vd.default=EI});var av=k(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var Sa=H(),Ar=Sa.operators,Ta={maximum:{okStr:"<=",ok:Ar.LTE,fail:Ar.GT},minimum:{okStr:">=",ok:Ar.GTE,fail:Ar.LT},exclusiveMaximum:{okStr:"<",ok:Ar.LT,fail:Ar.GTE},exclusiveMinimum:{okStr:">",ok:Ar.GT,fail:Ar.LTE}},zI={message:({keyword:e,schemaCode:t})=>(0,Sa.str)`must be ${Ta[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Sa._)`{comparison: ${Ta[e].okStr}, limit: ${t}}`},CI={keyword:Object.keys(Ta),type:"number",schemaType:"number",$data:!0,error:zI,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,Sa._)`${r} ${Ta[t].fail} ${n} || isNaN(${r})`)}};xd.default=CI});var cv=k(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var ki=H(),II={message:({schemaCode:e})=>(0,ki.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,ki._)`{multipleOf: ${e}}`},RI={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:II,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,i=o.opts.multipleOfPrecision,s=t.let("res"),a=i?(0,ki._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${i}`:(0,ki._)`${s} !== parseInt(${s})`;e.fail$data((0,ki._)`(${n} === 0 || (${s} = ${r}/${n}, ${a}))`)}};bd.default=RI});var lv=k(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});function uv(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}kd.default=uv;uv.code='require("ajv/dist/runtime/ucs2length").default'});var pv=k(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var bn=H(),AI=ne(),OI=lv(),NI={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,bn.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,bn._)`{limit: ${e}}`},jI={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:NI,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,i=t==="maxLength"?bn.operators.GT:bn.operators.LT,s=o.opts.unicode===!1?(0,bn._)`${r}.length`:(0,bn._)`${(0,AI.useFunc)(e.gen,OI.default)}(${r})`;e.fail$data((0,bn._)`${s} ${i} ${n}`)}};wd.default=jI});var dv=k(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var MI=bt(),$a=H(),DI={message:({schemaCode:e})=>(0,$a.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,$a._)`{pattern: ${e}}`},LI={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:DI,code(e){let{data:t,$data:r,schema:n,schemaCode:o,it:i}=e,s=i.opts.unicodeRegExp?"u":"",a=r?(0,$a._)`(new RegExp(${o}, ${s}))`:(0,MI.usePattern)(e,n);e.fail$data((0,$a._)`!${a}.test(${t})`)}};Sd.default=LI});var fv=k(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var wi=H(),ZI={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,wi.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,wi._)`{limit: ${e}}`},qI={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:ZI,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?wi.operators.GT:wi.operators.LT;e.fail$data((0,wi._)`Object.keys(${r}).length ${o} ${n}`)}};Td.default=qI});var hv=k($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var Si=bt(),Ti=H(),FI=ne(),UI={message:({params:{missingProperty:e}})=>(0,Ti.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,Ti._)`{missingProperty: ${e}}`},BI={keyword:"required",type:"object",schemaType:"array",$data:!0,error:UI,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:i,it:s}=e,{opts:a}=s;if(!i&&r.length===0)return;let c=r.length>=a.loopRequired;if(s.allErrors?u():p(),a.strictRequired){let h=e.parentSchema.properties,{definedProperties:f}=e.it;for(let g of r)if(h?.[g]===void 0&&!f.has(g)){let _=s.schemaEnv.baseId+s.errSchemaPath,v=`required property "${g}" is not defined at "${_}" (strictRequired)`;(0,FI.checkStrictMode)(s,v,s.opts.strictRequired)}}function u(){if(c||i)e.block$data(Ti.nil,l);else for(let h of r)(0,Si.checkReportMissingProp)(e,h)}function p(){let h=t.let("missing");if(c||i){let f=t.let("valid",!0);e.block$data(f,()=>d(h,f)),e.ok(f)}else t.if((0,Si.checkMissingProp)(e,r,h)),(0,Si.reportMissingProp)(e,h),t.else()}function l(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0,Si.noPropertyInData)(t,o,h,a.ownProperties),()=>e.error())})}function d(h,f){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(f,(0,Si.propertyInData)(t,o,h,a.ownProperties)),t.if((0,Ti.not)(f),()=>{e.error(),t.break()})},Ti.nil)}}};$d.default=BI});var mv=k(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var $i=H(),VI={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,$i.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,$i._)`{limit: ${e}}`},HI={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:VI,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?$i.operators.GT:$i.operators.LT;e.fail$data((0,$i._)`${r}.length ${o} ${n}`)}};Pd.default=HI});var Pa=k(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var gv=Qp();gv.code='require("ajv/dist/runtime/equal").default';Ed.default=gv});var _v=k(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var zd=di(),je=H(),GI=ne(),KI=Pa(),WI={message:({params:{i:e,j:t}})=>(0,je.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,je._)`{i: ${e}, j: ${t}}`},JI={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:WI,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:i,schemaCode:s,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),u=i.items?(0,zd.getSchemaTypes)(i.items):[];e.block$data(c,p,(0,je._)`${s} === false`),e.ok(c);function p(){let f=t.let("i",(0,je._)`${r}.length`),g=t.let("j");e.setParams({i:f,j:g}),t.assign(c,!0),t.if((0,je._)`${f} > 1`,()=>(l()?d:h)(f,g))}function l(){return u.length>0&&!u.some(f=>f==="object"||f==="array")}function d(f,g){let _=t.name("item"),v=(0,zd.checkDataTypes)(u,_,a.opts.strictNumbers,zd.DataType.Wrong),y=t.const("indices",(0,je._)`{}`);t.for((0,je._)`;${f}--;`,()=>{t.let(_,(0,je._)`${r}[${f}]`),t.if(v,(0,je._)`continue`),u.length>1&&t.if((0,je._)`typeof ${_} == "string"`,(0,je._)`${_} += "_"`),t.if((0,je._)`typeof ${y}[${_}] == "number"`,()=>{t.assign(g,(0,je._)`${y}[${_}]`),e.error(),t.assign(c,!1).break()}).code((0,je._)`${y}[${_}] = ${f}`)})}function h(f,g){let _=(0,GI.useFunc)(t,KI.default),v=t.name("outer");t.label(v).for((0,je._)`;${f}--;`,()=>t.for((0,je._)`${g} = ${f}; ${g}--;`,()=>t.if((0,je._)`${_}(${r}[${f}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(v)})))}}};Cd.default=JI});var yv=k(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var Id=H(),YI=ne(),QI=Pa(),XI={message:"must be equal to constant",params:({schemaCode:e})=>(0,Id._)`{allowedValue: ${e}}`},eR={keyword:"const",$data:!0,error:XI,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,Id._)`!${(0,YI.useFunc)(t,QI.default)}(${r}, ${o})`):e.fail((0,Id._)`${i} !== ${r}`)}};Rd.default=eR});var vv=k(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var Pi=H(),tR=ne(),rR=Pa(),nR={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,Pi._)`{allowedValues: ${e}}`},oR={keyword:"enum",schemaType:"array",$data:!0,error:nR,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:i,it:s}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=s.opts.loopEnum,c,u=()=>c??(c=(0,tR.useFunc)(t,rR.default)),p;if(a||n)p=t.let("valid"),e.block$data(p,l);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let h=t.const("vSchema",i);p=(0,Pi.or)(...o.map((f,g)=>d(h,g)))}e.pass(p);function l(){t.assign(p,!1),t.forOf("v",i,h=>t.if((0,Pi._)`${u()}(${r}, ${h})`,()=>t.assign(p,!0).break()))}function d(h,f){let g=o[f];return typeof g=="object"&&g!==null?(0,Pi._)`${u()}(${r}, ${h}[${f}])`:(0,Pi._)`${r} === ${g}`}}};Ad.default=oR});var xv=k(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var iR=av(),sR=cv(),aR=pv(),cR=dv(),uR=fv(),lR=hv(),pR=mv(),dR=_v(),fR=yv(),hR=vv(),mR=[iR.default,sR.default,aR.default,cR.default,uR.default,lR.default,pR.default,dR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},fR.default,hR.default];Od.default=mR});var jd=k(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.validateAdditionalItems=void 0;var kn=H(),Nd=ne(),gR={message:({params:{len:e}})=>(0,kn.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,kn._)`{limit: ${e}}`},_R={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:gR,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Nd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}bv(e,n)}};function bv(e,t){let{gen:r,schema:n,data:o,keyword:i,it:s}=e;s.items=!0;let a=r.const("len",(0,kn._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,kn._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Nd.alwaysValidSchema)(s,n)){let u=r.var("valid",(0,kn._)`${a} <= ${t.length}`);r.if((0,kn.not)(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,a,p=>{e.subschema({keyword:i,dataProp:p,dataPropType:Nd.Type.Num},u),s.allErrors||r.if((0,kn.not)(u),()=>r.break())})}}Ei.validateAdditionalItems=bv;Ei.default=_R});var Md=k(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.validateTuple=void 0;var kv=H(),Ea=ne(),yR=bt(),vR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return wv(e,"additionalItems",t);r.items=!0,!(0,Ea.alwaysValidSchema)(r,t)&&e.ok((0,yR.validateArray)(e))}};function wv(e,t,r=e.schema){let{gen:n,parentSchema:o,data:i,keyword:s,it:a}=e;p(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Ea.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,kv._)`${i}.length`);r.forEach((l,d)=>{(0,Ea.alwaysValidSchema)(a,l)||(n.if((0,kv._)`${u} > ${d}`,()=>e.subschema({keyword:s,schemaProp:d,dataProp:d},c)),e.ok(c))});function p(l){let{opts:d,errSchemaPath:h}=a,f=r.length,g=f===l.minItems&&(f===l.maxItems||l[t]===!1);if(d.strictTuples&&!g){let _=`"${s}" is ${f}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0,Ea.checkStrictMode)(a,_,d.strictTuples)}}}zi.validateTuple=wv;zi.default=vR});var Sv=k(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var xR=Md(),bR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,xR.validateTuple)(e,"items")};Dd.default=bR});var $v=k(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var Tv=H(),kR=ne(),wR=bt(),SR=jd(),TR={message:({params:{len:e}})=>(0,Tv.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Tv._)`{limit: ${e}}`},$R={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:TR,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,kR.alwaysValidSchema)(n,t)&&(o?(0,SR.validateAdditionalItems)(e,o):e.ok((0,wR.validateArray)(e)))}};Ld.default=$R});var Pv=k(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var wt=H(),za=ne(),PR={message:({params:{min:e,max:t}})=>t===void 0?(0,wt.str)`must contain at least ${e} valid item(s)`:(0,wt.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,wt._)`{minContains: ${e}}`:(0,wt._)`{minContains: ${e}, maxContains: ${t}}`},ER={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:PR,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e,s,a,{minContains:c,maxContains:u}=n;i.opts.next?(s=c===void 0?1:c,a=u):s=1;let p=t.const("len",(0,wt._)`${o}.length`);if(e.setParams({min:s,max:a}),a===void 0&&s===0){(0,za.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&s>a){(0,za.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,za.alwaysValidSchema)(i,r)){let g=(0,wt._)`${p} >= ${s}`;a!==void 0&&(g=(0,wt._)`${g} && ${p} <= ${a}`),e.pass(g);return}i.items=!0;let l=t.name("valid");a===void 0&&s===1?h(l,()=>t.if(l,()=>t.break())):s===0?(t.let(l,!0),a!==void 0&&t.if((0,wt._)`${o}.length > 0`,d)):(t.let(l,!1),d()),e.result(l,()=>e.reset());function d(){let g=t.name("_valid"),_=t.let("count",0);h(g,()=>t.if(g,()=>f(_)))}function h(g,_){t.forRange("i",0,p,v=>{e.subschema({keyword:"contains",dataProp:v,dataPropType:za.Type.Num,compositeRule:!0},g),_()})}function f(g){t.code((0,wt._)`${g}++`),a===void 0?t.if((0,wt._)`${g} >= ${s}`,()=>t.assign(l,!0).break()):(t.if((0,wt._)`${g} > ${a}`,()=>t.assign(l,!1).break()),s===1?t.assign(l,!0):t.if((0,wt._)`${g} >= ${s}`,()=>t.assign(l,!0)))}}};Zd.default=ER});var Cv=k(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.validateSchemaDeps=Ht.validatePropertyDeps=Ht.error=void 0;var qd=H(),zR=ne(),Ci=bt();Ht.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,qd.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,qd._)`{property: ${e},
|
|
7
|
+
|| ${s} === "boolean" || ${o} === null`).assign(a,(0,B._)`[${o}]`)}}}function Lz({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,B._)`${t} !== undefined`,()=>e.assign((0,B._)`${t}[${r}]`,n))}function Hp(e,t,r,n=Yn.Correct){let o=n===Yn.Correct?B.operators.EQ:B.operators.NEQ,i;switch(e){case"null":return(0,B._)`${t} ${o} null`;case"array":i=(0,B._)`Array.isArray(${t})`;break;case"object":i=(0,B._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=s((0,B._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=s();break;default:return(0,B._)`typeof ${t} ${o} ${e}`}return n===Yn.Correct?i:(0,B.not)(i);function s(a=B.nil){return(0,B.and)((0,B._)`typeof ${t} == "number"`,a,r?(0,B._)`isFinite(${t})`:B.nil)}}Fe.checkDataType=Hp;function Gp(e,t,r,n){if(e.length===1)return Hp(e[0],t,r,n);let o,i=(0,ey.toHash)(e);if(i.array&&i.object){let s=(0,B._)`typeof ${t} != "object"`;o=i.null?s:(0,B._)`!${t} || ${s}`,delete i.null,delete i.array,delete i.object}else o=B.nil;i.number&&delete i.integer;for(let s in i)o=(0,B.and)(o,Hp(s,t,r,n));return o}Fe.checkDataTypes=Gp;var Zz={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,B._)`{type: ${e}}`:(0,B._)`{type: ${t}}`};function Kp(e){let t=qz(e);(0,Oz.reportError)(t,Zz)}Fe.reportTypeError=Kp;function qz(e){let{gen:t,data:r,schema:n}=e,o=(0,ey.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var oy=k(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.assignDefaults=void 0;var Qn=H(),Fz=ne();function Uz(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)ny(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,i)=>ny(e,i,o.default))}aa.assignDefaults=Uz;function ny(e,t,r){let{gen:n,compositeRule:o,data:i,opts:s}=e;if(r===void 0)return;let a=(0,Qn._)`${i}${(0,Qn.getProperty)(t)}`;if(o){(0,Fz.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,Qn._)`${a} === undefined`;s.useDefaults==="empty"&&(c=(0,Qn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Qn._)`${a} = ${(0,Qn.stringify)(r)}`)}});var bt=k(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.validateUnion=se.validateArray=se.usePattern=se.callValidateCode=se.schemaProperties=se.allSchemaProperties=se.noPropertyInData=se.propertyInData=se.isOwnProperty=se.hasPropFunc=se.reportMissingProp=se.checkMissingProp=se.checkReportMissingProp=void 0;var de=H(),Wp=ne(),Pr=or(),Bz=ne();function Vz(e,t){let{gen:r,data:n,it:o}=e;r.if(Yp(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,de._)`${t}`},!0),e.error()})}se.checkReportMissingProp=Vz;function Hz({gen:e,data:t,it:{opts:r}},n,o){return(0,de.or)(...n.map(i=>(0,de.and)(Yp(e,t,i,r.ownProperties),(0,de._)`${o} = ${i}`)))}se.checkMissingProp=Hz;function Gz(e,t){e.setParams({missingProperty:t},!0),e.error()}se.reportMissingProp=Gz;function iy(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,de._)`Object.prototype.hasOwnProperty`})}se.hasPropFunc=iy;function Jp(e,t,r){return(0,de._)`${iy(e)}.call(${t}, ${r})`}se.isOwnProperty=Jp;function Kz(e,t,r,n){let o=(0,de._)`${t}${(0,de.getProperty)(r)} !== undefined`;return n?(0,de._)`${o} && ${Jp(e,t,r)}`:o}se.propertyInData=Kz;function Yp(e,t,r,n){let o=(0,de._)`${t}${(0,de.getProperty)(r)} === undefined`;return n?(0,de.or)(o,(0,de.not)(Jp(e,t,r))):o}se.noPropertyInData=Yp;function sy(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}se.allSchemaProperties=sy;function Wz(e,t){return sy(t).filter(r=>!(0,Wp.alwaysValidSchema)(e,t[r]))}se.schemaProperties=Wz;function Jz({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:s},a,c,u){let p=u?(0,de._)`${e}, ${t}, ${n}${o}`:t,l=[[Pr.default.instancePath,(0,de.strConcat)(Pr.default.instancePath,i)],[Pr.default.parentData,s.parentData],[Pr.default.parentDataProperty,s.parentDataProperty],[Pr.default.rootData,Pr.default.rootData]];s.opts.dynamicRef&&l.push([Pr.default.dynamicAnchors,Pr.default.dynamicAnchors]);let d=(0,de._)`${p}, ${r.object(...l)}`;return c!==de.nil?(0,de._)`${a}.call(${c}, ${d})`:(0,de._)`${a}(${d})`}se.callValidateCode=Jz;var Yz=(0,de._)`new RegExp`;function Qz({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,i=o(r,n);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,de._)`${o.code==="new RegExp"?Yz:(0,Bz.useFunc)(e,o)}(${r}, ${n})`})}se.usePattern=Qz;function Xz(e){let{gen:t,data:r,keyword:n,it:o}=e,i=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return s(()=>t.assign(a,!1)),a}return t.var(i,!0),s(()=>t.break()),i;function s(a){let c=t.const("len",(0,de._)`${r}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:Wp.Type.Num},i),t.if((0,de.not)(i),a)})}}se.validateArray=Xz;function eC(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Wp.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let s=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let p=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);t.assign(s,(0,de._)`${s} || ${a}`),e.mergeValidEvaluated(p,a)||t.if((0,de.not)(s))})),e.result(s,()=>e.reset(),()=>e.error(!0))}se.validateUnion=eC});var uy=k(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.validateKeywordUsage=Ft.validSchemaType=Ft.funcKeywordCode=Ft.macroKeywordCode=void 0;var Ke=H(),gn=or(),tC=bt(),rC=ci();function nC(e,t){let{gen:r,keyword:n,schema:o,parentSchema:i,it:s}=e,a=t.macro.call(s.self,o,i,s),c=cy(r,n,a);s.opts.validateSchema!==!1&&s.self.validateSchema(a,!0);let u=r.name("valid");e.subschema({schema:a,schemaPath:Ke.nil,errSchemaPath:`${s.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}Ft.macroKeywordCode=nC;function oC(e,t){var r;let{gen:n,keyword:o,schema:i,parentSchema:s,$data:a,it:c}=e;sC(c,t);let u=!a&&t.compile?t.compile.call(c.self,i,s,c):t.validate,p=cy(n,o,u),l=n.let("valid");e.block$data(l,d),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function d(){if(t.errors===!1)g(),t.modifying&&ay(e),_(()=>e.error());else{let v=t.async?h():f();t.modifying&&ay(e),_(()=>iC(e,v))}}function h(){let v=n.let("ruleErrs",null);return n.try(()=>g((0,Ke._)`await `),y=>n.assign(l,!1).if((0,Ke._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(v,(0,Ke._)`${y}.errors`),()=>n.throw(y))),v}function f(){let v=(0,Ke._)`${p}.errors`;return n.assign(v,null),g(Ke.nil),v}function g(v=t.async?(0,Ke._)`await `:Ke.nil){let y=c.opts.passContext?gn.default.this:gn.default.self,w=!("compile"in t&&!a||t.schema===!1);n.assign(l,(0,Ke._)`${v}${(0,tC.callValidateCode)(e,p,y,w)}`,t.modifying)}function _(v){var y;n.if((0,Ke.not)((y=t.valid)!==null&&y!==void 0?y:l),v)}}Ft.funcKeywordCode=oC;function ay(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Ke._)`${n.parentData}[${n.parentDataProperty}]`))}function iC(e,t){let{gen:r}=e;r.if((0,Ke._)`Array.isArray(${t})`,()=>{r.assign(gn.default.vErrors,(0,Ke._)`${gn.default.vErrors} === null ? ${t} : ${gn.default.vErrors}.concat(${t})`).assign(gn.default.errors,(0,Ke._)`${gn.default.vErrors}.length`),(0,rC.extendErrors)(e)},()=>e.error())}function sC({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function cy(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ke.stringify)(r)})}function aC(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}Ft.validSchemaType=aC;function cC({schema:e,opts:t,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 s=o.dependencies;if(s?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${i}: ${s.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Ft.validateKeywordUsage=cC});var py=k(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.extendSubschemaMode=Er.extendSubschemaData=Er.getSubschema=void 0;var Ut=H(),ly=ne();function uC(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:i,topSchemaRef:s}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,Ut._)`${e.schemaPath}${(0,Ut.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,Ut._)`${e.schemaPath}${(0,Ut.getProperty)(t)}${(0,Ut.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,ly.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||i===void 0||s===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:s,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Er.getSubschema=uC;function lC(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:i,propertyName:s}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:u,dataPathArr:p,opts:l}=t,d=a.let("data",(0,Ut._)`${t.data}${(0,Ut.getProperty)(r)}`,!0);c(d),e.errorPath=(0,Ut.str)`${u}${(0,ly.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0,Ut._)`${r}`,e.dataPathArr=[...p,e.parentDataProperty]}if(o!==void 0){let u=o instanceof Ut.Name?o:a.let("data",o,!0);c(u),s!==void 0&&(e.propertyName=s)}i&&(e.dataTypes=i);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}Er.extendSubschemaData=lC;function pC(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:i}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),i!==void 0&&(e.allErrors=i),e.jtdDiscriminator=t,e.jtdMetadata=r}Er.extendSubschemaMode=pC});var Qp=k((z8,dy)=>{"use strict";dy.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(i=Object.keys(t),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 s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!==t&&r!==r}});var hy=k((C8,fy)=>{"use strict";var zr=fy.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};ca(t,n,o,e,"",e)};zr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};zr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};zr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};zr.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 ca(e,t,r,n,o,i,s,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,i,s,a,c,u);for(var p in n){var l=n[p];if(Array.isArray(l)){if(p in zr.arrayKeywords)for(var d=0;d<l.length;d++)ca(e,t,r,l[d],o+"/"+p+"/"+d,i,o,p,n,d)}else if(p in zr.propsKeywords){if(l&&typeof l=="object")for(var h in l)ca(e,t,r,l[h],o+"/"+p+"/"+dC(h),i,o,p,n,h)}else(p in zr.keywords||e.allKeys&&!(p in zr.skipKeywords))&&ca(e,t,r,l,o+"/"+p,i,o,p,n)}r(n,o,i,s,a,c,u)}}function dC(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var li=k(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.getSchemaRefs=nt.resolveUrl=nt.normalizeId=nt._getFullPath=nt.getFullPath=nt.inlineRef=void 0;var fC=ne(),hC=Qp(),mC=hy(),gC=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function _C(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Xp(e):t?my(e)<=t:!1}nt.inlineRef=_C;var yC=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Xp(e){for(let t in e){if(yC.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Xp)||typeof r=="object"&&Xp(r))return!0}return!1}function my(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!gC.has(r)&&(typeof e[r]=="object"&&(0,fC.eachItem)(e[r],n=>t+=my(n)),t===1/0))return 1/0}return t}function gy(e,t="",r){r!==!1&&(t=Xn(t));let n=e.parse(t);return _y(e,n)}nt.getFullPath=gy;function _y(e,t){return e.serialize(t).split("#")[0]+"#"}nt._getFullPath=_y;var vC=/#\/?$/;function Xn(e){return e?e.replace(vC,""):""}nt.normalizeId=Xn;function xC(e,t,r){return r=Xn(r),e.resolve(t,r)}nt.resolveUrl=xC;var bC=/^[a-z_][-a-z0-9._]*$/i;function kC(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Xn(e[r]||t),i={"":o},s=gy(n,o,!1),a={},c=new Set;return mC(e,{allKeys:!0},(l,d,h,f)=>{if(f===void 0)return;let g=s+d,_=i[f];typeof l[r]=="string"&&(_=v.call(this,l[r])),y.call(this,l.$anchor),y.call(this,l.$dynamicAnchor),i[d]=_;function v(w){let $=this.opts.uriResolver.resolve;if(w=Xn(_?$(_,w):w),c.has(w))throw p(w);c.add(w);let j=this.refs[w];return typeof j=="string"&&(j=this.refs[j]),typeof j=="object"?u(l,j.schema,w):w!==Xn(g)&&(w[0]==="#"?(u(l,a[w],w),a[w]=l):this.refs[w]=g),w}function y(w){if(typeof w=="string"){if(!bC.test(w))throw new Error(`invalid anchor "${w}"`);v.call(this,`#${w}`)}}}),a;function u(l,d,h){if(d!==void 0&&!hC(l,d))throw p(h)}function p(l){return new Error(`reference "${l}" resolves to more than one schema`)}}nt.getSchemaRefs=kC});var fi=k(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.getData=Cr.KeywordCxt=Cr.validateFunctionCode=void 0;var ky=Y_(),yy=ui(),td=Vp(),ua=ui(),SC=oy(),di=uy(),ed=py(),N=H(),F=or(),wC=li(),ir=ne(),pi=ci();function TC(e){if(Ty(e)&&($y(e),wy(e))){EC(e);return}Sy(e,()=>(0,ky.topBoolOrEmptySchema)(e))}Cr.validateFunctionCode=TC;function Sy({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},i){o.code.es5?e.func(t,(0,N._)`${F.default.data}, ${F.default.valCxt}`,n.$async,()=>{e.code((0,N._)`"use strict"; ${vy(r,o)}`),PC(e,o),e.code(i)}):e.func(t,(0,N._)`${F.default.data}, ${$C(o)}`,n.$async,()=>e.code(vy(r,o)).code(i))}function $C(e){return(0,N._)`{${F.default.instancePath}="", ${F.default.parentData}, ${F.default.parentDataProperty}, ${F.default.rootData}=${F.default.data}${e.dynamicRef?(0,N._)`, ${F.default.dynamicAnchors}={}`:N.nil}}={}`}function PC(e,t){e.if(F.default.valCxt,()=>{e.var(F.default.instancePath,(0,N._)`${F.default.valCxt}.${F.default.instancePath}`),e.var(F.default.parentData,(0,N._)`${F.default.valCxt}.${F.default.parentData}`),e.var(F.default.parentDataProperty,(0,N._)`${F.default.valCxt}.${F.default.parentDataProperty}`),e.var(F.default.rootData,(0,N._)`${F.default.valCxt}.${F.default.rootData}`),t.dynamicRef&&e.var(F.default.dynamicAnchors,(0,N._)`${F.default.valCxt}.${F.default.dynamicAnchors}`)},()=>{e.var(F.default.instancePath,(0,N._)`""`),e.var(F.default.parentData,(0,N._)`undefined`),e.var(F.default.parentDataProperty,(0,N._)`undefined`),e.var(F.default.rootData,F.default.data),t.dynamicRef&&e.var(F.default.dynamicAnchors,(0,N._)`{}`)})}function EC(e){let{schema:t,opts:r,gen:n}=e;Sy(e,()=>{r.$comment&&t.$comment&&Ey(e),AC(e),n.let(F.default.vErrors,null),n.let(F.default.errors,0),r.unevaluated&&zC(e),Py(e),DC(e)})}function zC(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,N._)`${r}.evaluated`),t.if((0,N._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,N._)`${e.evaluated}.props`,(0,N._)`undefined`)),t.if((0,N._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,N._)`${e.evaluated}.items`,(0,N._)`undefined`))}function vy(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,N._)`/*# sourceURL=${r} */`:N.nil}function CC(e,t){if(Ty(e)&&($y(e),wy(e))){IC(e,t);return}(0,ky.boolOrEmptySchema)(e,t)}function wy({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Ty(e){return typeof e.schema!="boolean"}function IC(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&Ey(e),OC(e),NC(e);let i=n.const("_errs",F.default.errors);Py(e,i),n.var(t,(0,N._)`${i} === ${F.default.errors}`)}function $y(e){(0,ir.checkUnknownRules)(e),RC(e)}function Py(e,t){if(e.opts.jtd)return xy(e,[],!1,t);let r=(0,yy.getSchemaTypes)(e.schema),n=(0,yy.coerceAndCheckDataType)(e,r);xy(e,r,!n,t)}function RC(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,ir.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function AC(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,ir.checkStrictMode)(e,"default is ignored in the schema root")}function OC(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,wC.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function NC(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Ey({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)e.code((0,N._)`${F.default.self}.logger.log(${i})`);else if(typeof o.$comment=="function"){let s=(0,N.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,N._)`${F.default.self}.opts.$comment(${i}, ${s}, ${a}.schema)`)}}function DC(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=e;r.$async?t.if((0,N._)`${F.default.errors} === 0`,()=>t.return(F.default.data),()=>t.throw((0,N._)`new ${o}(${F.default.vErrors})`)):(t.assign((0,N._)`${n}.errors`,F.default.vErrors),i.unevaluated&&jC(e),t.return((0,N._)`${F.default.errors} === 0`))}function jC({gen:e,evaluated:t,props:r,items:n}){r instanceof N.Name&&e.assign((0,N._)`${t}.props`,r),n instanceof N.Name&&e.assign((0,N._)`${t}.items`,n)}function xy(e,t,r,n){let{gen:o,schema:i,data:s,allErrors:a,opts:c,self:u}=e,{RULES:p}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,ir.schemaHasRulesButRef)(i,p))){o.block(()=>Cy(e,"$ref",p.all.$ref.definition));return}c.jtd||MC(e,t),o.block(()=>{for(let d of p.rules)l(d);l(p.post)});function l(d){(0,td.shouldUseGroup)(i,d)&&(d.type?(o.if((0,ua.checkDataType)(d.type,s,c.strictNumbers)),by(e,d),t.length===1&&t[0]===d.type&&r&&(o.else(),(0,ua.reportTypeError)(e)),o.endIf()):by(e,d),a||o.if((0,N._)`${F.default.errors} === ${n||0}`))}}function by(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,SC.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,td.shouldUseRule)(n,i)&&Cy(e,i.keyword,i.definition,t.type)})}function MC(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(LC(e,t),e.opts.allowUnionTypes||ZC(e,t),qC(e,e.dataTypes))}function LC(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{zy(e.dataTypes,r)||rd(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),UC(e,t)}}function ZC(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&rd(e,"use allowUnionTypes to allow union type keyword")}function qC(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,td.shouldUseRule)(e.schema,o)){let{type:i}=o.definition;i.length&&!i.some(s=>FC(t,s))&&rd(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function FC(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function zy(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function UC(e,t){let r=[];for(let n of e.dataTypes)zy(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function rd(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,ir.checkStrictMode)(e,t,e.opts.strictTypes)}var la=class{constructor(t,r,n){if((0,di.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,ir.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Iy(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,di.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=t.gen.const("_errs",F.default.errors))}result(t,r,n){this.failResult((0,N.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,N.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,N._)`${r} !== undefined && (${(0,N.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?pi.reportExtraError:pi.reportError)(this,this.def.error,r)}$dataError(){(0,pi.reportError)(this,this.def.$dataError||pi.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,pi.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=N.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=N.nil,r=N.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:i,def:s}=this;n.if((0,N.or)((0,N._)`${o} === undefined`,r)),t!==N.nil&&n.assign(t,!0),(i.length||s.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==N.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:i}=this;return(0,N.or)(s(),a());function s(){if(n.length){if(!(r instanceof N.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,N._)`${(0,ua.checkDataTypes)(c,r,i.opts.strictNumbers,ua.DataType.Wrong)}`}return N.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,N._)`!${c}(${r})`}return N.nil}}subschema(t,r){let n=(0,ed.getSubschema)(this.it,t);(0,ed.extendSubschemaData)(n,this.it,t),(0,ed.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return CC(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=ir.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=ir.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,N.Name)),!0}};Cr.KeywordCxt=la;function Cy(e,t,r,n){let o=new la(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,di.funcKeywordCode)(o,r):"macro"in r?(0,di.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,di.funcKeywordCode)(o,r)}var BC=/^\/(?:[^~]|~0|~1)*$/,VC=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Iy(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,i;if(e==="")return F.default.rootData;if(e[0]==="/"){if(!BC.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,i=F.default.rootData}else{let u=VC.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);let p=+u[1];if(o=u[2],o==="#"){if(p>=t)throw new Error(c("property/index",p));return n[t-p]}if(p>t)throw new Error(c("data",p));if(i=r[t-p],!o)return i}let s=i,a=o.split("/");for(let u of a)u&&(i=(0,N._)`${i}${(0,N.getProperty)((0,ir.unescapeJsonPointer)(u))}`,s=(0,N._)`${s} && ${i}`);return s;function c(u,p){return`Cannot access ${u} ${p} levels up, current level is ${t}`}}Cr.getData=Iy});var pa=k(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var nd=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};od.default=nd});var hi=k(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var id=li(),sd=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,id.resolveUrl)(t,r,n),this.missingSchema=(0,id.normalizeId)((0,id.getFullPath)(t,this.missingRef))}};ad.default=sd});var fa=k(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.resolveSchema=kt.getCompilingSchema=kt.resolveRef=kt.compileSchema=kt.SchemaEnv=void 0;var Rt=H(),HC=pa(),_n=or(),At=li(),Ry=ne(),GC=fi(),eo=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,At.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};kt.SchemaEnv=eo;function ud(e){let t=Ay.call(this,e);if(t)return t;let r=(0,At.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:i}=this.opts,s=new Rt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:i}),a;e.$async&&(a=s.scopeValue("Error",{ref:HC.default,code:(0,Rt._)`require("ajv/dist/runtime/validation_error").default`}));let c=s.scopeName("validate");e.validateName=c;let u={gen:s,allErrors:this.opts.allErrors,data:_n.default.data,parentData:_n.default.parentData,parentDataProperty:_n.default.parentDataProperty,dataNames:[_n.default.data],dataPathArr:[Rt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:s.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Rt.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Rt.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Rt._)`""`,opts:this.opts,self:this},p;try{this._compilations.add(e),(0,GC.validateFunctionCode)(u),s.optimize(this.opts.code.optimize);let l=s.toString();p=`${s.scopeRefs(_n.default.scope)}return ${l}`,this.opts.code.process&&(p=this.opts.code.process(p,e));let h=new Function(`${_n.default.self}`,`${_n.default.scope}`,p)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=e.schema,h.schemaEnv=e,e.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:l,scopeValues:s._values}),this.opts.unevaluated){let{props:f,items:g}=u;h.evaluated={props:f instanceof Rt.Name?void 0:f,items:g instanceof Rt.Name?void 0:g,dynamicProps:f instanceof Rt.Name,dynamicItems:g instanceof Rt.Name},h.source&&(h.source.evaluated=(0,Rt.stringify)(h.evaluated))}return e.validate=h,e}catch(l){throw delete e.validate,delete e.validateName,p&&this.logger.error("Error compiling schema, function code:",p),l}finally{this._compilations.delete(e)}}kt.compileSchema=ud;function KC(e,t,r){var n;r=(0,At.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let i=YC.call(this,e,r);if(i===void 0){let s=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;s&&(i=new eo({schema:s,schemaId:a,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=WC.call(this,i)}kt.resolveRef=KC;function WC(e){return(0,At.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:ud.call(this,e)}function Ay(e){for(let t of this._compilations)if(JC(t,e))return t}kt.getCompilingSchema=Ay;function JC(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function YC(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||da.call(this,e,t)}function da(e,t){let r=this.opts.uriResolver.parse(t),n=(0,At._getFullPath)(this.opts.uriResolver,r),o=(0,At.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return cd.call(this,r,e);let i=(0,At.normalizeId)(n),s=this.refs[i]||this.schemas[i];if(typeof s=="string"){let a=da.call(this,e,s);return typeof a?.schema!="object"?void 0:cd.call(this,r,a)}if(typeof s?.schema=="object"){if(s.validate||ud.call(this,s),i===(0,At.normalizeId)(t)){let{schema:a}=s,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,At.resolveUrl)(this.opts.uriResolver,o,u)),new eo({schema:a,schemaId:c,root:e,baseId:o})}return cd.call(this,r,s)}}kt.resolveSchema=da;var QC=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function cd(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Ry.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!QC.has(a)&&u&&(t=(0,At.resolveUrl)(this.opts.uriResolver,t,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,Ry.schemaHasRulesButRef)(r,this.RULES)){let a=(0,At.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=da.call(this,n,a)}let{schemaId:s}=this.opts;if(i=i||new eo({schema:r,schemaId:s,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var Oy=k((D8,XC)=>{XC.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 pd=k((j8,My)=>{"use strict";var eI=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Dy=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 ld(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var tI=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ny(e){return e.length=0,!0}function rI(e,t,r){if(e.length){let n=ld(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function nI(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,s=!1,a=rI;for(let c=0;c<e.length;c++){let u=e[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(s=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=Ny}else{o.push(u);continue}}return o.length&&(a===Ny?r.zone=o.join(""):s?n.push(o.join("")):n.push(ld(o))),r.address=n.join(""),r}function jy(e){if(oI(e,":")<2)return{host:e,isIPV6:!1};let t=nI(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function oI(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function iI(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(o===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}function sI(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function aI(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Dy(r)){let n=jy(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}My.exports={nonSimpleDomain:tI,recomposeAuthority:aI,normalizeComponentEncoding:sI,removeDotSegments:iI,isIPv4:Dy,isUUID:eI,normalizeIPv6:jy,stringArrayToHexStripped:ld}});var Uy=k((M8,Fy)=>{"use strict";var{isUUID:cI}=pd(),uI=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,lI=["http","https","ws","wss","urn","urn:uuid"];function pI(e){return lI.indexOf(e)!==-1}function dd(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Ly(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Zy(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function dI(e){return e.secure=dd(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function fI(e){if((e.port===(dd(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function hI(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(uI);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,i=fd(o);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function mI(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,i=fd(o);i&&(e=i.serialize(e,t));let s=e,a=e.nss;return s.path=`${n||t.nid}:${a}`,t.skipEscape=!0,s}function gI(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!cI(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function _I(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var qy={scheme:"http",domainHost:!0,parse:Ly,serialize:Zy},yI={scheme:"https",domainHost:qy.domainHost,parse:Ly,serialize:Zy},ha={scheme:"ws",domainHost:!0,parse:dI,serialize:fI},vI={scheme:"wss",domainHost:ha.domainHost,parse:ha.parse,serialize:ha.serialize},xI={scheme:"urn",parse:hI,serialize:mI,skipNormalize:!0},bI={scheme:"urn:uuid",parse:gI,serialize:_I,skipNormalize:!0},ma={http:qy,https:yI,ws:ha,wss:vI,urn:xI,"urn:uuid":bI};Object.setPrototypeOf(ma,null);function fd(e){return e&&(ma[e]||ma[e.toLowerCase()])||void 0}Fy.exports={wsIsSecure:dd,SCHEMES:ma,isValidSchemeName:pI,getSchemeHandler:fd}});var Hy=k((L8,_a)=>{"use strict";var{normalizeIPv6:kI,removeDotSegments:mi,recomposeAuthority:SI,normalizeComponentEncoding:ga,isIPv4:wI,nonSimpleDomain:TI}=pd(),{SCHEMES:$I,getSchemeHandler:By}=Uy();function PI(e,t){return typeof e=="string"?e=Bt(sr(e,t),t):typeof e=="object"&&(e=sr(Bt(e,t),t)),e}function EI(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Vy(sr(e,n),sr(t,n),n,!0);return n.skipEscape=!0,Bt(o,n)}function Vy(e,t,r,n){let o={};return n||(e=sr(Bt(e,r),r),t=sr(Bt(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=mi(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=mi(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=mi(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=mi(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function zI(e,t,r){return typeof e=="string"?(e=unescape(e),e=Bt(ga(sr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Bt(ga(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=Bt(ga(sr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Bt(ga(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function Bt(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],i=By(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 s=SI(r);if(s!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(s),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(a=mi(a)),s===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var CI=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function sr(e,t){let r=Object.assign({},t),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?e=r.scheme+":"+e:e="//"+e);let i=e.match(CI);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(wI(n.host)===!1){let c=kI(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 s=By(r.scheme||n.scheme);if(!r.unicodeSupport&&(!s||!s.unicodeSupport)&&n.host&&(r.domainHost||s&&s.domainHost)&&o===!1&&TI(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!s||s&&!s.skipNormalize)&&(e.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)))),s&&s.parse&&s.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var hd={SCHEMES:$I,normalize:PI,resolve:EI,resolveComponent:Vy,equal:zI,serialize:Bt,parse:sr};_a.exports=hd;_a.exports.default=hd;_a.exports.fastUri=hd});var Ky=k(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var Gy=Hy();Gy.code='require("ajv/dist/runtime/uri").default';md.default=Gy});var rv=k(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.CodeGen=Ne.Name=Ne.nil=Ne.stringify=Ne.str=Ne._=Ne.KeywordCxt=void 0;var II=fi();Object.defineProperty(Ne,"KeywordCxt",{enumerable:!0,get:function(){return II.KeywordCxt}});var to=H();Object.defineProperty(Ne,"_",{enumerable:!0,get:function(){return to._}});Object.defineProperty(Ne,"str",{enumerable:!0,get:function(){return to.str}});Object.defineProperty(Ne,"stringify",{enumerable:!0,get:function(){return to.stringify}});Object.defineProperty(Ne,"nil",{enumerable:!0,get:function(){return to.nil}});Object.defineProperty(Ne,"Name",{enumerable:!0,get:function(){return to.Name}});Object.defineProperty(Ne,"CodeGen",{enumerable:!0,get:function(){return to.CodeGen}});var RI=pa(),Xy=hi(),AI=Bp(),gi=fa(),OI=H(),_i=li(),ya=ui(),_d=ne(),Wy=Oy(),NI=Ky(),ev=(e,t)=>new RegExp(e,t);ev.code="new RegExp";var DI=["removeAdditional","useDefaults","coerceTypes"],jI=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),MI={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."},LI={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Jy=200;function ZI(e){var t,r,n,o,i,s,a,c,u,p,l,d,h,f,g,_,v,y,w,$,j,ve,pe,Lr,Zr;let ft=e.strict,hr=(t=e.code)===null||t===void 0?void 0:t.optimize,ht=hr===!0||hr===void 0?1:hr||0,$o=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:ev,zn=(o=e.uriResolver)!==null&&o!==void 0?o:NI.default;return{strictSchema:(s=(i=e.strictSchema)!==null&&i!==void 0?i:ft)!==null&&s!==void 0?s:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:ft)!==null&&c!==void 0?c:!0,strictTypes:(p=(u=e.strictTypes)!==null&&u!==void 0?u:ft)!==null&&p!==void 0?p:"log",strictTuples:(d=(l=e.strictTuples)!==null&&l!==void 0?l:ft)!==null&&d!==void 0?d:"log",strictRequired:(f=(h=e.strictRequired)!==null&&h!==void 0?h:ft)!==null&&f!==void 0?f:!1,code:e.code?{...e.code,optimize:ht,regExp:$o}:{optimize:ht,regExp:$o},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:Jy,loopEnum:(_=e.loopEnum)!==null&&_!==void 0?_:Jy,meta:(v=e.meta)!==null&&v!==void 0?v:!0,messages:(y=e.messages)!==null&&y!==void 0?y:!0,inlineRefs:(w=e.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:($=e.schemaId)!==null&&$!==void 0?$:"$id",addUsedSchema:(j=e.addUsedSchema)!==null&&j!==void 0?j:!0,validateSchema:(ve=e.validateSchema)!==null&&ve!==void 0?ve:!0,validateFormats:(pe=e.validateFormats)!==null&&pe!==void 0?pe:!0,unicodeRegExp:(Lr=e.unicodeRegExp)!==null&&Lr!==void 0?Lr:!0,int32range:(Zr=e.int32range)!==null&&Zr!==void 0?Zr:!0,uriResolver:zn}}var yi=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...ZI(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new OI.ValueScope({scope:{},prefixes:jI,es5:r,lines:n}),this.logger=HI(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,AI.getRules)(),Yy.call(this,MI,t,"NOT SUPPORTED"),Yy.call(this,LI,t,"DEPRECATED","warn"),this._metaOpts=BI.call(this),t.formats&&FI.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&UI.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),qI.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=Wy;n==="id"&&(o={...Wy},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,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,t,r);async function o(p,l){await i.call(this,p.$schema);let d=this._addSchema(p,l);return d.validate||s.call(this,d)}async function i(p){p&&!this.getSchema(p)&&await o.call(this,{$ref:p},!0)}async function s(p){try{return this._compileSchemaEnv(p)}catch(l){if(!(l instanceof Xy.default))throw l;return a.call(this,l),await c.call(this,l.missingSchema),s.call(this,p)}}function a({missingSchema:p,missingRef:l}){if(this.refs[p])throw new Error(`AnySchema ${p} is loaded but ${l} cannot be resolved`)}async function c(p){let l=await u.call(this,p);this.refs[p]||await i.call(this,l.$schema),this.refs[p]||this.addSchema(l,p,r)}async function u(p){let l=this._loading[p];if(l)return l;try{return await(this._loading[p]=n(p))}finally{delete this._loading[p]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let s of t)this.addSchema(s,void 0,n,o);return this}let i;if(typeof t=="object"){let{schemaId:s}=this.opts;if(i=t[s],i!==void 0&&typeof i!="string")throw new Error(`schema ${s} must be string`)}return r=(0,_i.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$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,t);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(t){let r;for(;typeof(r=Qy.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new gi.SchemaEnv({schema:{},schemaId:n});if(r=gi.resolveSchema.call(this,o,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Qy.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,_i.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,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(KI.call(this,n,r),!r)return(0,_d.eachItem)(n,i=>gd.call(this,i)),this;JI.call(this,r);let o={...r,type:(0,ya.getJSONTypes)(r.type),schemaType:(0,ya.getJSONTypes)(r.schemaType)};return(0,_d.eachItem)(n,o.type.length===0?i=>gd.call(this,i,o):i=>o.type.forEach(s=>gd.call(this,i,o,s))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let o=n.rules.findIndex(i=>i.keyword===t);o>=0&&n.rules.splice(o,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,i)=>o+r+i)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let i=o.split("/").slice(1),s=t;for(let a of i)s=s[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,p=s[a];u&&p&&(s[a]=tv(p))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,i=this.opts.addUsedSchema){let s,{schemaId:a}=this.opts;if(typeof t=="object")s=t[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,_i.normalizeId)(s||n);let u=_i.getSchemaRefs.call(this,t,n);return c=new gi.SchemaEnv({schema:t,schemaId:a,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(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):gi.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{gi.compileSchema.call(this,t)}finally{this.opts=r}}};yi.ValidationError=RI.default;yi.MissingRefError=Xy.default;Ne.default=yi;function Yy(e,t,r,n="error"){for(let o in e){let i=o;i in t&&this.logger[n](`${r}: option ${o}. ${e[i]}`)}}function Qy(e){return e=(0,_i.normalizeId)(e),this.schemas[e]||this.refs[e]}function qI(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function FI(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function UI(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function BI(){let e={...this.opts};for(let t of DI)delete e[t];return e}var VI={log(){},warn(){},error(){}};function HI(e){if(e===!1)return VI;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var GI=/^[a-z_$][a-z0-9_$:-]*$/i;function KI(e,t){let{RULES:r}=this;if((0,_d.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!GI.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function gd(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,s=o?i.post:i.rules.find(({type:c})=>c===r);if(s||(s={type:r,rules:[]},i.rules.push(s)),i.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,ya.getJSONTypes)(t.type),schemaType:(0,ya.getJSONTypes)(t.schemaType)}};t.before?WI.call(this,s,a,t.before):s.rules.push(a),i.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function WI(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function JI(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=tv(t)),e.validateSchema=this.compile(t,!0))}var YI={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function tv(e){return{anyOf:[e,YI]}}});var nv=k(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var QI={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};yd.default=QI});var av=k(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.callRef=yn.getValidate=void 0;var XI=hi(),ov=bt(),ot=H(),ro=or(),iv=fa(),va=ne(),eR={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:i,validateName:s,opts:a,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&o===u.baseId)return l();let p=iv.resolveRef.call(c,u,o,r);if(p===void 0)throw new XI.default(n.opts.uriResolver,o,r);if(p instanceof iv.SchemaEnv)return d(p);return h(p);function l(){if(i===u)return xa(e,s,i,i.$async);let f=t.scopeValue("root",{ref:u});return xa(e,(0,ot._)`${f}.validate`,u,u.$async)}function d(f){let g=sv(e,f);xa(e,g,f,f.$async)}function h(f){let g=t.scopeValue("schema",a.code.source===!0?{ref:f,code:(0,ot.stringify)(f)}:{ref:f}),_=t.name("valid"),v=e.subschema({schema:f,dataTypes:[],schemaPath:ot.nil,topSchemaRef:g,errSchemaPath:r},_);e.mergeEvaluated(v),e.ok(_)}}};function sv(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,ot._)`${r.scopeValue("wrapper",{ref:t})}.validate`}yn.getValidate=sv;function xa(e,t,r,n){let{gen:o,it:i}=e,{allErrors:s,schemaEnv:a,opts:c}=i,u=c.passContext?ro.default.this:ot.nil;n?p():l();function p(){if(!a.$async)throw new Error("async schema referenced by sync schema");let f=o.let("valid");o.try(()=>{o.code((0,ot._)`await ${(0,ov.callValidateCode)(e,t,u)}`),h(t),s||o.assign(f,!0)},g=>{o.if((0,ot._)`!(${g} instanceof ${i.ValidationError})`,()=>o.throw(g)),d(g),s||o.assign(f,!1)}),e.ok(f)}function l(){e.result((0,ov.callValidateCode)(e,t,u),()=>h(t),()=>d(t))}function d(f){let g=(0,ot._)`${f}.errors`;o.assign(ro.default.vErrors,(0,ot._)`${ro.default.vErrors} === null ? ${g} : ${ro.default.vErrors}.concat(${g})`),o.assign(ro.default.errors,(0,ot._)`${ro.default.vErrors}.length`)}function h(f){var g;if(!i.opts.unevaluated)return;let _=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(i.props!==!0)if(_&&!_.dynamicProps)_.props!==void 0&&(i.props=va.mergeEvaluated.props(o,_.props,i.props));else{let v=o.var("props",(0,ot._)`${f}.evaluated.props`);i.props=va.mergeEvaluated.props(o,v,i.props,ot.Name)}if(i.items!==!0)if(_&&!_.dynamicItems)_.items!==void 0&&(i.items=va.mergeEvaluated.items(o,_.items,i.items));else{let v=o.var("items",(0,ot._)`${f}.evaluated.items`);i.items=va.mergeEvaluated.items(o,v,i.items,ot.Name)}}}yn.callRef=xa;yn.default=eR});var cv=k(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var tR=nv(),rR=av(),nR=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",tR.default,rR.default];vd.default=nR});var uv=k(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var ba=H(),Ir=ba.operators,ka={maximum:{okStr:"<=",ok:Ir.LTE,fail:Ir.GT},minimum:{okStr:">=",ok:Ir.GTE,fail:Ir.LT},exclusiveMaximum:{okStr:"<",ok:Ir.LT,fail:Ir.GTE},exclusiveMinimum:{okStr:">",ok:Ir.GT,fail:Ir.LTE}},oR={message:({keyword:e,schemaCode:t})=>(0,ba.str)`must be ${ka[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,ba._)`{comparison: ${ka[e].okStr}, limit: ${t}}`},iR={keyword:Object.keys(ka),type:"number",schemaType:"number",$data:!0,error:oR,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,ba._)`${r} ${ka[t].fail} ${n} || isNaN(${r})`)}};xd.default=iR});var lv=k(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var vi=H(),sR={message:({schemaCode:e})=>(0,vi.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,vi._)`{multipleOf: ${e}}`},aR={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:sR,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,i=o.opts.multipleOfPrecision,s=t.let("res"),a=i?(0,vi._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${i}`:(0,vi._)`${s} !== parseInt(${s})`;e.fail$data((0,vi._)`(${n} === 0 || (${s} = ${r}/${n}, ${a}))`)}};bd.default=aR});var dv=k(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});function pv(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}kd.default=pv;pv.code='require("ajv/dist/runtime/ucs2length").default'});var fv=k(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var vn=H(),cR=ne(),uR=dv(),lR={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,vn.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,vn._)`{limit: ${e}}`},pR={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:lR,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,i=t==="maxLength"?vn.operators.GT:vn.operators.LT,s=o.opts.unicode===!1?(0,vn._)`${r}.length`:(0,vn._)`${(0,cR.useFunc)(e.gen,uR.default)}(${r})`;e.fail$data((0,vn._)`${s} ${i} ${n}`)}};Sd.default=pR});var hv=k(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var dR=bt(),Sa=H(),fR={message:({schemaCode:e})=>(0,Sa.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,Sa._)`{pattern: ${e}}`},hR={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:fR,code(e){let{data:t,$data:r,schema:n,schemaCode:o,it:i}=e,s=i.opts.unicodeRegExp?"u":"",a=r?(0,Sa._)`(new RegExp(${o}, ${s}))`:(0,dR.usePattern)(e,n);e.fail$data((0,Sa._)`!${a}.test(${t})`)}};wd.default=hR});var mv=k(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var xi=H(),mR={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,xi.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,xi._)`{limit: ${e}}`},gR={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:mR,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?xi.operators.GT:xi.operators.LT;e.fail$data((0,xi._)`Object.keys(${r}).length ${o} ${n}`)}};Td.default=gR});var gv=k($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var bi=bt(),ki=H(),_R=ne(),yR={message:({params:{missingProperty:e}})=>(0,ki.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,ki._)`{missingProperty: ${e}}`},vR={keyword:"required",type:"object",schemaType:"array",$data:!0,error:yR,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:i,it:s}=e,{opts:a}=s;if(!i&&r.length===0)return;let c=r.length>=a.loopRequired;if(s.allErrors?u():p(),a.strictRequired){let h=e.parentSchema.properties,{definedProperties:f}=e.it;for(let g of r)if(h?.[g]===void 0&&!f.has(g)){let _=s.schemaEnv.baseId+s.errSchemaPath,v=`required property "${g}" is not defined at "${_}" (strictRequired)`;(0,_R.checkStrictMode)(s,v,s.opts.strictRequired)}}function u(){if(c||i)e.block$data(ki.nil,l);else for(let h of r)(0,bi.checkReportMissingProp)(e,h)}function p(){let h=t.let("missing");if(c||i){let f=t.let("valid",!0);e.block$data(f,()=>d(h,f)),e.ok(f)}else t.if((0,bi.checkMissingProp)(e,r,h)),(0,bi.reportMissingProp)(e,h),t.else()}function l(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0,bi.noPropertyInData)(t,o,h,a.ownProperties),()=>e.error())})}function d(h,f){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(f,(0,bi.propertyInData)(t,o,h,a.ownProperties)),t.if((0,ki.not)(f),()=>{e.error(),t.break()})},ki.nil)}}};$d.default=vR});var _v=k(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var Si=H(),xR={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,Si.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,Si._)`{limit: ${e}}`},bR={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:xR,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?Si.operators.GT:Si.operators.LT;e.fail$data((0,Si._)`${r}.length ${o} ${n}`)}};Pd.default=bR});var wa=k(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var yv=Qp();yv.code='require("ajv/dist/runtime/equal").default';Ed.default=yv});var vv=k(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var zd=ui(),De=H(),kR=ne(),SR=wa(),wR={message:({params:{i:e,j:t}})=>(0,De.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,De._)`{i: ${e}, j: ${t}}`},TR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:wR,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:i,schemaCode:s,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),u=i.items?(0,zd.getSchemaTypes)(i.items):[];e.block$data(c,p,(0,De._)`${s} === false`),e.ok(c);function p(){let f=t.let("i",(0,De._)`${r}.length`),g=t.let("j");e.setParams({i:f,j:g}),t.assign(c,!0),t.if((0,De._)`${f} > 1`,()=>(l()?d:h)(f,g))}function l(){return u.length>0&&!u.some(f=>f==="object"||f==="array")}function d(f,g){let _=t.name("item"),v=(0,zd.checkDataTypes)(u,_,a.opts.strictNumbers,zd.DataType.Wrong),y=t.const("indices",(0,De._)`{}`);t.for((0,De._)`;${f}--;`,()=>{t.let(_,(0,De._)`${r}[${f}]`),t.if(v,(0,De._)`continue`),u.length>1&&t.if((0,De._)`typeof ${_} == "string"`,(0,De._)`${_} += "_"`),t.if((0,De._)`typeof ${y}[${_}] == "number"`,()=>{t.assign(g,(0,De._)`${y}[${_}]`),e.error(),t.assign(c,!1).break()}).code((0,De._)`${y}[${_}] = ${f}`)})}function h(f,g){let _=(0,kR.useFunc)(t,SR.default),v=t.name("outer");t.label(v).for((0,De._)`;${f}--;`,()=>t.for((0,De._)`${g} = ${f}; ${g}--;`,()=>t.if((0,De._)`${_}(${r}[${f}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(v)})))}}};Cd.default=TR});var xv=k(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var Id=H(),$R=ne(),PR=wa(),ER={message:"must be equal to constant",params:({schemaCode:e})=>(0,Id._)`{allowedValue: ${e}}`},zR={keyword:"const",$data:!0,error:ER,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,Id._)`!${(0,$R.useFunc)(t,PR.default)}(${r}, ${o})`):e.fail((0,Id._)`${i} !== ${r}`)}};Rd.default=zR});var bv=k(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var wi=H(),CR=ne(),IR=wa(),RR={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,wi._)`{allowedValues: ${e}}`},AR={keyword:"enum",schemaType:"array",$data:!0,error:RR,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:i,it:s}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=s.opts.loopEnum,c,u=()=>c??(c=(0,CR.useFunc)(t,IR.default)),p;if(a||n)p=t.let("valid"),e.block$data(p,l);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let h=t.const("vSchema",i);p=(0,wi.or)(...o.map((f,g)=>d(h,g)))}e.pass(p);function l(){t.assign(p,!1),t.forOf("v",i,h=>t.if((0,wi._)`${u()}(${r}, ${h})`,()=>t.assign(p,!0).break()))}function d(h,f){let g=o[f];return typeof g=="object"&&g!==null?(0,wi._)`${u()}(${r}, ${h}[${f}])`:(0,wi._)`${r} === ${g}`}}};Ad.default=AR});var kv=k(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var OR=uv(),NR=lv(),DR=fv(),jR=hv(),MR=mv(),LR=gv(),ZR=_v(),qR=vv(),FR=xv(),UR=bv(),BR=[OR.default,NR.default,DR.default,jR.default,MR.default,LR.default,ZR.default,qR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},FR.default,UR.default];Od.default=BR});var Dd=k(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.validateAdditionalItems=void 0;var xn=H(),Nd=ne(),VR={message:({params:{len:e}})=>(0,xn.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,xn._)`{limit: ${e}}`},HR={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:VR,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Nd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Sv(e,n)}};function Sv(e,t){let{gen:r,schema:n,data:o,keyword:i,it:s}=e;s.items=!0;let a=r.const("len",(0,xn._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,xn._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Nd.alwaysValidSchema)(s,n)){let u=r.var("valid",(0,xn._)`${a} <= ${t.length}`);r.if((0,xn.not)(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,a,p=>{e.subschema({keyword:i,dataProp:p,dataPropType:Nd.Type.Num},u),s.allErrors||r.if((0,xn.not)(u),()=>r.break())})}}Ti.validateAdditionalItems=Sv;Ti.default=HR});var jd=k($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.validateTuple=void 0;var wv=H(),Ta=ne(),GR=bt(),KR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Tv(e,"additionalItems",t);r.items=!0,!(0,Ta.alwaysValidSchema)(r,t)&&e.ok((0,GR.validateArray)(e))}};function Tv(e,t,r=e.schema){let{gen:n,parentSchema:o,data:i,keyword:s,it:a}=e;p(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Ta.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,wv._)`${i}.length`);r.forEach((l,d)=>{(0,Ta.alwaysValidSchema)(a,l)||(n.if((0,wv._)`${u} > ${d}`,()=>e.subschema({keyword:s,schemaProp:d,dataProp:d},c)),e.ok(c))});function p(l){let{opts:d,errSchemaPath:h}=a,f=r.length,g=f===l.minItems&&(f===l.maxItems||l[t]===!1);if(d.strictTuples&&!g){let _=`"${s}" is ${f}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0,Ta.checkStrictMode)(a,_,d.strictTuples)}}}$i.validateTuple=Tv;$i.default=KR});var $v=k(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var WR=jd(),JR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,WR.validateTuple)(e,"items")};Md.default=JR});var Ev=k(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var Pv=H(),YR=ne(),QR=bt(),XR=Dd(),eA={message:({params:{len:e}})=>(0,Pv.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Pv._)`{limit: ${e}}`},tA={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:eA,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,YR.alwaysValidSchema)(n,t)&&(o?(0,XR.validateAdditionalItems)(e,o):e.ok((0,QR.validateArray)(e)))}};Ld.default=tA});var zv=k(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var St=H(),$a=ne(),rA={message:({params:{min:e,max:t}})=>t===void 0?(0,St.str)`must contain at least ${e} valid item(s)`:(0,St.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,St._)`{minContains: ${e}}`:(0,St._)`{minContains: ${e}, maxContains: ${t}}`},nA={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:rA,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e,s,a,{minContains:c,maxContains:u}=n;i.opts.next?(s=c===void 0?1:c,a=u):s=1;let p=t.const("len",(0,St._)`${o}.length`);if(e.setParams({min:s,max:a}),a===void 0&&s===0){(0,$a.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&s>a){(0,$a.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,$a.alwaysValidSchema)(i,r)){let g=(0,St._)`${p} >= ${s}`;a!==void 0&&(g=(0,St._)`${g} && ${p} <= ${a}`),e.pass(g);return}i.items=!0;let l=t.name("valid");a===void 0&&s===1?h(l,()=>t.if(l,()=>t.break())):s===0?(t.let(l,!0),a!==void 0&&t.if((0,St._)`${o}.length > 0`,d)):(t.let(l,!1),d()),e.result(l,()=>e.reset());function d(){let g=t.name("_valid"),_=t.let("count",0);h(g,()=>t.if(g,()=>f(_)))}function h(g,_){t.forRange("i",0,p,v=>{e.subschema({keyword:"contains",dataProp:v,dataPropType:$a.Type.Num,compositeRule:!0},g),_()})}function f(g){t.code((0,St._)`${g}++`),a===void 0?t.if((0,St._)`${g} >= ${s}`,()=>t.assign(l,!0).break()):(t.if((0,St._)`${g} > ${a}`,()=>t.assign(l,!1).break()),s===1?t.assign(l,!0):t.if((0,St._)`${g} >= ${s}`,()=>t.assign(l,!0)))}}};Zd.default=nA});var Rv=k(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.validateSchemaDeps=Vt.validatePropertyDeps=Vt.error=void 0;var qd=H(),oA=ne(),Pi=bt();Vt.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,qd.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,qd._)`{property: ${e},
|
|
8
8
|
missingProperty: ${n},
|
|
9
9
|
depsCount: ${t},
|
|
10
|
-
deps: ${r}}`};var CR={keyword:"dependencies",type:"object",schemaType:"object",error:Ht.error,code(e){let[t,r]=IR(e);Ev(e,t),zv(e,r)}};function IR({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Ev(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let s in t){let a=t[s];if(a.length===0)continue;let c=(0,Ci.propertyInData)(r,n,s,o.opts.ownProperties);e.setParams({property:s,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,Ci.checkReportMissingProp)(e,u)}):(r.if((0,qd._)`${c} && (${(0,Ci.checkMissingProp)(e,a,i)})`),(0,Ci.reportMissingProp)(e,i),r.else())}}Ht.validatePropertyDeps=Ev;function zv(e,t=e.schema){let{gen:r,data:n,keyword:o,it:i}=e,s=r.name("valid");for(let a in t)(0,zR.alwaysValidSchema)(i,t[a])||(r.if((0,Ci.propertyInData)(r,n,a,i.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},s);e.mergeValidEvaluated(c,s)},()=>r.var(s,!0)),e.ok(s))}Ht.validateSchemaDeps=zv;Ht.default=CR});var Rv=k(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var Iv=H(),RR=ne(),AR={message:"property name must be valid",params:({params:e})=>(0,Iv._)`{propertyName: ${e.propertyName}}`},OR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:AR,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,RR.alwaysValidSchema)(o,r))return;let i=t.name("valid");t.forIn("key",n,s=>{e.setParams({propertyName:s}),e.subschema({keyword:"propertyNames",data:s,dataTypes:["string"],propertyName:s,compositeRule:!0},i),t.if((0,Iv.not)(i),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(i)}};Fd.default=OR});var Bd=k(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var Ca=bt(),Nt=H(),NR=ir(),Ia=ne(),jR={message:"must NOT have additional properties",params:({params:e})=>(0,Nt._)`{additionalProperty: ${e.additionalProperty}}`},MR={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:jR,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:i,it:s}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=s;if(s.props=!0,c.removeAdditional!=="all"&&(0,Ia.alwaysValidSchema)(s,r))return;let u=(0,Ca.allSchemaProperties)(n.properties),p=(0,Ca.allSchemaProperties)(n.patternProperties);l(),e.ok((0,Nt._)`${i} === ${NR.default.errors}`);function l(){t.forIn("key",o,_=>{!u.length&&!p.length?f(_):t.if(d(_),()=>f(_))})}function d(_){let v;if(u.length>8){let y=(0,Ia.schemaRefOrVal)(s,n.properties,"properties");v=(0,Ca.isOwnProperty)(t,y,_)}else u.length?v=(0,Nt.or)(...u.map(y=>(0,Nt._)`${_} === ${y}`)):v=Nt.nil;return p.length&&(v=(0,Nt.or)(v,...p.map(y=>(0,Nt._)`${(0,Ca.usePattern)(e,y)}.test(${_})`))),(0,Nt.not)(v)}function h(_){t.code((0,Nt._)`delete ${o}[${_}]`)}function f(_){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(_);return}if(r===!1){e.setParams({additionalProperty:_}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,Ia.alwaysValidSchema)(s,r)){let v=t.name("valid");c.removeAdditional==="failing"?(g(_,v,!1),t.if((0,Nt.not)(v),()=>{e.reset(),h(_)})):(g(_,v),a||t.if((0,Nt.not)(v),()=>t.break()))}}function g(_,v,y){let S={keyword:"additionalProperties",dataProp:_,dataPropType:Ia.Type.Str};y===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(S,v)}}};Ud.default=MR});var Nv=k(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var DR=gi(),Av=bt(),Vd=ne(),Ov=Bd(),LR={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Ov.default.code(new DR.KeywordCxt(i,Ov.default,"additionalProperties"));let s=(0,Av.allSchemaProperties)(r);for(let l of s)i.definedProperties.add(l);i.opts.unevaluated&&s.length&&i.props!==!0&&(i.props=Vd.mergeEvaluated.props(t,(0,Vd.toHash)(s),i.props));let a=s.filter(l=>!(0,Vd.alwaysValidSchema)(i,r[l]));if(a.length===0)return;let c=t.name("valid");for(let l of a)u(l)?p(l):(t.if((0,Av.propertyInData)(t,o,l,i.opts.ownProperties)),p(l),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(l),e.ok(c);function u(l){return i.opts.useDefaults&&!i.compositeRule&&r[l].default!==void 0}function p(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},c)}}};Hd.default=LR});var Lv=k(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var jv=bt(),Ra=H(),Mv=ne(),Dv=ne(),ZR={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:i}=e,{opts:s}=i,a=(0,jv.allSchemaProperties)(r),c=a.filter(g=>(0,Mv.alwaysValidSchema)(i,r[g]));if(a.length===0||c.length===a.length&&(!i.opts.unevaluated||i.props===!0))return;let u=s.strictSchema&&!s.allowMatchingProperties&&o.properties,p=t.name("valid");i.props!==!0&&!(i.props instanceof Ra.Name)&&(i.props=(0,Dv.evaluatedPropsToName)(t,i.props));let{props:l}=i;d();function d(){for(let g of a)u&&h(g),i.allErrors?f(g):(t.var(p,!0),f(g),t.if(p))}function h(g){for(let _ in u)new RegExp(g).test(_)&&(0,Mv.checkStrictMode)(i,`property ${_} matches pattern ${g} (use allowMatchingProperties)`)}function f(g){t.forIn("key",n,_=>{t.if((0,Ra._)`${(0,jv.usePattern)(e,g)}.test(${_})`,()=>{let v=c.includes(g);v||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:_,dataPropType:Dv.Type.Str},p),i.opts.unevaluated&&l!==!0?t.assign((0,Ra._)`${l}[${_}]`,!0):!v&&!i.allErrors&&t.if((0,Ra.not)(p),()=>t.break())})})}}};Gd.default=ZR});var Zv=k(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var qR=ne(),FR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,qR.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Kd.default=FR});var qv=k(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var UR=bt(),BR={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:UR.validateUnion,error:{message:"must match a schema in anyOf"}};Wd.default=BR});var Fv=k(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var Aa=H(),VR=ne(),HR={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Aa._)`{passingSchemas: ${e.passing}}`},GR={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:HR,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let i=r,s=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(u),e.result(s,()=>e.reset(),()=>e.error(!0));function u(){i.forEach((p,l)=>{let d;(0,VR.alwaysValidSchema)(o,p)?t.var(c,!0):d=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:!0},c),l>0&&t.if((0,Aa._)`${c} && ${s}`).assign(s,!1).assign(a,(0,Aa._)`[${a}, ${l}]`).else(),t.if(c,()=>{t.assign(s,!0),t.assign(a,l),d&&e.mergeEvaluated(d,Aa.Name)})})}}};Jd.default=GR});var Uv=k(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var KR=ne(),WR={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=t.name("valid");r.forEach((i,s)=>{if((0,KR.alwaysValidSchema)(n,i))return;let a=e.subschema({keyword:"allOf",schemaProp:s},o);e.ok(o),e.mergeEvaluated(a)})}};Yd.default=WR});var Hv=k(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var Oa=H(),Vv=ne(),JR={message:({params:e})=>(0,Oa.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,Oa._)`{failingKeyword: ${e.ifClause}}`},YR={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:JR,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,Vv.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Bv(n,"then"),i=Bv(n,"else");if(!o&&!i)return;let s=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&i){let p=t.let("ifClause");e.setParams({ifClause:p}),t.if(a,u("then",p),u("else",p))}else o?t.if(a,u("then")):t.if((0,Oa.not)(a),u("else"));e.pass(s,()=>e.error(!0));function c(){let p=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(p)}function u(p,l){return()=>{let d=e.subschema({keyword:p},a);t.assign(s,a),e.mergeValidEvaluated(d,s),l?t.assign(l,(0,Oa._)`${p}`):e.setParams({ifClause:p})}}}};function Bv(e,t){let r=e.schema[t];return r!==void 0&&!(0,Vv.alwaysValidSchema)(e,r)}Qd.default=YR});var Gv=k(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var QR=ne(),XR={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,QR.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};Xd.default=XR});var Kv=k(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});var eA=jd(),tA=Sv(),rA=Md(),nA=$v(),oA=Pv(),iA=Cv(),sA=Rv(),aA=Bd(),cA=Nv(),uA=Lv(),lA=Zv(),pA=qv(),dA=Fv(),fA=Uv(),hA=Hv(),mA=Gv();function gA(e=!1){let t=[lA.default,pA.default,dA.default,fA.default,hA.default,mA.default,sA.default,aA.default,iA.default,cA.default,uA.default];return e?t.push(tA.default,nA.default):t.push(eA.default,rA.default),t.push(oA.default),t}ef.default=gA});var Wv=k(tf=>{"use strict";Object.defineProperty(tf,"__esModule",{value:!0});var Se=H(),_A={message:({schemaCode:e})=>(0,Se.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Se._)`{format: ${e}}`},yA={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:_A,code(e,t){let{gen:r,data:n,$data:o,schema:i,schemaCode:s,it:a}=e,{opts:c,errSchemaPath:u,schemaEnv:p,self:l}=a;if(!c.validateFormats)return;o?d():h();function d(){let f=r.scopeValue("formats",{ref:l.formats,code:c.code.formats}),g=r.const("fDef",(0,Se._)`${f}[${s}]`),_=r.let("fType"),v=r.let("format");r.if((0,Se._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(_,(0,Se._)`${g}.type || "string"`).assign(v,(0,Se._)`${g}.validate`),()=>r.assign(_,(0,Se._)`"string"`).assign(v,g)),e.fail$data((0,Se.or)(y(),S()));function y(){return c.strictSchema===!1?Se.nil:(0,Se._)`${s} && !${v}`}function S(){let $=p.$async?(0,Se._)`(${g}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,Se._)`${v}(${n})`,M=(0,Se._)`(typeof ${v} == "function" ? ${$} : ${v}.test(${n}))`;return(0,Se._)`${v} && ${v} !== true && ${_} === ${t} && !${M}`}}function h(){let f=l.formats[i];if(!f){y();return}if(f===!0)return;let[g,_,v]=S(f);g===t&&e.pass($());function y(){if(c.strictSchema===!1){l.logger.warn(M());return}throw new Error(M());function M(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function S(M){let ve=M instanceof RegExp?(0,Se.regexpCode)(M):c.code.formats?(0,Se._)`${c.code.formats}${(0,Se.getProperty)(i)}`:void 0,pe=r.scopeValue("formats",{key:i,ref:M,code:ve});return typeof M=="object"&&!(M instanceof RegExp)?[M.type||"string",M.validate,(0,Se._)`${pe}.validate`]:["string",M,pe]}function $(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!p.$async)throw new Error("async format in sync schema");return(0,Se._)`await ${v}(${n})`}return typeof _=="function"?(0,Se._)`${v}(${n})`:(0,Se._)`${v}.test(${n})`}}}};tf.default=yA});var Jv=k(rf=>{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});var vA=Wv(),xA=[vA.default];rf.default=xA});var Yv=k(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.contentVocabulary=so.metadataVocabulary=void 0;so.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];so.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Xv=k(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});var bA=sv(),kA=xv(),wA=Kv(),SA=Jv(),Qv=Yv(),TA=[bA.default,kA.default,(0,wA.default)(),SA.default,Qv.metadataVocabulary,Qv.contentVocabulary];nf.default=TA});var t0=k(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.DiscrError=void 0;var e0;(function(e){e.Tag="tag",e.Mapping="mapping"})(e0||(Na.DiscrError=e0={}))});var n0=k(sf=>{"use strict";Object.defineProperty(sf,"__esModule",{value:!0});var ao=H(),of=t0(),r0=ga(),$A=_i(),PA=ne(),EA={message:({params:{discrError:e,tagName:t}})=>e===of.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,ao._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},zA={keyword:"discriminator",type:"object",schemaType:"object",error:EA,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:i}=e,{oneOf:s}=o;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!s)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",(0,ao._)`${r}${(0,ao.getProperty)(a)}`);t.if((0,ao._)`typeof ${u} == "string"`,()=>p(),()=>e.error(!1,{discrError:of.DiscrError.Tag,tag:u,tagName:a})),e.ok(c);function p(){let h=d();t.if(!1);for(let f in h)t.elseIf((0,ao._)`${u} === ${f}`),t.assign(c,l(h[f]));t.else(),e.error(!1,{discrError:of.DiscrError.Mapping,tag:u,tagName:a}),t.endIf()}function l(h){let f=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:h},f);return e.mergeEvaluated(g,ao.Name),f}function d(){var h;let f={},g=v(o),_=!0;for(let $=0;$<s.length;$++){let M=s[$];if(M?.$ref&&!(0,PA.schemaHasRulesButRef)(M,i.self.RULES)){let pe=M.$ref;if(M=r0.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,pe),M instanceof r0.SchemaEnv&&(M=M.schema),M===void 0)throw new $A.default(i.opts.uriResolver,i.baseId,pe)}let ve=(h=M?.properties)===null||h===void 0?void 0:h[a];if(typeof ve!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);_=_&&(g||v(M)),y(ve,$)}if(!_)throw new Error(`discriminator: "${a}" must be required`);return f;function v({required:$}){return Array.isArray($)&&$.includes(a)}function y($,M){if($.const)S($.const,M);else if($.enum)for(let ve of $.enum)S(ve,M);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function S($,M){if(typeof $!="string"||$ in f)throw new Error(`discriminator: "${a}" values must be unique strings`);f[$]=M}}}};sf.default=zA});var o0=k((D8,CA)=>{CA.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 cf=k((fe,af)=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.MissingRefError=fe.ValidationError=fe.CodeGen=fe.Name=fe.nil=fe.stringify=fe.str=fe._=fe.KeywordCxt=fe.Ajv=void 0;var IA=ev(),RA=Xv(),AA=n0(),i0=o0(),OA=["/properties"],ja="http://json-schema.org/draft-07/schema",co=class extends IA.default{_addVocabularies(){super._addVocabularies(),RA.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(AA.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(i0,OA):i0;this.addMetaSchema(t,ja,!1),this.refs["http://json-schema.org/schema"]=ja}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ja)?ja:void 0)}};fe.Ajv=co;af.exports=fe=co;af.exports.Ajv=co;Object.defineProperty(fe,"__esModule",{value:!0});fe.default=co;var NA=gi();Object.defineProperty(fe,"KeywordCxt",{enumerable:!0,get:function(){return NA.KeywordCxt}});var uo=H();Object.defineProperty(fe,"_",{enumerable:!0,get:function(){return uo._}});Object.defineProperty(fe,"str",{enumerable:!0,get:function(){return uo.str}});Object.defineProperty(fe,"stringify",{enumerable:!0,get:function(){return uo.stringify}});Object.defineProperty(fe,"nil",{enumerable:!0,get:function(){return uo.nil}});Object.defineProperty(fe,"Name",{enumerable:!0,get:function(){return uo.Name}});Object.defineProperty(fe,"CodeGen",{enumerable:!0,get:function(){return uo.CodeGen}});var jA=ha();Object.defineProperty(fe,"ValidationError",{enumerable:!0,get:function(){return jA.default}});var MA=_i();Object.defineProperty(fe,"MissingRefError",{enumerable:!0,get:function(){return MA.default}})});var f0=k(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.formatNames=Kt.fastFormats=Kt.fullFormats=void 0;function Gt(e,t){return{validate:e,compare:t}}Kt.fullFormats={date:Gt(u0,df),time:Gt(lf(!0),ff),"date-time":Gt(s0(!0),p0),"iso-time":Gt(lf(),l0),"iso-date-time":Gt(s0(),d0),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:UA,"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:JA,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:BA,int32:{type:"number",validate:GA},int64:{type:"number",validate:KA},float:{type:"number",validate:c0},double:{type:"number",validate:c0},password:!0,binary:!0};Kt.fastFormats={...Kt.fullFormats,date:Gt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,df),time:Gt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ff),"date-time":Gt(/^\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,p0),"iso-time":Gt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,l0),"iso-date-time":Gt(/^\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,d0),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 DA(e){return e%4===0&&(e%100!==0||e%400===0)}var LA=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,ZA=[0,31,28,31,30,31,30,31,31,30,31,30,31];function u0(e){let t=LA.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&DA(r)?29:ZA[n])}function df(e,t){if(e&&t)return e>t?1:e<t?-1:0}var uf=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function lf(e){return function(r){let n=uf.exec(r);if(!n)return!1;let o=+n[1],i=+n[2],s=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),p=+(n[7]||0);if(u>23||p>59||e&&!a)return!1;if(o<=23&&i<=59&&s<60)return!0;let l=i-p*c,d=o-u*c-(l<0?1:0);return(d===23||d===-1)&&(l===59||l===-1)&&s<61}}function ff(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function l0(e,t){if(!(e&&t))return;let r=uf.exec(e),n=uf.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var pf=/t|\s/i;function s0(e){let t=lf(e);return function(n){let o=n.split(pf);return o.length===2&&u0(o[0])&&t(o[1])}}function p0(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function d0(e,t){if(!(e&&t))return;let[r,n]=e.split(pf),[o,i]=t.split(pf),s=df(r,o);if(s!==void 0)return s||ff(n,i)}var qA=/\/|:/,FA=/^(?:[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;function UA(e){return qA.test(e)&&FA.test(e)}var a0=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function BA(e){return a0.lastIndex=0,a0.test(e)}var VA=-(2**31),HA=2**31-1;function GA(e){return Number.isInteger(e)&&e<=HA&&e>=VA}function KA(e){return Number.isInteger(e)}function c0(){return!0}var WA=/[^\\]\\Z/;function JA(e){if(WA.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var h0=k(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.formatLimitDefinition=void 0;var YA=cf(),jt=H(),Or=jt.operators,Ma={formatMaximum:{okStr:"<=",ok:Or.LTE,fail:Or.GT},formatMinimum:{okStr:">=",ok:Or.GTE,fail:Or.LT},formatExclusiveMaximum:{okStr:"<",ok:Or.LT,fail:Or.GTE},formatExclusiveMinimum:{okStr:">",ok:Or.GT,fail:Or.LTE}},QA={message:({keyword:e,schemaCode:t})=>(0,jt.str)`should be ${Ma[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,jt._)`{comparison: ${Ma[e].okStr}, limit: ${t}}`};lo.formatLimitDefinition={keyword:Object.keys(Ma),type:"string",schemaType:"string",$data:!0,error:QA,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:i}=e,{opts:s,self:a}=i;if(!s.validateFormats)return;let c=new YA.KeywordCxt(i,a.RULES.all.format.definition,"format");c.$data?u():p();function u(){let d=t.scopeValue("formats",{ref:a.formats,code:s.code.formats}),h=t.const("fmt",(0,jt._)`${d}[${c.schemaCode}]`);e.fail$data((0,jt.or)((0,jt._)`typeof ${h} != "object"`,(0,jt._)`${h} instanceof RegExp`,(0,jt._)`typeof ${h}.compare != "function"`,l(h)))}function p(){let d=c.schema,h=a.formats[d];if(!h||h===!0)return;if(typeof h!="object"||h instanceof RegExp||typeof h.compare!="function")throw new Error(`"${o}": format "${d}" does not define "compare" function`);let f=t.scopeValue("formats",{key:d,ref:h,code:s.code.formats?(0,jt._)`${s.code.formats}${(0,jt.getProperty)(d)}`:void 0});e.fail$data(l(f))}function l(d){return(0,jt._)`${d}.compare(${r}, ${n}) ${Ma[o].fail} 0`}},dependencies:["format"]};var XA=e=>(e.addKeyword(lo.formatLimitDefinition),e);lo.default=XA});var y0=k((Ii,_0)=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});var po=f0(),e4=h0(),hf=H(),m0=new hf.Name("fullFormats"),t4=new hf.Name("fastFormats"),mf=(e,t={keywords:!0})=>{if(Array.isArray(t))return g0(e,t,po.fullFormats,m0),e;let[r,n]=t.mode==="fast"?[po.fastFormats,t4]:[po.fullFormats,m0],o=t.formats||po.formatNames;return g0(e,o,r,n),t.keywords&&(0,e4.default)(e),e};mf.get=(e,t="full")=>{let n=(t==="fast"?po.fastFormats:po.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function g0(e,t,r,n){var o,i;(o=(i=e.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,hf._)`require("ajv-formats/dist/formats").${n}`);for(let s of t)e.addFormat(s,r[s])}_0.exports=Ii=mf;Object.defineProperty(Ii,"__esModule",{value:!0});Ii.default=mf});var Je=k(pt=>{"use strict";pt.__esModule=!0;pt.extend=Zx;pt.indexOf=FN;pt.escapeExpression=UN;pt.isEmpty=BN;pt.createFrame=VN;pt.blockParams=HN;pt.appendContextPath=GN;var DN={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},LN=/[&<>"'`=]/g,ZN=/[&<>"'`=]/;function qN(e){return DN[e]}function Zx(e){for(var t=1;t<arguments.length;t++)for(var r in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],r)&&(e[r]=arguments[t][r]);return e}var Nf=Object.prototype.toString;pt.toString=Nf;var Of=function(t){return typeof t=="function"};Of(/x/)&&(pt.isFunction=Of=function(e){return typeof e=="function"&&Nf.call(e)==="[object Function]"});pt.isFunction=Of;var qx=Array.isArray||function(e){return e&&typeof e=="object"?Nf.call(e)==="[object Array]":!1};pt.isArray=qx;function FN(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}function UN(e){if(typeof e!="string"){if(e&&e.toHTML)return e.toHTML();if(e==null)return"";if(!e)return e+"";e=""+e}return ZN.test(e)?e.replace(LN,qN):e}function BN(e){return!e&&e!==0?!0:!!(qx(e)&&e.length===0)}function VN(e){var t=Zx({},e);return t._parent=e,t}function HN(e,t){return e.path=t,e}function GN(e,t){return(e?e+".":"")+t}});var Tt=k((Qa,Fx)=>{"use strict";Qa.__esModule=!0;var jf=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function Mf(e,t){var r=t&&t.loc,n=void 0,o=void 0,i=void 0,s=void 0;r&&(n=r.start.line,o=r.end.line,i=r.start.column,s=r.end.column,e+=" - "+n+":"+i);for(var a=Error.prototype.constructor.call(this,e),c=0;c<jf.length;c++)this[jf[c]]=a[jf[c]];Error.captureStackTrace&&Error.captureStackTrace(this,Mf);try{r&&(this.lineNumber=n,this.endLineNumber=o,Object.defineProperty?(Object.defineProperty(this,"column",{value:i,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:s,enumerable:!0})):(this.column=i,this.endColumn=s))}catch{}}Mf.prototype=new Error;Qa.default=Mf;Fx.exports=Qa.default});var Bx=k((Xa,Ux)=>{"use strict";Xa.__esModule=!0;var Df=Je();Xa.default=function(e){e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,o=r.fn;if(t===!0)return o(this);if(t===!1||t==null)return n(this);if(Df.isArray(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var i=Df.createFrame(r.data);i.contextPath=Df.appendContextPath(r.data.contextPath,r.name),r={data:i}}return o(t,r)})};Ux.exports=Xa.default});var Hx=k((ec,Vx)=>{"use strict";ec.__esModule=!0;function KN(e){return e&&e.__esModule?e:{default:e}}var Li=Je(),WN=Tt(),JN=KN(WN);ec.default=function(e){e.registerHelper("each",function(t,r){if(!r)throw new JN.default("Must pass iterator to #each");var n=r.fn,o=r.inverse,i=0,s="",a=void 0,c=void 0;r.data&&r.ids&&(c=Li.appendContextPath(r.data.contextPath,r.ids[0])+"."),Li.isFunction(t)&&(t=t.call(this)),r.data&&(a=Li.createFrame(r.data));function u(f,g,_){a&&(a.key=f,a.index=g,a.first=g===0,a.last=!!_,c&&(a.contextPath=c+f)),s=s+n(t[f],{data:a,blockParams:Li.blockParams([t[f],f],[c+f,null])})}if(t&&typeof t=="object")if(Li.isArray(t))for(var p=t.length;i<p;i++)i in t&&u(i,i,i===t.length-1);else if(typeof Symbol=="function"&&t[Symbol.iterator]){for(var l=[],d=t[Symbol.iterator](),h=d.next();!h.done;h=d.next())l.push(h.value);t=l;for(var p=t.length;i<p;i++)u(i,i,i===t.length-1)}else(function(){var f=void 0;Object.keys(t).forEach(function(g){f!==void 0&&u(f,i-1),f=g,i++}),f!==void 0&&u(f,i-1,!0)})();return i===0&&(s=o(this)),s})};Vx.exports=ec.default});var Kx=k((tc,Gx)=>{"use strict";tc.__esModule=!0;function YN(e){return e&&e.__esModule?e:{default:e}}var QN=Tt(),XN=YN(QN);tc.default=function(e){e.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new XN.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};Gx.exports=tc.default});var Qx=k((rc,Yx)=>{"use strict";rc.__esModule=!0;function e3(e){return e&&e.__esModule?e:{default:e}}var Wx=Je(),t3=Tt(),Jx=e3(t3);rc.default=function(e){e.registerHelper("if",function(t,r){if(arguments.length!=2)throw new Jx.default("#if requires exactly one argument");return Wx.isFunction(t)&&(t=t.call(this)),!r.hash.includeZero&&!t||Wx.isEmpty(t)?r.inverse(this):r.fn(this)}),e.registerHelper("unless",function(t,r){if(arguments.length!=2)throw new Jx.default("#unless requires exactly one argument");return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})})};Yx.exports=rc.default});var eb=k((nc,Xx)=>{"use strict";nc.__esModule=!0;nc.default=function(e){e.registerHelper("log",function(){for(var t=[void 0],r=arguments[arguments.length-1],n=0;n<arguments.length-1;n++)t.push(arguments[n]);var o=1;r.hash.level!=null?o=r.hash.level:r.data&&r.data.level!=null&&(o=r.data.level),t[0]=o,e.log.apply(e,t)})};Xx.exports=nc.default});var rb=k((oc,tb)=>{"use strict";oc.__esModule=!0;oc.default=function(e){e.registerHelper("lookup",function(t,r,n){return t&&n.lookupProperty(t,r)})};tb.exports=oc.default});var ob=k((ic,nb)=>{"use strict";ic.__esModule=!0;function r3(e){return e&&e.__esModule?e:{default:e}}var Zi=Je(),n3=Tt(),o3=r3(n3);ic.default=function(e){e.registerHelper("with",function(t,r){if(arguments.length!=2)throw new o3.default("#with requires exactly one argument");Zi.isFunction(t)&&(t=t.call(this));var n=r.fn;if(Zi.isEmpty(t))return r.inverse(this);var o=r.data;return r.data&&r.ids&&(o=Zi.createFrame(r.data),o.contextPath=Zi.appendContextPath(r.data.contextPath,r.ids[0])),n(t,{data:o,blockParams:Zi.blockParams([t],[o&&o.contextPath])})})};nb.exports=ic.default});var Lf=k(sc=>{"use strict";sc.__esModule=!0;sc.registerDefaultHelpers=v3;sc.moveHelperToHooks=x3;function Tn(e){return e&&e.__esModule?e:{default:e}}var i3=Bx(),s3=Tn(i3),a3=Hx(),c3=Tn(a3),u3=Kx(),l3=Tn(u3),p3=Qx(),d3=Tn(p3),f3=eb(),h3=Tn(f3),m3=rb(),g3=Tn(m3),_3=ob(),y3=Tn(_3);function v3(e){s3.default(e),c3.default(e),l3.default(e),d3.default(e),h3.default(e),g3.default(e),y3.default(e)}function x3(e,t,r){e.helpers[t]&&(e.hooks[t]=e.helpers[t],r||delete e.helpers[t])}});var sb=k((ac,ib)=>{"use strict";ac.__esModule=!0;var b3=Je();ac.default=function(e){e.registerDecorator("inline",function(t,r,n,o){var i=t;return r.partials||(r.partials={},i=function(s,a){var c=n.partials;n.partials=b3.extend({},c,r.partials);var u=t(s,a);return n.partials=c,u}),r.partials[o.args[0]]=o.fn,i})};ib.exports=ac.default});var ab=k(Zf=>{"use strict";Zf.__esModule=!0;Zf.registerDefaultDecorators=T3;function k3(e){return e&&e.__esModule?e:{default:e}}var w3=sb(),S3=k3(w3);function T3(e){S3.default(e)}});var qf=k((cc,cb)=>{"use strict";cc.__esModule=!0;var $3=Je(),_o={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(t){if(typeof t=="string"){var r=$3.indexOf(_o.methodMap,t.toLowerCase());r>=0?t=r:t=parseInt(t,10)}return t},log:function(t){if(t=_o.lookupLevel(t),typeof console<"u"&&_o.lookupLevel(_o.level)<=t){var r=_o.methodMap[t];console[r]||(r="log");for(var n=arguments.length,o=Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];console[r].apply(console,o)}}};cc.default=_o;cb.exports=cc.default});var ub=k(Ff=>{"use strict";Ff.__esModule=!0;Ff.createNewLookupObject=E3;var P3=Je();function E3(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return P3.extend.apply(void 0,[Object.create(null)].concat(t))}});var Uf=k(qi=>{"use strict";qi.__esModule=!0;qi.createProtoAccessControl=R3;qi.resultIsAllowed=A3;qi.resetLoggedProperties=N3;function z3(e){return e&&e.__esModule?e:{default:e}}var lb=ub(),C3=qf(),I3=z3(C3),uc=Object.create(null);function R3(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var r=Object.create(null);return r.__proto__=!1,{properties:{whitelist:lb.createNewLookupObject(r,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:lb.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}}function A3(e,t,r){return pb(typeof e=="function"?t.methods:t.properties,r)}function pb(e,t){return e.whitelist[t]!==void 0?e.whitelist[t]===!0:e.defaultValue!==void 0?e.defaultValue:(O3(t),!1)}function O3(e){uc[e]!==!0&&(uc[e]=!0,I3.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+`" because it is not an "own property" of its parent.
|
|
10
|
+
deps: ${r}}`};var iA={keyword:"dependencies",type:"object",schemaType:"object",error:Vt.error,code(e){let[t,r]=sA(e);Cv(e,t),Iv(e,r)}};function sA({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Cv(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let s in t){let a=t[s];if(a.length===0)continue;let c=(0,Pi.propertyInData)(r,n,s,o.opts.ownProperties);e.setParams({property:s,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,Pi.checkReportMissingProp)(e,u)}):(r.if((0,qd._)`${c} && (${(0,Pi.checkMissingProp)(e,a,i)})`),(0,Pi.reportMissingProp)(e,i),r.else())}}Vt.validatePropertyDeps=Cv;function Iv(e,t=e.schema){let{gen:r,data:n,keyword:o,it:i}=e,s=r.name("valid");for(let a in t)(0,oA.alwaysValidSchema)(i,t[a])||(r.if((0,Pi.propertyInData)(r,n,a,i.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},s);e.mergeValidEvaluated(c,s)},()=>r.var(s,!0)),e.ok(s))}Vt.validateSchemaDeps=Iv;Vt.default=iA});var Ov=k(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var Av=H(),aA=ne(),cA={message:"property name must be valid",params:({params:e})=>(0,Av._)`{propertyName: ${e.propertyName}}`},uA={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:cA,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,aA.alwaysValidSchema)(o,r))return;let i=t.name("valid");t.forIn("key",n,s=>{e.setParams({propertyName:s}),e.subschema({keyword:"propertyNames",data:s,dataTypes:["string"],propertyName:s,compositeRule:!0},i),t.if((0,Av.not)(i),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(i)}};Fd.default=uA});var Bd=k(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var Pa=bt(),Ot=H(),lA=or(),Ea=ne(),pA={message:"must NOT have additional properties",params:({params:e})=>(0,Ot._)`{additionalProperty: ${e.additionalProperty}}`},dA={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:pA,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:i,it:s}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=s;if(s.props=!0,c.removeAdditional!=="all"&&(0,Ea.alwaysValidSchema)(s,r))return;let u=(0,Pa.allSchemaProperties)(n.properties),p=(0,Pa.allSchemaProperties)(n.patternProperties);l(),e.ok((0,Ot._)`${i} === ${lA.default.errors}`);function l(){t.forIn("key",o,_=>{!u.length&&!p.length?f(_):t.if(d(_),()=>f(_))})}function d(_){let v;if(u.length>8){let y=(0,Ea.schemaRefOrVal)(s,n.properties,"properties");v=(0,Pa.isOwnProperty)(t,y,_)}else u.length?v=(0,Ot.or)(...u.map(y=>(0,Ot._)`${_} === ${y}`)):v=Ot.nil;return p.length&&(v=(0,Ot.or)(v,...p.map(y=>(0,Ot._)`${(0,Pa.usePattern)(e,y)}.test(${_})`))),(0,Ot.not)(v)}function h(_){t.code((0,Ot._)`delete ${o}[${_}]`)}function f(_){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(_);return}if(r===!1){e.setParams({additionalProperty:_}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,Ea.alwaysValidSchema)(s,r)){let v=t.name("valid");c.removeAdditional==="failing"?(g(_,v,!1),t.if((0,Ot.not)(v),()=>{e.reset(),h(_)})):(g(_,v),a||t.if((0,Ot.not)(v),()=>t.break()))}}function g(_,v,y){let w={keyword:"additionalProperties",dataProp:_,dataPropType:Ea.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(w,v)}}};Ud.default=dA});var jv=k(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var fA=fi(),Nv=bt(),Vd=ne(),Dv=Bd(),hA={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Dv.default.code(new fA.KeywordCxt(i,Dv.default,"additionalProperties"));let s=(0,Nv.allSchemaProperties)(r);for(let l of s)i.definedProperties.add(l);i.opts.unevaluated&&s.length&&i.props!==!0&&(i.props=Vd.mergeEvaluated.props(t,(0,Vd.toHash)(s),i.props));let a=s.filter(l=>!(0,Vd.alwaysValidSchema)(i,r[l]));if(a.length===0)return;let c=t.name("valid");for(let l of a)u(l)?p(l):(t.if((0,Nv.propertyInData)(t,o,l,i.opts.ownProperties)),p(l),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(l),e.ok(c);function u(l){return i.opts.useDefaults&&!i.compositeRule&&r[l].default!==void 0}function p(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},c)}}};Hd.default=hA});var qv=k(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var Mv=bt(),za=H(),Lv=ne(),Zv=ne(),mA={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:i}=e,{opts:s}=i,a=(0,Mv.allSchemaProperties)(r),c=a.filter(g=>(0,Lv.alwaysValidSchema)(i,r[g]));if(a.length===0||c.length===a.length&&(!i.opts.unevaluated||i.props===!0))return;let u=s.strictSchema&&!s.allowMatchingProperties&&o.properties,p=t.name("valid");i.props!==!0&&!(i.props instanceof za.Name)&&(i.props=(0,Zv.evaluatedPropsToName)(t,i.props));let{props:l}=i;d();function d(){for(let g of a)u&&h(g),i.allErrors?f(g):(t.var(p,!0),f(g),t.if(p))}function h(g){for(let _ in u)new RegExp(g).test(_)&&(0,Lv.checkStrictMode)(i,`property ${_} matches pattern ${g} (use allowMatchingProperties)`)}function f(g){t.forIn("key",n,_=>{t.if((0,za._)`${(0,Mv.usePattern)(e,g)}.test(${_})`,()=>{let v=c.includes(g);v||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:_,dataPropType:Zv.Type.Str},p),i.opts.unevaluated&&l!==!0?t.assign((0,za._)`${l}[${_}]`,!0):!v&&!i.allErrors&&t.if((0,za.not)(p),()=>t.break())})})}}};Gd.default=mA});var Fv=k(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var gA=ne(),_A={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,gA.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Kd.default=_A});var Uv=k(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var yA=bt(),vA={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:yA.validateUnion,error:{message:"must match a schema in anyOf"}};Wd.default=vA});var Bv=k(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var Ca=H(),xA=ne(),bA={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Ca._)`{passingSchemas: ${e.passing}}`},kA={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:bA,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let i=r,s=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(u),e.result(s,()=>e.reset(),()=>e.error(!0));function u(){i.forEach((p,l)=>{let d;(0,xA.alwaysValidSchema)(o,p)?t.var(c,!0):d=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:!0},c),l>0&&t.if((0,Ca._)`${c} && ${s}`).assign(s,!1).assign(a,(0,Ca._)`[${a}, ${l}]`).else(),t.if(c,()=>{t.assign(s,!0),t.assign(a,l),d&&e.mergeEvaluated(d,Ca.Name)})})}}};Jd.default=kA});var Vv=k(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var SA=ne(),wA={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=t.name("valid");r.forEach((i,s)=>{if((0,SA.alwaysValidSchema)(n,i))return;let a=e.subschema({keyword:"allOf",schemaProp:s},o);e.ok(o),e.mergeEvaluated(a)})}};Yd.default=wA});var Kv=k(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var Ia=H(),Gv=ne(),TA={message:({params:e})=>(0,Ia.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,Ia._)`{failingKeyword: ${e.ifClause}}`},$A={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:TA,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,Gv.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Hv(n,"then"),i=Hv(n,"else");if(!o&&!i)return;let s=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&i){let p=t.let("ifClause");e.setParams({ifClause:p}),t.if(a,u("then",p),u("else",p))}else o?t.if(a,u("then")):t.if((0,Ia.not)(a),u("else"));e.pass(s,()=>e.error(!0));function c(){let p=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(p)}function u(p,l){return()=>{let d=e.subschema({keyword:p},a);t.assign(s,a),e.mergeValidEvaluated(d,s),l?t.assign(l,(0,Ia._)`${p}`):e.setParams({ifClause:p})}}}};function Hv(e,t){let r=e.schema[t];return r!==void 0&&!(0,Gv.alwaysValidSchema)(e,r)}Qd.default=$A});var Wv=k(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var PA=ne(),EA={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,PA.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};Xd.default=EA});var Jv=k(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});var zA=Dd(),CA=$v(),IA=jd(),RA=Ev(),AA=zv(),OA=Rv(),NA=Ov(),DA=Bd(),jA=jv(),MA=qv(),LA=Fv(),ZA=Uv(),qA=Bv(),FA=Vv(),UA=Kv(),BA=Wv();function VA(e=!1){let t=[LA.default,ZA.default,qA.default,FA.default,UA.default,BA.default,NA.default,DA.default,OA.default,jA.default,MA.default];return e?t.push(CA.default,RA.default):t.push(zA.default,IA.default),t.push(AA.default),t}ef.default=VA});var Yv=k(tf=>{"use strict";Object.defineProperty(tf,"__esModule",{value:!0});var we=H(),HA={message:({schemaCode:e})=>(0,we.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,we._)`{format: ${e}}`},GA={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:HA,code(e,t){let{gen:r,data:n,$data:o,schema:i,schemaCode:s,it:a}=e,{opts:c,errSchemaPath:u,schemaEnv:p,self:l}=a;if(!c.validateFormats)return;o?d():h();function d(){let f=r.scopeValue("formats",{ref:l.formats,code:c.code.formats}),g=r.const("fDef",(0,we._)`${f}[${s}]`),_=r.let("fType"),v=r.let("format");r.if((0,we._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(_,(0,we._)`${g}.type || "string"`).assign(v,(0,we._)`${g}.validate`),()=>r.assign(_,(0,we._)`"string"`).assign(v,g)),e.fail$data((0,we.or)(y(),w()));function y(){return c.strictSchema===!1?we.nil:(0,we._)`${s} && !${v}`}function w(){let $=p.$async?(0,we._)`(${g}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,we._)`${v}(${n})`,j=(0,we._)`(typeof ${v} == "function" ? ${$} : ${v}.test(${n}))`;return(0,we._)`${v} && ${v} !== true && ${_} === ${t} && !${j}`}}function h(){let f=l.formats[i];if(!f){y();return}if(f===!0)return;let[g,_,v]=w(f);g===t&&e.pass($());function y(){if(c.strictSchema===!1){l.logger.warn(j());return}throw new Error(j());function j(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function w(j){let ve=j instanceof RegExp?(0,we.regexpCode)(j):c.code.formats?(0,we._)`${c.code.formats}${(0,we.getProperty)(i)}`:void 0,pe=r.scopeValue("formats",{key:i,ref:j,code:ve});return typeof j=="object"&&!(j instanceof RegExp)?[j.type||"string",j.validate,(0,we._)`${pe}.validate`]:["string",j,pe]}function $(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!p.$async)throw new Error("async format in sync schema");return(0,we._)`await ${v}(${n})`}return typeof _=="function"?(0,we._)`${v}(${n})`:(0,we._)`${v}.test(${n})`}}}};tf.default=GA});var Qv=k(rf=>{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});var KA=Yv(),WA=[KA.default];rf.default=WA});var Xv=k(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.contentVocabulary=no.metadataVocabulary=void 0;no.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];no.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var t0=k(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});var JA=cv(),YA=kv(),QA=Jv(),XA=Qv(),e0=Xv(),eO=[JA.default,YA.default,(0,QA.default)(),XA.default,e0.metadataVocabulary,e0.contentVocabulary];nf.default=eO});var n0=k(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.DiscrError=void 0;var r0;(function(e){e.Tag="tag",e.Mapping="mapping"})(r0||(Ra.DiscrError=r0={}))});var i0=k(sf=>{"use strict";Object.defineProperty(sf,"__esModule",{value:!0});var oo=H(),of=n0(),o0=fa(),tO=hi(),rO=ne(),nO={message:({params:{discrError:e,tagName:t}})=>e===of.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,oo._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},oO={keyword:"discriminator",type:"object",schemaType:"object",error:nO,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:i}=e,{oneOf:s}=o;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!s)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",(0,oo._)`${r}${(0,oo.getProperty)(a)}`);t.if((0,oo._)`typeof ${u} == "string"`,()=>p(),()=>e.error(!1,{discrError:of.DiscrError.Tag,tag:u,tagName:a})),e.ok(c);function p(){let h=d();t.if(!1);for(let f in h)t.elseIf((0,oo._)`${u} === ${f}`),t.assign(c,l(h[f]));t.else(),e.error(!1,{discrError:of.DiscrError.Mapping,tag:u,tagName:a}),t.endIf()}function l(h){let f=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:h},f);return e.mergeEvaluated(g,oo.Name),f}function d(){var h;let f={},g=v(o),_=!0;for(let $=0;$<s.length;$++){let j=s[$];if(j?.$ref&&!(0,rO.schemaHasRulesButRef)(j,i.self.RULES)){let pe=j.$ref;if(j=o0.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,pe),j instanceof o0.SchemaEnv&&(j=j.schema),j===void 0)throw new tO.default(i.opts.uriResolver,i.baseId,pe)}let ve=(h=j?.properties)===null||h===void 0?void 0:h[a];if(typeof ve!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);_=_&&(g||v(j)),y(ve,$)}if(!_)throw new Error(`discriminator: "${a}" must be required`);return f;function v({required:$}){return Array.isArray($)&&$.includes(a)}function y($,j){if($.const)w($.const,j);else if($.enum)for(let ve of $.enum)w(ve,j);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function w($,j){if(typeof $!="string"||$ in f)throw new Error(`discriminator: "${a}" values must be unique strings`);f[$]=j}}}};sf.default=oO});var s0=k((Pq,iO)=>{iO.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 cf=k((fe,af)=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.MissingRefError=fe.ValidationError=fe.CodeGen=fe.Name=fe.nil=fe.stringify=fe.str=fe._=fe.KeywordCxt=fe.Ajv=void 0;var sO=rv(),aO=t0(),cO=i0(),a0=s0(),uO=["/properties"],Aa="http://json-schema.org/draft-07/schema",io=class extends sO.default{_addVocabularies(){super._addVocabularies(),aO.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(cO.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(a0,uO):a0;this.addMetaSchema(t,Aa,!1),this.refs["http://json-schema.org/schema"]=Aa}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Aa)?Aa:void 0)}};fe.Ajv=io;af.exports=fe=io;af.exports.Ajv=io;Object.defineProperty(fe,"__esModule",{value:!0});fe.default=io;var lO=fi();Object.defineProperty(fe,"KeywordCxt",{enumerable:!0,get:function(){return lO.KeywordCxt}});var so=H();Object.defineProperty(fe,"_",{enumerable:!0,get:function(){return so._}});Object.defineProperty(fe,"str",{enumerable:!0,get:function(){return so.str}});Object.defineProperty(fe,"stringify",{enumerable:!0,get:function(){return so.stringify}});Object.defineProperty(fe,"nil",{enumerable:!0,get:function(){return so.nil}});Object.defineProperty(fe,"Name",{enumerable:!0,get:function(){return so.Name}});Object.defineProperty(fe,"CodeGen",{enumerable:!0,get:function(){return so.CodeGen}});var pO=pa();Object.defineProperty(fe,"ValidationError",{enumerable:!0,get:function(){return pO.default}});var dO=hi();Object.defineProperty(fe,"MissingRefError",{enumerable:!0,get:function(){return dO.default}})});var m0=k(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.formatNames=Gt.fastFormats=Gt.fullFormats=void 0;function Ht(e,t){return{validate:e,compare:t}}Gt.fullFormats={date:Ht(p0,df),time:Ht(lf(!0),ff),"date-time":Ht(c0(!0),f0),"iso-time":Ht(lf(),d0),"iso-date-time":Ht(c0(),h0),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:yO,"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:TO,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:vO,int32:{type:"number",validate:kO},int64:{type:"number",validate:SO},float:{type:"number",validate:l0},double:{type:"number",validate:l0},password:!0,binary:!0};Gt.fastFormats={...Gt.fullFormats,date:Ht(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,df),time:Ht(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ff),"date-time":Ht(/^\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,f0),"iso-time":Ht(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,d0),"iso-date-time":Ht(/^\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,h0),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};Gt.formatNames=Object.keys(Gt.fullFormats);function fO(e){return e%4===0&&(e%100!==0||e%400===0)}var hO=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,mO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function p0(e){let t=hO.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&fO(r)?29:mO[n])}function df(e,t){if(e&&t)return e>t?1:e<t?-1:0}var uf=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function lf(e){return function(r){let n=uf.exec(r);if(!n)return!1;let o=+n[1],i=+n[2],s=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),p=+(n[7]||0);if(u>23||p>59||e&&!a)return!1;if(o<=23&&i<=59&&s<60)return!0;let l=i-p*c,d=o-u*c-(l<0?1:0);return(d===23||d===-1)&&(l===59||l===-1)&&s<61}}function ff(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function d0(e,t){if(!(e&&t))return;let r=uf.exec(e),n=uf.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var pf=/t|\s/i;function c0(e){let t=lf(e);return function(n){let o=n.split(pf);return o.length===2&&p0(o[0])&&t(o[1])}}function f0(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function h0(e,t){if(!(e&&t))return;let[r,n]=e.split(pf),[o,i]=t.split(pf),s=df(r,o);if(s!==void 0)return s||ff(n,i)}var gO=/\/|:/,_O=/^(?:[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;function yO(e){return gO.test(e)&&_O.test(e)}var u0=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function vO(e){return u0.lastIndex=0,u0.test(e)}var xO=-(2**31),bO=2**31-1;function kO(e){return Number.isInteger(e)&&e<=bO&&e>=xO}function SO(e){return Number.isInteger(e)}function l0(){return!0}var wO=/[^\\]\\Z/;function TO(e){if(wO.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var g0=k(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.formatLimitDefinition=void 0;var $O=cf(),Nt=H(),Rr=Nt.operators,Oa={formatMaximum:{okStr:"<=",ok:Rr.LTE,fail:Rr.GT},formatMinimum:{okStr:">=",ok:Rr.GTE,fail:Rr.LT},formatExclusiveMaximum:{okStr:"<",ok:Rr.LT,fail:Rr.GTE},formatExclusiveMinimum:{okStr:">",ok:Rr.GT,fail:Rr.LTE}},PO={message:({keyword:e,schemaCode:t})=>(0,Nt.str)`should be ${Oa[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Nt._)`{comparison: ${Oa[e].okStr}, limit: ${t}}`};ao.formatLimitDefinition={keyword:Object.keys(Oa),type:"string",schemaType:"string",$data:!0,error:PO,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:i}=e,{opts:s,self:a}=i;if(!s.validateFormats)return;let c=new $O.KeywordCxt(i,a.RULES.all.format.definition,"format");c.$data?u():p();function u(){let d=t.scopeValue("formats",{ref:a.formats,code:s.code.formats}),h=t.const("fmt",(0,Nt._)`${d}[${c.schemaCode}]`);e.fail$data((0,Nt.or)((0,Nt._)`typeof ${h} != "object"`,(0,Nt._)`${h} instanceof RegExp`,(0,Nt._)`typeof ${h}.compare != "function"`,l(h)))}function p(){let d=c.schema,h=a.formats[d];if(!h||h===!0)return;if(typeof h!="object"||h instanceof RegExp||typeof h.compare!="function")throw new Error(`"${o}": format "${d}" does not define "compare" function`);let f=t.scopeValue("formats",{key:d,ref:h,code:s.code.formats?(0,Nt._)`${s.code.formats}${(0,Nt.getProperty)(d)}`:void 0});e.fail$data(l(f))}function l(d){return(0,Nt._)`${d}.compare(${r}, ${n}) ${Oa[o].fail} 0`}},dependencies:["format"]};var EO=e=>(e.addKeyword(ao.formatLimitDefinition),e);ao.default=EO});var x0=k((Ei,v0)=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});var co=m0(),zO=g0(),hf=H(),_0=new hf.Name("fullFormats"),CO=new hf.Name("fastFormats"),mf=(e,t={keywords:!0})=>{if(Array.isArray(t))return y0(e,t,co.fullFormats,_0),e;let[r,n]=t.mode==="fast"?[co.fastFormats,CO]:[co.fullFormats,_0],o=t.formats||co.formatNames;return y0(e,o,r,n),t.keywords&&(0,zO.default)(e),e};mf.get=(e,t="full")=>{let n=(t==="fast"?co.fastFormats:co.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function y0(e,t,r,n){var o,i;(o=(i=e.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,hf._)`require("ajv-formats/dist/formats").${n}`);for(let s of t)e.addFormat(s,r[s])}v0.exports=Ei=mf;Object.defineProperty(Ei,"__esModule",{value:!0});Ei.default=mf});var Je=k(pt=>{"use strict";pt.__esModule=!0;pt.extend=Ux;pt.indexOf=vD;pt.escapeExpression=xD;pt.isEmpty=bD;pt.createFrame=kD;pt.blockParams=SD;pt.appendContextPath=wD;var mD={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},gD=/[&<>"'`=]/g,_D=/[&<>"'`=]/;function yD(e){return mD[e]}function Ux(e){for(var t=1;t<arguments.length;t++)for(var r in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],r)&&(e[r]=arguments[t][r]);return e}var Of=Object.prototype.toString;pt.toString=Of;var Af=function(t){return typeof t=="function"};Af(/x/)&&(pt.isFunction=Af=function(e){return typeof e=="function"&&Of.call(e)==="[object Function]"});pt.isFunction=Af;var Bx=Array.isArray||function(e){return e&&typeof e=="object"?Of.call(e)==="[object Array]":!1};pt.isArray=Bx;function vD(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}function xD(e){if(typeof e!="string"){if(e&&e.toHTML)return e.toHTML();if(e==null)return"";if(!e)return e+"";e=""+e}return _D.test(e)?e.replace(gD,yD):e}function bD(e){return!e&&e!==0?!0:!!(Bx(e)&&e.length===0)}function kD(e){var t=Ux({},e);return t._parent=e,t}function SD(e,t){return e.path=t,e}function wD(e,t){return(e?e+".":"")+t}});var wt=k((Wa,Vx)=>{"use strict";Wa.__esModule=!0;var Nf=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function Df(e,t){var r=t&&t.loc,n=void 0,o=void 0,i=void 0,s=void 0;r&&(n=r.start.line,o=r.end.line,i=r.start.column,s=r.end.column,e+=" - "+n+":"+i);for(var a=Error.prototype.constructor.call(this,e),c=0;c<Nf.length;c++)this[Nf[c]]=a[Nf[c]];Error.captureStackTrace&&Error.captureStackTrace(this,Df);try{r&&(this.lineNumber=n,this.endLineNumber=o,Object.defineProperty?(Object.defineProperty(this,"column",{value:i,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:s,enumerable:!0})):(this.column=i,this.endColumn=s))}catch{}}Df.prototype=new Error;Wa.default=Df;Vx.exports=Wa.default});var Gx=k((Ja,Hx)=>{"use strict";Ja.__esModule=!0;var jf=Je();Ja.default=function(e){e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,o=r.fn;if(t===!0)return o(this);if(t===!1||t==null)return n(this);if(jf.isArray(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var i=jf.createFrame(r.data);i.contextPath=jf.appendContextPath(r.data.contextPath,r.name),r={data:i}}return o(t,r)})};Hx.exports=Ja.default});var Wx=k((Ya,Kx)=>{"use strict";Ya.__esModule=!0;function TD(e){return e&&e.__esModule?e:{default:e}}var Di=Je(),$D=wt(),PD=TD($D);Ya.default=function(e){e.registerHelper("each",function(t,r){if(!r)throw new PD.default("Must pass iterator to #each");var n=r.fn,o=r.inverse,i=0,s="",a=void 0,c=void 0;r.data&&r.ids&&(c=Di.appendContextPath(r.data.contextPath,r.ids[0])+"."),Di.isFunction(t)&&(t=t.call(this)),r.data&&(a=Di.createFrame(r.data));function u(f,g,_){a&&(a.key=f,a.index=g,a.first=g===0,a.last=!!_,c&&(a.contextPath=c+f)),s=s+n(t[f],{data:a,blockParams:Di.blockParams([t[f],f],[c+f,null])})}if(t&&typeof t=="object")if(Di.isArray(t))for(var p=t.length;i<p;i++)i in t&&u(i,i,i===t.length-1);else if(typeof Symbol=="function"&&t[Symbol.iterator]){for(var l=[],d=t[Symbol.iterator](),h=d.next();!h.done;h=d.next())l.push(h.value);t=l;for(var p=t.length;i<p;i++)u(i,i,i===t.length-1)}else(function(){var f=void 0;Object.keys(t).forEach(function(g){f!==void 0&&u(f,i-1),f=g,i++}),f!==void 0&&u(f,i-1,!0)})();return i===0&&(s=o(this)),s})};Kx.exports=Ya.default});var Yx=k((Qa,Jx)=>{"use strict";Qa.__esModule=!0;function ED(e){return e&&e.__esModule?e:{default:e}}var zD=wt(),CD=ED(zD);Qa.default=function(e){e.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new CD.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};Jx.exports=Qa.default});var tb=k((Xa,eb)=>{"use strict";Xa.__esModule=!0;function ID(e){return e&&e.__esModule?e:{default:e}}var Qx=Je(),RD=wt(),Xx=ID(RD);Xa.default=function(e){e.registerHelper("if",function(t,r){if(arguments.length!=2)throw new Xx.default("#if requires exactly one argument");return Qx.isFunction(t)&&(t=t.call(this)),!r.hash.includeZero&&!t||Qx.isEmpty(t)?r.inverse(this):r.fn(this)}),e.registerHelper("unless",function(t,r){if(arguments.length!=2)throw new Xx.default("#unless requires exactly one argument");return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})})};eb.exports=Xa.default});var nb=k((ec,rb)=>{"use strict";ec.__esModule=!0;ec.default=function(e){e.registerHelper("log",function(){for(var t=[void 0],r=arguments[arguments.length-1],n=0;n<arguments.length-1;n++)t.push(arguments[n]);var o=1;r.hash.level!=null?o=r.hash.level:r.data&&r.data.level!=null&&(o=r.data.level),t[0]=o,e.log.apply(e,t)})};rb.exports=ec.default});var ib=k((tc,ob)=>{"use strict";tc.__esModule=!0;tc.default=function(e){e.registerHelper("lookup",function(t,r,n){return t&&n.lookupProperty(t,r)})};ob.exports=tc.default});var ab=k((rc,sb)=>{"use strict";rc.__esModule=!0;function AD(e){return e&&e.__esModule?e:{default:e}}var ji=Je(),OD=wt(),ND=AD(OD);rc.default=function(e){e.registerHelper("with",function(t,r){if(arguments.length!=2)throw new ND.default("#with requires exactly one argument");ji.isFunction(t)&&(t=t.call(this));var n=r.fn;if(ji.isEmpty(t))return r.inverse(this);var o=r.data;return r.data&&r.ids&&(o=ji.createFrame(r.data),o.contextPath=ji.appendContextPath(r.data.contextPath,r.ids[0])),n(t,{data:o,blockParams:ji.blockParams([t],[o&&o.contextPath])})})};sb.exports=rc.default});var Mf=k(nc=>{"use strict";nc.__esModule=!0;nc.registerDefaultHelpers=JD;nc.moveHelperToHooks=YD;function Sn(e){return e&&e.__esModule?e:{default:e}}var DD=Gx(),jD=Sn(DD),MD=Wx(),LD=Sn(MD),ZD=Yx(),qD=Sn(ZD),FD=tb(),UD=Sn(FD),BD=nb(),VD=Sn(BD),HD=ib(),GD=Sn(HD),KD=ab(),WD=Sn(KD);function JD(e){jD.default(e),LD.default(e),qD.default(e),UD.default(e),VD.default(e),GD.default(e),WD.default(e)}function YD(e,t,r){e.helpers[t]&&(e.hooks[t]=e.helpers[t],r||delete e.helpers[t])}});var ub=k((oc,cb)=>{"use strict";oc.__esModule=!0;var QD=Je();oc.default=function(e){e.registerDecorator("inline",function(t,r,n,o){var i=t;return r.partials||(r.partials={},i=function(s,a){var c=n.partials;n.partials=QD.extend({},c,r.partials);var u=t(s,a);return n.partials=c,u}),r.partials[o.args[0]]=o.fn,i})};cb.exports=oc.default});var lb=k(Lf=>{"use strict";Lf.__esModule=!0;Lf.registerDefaultDecorators=rj;function XD(e){return e&&e.__esModule?e:{default:e}}var ej=ub(),tj=XD(ej);function rj(e){tj.default(e)}});var Zf=k((ic,pb)=>{"use strict";ic.__esModule=!0;var nj=Je(),ho={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(t){if(typeof t=="string"){var r=nj.indexOf(ho.methodMap,t.toLowerCase());r>=0?t=r:t=parseInt(t,10)}return t},log:function(t){if(t=ho.lookupLevel(t),typeof console<"u"&&ho.lookupLevel(ho.level)<=t){var r=ho.methodMap[t];console[r]||(r="log");for(var n=arguments.length,o=Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];console[r].apply(console,o)}}};ic.default=ho;pb.exports=ic.default});var db=k(qf=>{"use strict";qf.__esModule=!0;qf.createNewLookupObject=ij;var oj=Je();function ij(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return oj.extend.apply(void 0,[Object.create(null)].concat(t))}});var Ff=k(Mi=>{"use strict";Mi.__esModule=!0;Mi.createProtoAccessControl=uj;Mi.resultIsAllowed=lj;Mi.resetLoggedProperties=dj;function sj(e){return e&&e.__esModule?e:{default:e}}var fb=db(),aj=Zf(),cj=sj(aj),sc=Object.create(null);function uj(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var r=Object.create(null);return r.__proto__=!1,{properties:{whitelist:fb.createNewLookupObject(r,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:fb.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}}function lj(e,t,r){return hb(typeof e=="function"?t.methods:t.properties,r)}function hb(e,t){return e.whitelist[t]!==void 0?e.whitelist[t]===!0:e.defaultValue!==void 0?e.defaultValue:(pj(t),!1)}function pj(e){sc[e]!==!0&&(sc[e]=!0,cj.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+`" because it is not an "own property" of its parent.
|
|
11
11
|
You can add a runtime option to disable the check or this warning:
|
|
12
|
-
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function
|
|
12
|
+
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function dj(){Object.keys(sc).forEach(function(e){delete sc[e]})}});var cc=k(Wt=>{"use strict";Wt.__esModule=!0;Wt.HandlebarsEnvironment=Vf;function mb(e){return e&&e.__esModule?e:{default:e}}var wn=Je(),fj=wt(),Uf=mb(fj),hj=Mf(),mj=lb(),gj=Zf(),ac=mb(gj),_j=Ff(),yj="4.7.8";Wt.VERSION=yj;var vj=8;Wt.COMPILER_REVISION=vj;var xj=7;Wt.LAST_COMPATIBLE_COMPILER_REVISION=xj;var bj={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};Wt.REVISION_CHANGES=bj;var Bf="[object Object]";function Vf(e,t,r){this.helpers=e||{},this.partials=t||{},this.decorators=r||{},hj.registerDefaultHelpers(this),mj.registerDefaultDecorators(this)}Vf.prototype={constructor:Vf,logger:ac.default,log:ac.default.log,registerHelper:function(t,r){if(wn.toString.call(t)===Bf){if(r)throw new Uf.default("Arg not supported with multiple helpers");wn.extend(this.helpers,t)}else this.helpers[t]=r},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,r){if(wn.toString.call(t)===Bf)wn.extend(this.partials,t);else{if(typeof r>"u")throw new Uf.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=r}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,r){if(wn.toString.call(t)===Bf){if(r)throw new Uf.default("Arg not supported with multiple decorators");wn.extend(this.decorators,t)}else this.decorators[t]=r},unregisterDecorator:function(t){delete this.decorators[t]},resetLoggedPropertyAccesses:function(){_j.resetLoggedProperties()}};var kj=ac.default.log;Wt.log=kj;Wt.createFrame=wn.createFrame;Wt.logger=ac.default});var _b=k((uc,gb)=>{"use strict";uc.__esModule=!0;function Hf(e){this.string=e}Hf.prototype.toString=Hf.prototype.toHTML=function(){return""+this.string};uc.default=Hf;gb.exports=uc.default});var yb=k(Gf=>{"use strict";Gf.__esModule=!0;Gf.wrapHelper=Sj;function Sj(e,t){if(typeof e!="function")return e;var r=function(){var o=arguments[arguments.length-1];return arguments[arguments.length-1]=t(o),e.apply(this,arguments)};return r}});var Sb=k(jr=>{"use strict";jr.__esModule=!0;jr.checkRevision=zj;jr.template=Cj;jr.wrapProgram=lc;jr.resolvePartial=Ij;jr.invokePartial=Rj;jr.noop=bb;function wj(e){return e&&e.__esModule?e:{default:e}}function Tj(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}var $j=Je(),ur=Tj($j),Pj=wt(),lr=wj(Pj),pr=cc(),vb=Mf(),Ej=yb(),xb=Ff();function zj(e){var t=e&&e[0]||1,r=pr.COMPILER_REVISION;if(!(t>=pr.LAST_COMPATIBLE_COMPILER_REVISION&&t<=pr.COMPILER_REVISION))if(t<pr.LAST_COMPATIBLE_COMPILER_REVISION){var n=pr.REVISION_CHANGES[r],o=pr.REVISION_CHANGES[t];throw new lr.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+o+").")}else throw new lr.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}function Cj(e,t){if(!t)throw new lr.default("No environment passed to template");if(!e||!e.main)throw new lr.default("Unknown template object: "+typeof e);e.main.decorator=e.main_d,t.VM.checkRevision(e.compiler);var r=e.compiler&&e.compiler[0]===7;function n(s,a,c){c.hash&&(a=ur.extend({},a,c.hash),c.ids&&(c.ids[0]=!0)),s=t.VM.resolvePartial.call(this,s,a,c);var u=ur.extend({},c,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),p=t.VM.invokePartial.call(this,s,a,u);if(p==null&&t.compile&&(c.partials[c.name]=t.compile(s,e.compilerOptions,t),p=c.partials[c.name](a,u)),p!=null){if(c.indent){for(var l=p.split(`
|
|
13
13
|
`),d=0,h=l.length;d<h&&!(!l[d]&&d+1===h);d++)l[d]=c.indent+l[d];p=l.join(`
|
|
14
|
-
`)}return p}else throw new lr.default("The partial "+c.name+" could not be compiled when running in runtime-only mode")}var o={strict:function(a,c,u){if(!a||!(c in a))throw new lr.default('"'+c+'" not defined in '+a,{loc:u});return o.lookupProperty(a,c)},lookupProperty:function(a,c){var u=a[c];if(u==null||Object.prototype.hasOwnProperty.call(a,c)||_b.resultIsAllowed(u,o.protoAccessControl,c))return u},lookup:function(a,c){for(var u=a.length,p=0;p<u;p++){var l=a[p]&&o.lookupProperty(a[p],c);if(l!=null)return a[p][c]}},lambda:function(a,c){return typeof a=="function"?a.call(c):a},escapeExpression:ur.escapeExpression,invokePartial:n,fn:function(a){var c=e[a];return c.decorator=e[a+"_d"],c},programs:[],program:function(a,c,u,p,l){var d=this.programs[a],h=this.fn(a);return c||l||p||u?d=fc(this,a,h,c,u,p,l):d||(d=this.programs[a]=fc(this,a,h)),d},data:function(a,c){for(;a&&c--;)a=a._parent;return a},mergeIfNeeded:function(a,c){var u=a||c;return a&&c&&a!==c&&(u=ur.extend({},c,a)),u},nullContext:Object.seal({}),noop:t.VM.noop,compilerInfo:e.compiler};function i(s){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],c=a.data;i._setup(a),!a.partial&&e.useData&&(c=rj(s,c));var u=void 0,p=e.useBlockParams?[]:void 0;e.useDepths&&(a.depths?u=s!=a.depths[0]?[s].concat(a.depths):a.depths:u=[s]);function l(d){return""+e.main(o,d,o.helpers,o.partials,c,p,u)}return l=vb(e.main,l,o,a.depths||[],c,p),l(s,a)}return i.isTop=!0,i._setup=function(s){if(s.partial)o.protoAccessControl=s.protoAccessControl,o.helpers=s.helpers,o.partials=s.partials,o.decorators=s.decorators,o.hooks=s.hooks;else{var a=ur.extend({},t.helpers,s.helpers);nj(a,o),o.helpers=a,e.usePartial&&(o.partials=o.mergeIfNeeded(s.partials,t.partials)),(e.usePartial||e.useDecorators)&&(o.decorators=ur.extend({},t.decorators,s.decorators)),o.hooks={},o.protoAccessControl=_b.createProtoAccessControl(s);var c=s.allowCallsToHelperMissing||r;gb.moveHelperToHooks(o,"helperMissing",c),gb.moveHelperToHooks(o,"blockHelperMissing",c)}},i._child=function(s,a,c,u){if(e.useBlockParams&&!c)throw new lr.default("must pass block params");if(e.useDepths&&!u)throw new lr.default("must pass parent depths");return fc(o,s,e[s],a,0,c,u)},i}function fc(e,t,r,n,o,i,s){function a(c){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],p=s;return s&&c!=s[0]&&!(c===e.nullContext&&s[0]===null)&&(p=[c].concat(s)),r(e,c,e.helpers,e.partials,u.data||n,i&&[u.blockParams].concat(i),p)}return a=vb(r,a,e,s,n,i),a.program=t,a.depth=s?s.length:0,a.blockParams=o||0,a}function ej(e,t,r){return e?!e.call&&!r.name&&(r.name=e,e=r.partials[e]):r.name==="@partial-block"?e=r.data["partial-block"]:e=r.partials[r.name],e}function tj(e,t,r){var n=r.data&&r.data["partial-block"];r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var o=void 0;if(r.fn&&r.fn!==yb&&(function(){r.data=pr.createFrame(r.data);var i=r.fn;o=r.data["partial-block"]=function(a){var c=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return c.data=pr.createFrame(c.data),c.data["partial-block"]=n,i(a,c)},i.partials&&(r.partials=ur.extend({},r.partials,i.partials))})(),e===void 0&&o&&(e=o),e===void 0)throw new lr.default("The partial "+r.name+" could not be found");if(e instanceof Function)return e(t,r)}function yb(){return""}function rj(e,t){return(!t||!("root"in t))&&(t=t?pr.createFrame(t):{},t.root=e),t}function vb(e,t,r,n,o,i){if(e.decorator){var s={};t=e.decorator(t,s,r,n&&n[0],o,i,n),ur.extend(t,s)}return t}function nj(e,t){Object.keys(e).forEach(function(r){var n=e[r];e[r]=oj(n,t)})}function oj(e,t){var r=t.lookupProperty;return Y3.wrapHelper(e,function(n){return ur.extend({lookupProperty:r},n)})}});var Wf=k((hc,bb)=>{"use strict";hc.__esModule=!0;hc.default=function(e){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}};bb.exports=hc.default});var $b=k((mc,Tb)=>{"use strict";mc.__esModule=!0;function Yf(e){return e&&e.__esModule?e:{default:e}}function Qf(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}var ij=pc(),kb=Qf(ij),sj=hb(),aj=Yf(sj),cj=Tt(),uj=Yf(cj),lj=Je(),Jf=Qf(lj),pj=xb(),wb=Qf(pj),dj=Wf(),fj=Yf(dj);function Sb(){var e=new kb.HandlebarsEnvironment;return Jf.extend(e,kb),e.SafeString=aj.default,e.Exception=uj.default,e.Utils=Jf,e.escapeExpression=Jf.escapeExpression,e.VM=wb,e.template=function(t){return wb.template(t,e)},e}var Fi=Sb();Fi.create=Sb;fj.default(Fi);Fi.default=Fi;mc.default=Fi;Tb.exports=mc.default});var Xf=k((gc,Eb)=>{"use strict";gc.__esModule=!0;var Pb={helpers:{helperExpression:function(t){return t.type==="SubExpression"||(t.type==="MustacheStatement"||t.type==="BlockStatement")&&!!(t.params&&t.params.length||t.hash)},scopedId:function(t){return/^\.|this\b/.test(t.original)},simpleId:function(t){return t.parts.length===1&&!Pb.helpers.scopedId(t)&&!t.depth}}};gc.default=Pb;Eb.exports=gc.default});var Cb=k((_c,zb)=>{"use strict";_c.__esModule=!0;var hj=(function(){var e={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(o,i,s,a,c,u,p){var l=u.length-1;switch(c){case 1:return u[l-1];case 2:this.$=a.prepareProgram(u[l]);break;case 3:this.$=u[l];break;case 4:this.$=u[l];break;case 5:this.$=u[l];break;case 6:this.$=u[l];break;case 7:this.$=u[l];break;case 8:this.$=u[l];break;case 9:this.$={type:"CommentStatement",value:a.stripComment(u[l]),strip:a.stripFlags(u[l],u[l]),loc:a.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:u[l],value:u[l],loc:a.locInfo(this._$)};break;case 11:this.$=a.prepareRawBlock(u[l-2],u[l-1],u[l],this._$);break;case 12:this.$={path:u[l-3],params:u[l-2],hash:u[l-1]};break;case 13:this.$=a.prepareBlock(u[l-3],u[l-2],u[l-1],u[l],!1,this._$);break;case 14:this.$=a.prepareBlock(u[l-3],u[l-2],u[l-1],u[l],!0,this._$);break;case 15:this.$={open:u[l-5],path:u[l-4],params:u[l-3],hash:u[l-2],blockParams:u[l-1],strip:a.stripFlags(u[l-5],u[l])};break;case 16:this.$={path:u[l-4],params:u[l-3],hash:u[l-2],blockParams:u[l-1],strip:a.stripFlags(u[l-5],u[l])};break;case 17:this.$={path:u[l-4],params:u[l-3],hash:u[l-2],blockParams:u[l-1],strip:a.stripFlags(u[l-5],u[l])};break;case 18:this.$={strip:a.stripFlags(u[l-1],u[l-1]),program:u[l]};break;case 19:var d=a.prepareBlock(u[l-2],u[l-1],u[l],u[l],!1,this._$),h=a.prepareProgram([d],u[l-1].loc);h.chained=!0,this.$={strip:u[l-2].strip,program:h,chain:!0};break;case 20:this.$=u[l];break;case 21:this.$={path:u[l-1],strip:a.stripFlags(u[l-2],u[l])};break;case 22:this.$=a.prepareMustache(u[l-3],u[l-2],u[l-1],u[l-4],a.stripFlags(u[l-4],u[l]),this._$);break;case 23:this.$=a.prepareMustache(u[l-3],u[l-2],u[l-1],u[l-4],a.stripFlags(u[l-4],u[l]),this._$);break;case 24:this.$={type:"PartialStatement",name:u[l-3],params:u[l-2],hash:u[l-1],indent:"",strip:a.stripFlags(u[l-4],u[l]),loc:a.locInfo(this._$)};break;case 25:this.$=a.preparePartialBlock(u[l-2],u[l-1],u[l],this._$);break;case 26:this.$={path:u[l-3],params:u[l-2],hash:u[l-1],strip:a.stripFlags(u[l-4],u[l])};break;case 27:this.$=u[l];break;case 28:this.$=u[l];break;case 29:this.$={type:"SubExpression",path:u[l-3],params:u[l-2],hash:u[l-1],loc:a.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:u[l],loc:a.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:a.id(u[l-2]),value:u[l],loc:a.locInfo(this._$)};break;case 32:this.$=a.id(u[l-1]);break;case 33:this.$=u[l];break;case 34:this.$=u[l];break;case 35:this.$={type:"StringLiteral",value:u[l],original:u[l],loc:a.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(u[l]),original:Number(u[l]),loc:a.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:u[l]==="true",original:u[l]==="true",loc:a.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:a.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:a.locInfo(this._$)};break;case 40:this.$=u[l];break;case 41:this.$=u[l];break;case 42:this.$=a.preparePath(!0,u[l],this._$);break;case 43:this.$=a.preparePath(!1,u[l],this._$);break;case 44:u[l-2].push({part:a.id(u[l]),original:u[l],separator:u[l-1]}),this.$=u[l-2];break;case 45:this.$=[{part:a.id(u[l]),original:u[l]}];break;case 46:this.$=[];break;case 47:u[l-1].push(u[l]);break;case 48:this.$=[];break;case 49:u[l-1].push(u[l]);break;case 50:this.$=[];break;case 51:u[l-1].push(u[l]);break;case 58:this.$=[];break;case 59:u[l-1].push(u[l]);break;case 64:this.$=[];break;case 65:u[l-1].push(u[l]);break;case 70:this.$=[];break;case 71:u[l-1].push(u[l]);break;case 78:this.$=[];break;case 79:u[l-1].push(u[l]);break;case 82:this.$=[];break;case 83:u[l-1].push(u[l]);break;case 86:this.$=[];break;case 87:u[l-1].push(u[l]);break;case 90:this.$=[];break;case 91:u[l-1].push(u[l]);break;case 94:this.$=[];break;case 95:u[l-1].push(u[l]);break;case 98:this.$=[u[l]];break;case 99:u[l-1].push(u[l]);break;case 100:this.$=[u[l]];break;case 101:u[l-1].push(u[l]);break}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},parseError:function(o,i){throw new Error(o)},parse:function(o){var i=this,s=[0],a=[null],c=[],u=this.table,p="",l=0,d=0,h=0,f=2,g=1;this.lexer.setInput(o),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc>"u"&&(this.lexer.yylloc={});var _=this.lexer.yylloc;c.push(_);var v=this.lexer.options&&this.lexer.options.ranges;typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError);function y(Dt){s.length=s.length-2*Dt,a.length=a.length-Dt,c.length=c.length-Dt}function S(){var Dt;return Dt=i.lexer.lex()||1,typeof Dt!="number"&&(Dt=i.symbols_[Dt]||Dt),Dt}for(var $,M,ve,pe,qr,Fr,ft={},gr,ht,zo,Rn;;){if(ve=s[s.length-1],this.defaultActions[ve]?pe=this.defaultActions[ve]:(($===null||typeof $>"u")&&($=S()),pe=u[ve]&&u[ve][$]),typeof pe>"u"||!pe.length||!pe[0]){var Mc="";if(!h){Rn=[];for(gr in u[ve])this.terminals_[gr]&&gr>2&&Rn.push("'"+this.terminals_[gr]+"'");this.lexer.showPosition?Mc="Parse error on line "+(l+1)+`:
|
|
14
|
+
`)}return p}else throw new lr.default("The partial "+c.name+" could not be compiled when running in runtime-only mode")}var o={strict:function(a,c,u){if(!a||!(c in a))throw new lr.default('"'+c+'" not defined in '+a,{loc:u});return o.lookupProperty(a,c)},lookupProperty:function(a,c){var u=a[c];if(u==null||Object.prototype.hasOwnProperty.call(a,c)||xb.resultIsAllowed(u,o.protoAccessControl,c))return u},lookup:function(a,c){for(var u=a.length,p=0;p<u;p++){var l=a[p]&&o.lookupProperty(a[p],c);if(l!=null)return a[p][c]}},lambda:function(a,c){return typeof a=="function"?a.call(c):a},escapeExpression:ur.escapeExpression,invokePartial:n,fn:function(a){var c=e[a];return c.decorator=e[a+"_d"],c},programs:[],program:function(a,c,u,p,l){var d=this.programs[a],h=this.fn(a);return c||l||p||u?d=lc(this,a,h,c,u,p,l):d||(d=this.programs[a]=lc(this,a,h)),d},data:function(a,c){for(;a&&c--;)a=a._parent;return a},mergeIfNeeded:function(a,c){var u=a||c;return a&&c&&a!==c&&(u=ur.extend({},c,a)),u},nullContext:Object.seal({}),noop:t.VM.noop,compilerInfo:e.compiler};function i(s){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],c=a.data;i._setup(a),!a.partial&&e.useData&&(c=Aj(s,c));var u=void 0,p=e.useBlockParams?[]:void 0;e.useDepths&&(a.depths?u=s!=a.depths[0]?[s].concat(a.depths):a.depths:u=[s]);function l(d){return""+e.main(o,d,o.helpers,o.partials,c,p,u)}return l=kb(e.main,l,o,a.depths||[],c,p),l(s,a)}return i.isTop=!0,i._setup=function(s){if(s.partial)o.protoAccessControl=s.protoAccessControl,o.helpers=s.helpers,o.partials=s.partials,o.decorators=s.decorators,o.hooks=s.hooks;else{var a=ur.extend({},t.helpers,s.helpers);Oj(a,o),o.helpers=a,e.usePartial&&(o.partials=o.mergeIfNeeded(s.partials,t.partials)),(e.usePartial||e.useDecorators)&&(o.decorators=ur.extend({},t.decorators,s.decorators)),o.hooks={},o.protoAccessControl=xb.createProtoAccessControl(s);var c=s.allowCallsToHelperMissing||r;vb.moveHelperToHooks(o,"helperMissing",c),vb.moveHelperToHooks(o,"blockHelperMissing",c)}},i._child=function(s,a,c,u){if(e.useBlockParams&&!c)throw new lr.default("must pass block params");if(e.useDepths&&!u)throw new lr.default("must pass parent depths");return lc(o,s,e[s],a,0,c,u)},i}function lc(e,t,r,n,o,i,s){function a(c){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],p=s;return s&&c!=s[0]&&!(c===e.nullContext&&s[0]===null)&&(p=[c].concat(s)),r(e,c,e.helpers,e.partials,u.data||n,i&&[u.blockParams].concat(i),p)}return a=kb(r,a,e,s,n,i),a.program=t,a.depth=s?s.length:0,a.blockParams=o||0,a}function Ij(e,t,r){return e?!e.call&&!r.name&&(r.name=e,e=r.partials[e]):r.name==="@partial-block"?e=r.data["partial-block"]:e=r.partials[r.name],e}function Rj(e,t,r){var n=r.data&&r.data["partial-block"];r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var o=void 0;if(r.fn&&r.fn!==bb&&(function(){r.data=pr.createFrame(r.data);var i=r.fn;o=r.data["partial-block"]=function(a){var c=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return c.data=pr.createFrame(c.data),c.data["partial-block"]=n,i(a,c)},i.partials&&(r.partials=ur.extend({},r.partials,i.partials))})(),e===void 0&&o&&(e=o),e===void 0)throw new lr.default("The partial "+r.name+" could not be found");if(e instanceof Function)return e(t,r)}function bb(){return""}function Aj(e,t){return(!t||!("root"in t))&&(t=t?pr.createFrame(t):{},t.root=e),t}function kb(e,t,r,n,o,i){if(e.decorator){var s={};t=e.decorator(t,s,r,n&&n[0],o,i,n),ur.extend(t,s)}return t}function Oj(e,t){Object.keys(e).forEach(function(r){var n=e[r];e[r]=Nj(n,t)})}function Nj(e,t){var r=t.lookupProperty;return Ej.wrapHelper(e,function(n){return ur.extend({lookupProperty:r},n)})}});var Kf=k((pc,wb)=>{"use strict";pc.__esModule=!0;pc.default=function(e){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}};wb.exports=pc.default});var zb=k((dc,Eb)=>{"use strict";dc.__esModule=!0;function Jf(e){return e&&e.__esModule?e:{default:e}}function Yf(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}var Dj=cc(),Tb=Yf(Dj),jj=_b(),Mj=Jf(jj),Lj=wt(),Zj=Jf(Lj),qj=Je(),Wf=Yf(qj),Fj=Sb(),$b=Yf(Fj),Uj=Kf(),Bj=Jf(Uj);function Pb(){var e=new Tb.HandlebarsEnvironment;return Wf.extend(e,Tb),e.SafeString=Mj.default,e.Exception=Zj.default,e.Utils=Wf,e.escapeExpression=Wf.escapeExpression,e.VM=$b,e.template=function(t){return $b.template(t,e)},e}var Li=Pb();Li.create=Pb;Bj.default(Li);Li.default=Li;dc.default=Li;Eb.exports=dc.default});var Qf=k((fc,Ib)=>{"use strict";fc.__esModule=!0;var Cb={helpers:{helperExpression:function(t){return t.type==="SubExpression"||(t.type==="MustacheStatement"||t.type==="BlockStatement")&&!!(t.params&&t.params.length||t.hash)},scopedId:function(t){return/^\.|this\b/.test(t.original)},simpleId:function(t){return t.parts.length===1&&!Cb.helpers.scopedId(t)&&!t.depth}}};fc.default=Cb;Ib.exports=fc.default});var Ab=k((hc,Rb)=>{"use strict";hc.__esModule=!0;var Vj=(function(){var e={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(o,i,s,a,c,u,p){var l=u.length-1;switch(c){case 1:return u[l-1];case 2:this.$=a.prepareProgram(u[l]);break;case 3:this.$=u[l];break;case 4:this.$=u[l];break;case 5:this.$=u[l];break;case 6:this.$=u[l];break;case 7:this.$=u[l];break;case 8:this.$=u[l];break;case 9:this.$={type:"CommentStatement",value:a.stripComment(u[l]),strip:a.stripFlags(u[l],u[l]),loc:a.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:u[l],value:u[l],loc:a.locInfo(this._$)};break;case 11:this.$=a.prepareRawBlock(u[l-2],u[l-1],u[l],this._$);break;case 12:this.$={path:u[l-3],params:u[l-2],hash:u[l-1]};break;case 13:this.$=a.prepareBlock(u[l-3],u[l-2],u[l-1],u[l],!1,this._$);break;case 14:this.$=a.prepareBlock(u[l-3],u[l-2],u[l-1],u[l],!0,this._$);break;case 15:this.$={open:u[l-5],path:u[l-4],params:u[l-3],hash:u[l-2],blockParams:u[l-1],strip:a.stripFlags(u[l-5],u[l])};break;case 16:this.$={path:u[l-4],params:u[l-3],hash:u[l-2],blockParams:u[l-1],strip:a.stripFlags(u[l-5],u[l])};break;case 17:this.$={path:u[l-4],params:u[l-3],hash:u[l-2],blockParams:u[l-1],strip:a.stripFlags(u[l-5],u[l])};break;case 18:this.$={strip:a.stripFlags(u[l-1],u[l-1]),program:u[l]};break;case 19:var d=a.prepareBlock(u[l-2],u[l-1],u[l],u[l],!1,this._$),h=a.prepareProgram([d],u[l-1].loc);h.chained=!0,this.$={strip:u[l-2].strip,program:h,chain:!0};break;case 20:this.$=u[l];break;case 21:this.$={path:u[l-1],strip:a.stripFlags(u[l-2],u[l])};break;case 22:this.$=a.prepareMustache(u[l-3],u[l-2],u[l-1],u[l-4],a.stripFlags(u[l-4],u[l]),this._$);break;case 23:this.$=a.prepareMustache(u[l-3],u[l-2],u[l-1],u[l-4],a.stripFlags(u[l-4],u[l]),this._$);break;case 24:this.$={type:"PartialStatement",name:u[l-3],params:u[l-2],hash:u[l-1],indent:"",strip:a.stripFlags(u[l-4],u[l]),loc:a.locInfo(this._$)};break;case 25:this.$=a.preparePartialBlock(u[l-2],u[l-1],u[l],this._$);break;case 26:this.$={path:u[l-3],params:u[l-2],hash:u[l-1],strip:a.stripFlags(u[l-4],u[l])};break;case 27:this.$=u[l];break;case 28:this.$=u[l];break;case 29:this.$={type:"SubExpression",path:u[l-3],params:u[l-2],hash:u[l-1],loc:a.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:u[l],loc:a.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:a.id(u[l-2]),value:u[l],loc:a.locInfo(this._$)};break;case 32:this.$=a.id(u[l-1]);break;case 33:this.$=u[l];break;case 34:this.$=u[l];break;case 35:this.$={type:"StringLiteral",value:u[l],original:u[l],loc:a.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(u[l]),original:Number(u[l]),loc:a.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:u[l]==="true",original:u[l]==="true",loc:a.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:a.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:a.locInfo(this._$)};break;case 40:this.$=u[l];break;case 41:this.$=u[l];break;case 42:this.$=a.preparePath(!0,u[l],this._$);break;case 43:this.$=a.preparePath(!1,u[l],this._$);break;case 44:u[l-2].push({part:a.id(u[l]),original:u[l],separator:u[l-1]}),this.$=u[l-2];break;case 45:this.$=[{part:a.id(u[l]),original:u[l]}];break;case 46:this.$=[];break;case 47:u[l-1].push(u[l]);break;case 48:this.$=[];break;case 49:u[l-1].push(u[l]);break;case 50:this.$=[];break;case 51:u[l-1].push(u[l]);break;case 58:this.$=[];break;case 59:u[l-1].push(u[l]);break;case 64:this.$=[];break;case 65:u[l-1].push(u[l]);break;case 70:this.$=[];break;case 71:u[l-1].push(u[l]);break;case 78:this.$=[];break;case 79:u[l-1].push(u[l]);break;case 82:this.$=[];break;case 83:u[l-1].push(u[l]);break;case 86:this.$=[];break;case 87:u[l-1].push(u[l]);break;case 90:this.$=[];break;case 91:u[l-1].push(u[l]);break;case 94:this.$=[];break;case 95:u[l-1].push(u[l]);break;case 98:this.$=[u[l]];break;case 99:u[l-1].push(u[l]);break;case 100:this.$=[u[l]];break;case 101:u[l-1].push(u[l]);break}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},parseError:function(o,i){throw new Error(o)},parse:function(o){var i=this,s=[0],a=[null],c=[],u=this.table,p="",l=0,d=0,h=0,f=2,g=1;this.lexer.setInput(o),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc>"u"&&(this.lexer.yylloc={});var _=this.lexer.yylloc;c.push(_);var v=this.lexer.options&&this.lexer.options.ranges;typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError);function y(jt){s.length=s.length-2*jt,a.length=a.length-jt,c.length=c.length-jt}function w(){var jt;return jt=i.lexer.lex()||1,typeof jt!="number"&&(jt=i.symbols_[jt]||jt),jt}for(var $,j,ve,pe,Lr,Zr,ft={},hr,ht,$o,zn;;){if(ve=s[s.length-1],this.defaultActions[ve]?pe=this.defaultActions[ve]:(($===null||typeof $>"u")&&($=w()),pe=u[ve]&&u[ve][$]),typeof pe>"u"||!pe.length||!pe[0]){var jc="";if(!h){zn=[];for(hr in u[ve])this.terminals_[hr]&&hr>2&&zn.push("'"+this.terminals_[hr]+"'");this.lexer.showPosition?jc="Parse error on line "+(l+1)+`:
|
|
15
15
|
`+this.lexer.showPosition()+`
|
|
16
|
-
Expecting `+
|
|
16
|
+
Expecting `+zn.join(", ")+", got '"+(this.terminals_[$]||$)+"'":jc="Parse error on line "+(l+1)+": Unexpected "+($==1?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError(jc,{text:this.lexer.match,token:this.terminals_[$]||$,line:this.lexer.yylineno,loc:_,expected:zn})}}if(pe[0]instanceof Array&&pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ve+", token: "+$);switch(pe[0]){case 1:s.push($),a.push(this.lexer.yytext),c.push(this.lexer.yylloc),s.push(pe[1]),$=null,j?($=j,j=null):(d=this.lexer.yyleng,p=this.lexer.yytext,l=this.lexer.yylineno,_=this.lexer.yylloc,h>0&&h--);break;case 2:if(ht=this.productions_[pe[1]][1],ft.$=a[a.length-ht],ft._$={first_line:c[c.length-(ht||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(ht||1)].first_column,last_column:c[c.length-1].last_column},v&&(ft._$.range=[c[c.length-(ht||1)].range[0],c[c.length-1].range[1]]),Zr=this.performAction.call(ft,p,d,l,this.yy,pe[1],a,c),typeof Zr<"u")return Zr;ht&&(s=s.slice(0,-1*ht*2),a=a.slice(0,-1*ht),c=c.slice(0,-1*ht)),s.push(this.productions_[pe[1]][0]),a.push(ft.$),c.push(ft._$),$o=u[s[s.length-2]][s[s.length-1]],s.push($o);break;case 3:return!0}}return!0}},t=(function(){var n={EOF:1,parseError:function(i,s){if(this.yy.parser)this.yy.parser.parseError(i,s);else throw new Error(i)},setInput:function(i){return this._input=i,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var s=i.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var s=i.length,a=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s-1),this.offset-=s;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===c.length?this.yylloc.first_column:0)+c[c.length-a.length].length-a[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-s]),this},more:function(){return this._more=!0,this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),s=new Array(i.length+1).join("-");return i+this.upcomingInput()+`
|
|
17
17
|
`+s+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,s,a,c,u,p;this._more||(this.yytext="",this.match="");for(var l=this._currentRules(),d=0;d<l.length&&(a=this._input.match(this.rules[l[d]]),!(a&&(!s||a[0].length>s[0].length)&&(s=a,c=d,!this.options.flex)));d++);return s?(p=s[0].match(/(?:\r\n?|\n).*/g),p&&(this.yylineno+=p.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:p?p[p.length-1].length-p[p.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+s[0].length},this.yytext+=s[0],this.match+=s[0],this.matches=s,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(s[0].length),this.matched+=s[0],i=this.performAction.call(this,this.yy,this,l[c],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
18
|
-
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var i=this.next();return typeof i<"u"?i:this.lex()},begin:function(i){this.conditionStack.push(i)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(i){this.begin(i)}};return n.options={},n.performAction=function(i,s,a,c){function u(l,d){return s.yytext=s.yytext.substring(l,s.yyleng-d+l)}var p=c;switch(a){case 0:if(s.yytext.slice(-2)==="\\\\"?(u(0,1),this.begin("mu")):s.yytext.slice(-1)==="\\"?(u(0,1),this.begin("emu")):this.begin("mu"),s.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(u(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(s.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return s.yytext=u(1,2).replace(/\\"/g,'"'),80;break;case 32:return s.yytext=u(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return s.yytext=s.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},n.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],n.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},n})();e.lexer=t;function r(){this.yy={}}return r.prototype=e,e.Parser=r,new r})();_c.default=hj;zb.exports=_c.default});var bc=k((xc,Ab)=>{"use strict";xc.__esModule=!0;function mj(e){return e&&e.__esModule?e:{default:e}}var gj=Tt(),eh=mj(gj);function yc(){this.parents=[]}yc.prototype={constructor:yc,mutating:!1,acceptKey:function(t,r){var n=this.accept(t[r]);if(this.mutating){if(n&&!yc.prototype[n.type])throw new eh.default('Unexpected node type "'+n.type+'" found when accepting '+r+" on "+t.type);t[r]=n}},acceptRequired:function(t,r){if(this.acceptKey(t,r),!t[r])throw new eh.default(t.type+" requires "+r)},acceptArray:function(t){for(var r=0,n=t.length;r<n;r++)this.acceptKey(t,r),t[r]||(t.splice(r,1),r--,n--)},accept:function(t){if(t){if(!this[t.type])throw new eh.default("Unknown type: "+t.type,t);this.current&&this.parents.unshift(this.current),this.current=t;var r=this[t.type](t);if(this.current=this.parents.shift(),!this.mutating||r)return r;if(r!==!1)return t}},Program:function(t){this.acceptArray(t.body)},MustacheStatement:vc,Decorator:vc,BlockStatement:Ib,DecoratorBlock:Ib,PartialStatement:Rb,PartialBlockStatement:function(t){Rb.call(this,t),this.acceptKey(t,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:vc,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(t){this.acceptArray(t.pairs)},HashPair:function(t){this.acceptRequired(t,"value")}};function vc(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash")}function Ib(e){vc.call(this,e),this.acceptKey(e,"program"),this.acceptKey(e,"inverse")}function Rb(e){this.acceptRequired(e,"name"),this.acceptArray(e.params),this.acceptKey(e,"hash")}xc.default=yc;Ab.exports=xc.default});var Nb=k((kc,Ob)=>{"use strict";kc.__esModule=!0;function _j(e){return e&&e.__esModule?e:{default:e}}var yj=bc(),vj=_j(yj);function Yt(){var e=arguments.length<=0||arguments[0]===void 0?{}:arguments[0];this.options=e}Yt.prototype=new vj.default;Yt.prototype.Program=function(e){var t=!this.options.ignoreStandalone,r=!this.isRootSeen;this.isRootSeen=!0;for(var n=e.body,o=0,i=n.length;o<i;o++){var s=n[o],a=this.accept(s);if(a){var c=th(n,o,r),u=rh(n,o,r),p=a.openStandalone&&c,l=a.closeStandalone&&u,d=a.inlineStandalone&&c&&u;a.close&&Pn(n,o,!0),a.open&&Zr(n,o,!0),t&&d&&(Pn(n,o),Zr(n,o)&&s.type==="PartialStatement"&&(s.indent=/([ \t]+$)/.exec(n[o-1].original)[1])),t&&p&&(Pn((s.program||s.inverse).body),Zr(n,o)),t&&l&&(Pn(n,o),Zr((s.inverse||s.program).body))}}return e};Yt.prototype.BlockStatement=Yt.prototype.DecoratorBlock=Yt.prototype.PartialBlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,r=e.program&&e.inverse,n=r,o=r;if(r&&r.chained)for(n=r.body[0].program;o.chained;)o=o.body[o.body.length-1].program;var i={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:rh(t.body),closeStandalone:th((n||t).body)};if(e.openStrip.close&&Pn(t.body,null,!0),r){var s=e.inverseStrip;s.open&&Zr(t.body,null,!0),s.close&&Pn(n.body,null,!0),e.closeStrip.open&&Zr(o.body,null,!0),!this.options.ignoreStandalone&&th(t.body)&&rh(n.body)&&(Zr(t.body),Pn(n.body))}else e.closeStrip.open&&Zr(t.body,null,!0);return i};Yt.prototype.Decorator=Yt.prototype.MustacheStatement=function(e){return e.strip};Yt.prototype.PartialStatement=Yt.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}};function th(e,t,r){t===void 0&&(t=e.length);var n=e[t-1],o=e[t-2];if(!n)return r;if(n.type==="ContentStatement")return(o||!r?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(n.original)}function rh(e,t,r){t===void 0&&(t=-1);var n=e[t+1],o=e[t+2];if(!n)return r;if(n.type==="ContentStatement")return(o||!r?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(n.original)}function Pn(e,t,r){var n=e[t==null?0:t+1];if(!(!n||n.type!=="ContentStatement"||!r&&n.rightStripped)){var o=n.value;n.value=n.value.replace(r?/^\s+/:/^[ \t]*\r?\n?/,""),n.rightStripped=n.value!==o}}function Zr(e,t,r){var n=e[t==null?e.length-1:t-1];if(!(!n||n.type!=="ContentStatement"||!r&&n.leftStripped)){var o=n.value;return n.value=n.value.replace(r?/\s+$/:/[ \t]+$/,""),n.leftStripped=n.value!==o,n.leftStripped}}kc.default=Yt;Ob.exports=kc.default});var jb=k($t=>{"use strict";$t.__esModule=!0;$t.SourceLocation=kj;$t.id=wj;$t.stripFlags=Sj;$t.stripComment=Tj;$t.preparePath=$j;$t.prepareMustache=Pj;$t.prepareRawBlock=Ej;$t.prepareBlock=zj;$t.prepareProgram=Cj;$t.preparePartialBlock=Ij;function xj(e){return e&&e.__esModule?e:{default:e}}var bj=Tt(),nh=xj(bj);function oh(e,t){if(t=t.path?t.path.original:t,e.path.original!==t){var r={loc:e.path.loc};throw new nh.default(e.path.original+" doesn't match "+t,r)}}function kj(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}}function wj(e){return/^\[.*\]$/.test(e)?e.substring(1,e.length-1):e}function Sj(e,t){return{open:e.charAt(2)==="~",close:t.charAt(t.length-3)==="~"}}function Tj(e){return e.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function $j(e,t,r){r=this.locInfo(r);for(var n=e?"@":"",o=[],i=0,s=0,a=t.length;s<a;s++){var c=t[s].part,u=t[s].original!==c;if(n+=(t[s].separator||"")+c,!u&&(c===".."||c==="."||c==="this")){if(o.length>0)throw new nh.default("Invalid path: "+n,{loc:r});c===".."&&i++}else o.push(c)}return{type:"PathExpression",data:e,depth:i,parts:o,original:n,loc:r}}function Pj(e,t,r,n,o,i){var s=n.charAt(3)||n.charAt(2),a=s!=="{"&&s!=="&",c=/\*/.test(n);return{type:c?"Decorator":"MustacheStatement",path:e,params:t,hash:r,escaped:a,strip:o,loc:this.locInfo(i)}}function Ej(e,t,r,n){oh(e,r),n=this.locInfo(n);var o={type:"Program",body:t,strip:{},loc:n};return{type:"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:o,openStrip:{},inverseStrip:{},closeStrip:{},loc:n}}function zj(e,t,r,n,o,i){n&&n.path&&oh(e,n);var s=/\*/.test(e.open);t.blockParams=e.blockParams;var a=void 0,c=void 0;if(r){if(s)throw new nh.default("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=n.strip),c=r.strip,a=r.program}return o&&(o=a,a=t,t=o),{type:s?"DecoratorBlock":"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:t,inverse:a,openStrip:e.strip,inverseStrip:c,closeStrip:n&&n.strip,loc:this.locInfo(i)}}function Cj(e,t){if(!t&&e.length){var r=e[0].loc,n=e[e.length-1].loc;r&&n&&(t={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:e,strip:{},loc:t}}function Ij(e,t,r,n){return oh(e,r),{type:"PartialBlockStatement",name:e.path,params:e.params,hash:e.hash,program:t,openStrip:e.strip,closeStrip:r&&r.strip,loc:this.locInfo(n)}}});var Lb=k(Ui=>{"use strict";Ui.__esModule=!0;Ui.parseWithoutProcessing=Db;Ui.parse=Lj;function Rj(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function Mb(e){return e&&e.__esModule?e:{default:e}}var Aj=Cb(),ih=Mb(Aj),Oj=Nb(),Nj=Mb(Oj),jj=jb(),Mj=Rj(jj),Dj=Je();Ui.parser=ih.default;var wc={};Dj.extend(wc,Mj);function Db(e,t){if(e.type==="Program")return e;ih.default.yy=wc,wc.locInfo=function(n){return new wc.SourceLocation(t&&t.srcName,n)};var r=ih.default.parse(e);return r}function Lj(e,t){var r=Db(e,t),n=new Nj.default(t);return n.accept(r)}});var Ub=k(Gi=>{"use strict";Gi.__esModule=!0;Gi.Compiler=sh;Gi.precompile=Uj;Gi.compile=Bj;function qb(e){return e&&e.__esModule?e:{default:e}}var Zj=Tt(),Vi=qb(Zj),Hi=Je(),qj=Xf(),Bi=qb(qj),Fj=[].slice;function sh(){}sh.prototype={compiler:sh,equals:function(t){var r=this.opcodes.length;if(t.opcodes.length!==r)return!1;for(var n=0;n<r;n++){var o=this.opcodes[n],i=t.opcodes[n];if(o.opcode!==i.opcode||!Fb(o.args,i.args))return!1}r=this.children.length;for(var n=0;n<r;n++)if(!this.children[n].equals(t.children[n]))return!1;return!0},guid:0,compile:function(t,r){return this.sourceNode=[],this.opcodes=[],this.children=[],this.options=r,this.stringParams=r.stringParams,this.trackIds=r.trackIds,r.blockParams=r.blockParams||[],r.knownHelpers=Hi.extend(Object.create(null),{helperMissing:!0,blockHelperMissing:!0,each:!0,if:!0,unless:!0,with:!0,log:!0,lookup:!0},r.knownHelpers),this.accept(t)},compileProgram:function(t){var r=new this.compiler,n=r.compile(t,this.options),o=this.guid++;return this.usePartial=this.usePartial||n.usePartial,this.children[o]=n,this.useDepths=this.useDepths||n.useDepths,o},accept:function(t){if(!this[t.type])throw new Vi.default("Unknown type: "+t.type,t);this.sourceNode.unshift(t);var r=this[t.type](t);return this.sourceNode.shift(),r},Program:function(t){this.options.blockParams.unshift(t.blockParams);for(var r=t.body,n=r.length,o=0;o<n;o++)this.accept(r[o]);return this.options.blockParams.shift(),this.isSimple=n===1,this.blockParams=t.blockParams?t.blockParams.length:0,this},BlockStatement:function(t){Zb(t);var r=t.program,n=t.inverse;r=r&&this.compileProgram(r),n=n&&this.compileProgram(n);var o=this.classifySexpr(t);o==="helper"?this.helperSexpr(t,r,n):o==="simple"?(this.simpleSexpr(t),this.opcode("pushProgram",r),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("blockValue",t.path.original)):(this.ambiguousSexpr(t,r,n),this.opcode("pushProgram",r),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},DecoratorBlock:function(t){var r=t.program&&this.compileProgram(t.program),n=this.setupFullMustacheParams(t,r,void 0),o=t.path;this.useDecorators=!0,this.opcode("registerDecorator",n.length,o.original)},PartialStatement:function(t){this.usePartial=!0;var r=t.program;r&&(r=this.compileProgram(t.program));var n=t.params;if(n.length>1)throw new Vi.default("Unsupported number of partial arguments: "+n.length,t);n.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):n.push({type:"PathExpression",parts:[],depth:0}));var o=t.name.original,i=t.name.type==="SubExpression";i&&this.accept(t.name),this.setupFullMustacheParams(t,r,void 0,!0);var s=t.indent||"";this.options.preventIndent&&s&&(this.opcode("appendContent",s),s=""),this.opcode("invokePartial",i,o,s),this.opcode("append")},PartialBlockStatement:function(t){this.PartialStatement(t)},MustacheStatement:function(t){this.SubExpression(t),t.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(t){this.DecoratorBlock(t)},ContentStatement:function(t){t.value&&this.opcode("appendContent",t.value)},CommentStatement:function(){},SubExpression:function(t){Zb(t);var r=this.classifySexpr(t);r==="simple"?this.simpleSexpr(t):r==="helper"?this.helperSexpr(t):this.ambiguousSexpr(t)},ambiguousSexpr:function(t,r,n){var o=t.path,i=o.parts[0],s=r!=null||n!=null;this.opcode("getContext",o.depth),this.opcode("pushProgram",r),this.opcode("pushProgram",n),o.strict=!0,this.accept(o),this.opcode("invokeAmbiguous",i,s)},simpleSexpr:function(t){var r=t.path;r.strict=!0,this.accept(r),this.opcode("resolvePossibleLambda")},helperSexpr:function(t,r,n){var o=this.setupFullMustacheParams(t,r,n),i=t.path,s=i.parts[0];if(this.options.knownHelpers[s])this.opcode("invokeKnownHelper",o.length,s);else{if(this.options.knownHelpersOnly)throw new Vi.default("You specified knownHelpersOnly, but used the unknown helper "+s,t);i.strict=!0,i.falsy=!0,this.accept(i),this.opcode("invokeHelper",o.length,i.original,Bi.default.helpers.simpleId(i))}},PathExpression:function(t){this.addDepth(t.depth),this.opcode("getContext",t.depth);var r=t.parts[0],n=Bi.default.helpers.scopedId(t),o=!t.depth&&!n&&this.blockParamIndex(r);o?this.opcode("lookupBlockParam",o,t.parts):r?t.data?(this.options.data=!0,this.opcode("lookupData",t.depth,t.parts,t.strict)):this.opcode("lookupOnContext",t.parts,t.falsy,t.strict,n):this.opcode("pushContext")},StringLiteral:function(t){this.opcode("pushString",t.value)},NumberLiteral:function(t){this.opcode("pushLiteral",t.value)},BooleanLiteral:function(t){this.opcode("pushLiteral",t.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(t){var r=t.pairs,n=0,o=r.length;for(this.opcode("pushHash");n<o;n++)this.pushParam(r[n].value);for(;n--;)this.opcode("assignToHash",r[n].key);this.opcode("popHash")},opcode:function(t){this.opcodes.push({opcode:t,args:Fj.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(t){t&&(this.useDepths=!0)},classifySexpr:function(t){var r=Bi.default.helpers.simpleId(t.path),n=r&&!!this.blockParamIndex(t.path.parts[0]),o=!n&&Bi.default.helpers.helperExpression(t),i=!n&&(o||r);if(i&&!o){var s=t.path.parts[0],a=this.options;a.knownHelpers[s]?o=!0:a.knownHelpersOnly&&(i=!1)}return o?"helper":i?"ambiguous":"simple"},pushParams:function(t){for(var r=0,n=t.length;r<n;r++)this.pushParam(t[r])},pushParam:function(t){var r=t.value!=null?t.value:t.original||"";if(this.stringParams)r.replace&&(r=r.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),t.depth&&this.addDepth(t.depth),this.opcode("getContext",t.depth||0),this.opcode("pushStringParam",r,t.type),t.type==="SubExpression"&&this.accept(t);else{if(this.trackIds){var n=void 0;if(t.parts&&!Bi.default.helpers.scopedId(t)&&!t.depth&&(n=this.blockParamIndex(t.parts[0])),n){var o=t.parts.slice(1).join(".");this.opcode("pushId","BlockParam",n,o)}else r=t.original||r,r.replace&&(r=r.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",t.type,r)}this.accept(t)}},setupFullMustacheParams:function(t,r,n,o){var i=t.params;return this.pushParams(i),this.opcode("pushProgram",r),this.opcode("pushProgram",n),t.hash?this.accept(t.hash):this.opcode("emptyHash",o),i},blockParamIndex:function(t){for(var r=0,n=this.options.blockParams.length;r<n;r++){var o=this.options.blockParams[r],i=o&&Hi.indexOf(o,t);if(o&&i>=0)return[r,i]}}};function Uj(e,t,r){if(e==null||typeof e!="string"&&e.type!=="Program")throw new Vi.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+e);t=t||{},"data"in t||(t.data=!0),t.compat&&(t.useDepths=!0);var n=r.parse(e,t),o=new r.Compiler().compile(n,t);return new r.JavaScriptCompiler().compile(o,t)}function Bj(e,t,r){if(t===void 0&&(t={}),e==null||typeof e!="string"&&e.type!=="Program")throw new Vi.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+e);t=Hi.extend({},t),"data"in t||(t.data=!0),t.compat&&(t.useDepths=!0);var n=void 0;function o(){var s=r.parse(e,t),a=new r.Compiler().compile(s,t),c=new r.JavaScriptCompiler().compile(a,t,void 0,!0);return r.template(c)}function i(s,a){return n||(n=o()),n.call(this,s,a)}return i._setup=function(s){return n||(n=o()),n._setup(s)},i._child=function(s,a,c,u){return n||(n=o()),n._child(s,a,c,u)},i}function Fb(e,t){if(e===t)return!0;if(Hi.isArray(e)&&Hi.isArray(t)&&e.length===t.length){for(var r=0;r<e.length;r++)if(!Fb(e[r],t[r]))return!1;return!0}}function Zb(e){if(!e.path.parts){var t=e.path;e.path={type:"PathExpression",data:!1,depth:0,parts:[t.original+""],original:t.original+"",loc:t.loc}}}});var Vb=k(ah=>{var Bb="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");ah.encode=function(e){if(0<=e&&e<Bb.length)return Bb[e];throw new TypeError("Must be between 0 and 63: "+e)};ah.decode=function(e){var t=65,r=90,n=97,o=122,i=48,s=57,a=43,c=47,u=26,p=52;return t<=e&&e<=r?e-t:n<=e&&e<=o?e-n+u:i<=e&&e<=s?e-i+p:e==a?62:e==c?63:-1}});var lh=k(uh=>{var Hb=Vb(),ch=5,Gb=1<<ch,Kb=Gb-1,Wb=Gb;function Vj(e){return e<0?(-e<<1)+1:(e<<1)+0}function Hj(e){var t=(e&1)===1,r=e>>1;return t?-r:r}uh.encode=function(t){var r="",n,o=Vj(t);do n=o&Kb,o>>>=ch,o>0&&(n|=Wb),r+=Hb.encode(n);while(o>0);return r};uh.decode=function(t,r,n){var o=t.length,i=0,s=0,a,c;do{if(r>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(c=Hb.decode(t.charCodeAt(r++)),c===-1)throw new Error("Invalid base64 digit: "+t.charAt(r-1));a=!!(c&Wb),c&=Kb,i=i+(c<<s),s+=ch}while(a);n.value=Hj(i),n.rest=r}});var xo=k(Be=>{function Gj(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}Be.getArg=Gj;var Jb=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,Kj=/^data:.+\,.+$/;function Ki(e){var t=e.match(Jb);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}Be.urlParse=Ki;function yo(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}Be.urlGenerate=yo;function ph(e){var t=e,r=Ki(e);if(r){if(!r.path)return e;t=r.path}for(var n=Be.isAbsolute(t),o=t.split(/\/+/),i,s=0,a=o.length-1;a>=0;a--)i=o[a],i==="."?o.splice(a,1):i===".."?s++:s>0&&(i===""?(o.splice(a+1,s),s=0):(o.splice(a,2),s--));return t=o.join("/"),t===""&&(t=n?"/":"."),r?(r.path=t,yo(r)):t}Be.normalize=ph;function Yb(e,t){e===""&&(e="."),t===""&&(t=".");var r=Ki(t),n=Ki(e);if(n&&(e=n.path||"/"),r&&!r.scheme)return n&&(r.scheme=n.scheme),yo(r);if(r||t.match(Kj))return t;if(n&&!n.host&&!n.path)return n.host=t,yo(n);var o=t.charAt(0)==="/"?t:ph(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=o,yo(n)):o}Be.join=Yb;Be.isAbsolute=function(e){return e.charAt(0)==="/"||Jb.test(e)};function Wj(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.indexOf(e+"/")!==0;){var n=e.lastIndexOf("/");if(n<0||(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/)))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}Be.relative=Wj;var Qb=(function(){var e=Object.create(null);return!("__proto__"in e)})();function Xb(e){return e}function Jj(e){return ek(e)?"$"+e:e}Be.toSetString=Qb?Xb:Jj;function Yj(e){return ek(e)?e.slice(1):e}Be.fromSetString=Qb?Xb:Yj;function ek(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function Qj(e,t,r){var n=vo(e.source,t.source);return n!==0||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:vo(e.name,t.name)}Be.compareByOriginalPositions=Qj;function Xj(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0||r)||(n=vo(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:vo(e.name,t.name)}Be.compareByGeneratedPositionsDeflated=Xj;function vo(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function eM(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=vo(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:vo(e.name,t.name)}Be.compareByGeneratedPositionsInflated=eM;function tM(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}Be.parseSourceMapInput=tM;function rM(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),r){var n=Ki(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var o=n.path.lastIndexOf("/");o>=0&&(n.path=n.path.substring(0,o+1))}t=Yb(yo(n),t)}return ph(t)}Be.computeSourceURL=rM});var hh=k(tk=>{var dh=xo(),fh=Object.prototype.hasOwnProperty,En=typeof Map<"u";function dr(){this._array=[],this._set=En?new Map:Object.create(null)}dr.fromArray=function(t,r){for(var n=new dr,o=0,i=t.length;o<i;o++)n.add(t[o],r);return n};dr.prototype.size=function(){return En?this._set.size:Object.getOwnPropertyNames(this._set).length};dr.prototype.add=function(t,r){var n=En?t:dh.toSetString(t),o=En?this.has(t):fh.call(this._set,n),i=this._array.length;(!o||r)&&this._array.push(t),o||(En?this._set.set(t,i):this._set[n]=i)};dr.prototype.has=function(t){if(En)return this._set.has(t);var r=dh.toSetString(t);return fh.call(this._set,r)};dr.prototype.indexOf=function(t){if(En){var r=this._set.get(t);if(r>=0)return r}else{var n=dh.toSetString(t);if(fh.call(this._set,n))return this._set[n]}throw new Error('"'+t+'" is not in the set.')};dr.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)};dr.prototype.toArray=function(){return this._array.slice()};tk.ArraySet=dr});var ok=k(nk=>{var rk=xo();function nM(e,t){var r=e.generatedLine,n=t.generatedLine,o=e.generatedColumn,i=t.generatedColumn;return n>r||n==r&&i>=o||rk.compareByGeneratedPositionsInflated(e,t)<=0}function Sc(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}Sc.prototype.unsortedForEach=function(t,r){this._array.forEach(t,r)};Sc.prototype.add=function(t){nM(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};Sc.prototype.toArray=function(){return this._sorted||(this._array.sort(rk.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};nk.MappingList=Sc});var mh=k(ik=>{var Wi=lh(),$e=xo(),Tc=hh().ArraySet,oM=ok().MappingList;function Pt(e){e||(e={}),this._file=$e.getArg(e,"file",null),this._sourceRoot=$e.getArg(e,"sourceRoot",null),this._skipValidation=$e.getArg(e,"skipValidation",!1),this._sources=new Tc,this._names=new Tc,this._mappings=new oM,this._sourcesContents=null}Pt.prototype._version=3;Pt.fromSourceMap=function(t){var r=t.sourceRoot,n=new Pt({file:t.file,sourceRoot:r});return t.eachMapping(function(o){var i={generated:{line:o.generatedLine,column:o.generatedColumn}};o.source!=null&&(i.source=o.source,r!=null&&(i.source=$e.relative(r,i.source)),i.original={line:o.originalLine,column:o.originalColumn},o.name!=null&&(i.name=o.name)),n.addMapping(i)}),t.sources.forEach(function(o){var i=o;r!==null&&(i=$e.relative(r,o)),n._sources.has(i)||n._sources.add(i);var s=t.sourceContentFor(o);s!=null&&n.setSourceContent(o,s)}),n};Pt.prototype.addMapping=function(t){var r=$e.getArg(t,"generated"),n=$e.getArg(t,"original",null),o=$e.getArg(t,"source",null),i=$e.getArg(t,"name",null);this._skipValidation||this._validateMapping(r,n,o,i),o!=null&&(o=String(o),this._sources.has(o)||this._sources.add(o)),i!=null&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:o,name:i})};Pt.prototype.setSourceContent=function(t,r){var n=t;this._sourceRoot!=null&&(n=$e.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[$e.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[$e.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};Pt.prototype.applySourceMap=function(t,r,n){var o=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);o=t.file}var i=this._sourceRoot;i!=null&&(o=$e.relative(i,o));var s=new Tc,a=new Tc;this._mappings.unsortedForEach(function(c){if(c.source===o&&c.originalLine!=null){var u=t.originalPositionFor({line:c.originalLine,column:c.originalColumn});u.source!=null&&(c.source=u.source,n!=null&&(c.source=$e.join(n,c.source)),i!=null&&(c.source=$e.relative(i,c.source)),c.originalLine=u.line,c.originalColumn=u.column,u.name!=null&&(c.name=u.name))}var p=c.source;p!=null&&!s.has(p)&&s.add(p);var l=c.name;l!=null&&!a.has(l)&&a.add(l)},this),this._sources=s,this._names=a,t.sources.forEach(function(c){var u=t.sourceContentFor(c);u!=null&&(n!=null&&(c=$e.join(n,c)),i!=null&&(c=$e.relative(i,c)),this.setSourceContent(c,u))},this)};Pt.prototype._validateMapping=function(t,r,n,o){if(r&&typeof r.line!="number"&&typeof r.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!o)){if(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n)return;throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:o}))}};Pt.prototype._serializeMappings=function(){for(var t=0,r=1,n=0,o=0,i=0,s=0,a="",c,u,p,l,d=this._mappings.toArray(),h=0,f=d.length;h<f;h++){if(u=d[h],c="",u.generatedLine!==r)for(t=0;u.generatedLine!==r;)c+=";",r++;else if(h>0){if(!$e.compareByGeneratedPositionsInflated(u,d[h-1]))continue;c+=","}c+=Wi.encode(u.generatedColumn-t),t=u.generatedColumn,u.source!=null&&(l=this._sources.indexOf(u.source),c+=Wi.encode(l-s),s=l,c+=Wi.encode(u.originalLine-1-o),o=u.originalLine-1,c+=Wi.encode(u.originalColumn-n),n=u.originalColumn,u.name!=null&&(p=this._names.indexOf(u.name),c+=Wi.encode(p-i),i=p)),a+=c}return a};Pt.prototype._generateSourcesContent=function(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=$e.relative(r,n));var o=$e.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o)?this._sourcesContents[o]:null},this)};Pt.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};Pt.prototype.toString=function(){return JSON.stringify(this.toJSON())};ik.SourceMapGenerator=Pt});var sk=k(zn=>{zn.GREATEST_LOWER_BOUND=1;zn.LEAST_UPPER_BOUND=2;function gh(e,t,r,n,o,i){var s=Math.floor((t-e)/2)+e,a=o(r,n[s],!0);return a===0?s:a>0?t-s>1?gh(s,t,r,n,o,i):i==zn.LEAST_UPPER_BOUND?t<n.length?t:-1:s:s-e>1?gh(e,s,r,n,o,i):i==zn.LEAST_UPPER_BOUND?s:e<0?-1:e}zn.search=function(t,r,n,o){if(r.length===0)return-1;var i=gh(-1,r.length,t,r,n,o||zn.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&n(r[i],r[i-1],!0)===0;)--i;return i}});var ck=k(ak=>{function _h(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function iM(e,t){return Math.round(e+Math.random()*(t-e))}function yh(e,t,r,n){if(r<n){var o=iM(r,n),i=r-1;_h(e,o,n);for(var s=e[n],a=r;a<n;a++)t(e[a],s)<=0&&(i+=1,_h(e,i,a));_h(e,i+1,a);var c=i+1;yh(e,t,r,c-1),yh(e,t,c+1,n)}}ak.quickSort=function(e,t){yh(e,t,0,e.length-1)}});var lk=k($c=>{var C=xo(),vh=sk(),bo=hh().ArraySet,sM=lh(),Ji=ck().quickSort;function he(e,t){var r=e;return typeof e=="string"&&(r=C.parseSourceMapInput(e)),r.sections!=null?new Mt(r,t):new De(r,t)}he.fromSourceMap=function(e,t){return De.fromSourceMap(e,t)};he.prototype._version=3;he.prototype.__generatedMappings=null;Object.defineProperty(he.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});he.prototype.__originalMappings=null;Object.defineProperty(he.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});he.prototype._charIsMappingSeparator=function(t,r){var n=t.charAt(r);return n===";"||n===","};he.prototype._parseMappings=function(t,r){throw new Error("Subclasses must implement _parseMappings")};he.GENERATED_ORDER=1;he.ORIGINAL_ORDER=2;he.GREATEST_LOWER_BOUND=1;he.LEAST_UPPER_BOUND=2;he.prototype.eachMapping=function(t,r,n){var o=r||null,i=n||he.GENERATED_ORDER,s;switch(i){case he.GENERATED_ORDER:s=this._generatedMappings;break;case he.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var a=this.sourceRoot;s.map(function(c){var u=c.source===null?null:this._sources.at(c.source);return u=C.computeSourceURL(a,u,this._sourceMapURL),{source:u,generatedLine:c.generatedLine,generatedColumn:c.generatedColumn,originalLine:c.originalLine,originalColumn:c.originalColumn,name:c.name===null?null:this._names.at(c.name)}},this).forEach(t,o)};he.prototype.allGeneratedPositionsFor=function(t){var r=C.getArg(t,"line"),n={source:C.getArg(t,"source"),originalLine:r,originalColumn:C.getArg(t,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var o=[],i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",C.compareByOriginalPositions,vh.LEAST_UPPER_BOUND);if(i>=0){var s=this._originalMappings[i];if(t.column===void 0)for(var a=s.originalLine;s&&s.originalLine===a;)o.push({line:C.getArg(s,"generatedLine",null),column:C.getArg(s,"generatedColumn",null),lastColumn:C.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===r&&s.originalColumn==c;)o.push({line:C.getArg(s,"generatedLine",null),column:C.getArg(s,"generatedColumn",null),lastColumn:C.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return o};$c.SourceMapConsumer=he;function De(e,t){var r=e;typeof e=="string"&&(r=C.parseSourceMapInput(e));var n=C.getArg(r,"version"),o=C.getArg(r,"sources"),i=C.getArg(r,"names",[]),s=C.getArg(r,"sourceRoot",null),a=C.getArg(r,"sourcesContent",null),c=C.getArg(r,"mappings"),u=C.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);s&&(s=C.normalize(s)),o=o.map(String).map(C.normalize).map(function(p){return s&&C.isAbsolute(s)&&C.isAbsolute(p)?C.relative(s,p):p}),this._names=bo.fromArray(i.map(String),!0),this._sources=bo.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(p){return C.computeSourceURL(s,p,t)}),this.sourceRoot=s,this.sourcesContent=a,this._mappings=c,this._sourceMapURL=t,this.file=u}De.prototype=Object.create(he.prototype);De.prototype.consumer=he;De.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=C.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var r;for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==e)return r;return-1};De.fromSourceMap=function(t,r){var n=Object.create(De.prototype),o=n._names=bo.fromArray(t._names.toArray(),!0),i=n._sources=bo.fromArray(t._sources.toArray(),!0);n.sourceRoot=t._sourceRoot,n.sourcesContent=t._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=t._file,n._sourceMapURL=r,n._absoluteSources=n._sources.toArray().map(function(h){return C.computeSourceURL(n.sourceRoot,h,r)});for(var s=t._mappings.toArray().slice(),a=n.__generatedMappings=[],c=n.__originalMappings=[],u=0,p=s.length;u<p;u++){var l=s[u],d=new uk;d.generatedLine=l.generatedLine,d.generatedColumn=l.generatedColumn,l.source&&(d.source=i.indexOf(l.source),d.originalLine=l.originalLine,d.originalColumn=l.originalColumn,l.name&&(d.name=o.indexOf(l.name)),c.push(d)),a.push(d)}return Ji(n.__originalMappings,C.compareByOriginalPositions),n};De.prototype._version=3;Object.defineProperty(De.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function uk(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}De.prototype._parseMappings=function(t,r){for(var n=1,o=0,i=0,s=0,a=0,c=0,u=t.length,p=0,l={},d={},h=[],f=[],g,_,v,y,S;p<u;)if(t.charAt(p)===";")n++,p++,o=0;else if(t.charAt(p)===",")p++;else{for(g=new uk,g.generatedLine=n,y=p;y<u&&!this._charIsMappingSeparator(t,y);y++);if(_=t.slice(p,y),v=l[_],v)p+=_.length;else{for(v=[];p<y;)sM.decode(t,p,d),S=d.value,p=d.rest,v.push(S);if(v.length===2)throw new Error("Found a source, but no line and column");if(v.length===3)throw new Error("Found a source and line, but no column");l[_]=v}g.generatedColumn=o+v[0],o=g.generatedColumn,v.length>1&&(g.source=a+v[1],a+=v[1],g.originalLine=i+v[2],i=g.originalLine,g.originalLine+=1,g.originalColumn=s+v[3],s=g.originalColumn,v.length>4&&(g.name=c+v[4],c+=v[4])),f.push(g),typeof g.originalLine=="number"&&h.push(g)}Ji(f,C.compareByGeneratedPositionsDeflated),this.__generatedMappings=f,Ji(h,C.compareByOriginalPositions),this.__originalMappings=h};De.prototype._findMapping=function(t,r,n,o,i,s){if(t[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[n]);if(t[o]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[o]);return vh.search(t,r,i,s)};De.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var r=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var n=this._generatedMappings[t+1];if(r.generatedLine===n.generatedLine){r.lastGeneratedColumn=n.generatedColumn-1;continue}}r.lastGeneratedColumn=1/0}};De.prototype.originalPositionFor=function(t){var r={generatedLine:C.getArg(t,"line"),generatedColumn:C.getArg(t,"column")},n=this._findMapping(r,this._generatedMappings,"generatedLine","generatedColumn",C.compareByGeneratedPositionsDeflated,C.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(n>=0){var o=this._generatedMappings[n];if(o.generatedLine===r.generatedLine){var i=C.getArg(o,"source",null);i!==null&&(i=this._sources.at(i),i=C.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=C.getArg(o,"name",null);return s!==null&&(s=this._names.at(s)),{source:i,line:C.getArg(o,"originalLine",null),column:C.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}};De.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};De.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var o=t;this.sourceRoot!=null&&(o=C.relative(this.sourceRoot,o));var i;if(this.sourceRoot!=null&&(i=C.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||i.path=="/")&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(r)return null;throw new Error('"'+o+'" is not in the SourceMap.')};De.prototype.generatedPositionFor=function(t){var r=C.getArg(t,"source");if(r=this._findSourceIndex(r),r<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:C.getArg(t,"line"),originalColumn:C.getArg(t,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",C.compareByOriginalPositions,C.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===n.source)return{line:C.getArg(i,"generatedLine",null),column:C.getArg(i,"generatedColumn",null),lastColumn:C.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};$c.BasicSourceMapConsumer=De;function Mt(e,t){var r=e;typeof e=="string"&&(r=C.parseSourceMapInput(e));var n=C.getArg(r,"version"),o=C.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new bo,this._names=new bo;var i={line:-1,column:0};this._sections=o.map(function(s){if(s.url)throw new Error("Support for url field in sections not implemented.");var a=C.getArg(s,"offset"),c=C.getArg(a,"line"),u=C.getArg(a,"column");if(c<i.line||c===i.line&&u<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=a,{generatedOffset:{generatedLine:c+1,generatedColumn:u+1},consumer:new he(C.getArg(s,"map"),t)}})}Mt.prototype=Object.create(he.prototype);Mt.prototype.constructor=he;Mt.prototype._version=3;Object.defineProperty(Mt.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}});Mt.prototype.originalPositionFor=function(t){var r={generatedLine:C.getArg(t,"line"),generatedColumn:C.getArg(t,"column")},n=vh.search(r,this._sections,function(i,s){var a=i.generatedLine-s.generatedOffset.generatedLine;return a||i.generatedColumn-s.generatedOffset.generatedColumn}),o=this._sections[n];return o?o.consumer.originalPositionFor({line:r.generatedLine-(o.generatedOffset.generatedLine-1),column:r.generatedColumn-(o.generatedOffset.generatedLine===r.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}};Mt.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(t){return t.consumer.hasContentsOfAllSources()})};Mt.prototype.sourceContentFor=function(t,r){for(var n=0;n<this._sections.length;n++){var o=this._sections[n],i=o.consumer.sourceContentFor(t,!0);if(i)return i}if(r)return null;throw new Error('"'+t+'" is not in the SourceMap.')};Mt.prototype.generatedPositionFor=function(t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r];if(n.consumer._findSourceIndex(C.getArg(t,"source"))!==-1){var o=n.consumer.generatedPositionFor(t);if(o){var i={line:o.line+(n.generatedOffset.generatedLine-1),column:o.column+(n.generatedOffset.generatedLine===o.line?n.generatedOffset.generatedColumn-1:0)};return i}}}return{line:null,column:null}};Mt.prototype._parseMappings=function(t,r){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var o=this._sections[n],i=o.consumer._generatedMappings,s=0;s<i.length;s++){var a=i[s],c=o.consumer._sources.at(a.source);c=C.computeSourceURL(o.consumer.sourceRoot,c,this._sourceMapURL),this._sources.add(c),c=this._sources.indexOf(c);var u=null;a.name&&(u=o.consumer._names.at(a.name),this._names.add(u),u=this._names.indexOf(u));var p={source:c,generatedLine:a.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(o.generatedOffset.generatedLine===a.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:u};this.__generatedMappings.push(p),typeof p.originalLine=="number"&&this.__originalMappings.push(p)}Ji(this.__generatedMappings,C.compareByGeneratedPositionsDeflated),Ji(this.__originalMappings,C.compareByOriginalPositions)};$c.IndexedSourceMapConsumer=Mt});var dk=k(pk=>{var aM=mh().SourceMapGenerator,Pc=xo(),cM=/(\r?\n)/,uM=10,ko="$$$isSourceNode$$$";function dt(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=r??null,this.name=o??null,this[ko]=!0,n!=null&&this.add(n)}dt.fromStringWithSourceMap=function(t,r,n){var o=new dt,i=t.split(cM),s=0,a=function(){var d=f(),h=f()||"";return d+h;function f(){return s<i.length?i[s++]:void 0}},c=1,u=0,p=null;return r.eachMapping(function(d){if(p!==null)if(c<d.generatedLine)l(p,a()),c++,u=0;else{var h=i[s]||"",f=h.substr(0,d.generatedColumn-u);i[s]=h.substr(d.generatedColumn-u),u=d.generatedColumn,l(p,f),p=d;return}for(;c<d.generatedLine;)o.add(a()),c++;if(u<d.generatedColumn){var h=i[s]||"";o.add(h.substr(0,d.generatedColumn)),i[s]=h.substr(d.generatedColumn),u=d.generatedColumn}p=d},this),s<i.length&&(p&&l(p,a()),o.add(i.splice(s).join(""))),r.sources.forEach(function(d){var h=r.sourceContentFor(d);h!=null&&(n!=null&&(d=Pc.join(n,d)),o.setSourceContent(d,h))}),o;function l(d,h){if(d===null||d.source===void 0)o.add(h);else{var f=n?Pc.join(n,d.source):d.source;o.add(new dt(d.originalLine,d.originalColumn,f,h,d.name))}}};dt.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(r){this.add(r)},this);else if(t[ko]||typeof t=="string")t&&this.children.push(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};dt.prototype.prepend=function(t){if(Array.isArray(t))for(var r=t.length-1;r>=0;r--)this.prepend(t[r]);else if(t[ko]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};dt.prototype.walk=function(t){for(var r,n=0,o=this.children.length;n<o;n++)r=this.children[n],r[ko]?r.walk(t):r!==""&&t(r,{source:this.source,line:this.line,column:this.column,name:this.name})};dt.prototype.join=function(t){var r,n,o=this.children.length;if(o>0){for(r=[],n=0;n<o-1;n++)r.push(this.children[n]),r.push(t);r.push(this.children[n]),this.children=r}return this};dt.prototype.replaceRight=function(t,r){var n=this.children[this.children.length-1];return n[ko]?n.replaceRight(t,r):typeof n=="string"?this.children[this.children.length-1]=n.replace(t,r):this.children.push("".replace(t,r)),this};dt.prototype.setSourceContent=function(t,r){this.sourceContents[Pc.toSetString(t)]=r};dt.prototype.walkSourceContents=function(t){for(var r=0,n=this.children.length;r<n;r++)this.children[r][ko]&&this.children[r].walkSourceContents(t);for(var o=Object.keys(this.sourceContents),r=0,n=o.length;r<n;r++)t(Pc.fromSetString(o[r]),this.sourceContents[o[r]])};dt.prototype.toString=function(){var t="";return this.walk(function(r){t+=r}),t};dt.prototype.toStringWithSourceMap=function(t){var r={code:"",line:1,column:0},n=new aM(t),o=!1,i=null,s=null,a=null,c=null;return this.walk(function(u,p){r.code+=u,p.source!==null&&p.line!==null&&p.column!==null?((i!==p.source||s!==p.line||a!==p.column||c!==p.name)&&n.addMapping({source:p.source,original:{line:p.line,column:p.column},generated:{line:r.line,column:r.column},name:p.name}),i=p.source,s=p.line,a=p.column,c=p.name,o=!0):o&&(n.addMapping({generated:{line:r.line,column:r.column}}),i=null,o=!1);for(var l=0,d=u.length;l<d;l++)u.charCodeAt(l)===uM?(r.line++,r.column=0,l+1===d?(i=null,o=!1):o&&n.addMapping({source:p.source,original:{line:p.line,column:p.column},generated:{line:r.line,column:r.column},name:p.name})):r.column++}),this.walkSourceContents(function(u,p){n.setSourceContent(u,p)}),{code:r.code,map:n}};pk.SourceNode=dt});var fk=k(Ec=>{Ec.SourceMapGenerator=mh().SourceMapGenerator;Ec.SourceMapConsumer=lk().SourceMapConsumer;Ec.SourceNode=dk().SourceNode});var _k=k((zc,gk)=>{"use strict";zc.__esModule=!0;var bh=Je(),Cn=void 0;try{(typeof define!="function"||!define.amd)&&(hk=fk(),Cn=hk.SourceNode)}catch{}var hk;Cn||(Cn=function(e,t,r,n){this.src="",n&&this.add(n)},Cn.prototype={add:function(t){bh.isArray(t)&&(t=t.join("")),this.src+=t},prepend:function(t){bh.isArray(t)&&(t=t.join("")),this.src=t+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}});function xh(e,t,r){if(bh.isArray(e)){for(var n=[],o=0,i=e.length;o<i;o++)n.push(t.wrap(e[o],r));return n}else if(typeof e=="boolean"||typeof e=="number")return e+"";return e}function mk(e){this.srcFile=e,this.source=[]}mk.prototype={isEmpty:function(){return!this.source.length},prepend:function(t,r){this.source.unshift(this.wrap(t,r))},push:function(t,r){this.source.push(this.wrap(t,r))},merge:function(){var t=this.empty();return this.each(function(r){t.add([" ",r,`
|
|
19
|
-
`])}),t},each:function(t){for(var r=0,n=this.source.length;r<n;r++)t(this.source[r])},empty:function(){var t=this.currentLocation||{start:{}};return new
|
|
18
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var i=this.next();return typeof i<"u"?i:this.lex()},begin:function(i){this.conditionStack.push(i)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(i){this.begin(i)}};return n.options={},n.performAction=function(i,s,a,c){function u(l,d){return s.yytext=s.yytext.substring(l,s.yyleng-d+l)}var p=c;switch(a){case 0:if(s.yytext.slice(-2)==="\\\\"?(u(0,1),this.begin("mu")):s.yytext.slice(-1)==="\\"?(u(0,1),this.begin("emu")):this.begin("mu"),s.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(u(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(s.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return s.yytext=u(1,2).replace(/\\"/g,'"'),80;break;case 32:return s.yytext=u(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return s.yytext=s.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},n.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],n.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},n})();e.lexer=t;function r(){this.yy={}}return r.prototype=e,e.Parser=r,new r})();hc.default=Vj;Rb.exports=hc.default});var yc=k((_c,Db)=>{"use strict";_c.__esModule=!0;function Hj(e){return e&&e.__esModule?e:{default:e}}var Gj=wt(),Xf=Hj(Gj);function mc(){this.parents=[]}mc.prototype={constructor:mc,mutating:!1,acceptKey:function(t,r){var n=this.accept(t[r]);if(this.mutating){if(n&&!mc.prototype[n.type])throw new Xf.default('Unexpected node type "'+n.type+'" found when accepting '+r+" on "+t.type);t[r]=n}},acceptRequired:function(t,r){if(this.acceptKey(t,r),!t[r])throw new Xf.default(t.type+" requires "+r)},acceptArray:function(t){for(var r=0,n=t.length;r<n;r++)this.acceptKey(t,r),t[r]||(t.splice(r,1),r--,n--)},accept:function(t){if(t){if(!this[t.type])throw new Xf.default("Unknown type: "+t.type,t);this.current&&this.parents.unshift(this.current),this.current=t;var r=this[t.type](t);if(this.current=this.parents.shift(),!this.mutating||r)return r;if(r!==!1)return t}},Program:function(t){this.acceptArray(t.body)},MustacheStatement:gc,Decorator:gc,BlockStatement:Ob,DecoratorBlock:Ob,PartialStatement:Nb,PartialBlockStatement:function(t){Nb.call(this,t),this.acceptKey(t,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:gc,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(t){this.acceptArray(t.pairs)},HashPair:function(t){this.acceptRequired(t,"value")}};function gc(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash")}function Ob(e){gc.call(this,e),this.acceptKey(e,"program"),this.acceptKey(e,"inverse")}function Nb(e){this.acceptRequired(e,"name"),this.acceptArray(e.params),this.acceptKey(e,"hash")}_c.default=mc;Db.exports=_c.default});var Mb=k((vc,jb)=>{"use strict";vc.__esModule=!0;function Kj(e){return e&&e.__esModule?e:{default:e}}var Wj=yc(),Jj=Kj(Wj);function Jt(){var e=arguments.length<=0||arguments[0]===void 0?{}:arguments[0];this.options=e}Jt.prototype=new Jj.default;Jt.prototype.Program=function(e){var t=!this.options.ignoreStandalone,r=!this.isRootSeen;this.isRootSeen=!0;for(var n=e.body,o=0,i=n.length;o<i;o++){var s=n[o],a=this.accept(s);if(a){var c=eh(n,o,r),u=th(n,o,r),p=a.openStandalone&&c,l=a.closeStandalone&&u,d=a.inlineStandalone&&c&&u;a.close&&Tn(n,o,!0),a.open&&Mr(n,o,!0),t&&d&&(Tn(n,o),Mr(n,o)&&s.type==="PartialStatement"&&(s.indent=/([ \t]+$)/.exec(n[o-1].original)[1])),t&&p&&(Tn((s.program||s.inverse).body),Mr(n,o)),t&&l&&(Tn(n,o),Mr((s.inverse||s.program).body))}}return e};Jt.prototype.BlockStatement=Jt.prototype.DecoratorBlock=Jt.prototype.PartialBlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,r=e.program&&e.inverse,n=r,o=r;if(r&&r.chained)for(n=r.body[0].program;o.chained;)o=o.body[o.body.length-1].program;var i={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:th(t.body),closeStandalone:eh((n||t).body)};if(e.openStrip.close&&Tn(t.body,null,!0),r){var s=e.inverseStrip;s.open&&Mr(t.body,null,!0),s.close&&Tn(n.body,null,!0),e.closeStrip.open&&Mr(o.body,null,!0),!this.options.ignoreStandalone&&eh(t.body)&&th(n.body)&&(Mr(t.body),Tn(n.body))}else e.closeStrip.open&&Mr(t.body,null,!0);return i};Jt.prototype.Decorator=Jt.prototype.MustacheStatement=function(e){return e.strip};Jt.prototype.PartialStatement=Jt.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}};function eh(e,t,r){t===void 0&&(t=e.length);var n=e[t-1],o=e[t-2];if(!n)return r;if(n.type==="ContentStatement")return(o||!r?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(n.original)}function th(e,t,r){t===void 0&&(t=-1);var n=e[t+1],o=e[t+2];if(!n)return r;if(n.type==="ContentStatement")return(o||!r?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(n.original)}function Tn(e,t,r){var n=e[t==null?0:t+1];if(!(!n||n.type!=="ContentStatement"||!r&&n.rightStripped)){var o=n.value;n.value=n.value.replace(r?/^\s+/:/^[ \t]*\r?\n?/,""),n.rightStripped=n.value!==o}}function Mr(e,t,r){var n=e[t==null?e.length-1:t-1];if(!(!n||n.type!=="ContentStatement"||!r&&n.leftStripped)){var o=n.value;return n.value=n.value.replace(r?/\s+$/:/[ \t]+$/,""),n.leftStripped=n.value!==o,n.leftStripped}}vc.default=Jt;jb.exports=vc.default});var Lb=k(Tt=>{"use strict";Tt.__esModule=!0;Tt.SourceLocation=Xj;Tt.id=e3;Tt.stripFlags=t3;Tt.stripComment=r3;Tt.preparePath=n3;Tt.prepareMustache=o3;Tt.prepareRawBlock=i3;Tt.prepareBlock=s3;Tt.prepareProgram=a3;Tt.preparePartialBlock=c3;function Yj(e){return e&&e.__esModule?e:{default:e}}var Qj=wt(),rh=Yj(Qj);function nh(e,t){if(t=t.path?t.path.original:t,e.path.original!==t){var r={loc:e.path.loc};throw new rh.default(e.path.original+" doesn't match "+t,r)}}function Xj(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}}function e3(e){return/^\[.*\]$/.test(e)?e.substring(1,e.length-1):e}function t3(e,t){return{open:e.charAt(2)==="~",close:t.charAt(t.length-3)==="~"}}function r3(e){return e.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function n3(e,t,r){r=this.locInfo(r);for(var n=e?"@":"",o=[],i=0,s=0,a=t.length;s<a;s++){var c=t[s].part,u=t[s].original!==c;if(n+=(t[s].separator||"")+c,!u&&(c===".."||c==="."||c==="this")){if(o.length>0)throw new rh.default("Invalid path: "+n,{loc:r});c===".."&&i++}else o.push(c)}return{type:"PathExpression",data:e,depth:i,parts:o,original:n,loc:r}}function o3(e,t,r,n,o,i){var s=n.charAt(3)||n.charAt(2),a=s!=="{"&&s!=="&",c=/\*/.test(n);return{type:c?"Decorator":"MustacheStatement",path:e,params:t,hash:r,escaped:a,strip:o,loc:this.locInfo(i)}}function i3(e,t,r,n){nh(e,r),n=this.locInfo(n);var o={type:"Program",body:t,strip:{},loc:n};return{type:"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:o,openStrip:{},inverseStrip:{},closeStrip:{},loc:n}}function s3(e,t,r,n,o,i){n&&n.path&&nh(e,n);var s=/\*/.test(e.open);t.blockParams=e.blockParams;var a=void 0,c=void 0;if(r){if(s)throw new rh.default("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=n.strip),c=r.strip,a=r.program}return o&&(o=a,a=t,t=o),{type:s?"DecoratorBlock":"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:t,inverse:a,openStrip:e.strip,inverseStrip:c,closeStrip:n&&n.strip,loc:this.locInfo(i)}}function a3(e,t){if(!t&&e.length){var r=e[0].loc,n=e[e.length-1].loc;r&&n&&(t={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:e,strip:{},loc:t}}function c3(e,t,r,n){return nh(e,r),{type:"PartialBlockStatement",name:e.path,params:e.params,hash:e.hash,program:t,openStrip:e.strip,closeStrip:r&&r.strip,loc:this.locInfo(n)}}});var Fb=k(Zi=>{"use strict";Zi.__esModule=!0;Zi.parseWithoutProcessing=qb;Zi.parse=g3;function u3(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function Zb(e){return e&&e.__esModule?e:{default:e}}var l3=Ab(),oh=Zb(l3),p3=Mb(),d3=Zb(p3),f3=Lb(),h3=u3(f3),m3=Je();Zi.parser=oh.default;var xc={};m3.extend(xc,h3);function qb(e,t){if(e.type==="Program")return e;oh.default.yy=xc,xc.locInfo=function(n){return new xc.SourceLocation(t&&t.srcName,n)};var r=oh.default.parse(e);return r}function g3(e,t){var r=qb(e,t),n=new d3.default(t);return n.accept(r)}});var Hb=k(Bi=>{"use strict";Bi.__esModule=!0;Bi.Compiler=ih;Bi.precompile=x3;Bi.compile=b3;function Bb(e){return e&&e.__esModule?e:{default:e}}var _3=wt(),Fi=Bb(_3),Ui=Je(),y3=Qf(),qi=Bb(y3),v3=[].slice;function ih(){}ih.prototype={compiler:ih,equals:function(t){var r=this.opcodes.length;if(t.opcodes.length!==r)return!1;for(var n=0;n<r;n++){var o=this.opcodes[n],i=t.opcodes[n];if(o.opcode!==i.opcode||!Vb(o.args,i.args))return!1}r=this.children.length;for(var n=0;n<r;n++)if(!this.children[n].equals(t.children[n]))return!1;return!0},guid:0,compile:function(t,r){return this.sourceNode=[],this.opcodes=[],this.children=[],this.options=r,this.stringParams=r.stringParams,this.trackIds=r.trackIds,r.blockParams=r.blockParams||[],r.knownHelpers=Ui.extend(Object.create(null),{helperMissing:!0,blockHelperMissing:!0,each:!0,if:!0,unless:!0,with:!0,log:!0,lookup:!0},r.knownHelpers),this.accept(t)},compileProgram:function(t){var r=new this.compiler,n=r.compile(t,this.options),o=this.guid++;return this.usePartial=this.usePartial||n.usePartial,this.children[o]=n,this.useDepths=this.useDepths||n.useDepths,o},accept:function(t){if(!this[t.type])throw new Fi.default("Unknown type: "+t.type,t);this.sourceNode.unshift(t);var r=this[t.type](t);return this.sourceNode.shift(),r},Program:function(t){this.options.blockParams.unshift(t.blockParams);for(var r=t.body,n=r.length,o=0;o<n;o++)this.accept(r[o]);return this.options.blockParams.shift(),this.isSimple=n===1,this.blockParams=t.blockParams?t.blockParams.length:0,this},BlockStatement:function(t){Ub(t);var r=t.program,n=t.inverse;r=r&&this.compileProgram(r),n=n&&this.compileProgram(n);var o=this.classifySexpr(t);o==="helper"?this.helperSexpr(t,r,n):o==="simple"?(this.simpleSexpr(t),this.opcode("pushProgram",r),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("blockValue",t.path.original)):(this.ambiguousSexpr(t,r,n),this.opcode("pushProgram",r),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},DecoratorBlock:function(t){var r=t.program&&this.compileProgram(t.program),n=this.setupFullMustacheParams(t,r,void 0),o=t.path;this.useDecorators=!0,this.opcode("registerDecorator",n.length,o.original)},PartialStatement:function(t){this.usePartial=!0;var r=t.program;r&&(r=this.compileProgram(t.program));var n=t.params;if(n.length>1)throw new Fi.default("Unsupported number of partial arguments: "+n.length,t);n.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):n.push({type:"PathExpression",parts:[],depth:0}));var o=t.name.original,i=t.name.type==="SubExpression";i&&this.accept(t.name),this.setupFullMustacheParams(t,r,void 0,!0);var s=t.indent||"";this.options.preventIndent&&s&&(this.opcode("appendContent",s),s=""),this.opcode("invokePartial",i,o,s),this.opcode("append")},PartialBlockStatement:function(t){this.PartialStatement(t)},MustacheStatement:function(t){this.SubExpression(t),t.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(t){this.DecoratorBlock(t)},ContentStatement:function(t){t.value&&this.opcode("appendContent",t.value)},CommentStatement:function(){},SubExpression:function(t){Ub(t);var r=this.classifySexpr(t);r==="simple"?this.simpleSexpr(t):r==="helper"?this.helperSexpr(t):this.ambiguousSexpr(t)},ambiguousSexpr:function(t,r,n){var o=t.path,i=o.parts[0],s=r!=null||n!=null;this.opcode("getContext",o.depth),this.opcode("pushProgram",r),this.opcode("pushProgram",n),o.strict=!0,this.accept(o),this.opcode("invokeAmbiguous",i,s)},simpleSexpr:function(t){var r=t.path;r.strict=!0,this.accept(r),this.opcode("resolvePossibleLambda")},helperSexpr:function(t,r,n){var o=this.setupFullMustacheParams(t,r,n),i=t.path,s=i.parts[0];if(this.options.knownHelpers[s])this.opcode("invokeKnownHelper",o.length,s);else{if(this.options.knownHelpersOnly)throw new Fi.default("You specified knownHelpersOnly, but used the unknown helper "+s,t);i.strict=!0,i.falsy=!0,this.accept(i),this.opcode("invokeHelper",o.length,i.original,qi.default.helpers.simpleId(i))}},PathExpression:function(t){this.addDepth(t.depth),this.opcode("getContext",t.depth);var r=t.parts[0],n=qi.default.helpers.scopedId(t),o=!t.depth&&!n&&this.blockParamIndex(r);o?this.opcode("lookupBlockParam",o,t.parts):r?t.data?(this.options.data=!0,this.opcode("lookupData",t.depth,t.parts,t.strict)):this.opcode("lookupOnContext",t.parts,t.falsy,t.strict,n):this.opcode("pushContext")},StringLiteral:function(t){this.opcode("pushString",t.value)},NumberLiteral:function(t){this.opcode("pushLiteral",t.value)},BooleanLiteral:function(t){this.opcode("pushLiteral",t.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(t){var r=t.pairs,n=0,o=r.length;for(this.opcode("pushHash");n<o;n++)this.pushParam(r[n].value);for(;n--;)this.opcode("assignToHash",r[n].key);this.opcode("popHash")},opcode:function(t){this.opcodes.push({opcode:t,args:v3.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(t){t&&(this.useDepths=!0)},classifySexpr:function(t){var r=qi.default.helpers.simpleId(t.path),n=r&&!!this.blockParamIndex(t.path.parts[0]),o=!n&&qi.default.helpers.helperExpression(t),i=!n&&(o||r);if(i&&!o){var s=t.path.parts[0],a=this.options;a.knownHelpers[s]?o=!0:a.knownHelpersOnly&&(i=!1)}return o?"helper":i?"ambiguous":"simple"},pushParams:function(t){for(var r=0,n=t.length;r<n;r++)this.pushParam(t[r])},pushParam:function(t){var r=t.value!=null?t.value:t.original||"";if(this.stringParams)r.replace&&(r=r.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),t.depth&&this.addDepth(t.depth),this.opcode("getContext",t.depth||0),this.opcode("pushStringParam",r,t.type),t.type==="SubExpression"&&this.accept(t);else{if(this.trackIds){var n=void 0;if(t.parts&&!qi.default.helpers.scopedId(t)&&!t.depth&&(n=this.blockParamIndex(t.parts[0])),n){var o=t.parts.slice(1).join(".");this.opcode("pushId","BlockParam",n,o)}else r=t.original||r,r.replace&&(r=r.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",t.type,r)}this.accept(t)}},setupFullMustacheParams:function(t,r,n,o){var i=t.params;return this.pushParams(i),this.opcode("pushProgram",r),this.opcode("pushProgram",n),t.hash?this.accept(t.hash):this.opcode("emptyHash",o),i},blockParamIndex:function(t){for(var r=0,n=this.options.blockParams.length;r<n;r++){var o=this.options.blockParams[r],i=o&&Ui.indexOf(o,t);if(o&&i>=0)return[r,i]}}};function x3(e,t,r){if(e==null||typeof e!="string"&&e.type!=="Program")throw new Fi.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+e);t=t||{},"data"in t||(t.data=!0),t.compat&&(t.useDepths=!0);var n=r.parse(e,t),o=new r.Compiler().compile(n,t);return new r.JavaScriptCompiler().compile(o,t)}function b3(e,t,r){if(t===void 0&&(t={}),e==null||typeof e!="string"&&e.type!=="Program")throw new Fi.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+e);t=Ui.extend({},t),"data"in t||(t.data=!0),t.compat&&(t.useDepths=!0);var n=void 0;function o(){var s=r.parse(e,t),a=new r.Compiler().compile(s,t),c=new r.JavaScriptCompiler().compile(a,t,void 0,!0);return r.template(c)}function i(s,a){return n||(n=o()),n.call(this,s,a)}return i._setup=function(s){return n||(n=o()),n._setup(s)},i._child=function(s,a,c,u){return n||(n=o()),n._child(s,a,c,u)},i}function Vb(e,t){if(e===t)return!0;if(Ui.isArray(e)&&Ui.isArray(t)&&e.length===t.length){for(var r=0;r<e.length;r++)if(!Vb(e[r],t[r]))return!1;return!0}}function Ub(e){if(!e.path.parts){var t=e.path;e.path={type:"PathExpression",data:!1,depth:0,parts:[t.original+""],original:t.original+"",loc:t.loc}}}});var Kb=k(sh=>{var Gb="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");sh.encode=function(e){if(0<=e&&e<Gb.length)return Gb[e];throw new TypeError("Must be between 0 and 63: "+e)};sh.decode=function(e){var t=65,r=90,n=97,o=122,i=48,s=57,a=43,c=47,u=26,p=52;return t<=e&&e<=r?e-t:n<=e&&e<=o?e-n+u:i<=e&&e<=s?e-i+p:e==a?62:e==c?63:-1}});var uh=k(ch=>{var Wb=Kb(),ah=5,Jb=1<<ah,Yb=Jb-1,Qb=Jb;function k3(e){return e<0?(-e<<1)+1:(e<<1)+0}function S3(e){var t=(e&1)===1,r=e>>1;return t?-r:r}ch.encode=function(t){var r="",n,o=k3(t);do n=o&Yb,o>>>=ah,o>0&&(n|=Qb),r+=Wb.encode(n);while(o>0);return r};ch.decode=function(t,r,n){var o=t.length,i=0,s=0,a,c;do{if(r>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(c=Wb.decode(t.charCodeAt(r++)),c===-1)throw new Error("Invalid base64 digit: "+t.charAt(r-1));a=!!(c&Qb),c&=Yb,i=i+(c<<s),s+=ah}while(a);n.value=S3(i),n.rest=r}});var _o=k(Be=>{function w3(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}Be.getArg=w3;var Xb=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,T3=/^data:.+\,.+$/;function Vi(e){var t=e.match(Xb);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}Be.urlParse=Vi;function mo(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}Be.urlGenerate=mo;function lh(e){var t=e,r=Vi(e);if(r){if(!r.path)return e;t=r.path}for(var n=Be.isAbsolute(t),o=t.split(/\/+/),i,s=0,a=o.length-1;a>=0;a--)i=o[a],i==="."?o.splice(a,1):i===".."?s++:s>0&&(i===""?(o.splice(a+1,s),s=0):(o.splice(a,2),s--));return t=o.join("/"),t===""&&(t=n?"/":"."),r?(r.path=t,mo(r)):t}Be.normalize=lh;function ek(e,t){e===""&&(e="."),t===""&&(t=".");var r=Vi(t),n=Vi(e);if(n&&(e=n.path||"/"),r&&!r.scheme)return n&&(r.scheme=n.scheme),mo(r);if(r||t.match(T3))return t;if(n&&!n.host&&!n.path)return n.host=t,mo(n);var o=t.charAt(0)==="/"?t:lh(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=o,mo(n)):o}Be.join=ek;Be.isAbsolute=function(e){return e.charAt(0)==="/"||Xb.test(e)};function $3(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.indexOf(e+"/")!==0;){var n=e.lastIndexOf("/");if(n<0||(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/)))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}Be.relative=$3;var tk=(function(){var e=Object.create(null);return!("__proto__"in e)})();function rk(e){return e}function P3(e){return nk(e)?"$"+e:e}Be.toSetString=tk?rk:P3;function E3(e){return nk(e)?e.slice(1):e}Be.fromSetString=tk?rk:E3;function nk(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function z3(e,t,r){var n=go(e.source,t.source);return n!==0||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:go(e.name,t.name)}Be.compareByOriginalPositions=z3;function C3(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0||r)||(n=go(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:go(e.name,t.name)}Be.compareByGeneratedPositionsDeflated=C3;function go(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function I3(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=go(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:go(e.name,t.name)}Be.compareByGeneratedPositionsInflated=I3;function R3(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}Be.parseSourceMapInput=R3;function A3(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),r){var n=Vi(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var o=n.path.lastIndexOf("/");o>=0&&(n.path=n.path.substring(0,o+1))}t=ek(mo(n),t)}return lh(t)}Be.computeSourceURL=A3});var fh=k(ok=>{var ph=_o(),dh=Object.prototype.hasOwnProperty,$n=typeof Map<"u";function dr(){this._array=[],this._set=$n?new Map:Object.create(null)}dr.fromArray=function(t,r){for(var n=new dr,o=0,i=t.length;o<i;o++)n.add(t[o],r);return n};dr.prototype.size=function(){return $n?this._set.size:Object.getOwnPropertyNames(this._set).length};dr.prototype.add=function(t,r){var n=$n?t:ph.toSetString(t),o=$n?this.has(t):dh.call(this._set,n),i=this._array.length;(!o||r)&&this._array.push(t),o||($n?this._set.set(t,i):this._set[n]=i)};dr.prototype.has=function(t){if($n)return this._set.has(t);var r=ph.toSetString(t);return dh.call(this._set,r)};dr.prototype.indexOf=function(t){if($n){var r=this._set.get(t);if(r>=0)return r}else{var n=ph.toSetString(t);if(dh.call(this._set,n))return this._set[n]}throw new Error('"'+t+'" is not in the set.')};dr.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)};dr.prototype.toArray=function(){return this._array.slice()};ok.ArraySet=dr});var ak=k(sk=>{var ik=_o();function O3(e,t){var r=e.generatedLine,n=t.generatedLine,o=e.generatedColumn,i=t.generatedColumn;return n>r||n==r&&i>=o||ik.compareByGeneratedPositionsInflated(e,t)<=0}function bc(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}bc.prototype.unsortedForEach=function(t,r){this._array.forEach(t,r)};bc.prototype.add=function(t){O3(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};bc.prototype.toArray=function(){return this._sorted||(this._array.sort(ik.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};sk.MappingList=bc});var hh=k(ck=>{var Hi=uh(),$e=_o(),kc=fh().ArraySet,N3=ak().MappingList;function $t(e){e||(e={}),this._file=$e.getArg(e,"file",null),this._sourceRoot=$e.getArg(e,"sourceRoot",null),this._skipValidation=$e.getArg(e,"skipValidation",!1),this._sources=new kc,this._names=new kc,this._mappings=new N3,this._sourcesContents=null}$t.prototype._version=3;$t.fromSourceMap=function(t){var r=t.sourceRoot,n=new $t({file:t.file,sourceRoot:r});return t.eachMapping(function(o){var i={generated:{line:o.generatedLine,column:o.generatedColumn}};o.source!=null&&(i.source=o.source,r!=null&&(i.source=$e.relative(r,i.source)),i.original={line:o.originalLine,column:o.originalColumn},o.name!=null&&(i.name=o.name)),n.addMapping(i)}),t.sources.forEach(function(o){var i=o;r!==null&&(i=$e.relative(r,o)),n._sources.has(i)||n._sources.add(i);var s=t.sourceContentFor(o);s!=null&&n.setSourceContent(o,s)}),n};$t.prototype.addMapping=function(t){var r=$e.getArg(t,"generated"),n=$e.getArg(t,"original",null),o=$e.getArg(t,"source",null),i=$e.getArg(t,"name",null);this._skipValidation||this._validateMapping(r,n,o,i),o!=null&&(o=String(o),this._sources.has(o)||this._sources.add(o)),i!=null&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:o,name:i})};$t.prototype.setSourceContent=function(t,r){var n=t;this._sourceRoot!=null&&(n=$e.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[$e.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[$e.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};$t.prototype.applySourceMap=function(t,r,n){var o=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);o=t.file}var i=this._sourceRoot;i!=null&&(o=$e.relative(i,o));var s=new kc,a=new kc;this._mappings.unsortedForEach(function(c){if(c.source===o&&c.originalLine!=null){var u=t.originalPositionFor({line:c.originalLine,column:c.originalColumn});u.source!=null&&(c.source=u.source,n!=null&&(c.source=$e.join(n,c.source)),i!=null&&(c.source=$e.relative(i,c.source)),c.originalLine=u.line,c.originalColumn=u.column,u.name!=null&&(c.name=u.name))}var p=c.source;p!=null&&!s.has(p)&&s.add(p);var l=c.name;l!=null&&!a.has(l)&&a.add(l)},this),this._sources=s,this._names=a,t.sources.forEach(function(c){var u=t.sourceContentFor(c);u!=null&&(n!=null&&(c=$e.join(n,c)),i!=null&&(c=$e.relative(i,c)),this.setSourceContent(c,u))},this)};$t.prototype._validateMapping=function(t,r,n,o){if(r&&typeof r.line!="number"&&typeof r.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!o)){if(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n)return;throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:o}))}};$t.prototype._serializeMappings=function(){for(var t=0,r=1,n=0,o=0,i=0,s=0,a="",c,u,p,l,d=this._mappings.toArray(),h=0,f=d.length;h<f;h++){if(u=d[h],c="",u.generatedLine!==r)for(t=0;u.generatedLine!==r;)c+=";",r++;else if(h>0){if(!$e.compareByGeneratedPositionsInflated(u,d[h-1]))continue;c+=","}c+=Hi.encode(u.generatedColumn-t),t=u.generatedColumn,u.source!=null&&(l=this._sources.indexOf(u.source),c+=Hi.encode(l-s),s=l,c+=Hi.encode(u.originalLine-1-o),o=u.originalLine-1,c+=Hi.encode(u.originalColumn-n),n=u.originalColumn,u.name!=null&&(p=this._names.indexOf(u.name),c+=Hi.encode(p-i),i=p)),a+=c}return a};$t.prototype._generateSourcesContent=function(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=$e.relative(r,n));var o=$e.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o)?this._sourcesContents[o]:null},this)};$t.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};$t.prototype.toString=function(){return JSON.stringify(this.toJSON())};ck.SourceMapGenerator=$t});var uk=k(Pn=>{Pn.GREATEST_LOWER_BOUND=1;Pn.LEAST_UPPER_BOUND=2;function mh(e,t,r,n,o,i){var s=Math.floor((t-e)/2)+e,a=o(r,n[s],!0);return a===0?s:a>0?t-s>1?mh(s,t,r,n,o,i):i==Pn.LEAST_UPPER_BOUND?t<n.length?t:-1:s:s-e>1?mh(e,s,r,n,o,i):i==Pn.LEAST_UPPER_BOUND?s:e<0?-1:e}Pn.search=function(t,r,n,o){if(r.length===0)return-1;var i=mh(-1,r.length,t,r,n,o||Pn.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&n(r[i],r[i-1],!0)===0;)--i;return i}});var pk=k(lk=>{function gh(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function D3(e,t){return Math.round(e+Math.random()*(t-e))}function _h(e,t,r,n){if(r<n){var o=D3(r,n),i=r-1;gh(e,o,n);for(var s=e[n],a=r;a<n;a++)t(e[a],s)<=0&&(i+=1,gh(e,i,a));gh(e,i+1,a);var c=i+1;_h(e,t,r,c-1),_h(e,t,c+1,n)}}lk.quickSort=function(e,t){_h(e,t,0,e.length-1)}});var fk=k(Sc=>{var C=_o(),yh=uk(),yo=fh().ArraySet,j3=uh(),Gi=pk().quickSort;function he(e,t){var r=e;return typeof e=="string"&&(r=C.parseSourceMapInput(e)),r.sections!=null?new Dt(r,t):new Me(r,t)}he.fromSourceMap=function(e,t){return Me.fromSourceMap(e,t)};he.prototype._version=3;he.prototype.__generatedMappings=null;Object.defineProperty(he.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});he.prototype.__originalMappings=null;Object.defineProperty(he.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});he.prototype._charIsMappingSeparator=function(t,r){var n=t.charAt(r);return n===";"||n===","};he.prototype._parseMappings=function(t,r){throw new Error("Subclasses must implement _parseMappings")};he.GENERATED_ORDER=1;he.ORIGINAL_ORDER=2;he.GREATEST_LOWER_BOUND=1;he.LEAST_UPPER_BOUND=2;he.prototype.eachMapping=function(t,r,n){var o=r||null,i=n||he.GENERATED_ORDER,s;switch(i){case he.GENERATED_ORDER:s=this._generatedMappings;break;case he.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var a=this.sourceRoot;s.map(function(c){var u=c.source===null?null:this._sources.at(c.source);return u=C.computeSourceURL(a,u,this._sourceMapURL),{source:u,generatedLine:c.generatedLine,generatedColumn:c.generatedColumn,originalLine:c.originalLine,originalColumn:c.originalColumn,name:c.name===null?null:this._names.at(c.name)}},this).forEach(t,o)};he.prototype.allGeneratedPositionsFor=function(t){var r=C.getArg(t,"line"),n={source:C.getArg(t,"source"),originalLine:r,originalColumn:C.getArg(t,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var o=[],i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",C.compareByOriginalPositions,yh.LEAST_UPPER_BOUND);if(i>=0){var s=this._originalMappings[i];if(t.column===void 0)for(var a=s.originalLine;s&&s.originalLine===a;)o.push({line:C.getArg(s,"generatedLine",null),column:C.getArg(s,"generatedColumn",null),lastColumn:C.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===r&&s.originalColumn==c;)o.push({line:C.getArg(s,"generatedLine",null),column:C.getArg(s,"generatedColumn",null),lastColumn:C.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return o};Sc.SourceMapConsumer=he;function Me(e,t){var r=e;typeof e=="string"&&(r=C.parseSourceMapInput(e));var n=C.getArg(r,"version"),o=C.getArg(r,"sources"),i=C.getArg(r,"names",[]),s=C.getArg(r,"sourceRoot",null),a=C.getArg(r,"sourcesContent",null),c=C.getArg(r,"mappings"),u=C.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);s&&(s=C.normalize(s)),o=o.map(String).map(C.normalize).map(function(p){return s&&C.isAbsolute(s)&&C.isAbsolute(p)?C.relative(s,p):p}),this._names=yo.fromArray(i.map(String),!0),this._sources=yo.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(p){return C.computeSourceURL(s,p,t)}),this.sourceRoot=s,this.sourcesContent=a,this._mappings=c,this._sourceMapURL=t,this.file=u}Me.prototype=Object.create(he.prototype);Me.prototype.consumer=he;Me.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=C.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var r;for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==e)return r;return-1};Me.fromSourceMap=function(t,r){var n=Object.create(Me.prototype),o=n._names=yo.fromArray(t._names.toArray(),!0),i=n._sources=yo.fromArray(t._sources.toArray(),!0);n.sourceRoot=t._sourceRoot,n.sourcesContent=t._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=t._file,n._sourceMapURL=r,n._absoluteSources=n._sources.toArray().map(function(h){return C.computeSourceURL(n.sourceRoot,h,r)});for(var s=t._mappings.toArray().slice(),a=n.__generatedMappings=[],c=n.__originalMappings=[],u=0,p=s.length;u<p;u++){var l=s[u],d=new dk;d.generatedLine=l.generatedLine,d.generatedColumn=l.generatedColumn,l.source&&(d.source=i.indexOf(l.source),d.originalLine=l.originalLine,d.originalColumn=l.originalColumn,l.name&&(d.name=o.indexOf(l.name)),c.push(d)),a.push(d)}return Gi(n.__originalMappings,C.compareByOriginalPositions),n};Me.prototype._version=3;Object.defineProperty(Me.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function dk(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}Me.prototype._parseMappings=function(t,r){for(var n=1,o=0,i=0,s=0,a=0,c=0,u=t.length,p=0,l={},d={},h=[],f=[],g,_,v,y,w;p<u;)if(t.charAt(p)===";")n++,p++,o=0;else if(t.charAt(p)===",")p++;else{for(g=new dk,g.generatedLine=n,y=p;y<u&&!this._charIsMappingSeparator(t,y);y++);if(_=t.slice(p,y),v=l[_],v)p+=_.length;else{for(v=[];p<y;)j3.decode(t,p,d),w=d.value,p=d.rest,v.push(w);if(v.length===2)throw new Error("Found a source, but no line and column");if(v.length===3)throw new Error("Found a source and line, but no column");l[_]=v}g.generatedColumn=o+v[0],o=g.generatedColumn,v.length>1&&(g.source=a+v[1],a+=v[1],g.originalLine=i+v[2],i=g.originalLine,g.originalLine+=1,g.originalColumn=s+v[3],s=g.originalColumn,v.length>4&&(g.name=c+v[4],c+=v[4])),f.push(g),typeof g.originalLine=="number"&&h.push(g)}Gi(f,C.compareByGeneratedPositionsDeflated),this.__generatedMappings=f,Gi(h,C.compareByOriginalPositions),this.__originalMappings=h};Me.prototype._findMapping=function(t,r,n,o,i,s){if(t[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[n]);if(t[o]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[o]);return yh.search(t,r,i,s)};Me.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var r=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var n=this._generatedMappings[t+1];if(r.generatedLine===n.generatedLine){r.lastGeneratedColumn=n.generatedColumn-1;continue}}r.lastGeneratedColumn=1/0}};Me.prototype.originalPositionFor=function(t){var r={generatedLine:C.getArg(t,"line"),generatedColumn:C.getArg(t,"column")},n=this._findMapping(r,this._generatedMappings,"generatedLine","generatedColumn",C.compareByGeneratedPositionsDeflated,C.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(n>=0){var o=this._generatedMappings[n];if(o.generatedLine===r.generatedLine){var i=C.getArg(o,"source",null);i!==null&&(i=this._sources.at(i),i=C.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=C.getArg(o,"name",null);return s!==null&&(s=this._names.at(s)),{source:i,line:C.getArg(o,"originalLine",null),column:C.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}};Me.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};Me.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var o=t;this.sourceRoot!=null&&(o=C.relative(this.sourceRoot,o));var i;if(this.sourceRoot!=null&&(i=C.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||i.path=="/")&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(r)return null;throw new Error('"'+o+'" is not in the SourceMap.')};Me.prototype.generatedPositionFor=function(t){var r=C.getArg(t,"source");if(r=this._findSourceIndex(r),r<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:C.getArg(t,"line"),originalColumn:C.getArg(t,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",C.compareByOriginalPositions,C.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===n.source)return{line:C.getArg(i,"generatedLine",null),column:C.getArg(i,"generatedColumn",null),lastColumn:C.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};Sc.BasicSourceMapConsumer=Me;function Dt(e,t){var r=e;typeof e=="string"&&(r=C.parseSourceMapInput(e));var n=C.getArg(r,"version"),o=C.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new yo,this._names=new yo;var i={line:-1,column:0};this._sections=o.map(function(s){if(s.url)throw new Error("Support for url field in sections not implemented.");var a=C.getArg(s,"offset"),c=C.getArg(a,"line"),u=C.getArg(a,"column");if(c<i.line||c===i.line&&u<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=a,{generatedOffset:{generatedLine:c+1,generatedColumn:u+1},consumer:new he(C.getArg(s,"map"),t)}})}Dt.prototype=Object.create(he.prototype);Dt.prototype.constructor=he;Dt.prototype._version=3;Object.defineProperty(Dt.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}});Dt.prototype.originalPositionFor=function(t){var r={generatedLine:C.getArg(t,"line"),generatedColumn:C.getArg(t,"column")},n=yh.search(r,this._sections,function(i,s){var a=i.generatedLine-s.generatedOffset.generatedLine;return a||i.generatedColumn-s.generatedOffset.generatedColumn}),o=this._sections[n];return o?o.consumer.originalPositionFor({line:r.generatedLine-(o.generatedOffset.generatedLine-1),column:r.generatedColumn-(o.generatedOffset.generatedLine===r.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}};Dt.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(t){return t.consumer.hasContentsOfAllSources()})};Dt.prototype.sourceContentFor=function(t,r){for(var n=0;n<this._sections.length;n++){var o=this._sections[n],i=o.consumer.sourceContentFor(t,!0);if(i)return i}if(r)return null;throw new Error('"'+t+'" is not in the SourceMap.')};Dt.prototype.generatedPositionFor=function(t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r];if(n.consumer._findSourceIndex(C.getArg(t,"source"))!==-1){var o=n.consumer.generatedPositionFor(t);if(o){var i={line:o.line+(n.generatedOffset.generatedLine-1),column:o.column+(n.generatedOffset.generatedLine===o.line?n.generatedOffset.generatedColumn-1:0)};return i}}}return{line:null,column:null}};Dt.prototype._parseMappings=function(t,r){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var o=this._sections[n],i=o.consumer._generatedMappings,s=0;s<i.length;s++){var a=i[s],c=o.consumer._sources.at(a.source);c=C.computeSourceURL(o.consumer.sourceRoot,c,this._sourceMapURL),this._sources.add(c),c=this._sources.indexOf(c);var u=null;a.name&&(u=o.consumer._names.at(a.name),this._names.add(u),u=this._names.indexOf(u));var p={source:c,generatedLine:a.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(o.generatedOffset.generatedLine===a.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:u};this.__generatedMappings.push(p),typeof p.originalLine=="number"&&this.__originalMappings.push(p)}Gi(this.__generatedMappings,C.compareByGeneratedPositionsDeflated),Gi(this.__originalMappings,C.compareByOriginalPositions)};Sc.IndexedSourceMapConsumer=Dt});var mk=k(hk=>{var M3=hh().SourceMapGenerator,wc=_o(),L3=/(\r?\n)/,Z3=10,vo="$$$isSourceNode$$$";function dt(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=r??null,this.name=o??null,this[vo]=!0,n!=null&&this.add(n)}dt.fromStringWithSourceMap=function(t,r,n){var o=new dt,i=t.split(L3),s=0,a=function(){var d=f(),h=f()||"";return d+h;function f(){return s<i.length?i[s++]:void 0}},c=1,u=0,p=null;return r.eachMapping(function(d){if(p!==null)if(c<d.generatedLine)l(p,a()),c++,u=0;else{var h=i[s]||"",f=h.substr(0,d.generatedColumn-u);i[s]=h.substr(d.generatedColumn-u),u=d.generatedColumn,l(p,f),p=d;return}for(;c<d.generatedLine;)o.add(a()),c++;if(u<d.generatedColumn){var h=i[s]||"";o.add(h.substr(0,d.generatedColumn)),i[s]=h.substr(d.generatedColumn),u=d.generatedColumn}p=d},this),s<i.length&&(p&&l(p,a()),o.add(i.splice(s).join(""))),r.sources.forEach(function(d){var h=r.sourceContentFor(d);h!=null&&(n!=null&&(d=wc.join(n,d)),o.setSourceContent(d,h))}),o;function l(d,h){if(d===null||d.source===void 0)o.add(h);else{var f=n?wc.join(n,d.source):d.source;o.add(new dt(d.originalLine,d.originalColumn,f,h,d.name))}}};dt.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(r){this.add(r)},this);else if(t[vo]||typeof t=="string")t&&this.children.push(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};dt.prototype.prepend=function(t){if(Array.isArray(t))for(var r=t.length-1;r>=0;r--)this.prepend(t[r]);else if(t[vo]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};dt.prototype.walk=function(t){for(var r,n=0,o=this.children.length;n<o;n++)r=this.children[n],r[vo]?r.walk(t):r!==""&&t(r,{source:this.source,line:this.line,column:this.column,name:this.name})};dt.prototype.join=function(t){var r,n,o=this.children.length;if(o>0){for(r=[],n=0;n<o-1;n++)r.push(this.children[n]),r.push(t);r.push(this.children[n]),this.children=r}return this};dt.prototype.replaceRight=function(t,r){var n=this.children[this.children.length-1];return n[vo]?n.replaceRight(t,r):typeof n=="string"?this.children[this.children.length-1]=n.replace(t,r):this.children.push("".replace(t,r)),this};dt.prototype.setSourceContent=function(t,r){this.sourceContents[wc.toSetString(t)]=r};dt.prototype.walkSourceContents=function(t){for(var r=0,n=this.children.length;r<n;r++)this.children[r][vo]&&this.children[r].walkSourceContents(t);for(var o=Object.keys(this.sourceContents),r=0,n=o.length;r<n;r++)t(wc.fromSetString(o[r]),this.sourceContents[o[r]])};dt.prototype.toString=function(){var t="";return this.walk(function(r){t+=r}),t};dt.prototype.toStringWithSourceMap=function(t){var r={code:"",line:1,column:0},n=new M3(t),o=!1,i=null,s=null,a=null,c=null;return this.walk(function(u,p){r.code+=u,p.source!==null&&p.line!==null&&p.column!==null?((i!==p.source||s!==p.line||a!==p.column||c!==p.name)&&n.addMapping({source:p.source,original:{line:p.line,column:p.column},generated:{line:r.line,column:r.column},name:p.name}),i=p.source,s=p.line,a=p.column,c=p.name,o=!0):o&&(n.addMapping({generated:{line:r.line,column:r.column}}),i=null,o=!1);for(var l=0,d=u.length;l<d;l++)u.charCodeAt(l)===Z3?(r.line++,r.column=0,l+1===d?(i=null,o=!1):o&&n.addMapping({source:p.source,original:{line:p.line,column:p.column},generated:{line:r.line,column:r.column},name:p.name})):r.column++}),this.walkSourceContents(function(u,p){n.setSourceContent(u,p)}),{code:r.code,map:n}};hk.SourceNode=dt});var gk=k(Tc=>{Tc.SourceMapGenerator=hh().SourceMapGenerator;Tc.SourceMapConsumer=fk().SourceMapConsumer;Tc.SourceNode=mk().SourceNode});var xk=k(($c,vk)=>{"use strict";$c.__esModule=!0;var xh=Je(),En=void 0;try{(typeof define!="function"||!define.amd)&&(_k=gk(),En=_k.SourceNode)}catch{}var _k;En||(En=function(e,t,r,n){this.src="",n&&this.add(n)},En.prototype={add:function(t){xh.isArray(t)&&(t=t.join("")),this.src+=t},prepend:function(t){xh.isArray(t)&&(t=t.join("")),this.src=t+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}});function vh(e,t,r){if(xh.isArray(e)){for(var n=[],o=0,i=e.length;o<i;o++)n.push(t.wrap(e[o],r));return n}else if(typeof e=="boolean"||typeof e=="number")return e+"";return e}function yk(e){this.srcFile=e,this.source=[]}yk.prototype={isEmpty:function(){return!this.source.length},prepend:function(t,r){this.source.unshift(this.wrap(t,r))},push:function(t,r){this.source.push(this.wrap(t,r))},merge:function(){var t=this.empty();return this.each(function(r){t.add([" ",r,`
|
|
19
|
+
`])}),t},each:function(t){for(var r=0,n=this.source.length;r<n;r++)t(this.source[r])},empty:function(){var t=this.currentLocation||{start:{}};return new En(t.start.line,t.start.column,this.srcFile)},wrap:function(t){var r=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return t instanceof En?t:(t=vh(t,this,r),new En(r.start.line,r.start.column,this.srcFile,t))},functionCall:function(t,r,n){return n=this.generateList(n),this.wrap([t,r?"."+r+"(":"(",n,")"])},quotedString:function(t){return'"'+(t+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(t){var r=this,n=[];Object.keys(t).forEach(function(i){var s=vh(t[i],r);s!=="undefined"&&n.push([r.quotedString(i),":",s])});var o=this.generateList(n);return o.prepend("{"),o.add("}"),o},generateList:function(t){for(var r=this.empty(),n=0,o=t.length;n<o;n++)n&&r.add(","),r.add(vh(t[n],this));return r},generateArray:function(t){var r=this.generateList(t);return r.prepend("["),r.add("]"),r}};$c.default=yk;vk.exports=$c.default});var Tk=k((Pc,wk)=>{"use strict";Pc.__esModule=!0;function Sk(e){return e&&e.__esModule?e:{default:e}}var bk=cc(),q3=wt(),bh=Sk(q3),F3=Je(),U3=xk(),kk=Sk(U3);function xo(e){this.value=e}function bo(){}bo.prototype={nameLookup:function(t,r){return this.internalNameLookup(t,r)},depthedLookup:function(t){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(t),")"]},compilerInfo:function(){var t=bk.COMPILER_REVISION,r=bk.REVISION_CHANGES[t];return[t,r]},appendToBuffer:function(t,r,n){return F3.isArray(t)||(t=[t]),t=this.source.wrap(t,r),this.environment.isSimple?["return ",t,";"]:n?["buffer += ",t,";"]:(t.appendToBuffer=!0,t)},initializeBuffer:function(){return this.quotedString("")},internalNameLookup:function(t,r){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",t,",",JSON.stringify(r),")"]},lookupPropertyFunctionIsUsed:!1,compile:function(t,r,n,o){this.environment=t,this.options=r,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!o,this.name=this.environment.name,this.isChild=!!n,this.context=n||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(t,r),this.useDepths=this.useDepths||t.useDepths||t.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||t.useBlockParams;var i=t.opcodes,s=void 0,a=void 0,c=void 0,u=void 0;for(c=0,u=i.length;c<u;c++)s=i[c],this.source.currentLocation=s.loc,a=a||s.loc,this[s.opcode].apply(this,s.args);if(this.source.currentLocation=a,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new bh.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),`;
|
|
20
20
|
`]),this.decorators.push("return fn;"),o?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
|
|
21
21
|
`),this.decorators.push(`}
|
|
22
|
-
`),this.decorators=this.decorators.merge()));var p=this.createFunctionContext(o);if(this.isChild)return p;var l={compiler:this.compilerInfo(),main:p};this.decorators&&(l.main_d=this.decorators,l.useDecorators=!0);var d=this.context,h=d.programs,f=d.decorators;for(c=0,u=h.length;c<u;c++)h[c]&&(l[c]=h[c],f[c]&&(l[c+"_d"]=f[c],l.useDecorators=!0));return this.environment.usePartial&&(l.usePartial=!0),this.options.data&&(l.useData=!0),this.useDepths&&(l.useDepths=!0),this.useBlockParams&&(l.useBlockParams=!0),this.options.compat&&(l.compat=!0),o?l.compilerOptions=this.options:(l.compiler=JSON.stringify(l.compiler),this.source.currentLocation={start:{line:1,column:0}},l=this.objectLiteral(l),r.srcName?(l=l.toStringWithSourceMap({file:r.destName}),l.map=l.map&&l.map.toString()):l=l.toString()),l},preamble:function(){this.lastContext=0,this.source=new
|
|
22
|
+
`),this.decorators=this.decorators.merge()));var p=this.createFunctionContext(o);if(this.isChild)return p;var l={compiler:this.compilerInfo(),main:p};this.decorators&&(l.main_d=this.decorators,l.useDecorators=!0);var d=this.context,h=d.programs,f=d.decorators;for(c=0,u=h.length;c<u;c++)h[c]&&(l[c]=h[c],f[c]&&(l[c+"_d"]=f[c],l.useDecorators=!0));return this.environment.usePartial&&(l.usePartial=!0),this.options.data&&(l.useData=!0),this.useDepths&&(l.useDepths=!0),this.useBlockParams&&(l.useBlockParams=!0),this.options.compat&&(l.compat=!0),o?l.compilerOptions=this.options:(l.compiler=JSON.stringify(l.compiler),this.source.currentLocation={start:{line:1,column:0}},l=this.objectLiteral(l),r.srcName?(l=l.toStringWithSourceMap({file:r.destName}),l.map=l.map&&l.map.toString()):l=l.toString()),l},preamble:function(){this.lastContext=0,this.source=new kk.default(this.options.srcName),this.decorators=new kk.default(this.options.srcName)},createFunctionContext:function(t){var r=this,n="",o=this.stackVars.concat(this.registers.list);o.length>0&&(n+=", "+o.join(", "));var i=0;Object.keys(this.aliases).forEach(function(c){var u=r.aliases[c];u.children&&u.referenceCount>1&&(n+=", alias"+ ++i+"="+c,u.children[0]="alias"+i)}),this.lookupPropertyFunctionIsUsed&&(n+=", "+this.lookupPropertyFunctionVarDeclaration());var s=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&s.push("blockParams"),this.useDepths&&s.push("depths");var a=this.mergeSource(n);return t?(s.push(a),Function.apply(this,s)):this.source.wrap(["function(",s.join(","),`) {
|
|
23
23
|
`,a,"}"])},mergeSource:function(t){var r=this.environment.isSimple,n=!this.forceBuffer,o=void 0,i=void 0,s=void 0,a=void 0;return this.source.each(function(c){c.appendToBuffer?(s?c.prepend(" + "):s=c,a=c):(s&&(i?s.prepend("buffer += "):o=!0,a.add(";"),s=a=void 0),i=!0,r||(n=!1))}),n?s?(s.prepend("return "),a.add(";")):i||this.source.push('return "";'):(t+=", buffer = "+(o?"":this.initializeBuffer()),s?(s.prepend("return buffer + "),a.add(";")):this.source.push("return buffer;")),t&&this.source.prepend("var "+t.substring(2)+(o?"":`;
|
|
24
24
|
`)),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return`
|
|
25
25
|
lookupProperty = container.lookupProperty || function(parent, propertyName) {
|
|
@@ -28,239 +28,269 @@ Expecting `+Rn.join(", ")+", got '"+(this.terminals_[$]||$)+"'":Mc="Parse error
|
|
|
28
28
|
}
|
|
29
29
|
return undefined
|
|
30
30
|
}
|
|
31
|
-
`.trim()},blockValue:function(t){var r=this.aliasable("container.hooks.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(t,0,n);var o=this.popStack();n.splice(1,0,o),this.push(this.source.functionCall(r,"call",n))},ambiguousBlockValue:function(){var t=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs("",0,r,!0),this.flushInline();var n=this.topStack();r.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",this.source.functionCall(t,"call",r),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack(function(r){return[" != null ? ",r,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,r,n,o){var i=0;!o&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(t[i++])):this.pushContext(),this.resolvePath("context",t,i,r,n)},lookupBlockParam:function(t,r){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",r,1)},lookupData:function(t,r,n){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",r,0,!0,n)},resolvePath:function(t,r,n,o,i){var s=this;if(this.options.strict||this.options.assumeObjects){this.push(fM(this.options.strict&&i,this,r,n,t));return}for(var a=r.length;n<a;n++)this.replaceStack(function(c){var u=s.nameLookup(c,r[n],t);return o?[" && ",u]:[" != null ? ",u," : ",c]})},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(t,r){this.pushContext(),this.pushString(r),r!=="SubExpression"&&(typeof t=="string"?this.pushString(t):this.pushStackLiteral(t))},emptyHash:function(t){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(t?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},popHash:function(){var t=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(t.ids)),this.stringParams&&(this.push(this.objectLiteral(t.contexts)),this.push(this.objectLiteral(t.types))),this.push(this.objectLiteral(t.values))},pushString:function(t){this.pushStackLiteral(this.quotedString(t))},pushLiteral:function(t){this.pushStackLiteral(t)},pushProgram:function(t){t!=null?this.pushStackLiteral(this.programExpression(t)):this.pushStackLiteral(null)},registerDecorator:function(t,r){var n=this.nameLookup("decorators",r,"decorator"),o=this.setupHelperArgs(r,t);this.decorators.push(["fn = ",this.decorators.functionCall(n,"",["fn","props","container",o])," || fn;"])},invokeHelper:function(t,r,n){var o=this.popStack(),i=this.setupHelper(t,r),s=[];n&&s.push(i.name),s.push(o),this.options.strict||s.push(this.aliasable("container.hooks.helperMissing"));var a=["(",this.itemsSeparatedBy(s,"||"),")"],c=this.source.functionCall(a,"call",i.callParams);this.push(c)},itemsSeparatedBy:function(t,r){var n=[];n.push(t[0]);for(var o=1;o<t.length;o++)n.push(r,t[o]);return n},invokeKnownHelper:function(t,r){var n=this.setupHelper(t,r);this.push(this.source.functionCall(n.name,"call",n.callParams))},invokeAmbiguous:function(t,r){this.useRegister("helper");var n=this.popStack();this.emptyHash();var o=this.setupHelper(0,t,r),i=this.lastHelper=this.nameLookup("helpers",t,"helper"),s=["(","(helper = ",i," || ",n,")"];this.options.strict||(s[0]="(helper = ",s.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",s,o.paramsInit?["),(",o.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",o.callParams)," : helper))"])},invokePartial:function(t,r,n){var o=[],i=this.setupParams(r,1,o);t&&(r=this.popStack(),delete i.name),n&&(i.indent=JSON.stringify(n)),i.helpers="helpers",i.partials="partials",i.decorators="container.decorators",t?o.unshift(r):o.unshift(this.nameLookup("partials",r,"partial")),this.options.compat&&(i.depths="depths"),i=this.objectLiteral(i),o.push(i),this.push(this.source.functionCall("container.invokePartial","",o))},assignToHash:function(t){var r=this.popStack(),n=void 0,o=void 0,i=void 0;this.trackIds&&(i=this.popStack()),this.stringParams&&(o=this.popStack(),n=this.popStack());var s=this.hash;n&&(s.contexts[t]=n),o&&(s.types[t]=o),i&&(s.ids[t]=i),s.values[t]=r},pushId:function(t,r,n){t==="BlockParam"?this.pushStackLiteral("blockParams["+r[0]+"].path["+r[1]+"]"+(n?" + "+JSON.stringify("."+n):"")):t==="PathExpression"?this.pushString(r):t==="SubExpression"?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:So,compileChildren:function(t,r){for(var n=t.children,o=void 0,i=void 0,s=0,a=n.length;s<a;s++){o=n[s],i=new this.compiler;var c=this.matchExistingProgram(o);if(c==null){this.context.programs.push("");var u=this.context.programs.length;o.index=u,o.name="program"+u,this.context.programs[u]=i.compile(o,r,this.context,!this.precompile),this.context.decorators[u]=i.decorators,this.context.environments[u]=o,this.useDepths=this.useDepths||i.useDepths,this.useBlockParams=this.useBlockParams||i.useBlockParams,o.useDepths=this.useDepths,o.useBlockParams=this.useBlockParams}else o.index=c.index,o.name="program"+c.index,this.useDepths=this.useDepths||c.useDepths,this.useBlockParams=this.useBlockParams||c.useBlockParams}},matchExistingProgram:function(t){for(var r=0,n=this.context.environments.length;r<n;r++){var o=this.context.environments[r];if(o&&o.equals(t))return o}},programExpression:function(t){var r=this.environment.children[t],n=[r.index,"data",r.blockParams];return(this.useBlockParams||this.useDepths)&&n.push("blockParams"),this.useDepths&&n.push("depths"),"container.program("+n.join(", ")+")"},useRegister:function(t){this.registers[t]||(this.registers[t]=!0,this.registers.list.push(t))},push:function(t){return t instanceof wo||(t=this.source.wrap(t)),this.inlineStack.push(t),t},pushStackLiteral:function(t){this.push(new wo(t))},pushSource:function(t){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),t&&this.source.push(t)},replaceStack:function(t){var r=["("],n=void 0,o=void 0,i=void 0;if(!this.isInline())throw new kh.default("replaceStack on non-inline");var s=this.popStack(!0);if(s instanceof wo)n=[s.value],r=["(",n],i=!0;else{o=!0;var a=this.incrStack();r=["((",this.push(a)," = ",s,")"],n=this.topStack()}var c=t.call(this,n);i||this.popStack(),o&&this.stackSlot--,this.push(r.concat(c,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var r=0,n=t.length;r<n;r++){var o=t[r];if(o instanceof wo)this.compileStack.push(o);else{var i=this.incrStack();this.pushSource([i," = ",o,";"]),this.compileStack.push(i)}}},isInline:function(){return this.inlineStack.length},popStack:function(t){var r=this.isInline(),n=(r?this.inlineStack:this.compileStack).pop();if(!t&&n instanceof wo)return n.value;if(!r){if(!this.stackSlot)throw new kh.default("Invalid stack pop");this.stackSlot--}return n},topStack:function(){var t=this.isInline()?this.inlineStack:this.compileStack,r=t[t.length-1];return r instanceof wo?r.value:r},contextName:function(t){return this.useDepths&&t?"depths["+t+"]":"depth"+t},quotedString:function(t){return this.source.quotedString(t)},objectLiteral:function(t){return this.source.objectLiteral(t)},aliasable:function(t){var r=this.aliases[t];return r?(r.referenceCount++,r):(r=this.aliases[t]=this.source.wrap(t),r.aliasable=!0,r.referenceCount=1,r)},setupHelper:function(t,r,n){var o=[],i=this.setupHelperArgs(r,t,o,n),s=this.nameLookup("helpers",r,"helper"),a=this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : (container.nullContext || {})");return{params:o,paramsInit:i,name:s,callParams:[a].concat(o)}},setupParams:function(t,r,n){var o={},i=[],s=[],a=[],c=!n,u=void 0;c&&(n=[]),o.name=this.quotedString(t),o.hash=this.popStack(),this.trackIds&&(o.hashIds=this.popStack()),this.stringParams&&(o.hashTypes=this.popStack(),o.hashContexts=this.popStack());var p=this.popStack(),l=this.popStack();(l||p)&&(o.fn=l||"container.noop",o.inverse=p||"container.noop");for(var d=r;d--;)u=this.popStack(),n[d]=u,this.trackIds&&(a[d]=this.popStack()),this.stringParams&&(s[d]=this.popStack(),i[d]=this.popStack());return c&&(o.args=this.source.generateArray(n)),this.trackIds&&(o.ids=this.source.generateArray(a)),this.stringParams&&(o.types=this.source.generateArray(s),o.contexts=this.source.generateArray(i)),this.options.data&&(o.data="data"),this.useBlockParams&&(o.blockParams="blockParams"),o},setupHelperArgs:function(t,r,n,o){var i=this.setupParams(t,r,n);return i.loc=JSON.stringify(this.source.currentLocation),i=this.objectLiteral(i),o?(this.useRegister("options"),n.push("options"),["options=",i]):n?(n.push(i),""):i}};(function(){for(var e="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),t=So.RESERVED_WORDS={},r=0,n=e.length;r<n;r++)t[e[r]]=!0})();So.isValidJavaScriptVariableName=function(e){return!So.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)};function fM(e,t,r,n,o){var i=t.popStack(),s=r.length;for(e&&s--;n<s;n++)i=t.nameLookup(i,r[n],o);return e?[t.aliasable("container.strict"),"(",i,", ",t.quotedString(r[n]),", ",JSON.stringify(t.source.currentLocation)," )"]:i}Cc.default=So;bk.exports=Cc.default});var Tk=k((Ic,Sk)=>{"use strict";Ic.__esModule=!0;function Yi(e){return e&&e.__esModule?e:{default:e}}var hM=$b(),mM=Yi(hM),gM=Xf(),_M=Yi(gM),wh=Lb(),Sh=Ub(),yM=kk(),vM=Yi(yM),xM=bc(),bM=Yi(xM),kM=Wf(),wM=Yi(kM),SM=mM.default.create;function wk(){var e=SM();return e.compile=function(t,r){return Sh.compile(t,r,e)},e.precompile=function(t,r){return Sh.precompile(t,r,e)},e.AST=_M.default,e.Compiler=Sh.Compiler,e.JavaScriptCompiler=vM.default,e.Parser=wh.parser,e.parse=wh.parse,e.parseWithoutProcessing=wh.parseWithoutProcessing,e}var To=wk();To.create=wk;wM.default(To);To.Visitor=bM.default;To.default=To;Ic.default=To;Sk.exports=Ic.default});var $k=k(Rc=>{"use strict";Rc.__esModule=!0;Rc.print=EM;Rc.PrintVisitor=we;function TM(e){return e&&e.__esModule?e:{default:e}}var $M=bc(),PM=TM($M);function EM(e){return new we().accept(e)}function we(){this.padding=0}we.prototype=new PM.default;we.prototype.pad=function(e){for(var t="",r=0,n=this.padding;r<n;r++)t+=" ";return t+=e+`
|
|
32
|
-
`,t};we.prototype.Program=function(e){var t="",r=e.body,n=void 0,o=void 0;if(e.blockParams){var i="BLOCK PARAMS: [";for(n=0,o=e.blockParams.length;n<o;n++)i+=" "+e.blockParams[n];i+=" ]",t+=this.pad(i)}for(n=0,o=r.length;n<o;n++)t+=this.accept(r[n]);return this.padding--,t};we.prototype.MustacheStatement=function(e){return this.pad("{{ "+this.SubExpression(e)+" }}")};we.prototype.Decorator=function(e){return this.pad("{{ DIRECTIVE "+this.SubExpression(e)+" }}")};we.prototype.BlockStatement=we.prototype.DecoratorBlock=function(e){var t="";return t+=this.pad((e.type==="DecoratorBlock"?"DIRECTIVE ":"")+"BLOCK:"),this.padding++,t+=this.pad(this.SubExpression(e)),e.program&&(t+=this.pad("PROGRAM:"),this.padding++,t+=this.accept(e.program),this.padding--),e.inverse&&(e.program&&this.padding++,t+=this.pad("{{^}}"),this.padding++,t+=this.accept(e.inverse),this.padding--,e.program&&this.padding--),this.padding--,t};we.prototype.PartialStatement=function(e){var t="PARTIAL:"+e.name.original;return e.params[0]&&(t+=" "+this.accept(e.params[0])),e.hash&&(t+=" "+this.accept(e.hash)),this.pad("{{> "+t+" }}")};we.prototype.PartialBlockStatement=function(e){var t="PARTIAL BLOCK:"+e.name.original;return e.params[0]&&(t+=" "+this.accept(e.params[0])),e.hash&&(t+=" "+this.accept(e.hash)),t+=" "+this.pad("PROGRAM:"),this.padding++,t+=this.accept(e.program),this.padding--,this.pad("{{> "+t+" }}")};we.prototype.ContentStatement=function(e){return this.pad("CONTENT[ '"+e.value+"' ]")};we.prototype.CommentStatement=function(e){return this.pad("{{! '"+e.value+"' }}")};we.prototype.SubExpression=function(e){for(var t=e.params,r=[],n=void 0,o=0,i=t.length;o<i;o++)r.push(this.accept(t[o]));return t="["+r.join(", ")+"]",n=e.hash?" "+this.accept(e.hash):"",this.accept(e.path)+" "+t+n};we.prototype.PathExpression=function(e){var t=e.parts.join("/");return(e.data?"@":"")+"PATH:"+t};we.prototype.StringLiteral=function(e){return'"'+e.value+'"'};we.prototype.NumberLiteral=function(e){return"NUMBER{"+e.value+"}"};we.prototype.BooleanLiteral=function(e){return"BOOLEAN{"+e.value+"}"};we.prototype.UndefinedLiteral=function(){return"UNDEFINED"};we.prototype.NullLiteral=function(){return"NULL"};we.prototype.Hash=function(e){for(var t=e.pairs,r=[],n=0,o=t.length;n<o;n++)r.push(this.accept(t[n]));return"HASH{"+r.join(", ")+"}"};we.prototype.HashPair=function(e){return e.key+"="+this.accept(e.value)}});var Ck=k((Jq,zk)=>{var Ac=Tk().default,Ek=$k();Ac.PrintVisitor=Ek.PrintVisitor;Ac.print=Ek.print;zk.exports=Ac;function Pk(e,t){var r=An("fs"),n=r.readFileSync(t,"utf8");e.exports=Ac.compile(n)}typeof An<"u"&&An.extensions&&(An.extensions[".handlebars"]=Pk,An.extensions[".hbs"]=Pk)});var m={};Lc(m,{BRAND:()=>L1,DIRTY:()=>Ur,EMPTY_PATH:()=>_1,INVALID:()=>L,NEVER:()=>k2,OK:()=>Le,ParseStatus:()=>Ce,Schema:()=>V,ZodAny:()=>vr,ZodArray:()=>tr,ZodBigInt:()=>Vr,ZodBoolean:()=>Hr,ZodBranded:()=>Io,ZodCatch:()=>nn,ZodDate:()=>Gr,ZodDefault:()=>rn,ZodDiscriminatedUnion:()=>ns,ZodEffects:()=>gt,ZodEnum:()=>en,ZodError:()=>Ye,ZodFirstPartyTypeKind:()=>T,ZodFunction:()=>is,ZodIntersection:()=>Yr,ZodIssueCode:()=>w,ZodLazy:()=>Qr,ZodLiteral:()=>Xr,ZodMap:()=>Ln,ZodNaN:()=>qn,ZodNativeEnum:()=>tn,ZodNever:()=>Et,ZodNull:()=>Wr,ZodNullable:()=>qt,ZodNumber:()=>Br,ZodObject:()=>Xe,ZodOptional:()=>Qe,ZodParsedType:()=>E,ZodPipeline:()=>Ro,ZodPromise:()=>xr,ZodReadonly:()=>on,ZodRecord:()=>os,ZodSchema:()=>V,ZodSet:()=>Zn,ZodString:()=>yr,ZodSymbol:()=>Mn,ZodTransformer:()=>gt,ZodTuple:()=>Zt,ZodType:()=>V,ZodUndefined:()=>Kr,ZodUnion:()=>Jr,ZodUnknown:()=>er,ZodVoid:()=>Dn,addIssueToContext:()=>P,any:()=>K1,array:()=>Q1,bigint:()=>U1,boolean:()=>Jh,coerce:()=>b2,custom:()=>Gh,date:()=>B1,datetimeRegex:()=>Vh,defaultErrorMap:()=>Qt,discriminatedUnion:()=>t2,effect:()=>f2,enum:()=>l2,function:()=>a2,getErrorMap:()=>On,getParsedType:()=>Lt,instanceof:()=>q1,intersection:()=>r2,isAborted:()=>ts,isAsync:()=>Nn,isDirty:()=>rs,isValid:()=>_r,late:()=>Z1,lazy:()=>c2,literal:()=>u2,makeIssue:()=>Co,map:()=>i2,nan:()=>F1,nativeEnum:()=>p2,never:()=>J1,null:()=>G1,nullable:()=>m2,number:()=>Wh,object:()=>Bc,objectUtil:()=>qc,oboolean:()=>x2,onumber:()=>v2,optional:()=>h2,ostring:()=>y2,pipeline:()=>_2,preprocess:()=>g2,promise:()=>d2,quotelessJson:()=>h1,record:()=>o2,set:()=>s2,setErrorMap:()=>g1,strictObject:()=>X1,string:()=>Kh,symbol:()=>V1,transformer:()=>f2,tuple:()=>n2,undefined:()=>H1,union:()=>e2,unknown:()=>W1,util:()=>J,void:()=>Y1});var J;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function r(o){throw new Error}e.assertNever=r,e.arrayToEnum=o=>{let i={};for(let s of o)i[s]=s;return i},e.getValidEnumValues=o=>{let i=e.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),s={};for(let a of i)s[a]=o[a];return e.objectValues(s)},e.objectValues=o=>e.objectKeys(o).map(function(i){return o[i]}),e.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let s in o)Object.prototype.hasOwnProperty.call(o,s)&&i.push(s);return i},e.find=(o,i)=>{for(let s of o)if(i(s))return s},e.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(s=>typeof s=="string"?`'${s}'`:s).join(i)}e.joinValues=n,e.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(J||(J={}));var qc;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(qc||(qc={}));var E=J.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Lt=e=>{switch(typeof e){case"undefined":return E.undefined;case"string":return E.string;case"number":return Number.isNaN(e)?E.nan:E.number;case"boolean":return E.boolean;case"function":return E.function;case"bigint":return E.bigint;case"symbol":return E.symbol;case"object":return Array.isArray(e)?E.array:e===null?E.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?E.promise:typeof Map<"u"&&e instanceof Map?E.map:typeof Set<"u"&&e instanceof Set?E.set:typeof Date<"u"&&e instanceof Date?E.date:E.object;default:return E.unknown}};var w=J.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"]),h1=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Ye=class e extends Error{get errors(){return this.issues}constructor(t){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=t}format(t){let r=t||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(o);else if(s.code==="invalid_return_type")o(s.returnTypeError);else if(s.code==="invalid_arguments")o(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let a=n,c=0;for(;c<s.path.length;){let u=s.path[c];c===s.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(s))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,J.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let i=o.path[0];r[i]=r[i]||[],r[i].push(t(o))}else n.push(t(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ye.create=e=>new Ye(e);var m1=(e,t)=>{let r;switch(e.code){case w.invalid_type:e.received===E.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case w.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,J.jsonStringifyReplacer)}`;break;case w.unrecognized_keys:r=`Unrecognized key(s) in object: ${J.joinValues(e.keys,", ")}`;break;case w.invalid_union:r="Invalid input";break;case w.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${J.joinValues(e.options)}`;break;case w.invalid_enum_value:r=`Invalid enum value. Expected ${J.joinValues(e.options)}, received '${e.received}'`;break;case w.invalid_arguments:r="Invalid function arguments";break;case w.invalid_return_type:r="Invalid function return type";break;case w.invalid_date:r="Invalid date";break;case w.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:J.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case w.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case w.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case w.custom:r="Invalid input";break;case w.invalid_intersection_types:r="Intersection results could not be merged";break;case w.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case w.not_finite:r="Number must be finite";break;default:r=t.defaultError,J.assertNever(e)}return{message:r}},Qt=m1;var Zh=Qt;function g1(e){Zh=e}function On(){return Zh}var Co=e=>{let{data:t,path:r,errorMaps:n,issueData:o}=e,i=[...r,...o.path||[]],s={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(s,{data:t,defaultError:a}).message;return{...o,path:i,message:a}},_1=[];function P(e,t){let r=On(),n=Co({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Qt?void 0:Qt].filter(o=>!!o)});e.common.issues.push(n)}var Ce=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let o of r){if(o.status==="aborted")return L;o.status==="dirty"&&t.dirty(),n.push(o.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let o of r){let i=await o.key,s=await o.value;n.push({key:i,value:s})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let o of r){let{key:i,value:s}=o;if(i.status==="aborted"||s.status==="aborted")return L;i.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||o.alwaysSet)&&(n[i.value]=s.value)}return{status:t.value,value:n}}},L=Object.freeze({status:"aborted"}),Ur=e=>({status:"dirty",value:e}),Le=e=>({status:"valid",value:e}),ts=e=>e.status==="aborted",rs=e=>e.status==="dirty",_r=e=>e.status==="valid",Nn=e=>typeof Promise<"u"&&e instanceof Promise;var I;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(I||(I={}));var mt=class{constructor(t,r,n,o){this._cachedPath=[],this.parent=t,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}},qh=(e,t)=>{if(_r(t))return{success:!0,data:t.value};if(!e.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 Ye(e.common.issues);return this._error=r,this._error}}};function U(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:o}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(s,a)=>{let{message:c}=e;return s.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:s.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var V=class{get description(){return this._def.description}_getType(t){return Lt(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Lt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Ce,ctx:{common:t.parent.common,data:t.data,parsedType:Lt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(Nn(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Lt(t)},o=this._parseSync({data:t,path:n.path,parent:n});return qh(n,o)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Lt(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return _r(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:t,path:[],parent:r}).then(n=>_r(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Lt(t)},o=this._parse({data:t,path:n.path,parent:n}),i=await(Nn(o)?o:Promise.resolve(o));return qh(n,i)}refine(t,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,i)=>{let s=t(o),a=()=>i.addIssue({code:w.custom,...n(o)});return typeof Promise<"u"&&s instanceof Promise?s.then(c=>c?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,r){return this._refinement((n,o)=>t(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(t){return new gt({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,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 Qe.create(this,this._def)}nullable(){return qt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return tr.create(this)}promise(){return xr.create(this,this._def)}or(t){return Jr.create([this,t],this._def)}and(t){return Yr.create(this,t,this._def)}transform(t){return new gt({...U(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new rn({...U(this._def),innerType:this,defaultValue:r,typeName:T.ZodDefault})}brand(){return new Io({typeName:T.ZodBranded,type:this,...U(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new nn({...U(this._def),innerType:this,catchValue:r,typeName:T.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return Ro.create(this,t)}readonly(){return on.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},y1=/^c[^\s-]{8,}$/i,v1=/^[0-9a-z]+$/,x1=/^[0-9A-HJKMNP-TV-Z]{26}$/i,b1=/^[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,k1=/^[a-z0-9_-]{21}$/i,w1=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,S1=/^[-+]?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)?)??$/,T1=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,$1="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Fc,P1=/^(?:(?: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])$/,E1=/^(?:(?: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])$/,z1=/^(([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]))$/,C1=/^(([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])$/,I1=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,R1=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Uh="((\\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])))",A1=new RegExp(`^${Uh}$`);function Bh(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function O1(e){return new RegExp(`^${Bh(e)}$`)}function Vh(e){let t=`${Uh}T${Bh(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function N1(e,t){return!!((t==="v4"||!t)&&P1.test(e)||(t==="v6"||!t)&&z1.test(e))}function j1(e,t){if(!w1.test(e))return!1;try{let[r]=e.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||t&&o.alg!==t)}catch{return!1}}function M1(e,t){return!!((t==="v4"||!t)&&E1.test(e)||(t==="v6"||!t)&&C1.test(e))}var yr=class e extends V{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==E.string){let i=this._getOrReturnCtx(t);return P(i,{code:w.invalid_type,expected:E.string,received:i.parsedType}),L}let n=new Ce,o;for(let i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(o=this._getOrReturnCtx(t,o),P(o,{code:w.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")t.data.length>i.value&&(o=this._getOrReturnCtx(t,o),P(o,{code:w.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let s=t.data.length>i.value,a=t.data.length<i.value;(s||a)&&(o=this._getOrReturnCtx(t,o),s?P(o,{code:w.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&P(o,{code:w.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")T1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"email",code:w.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")Fc||(Fc=new RegExp($1,"u")),Fc.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"emoji",code:w.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")b1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"uuid",code:w.invalid_string,message:i.message}),n.dirty());else if(i.kind==="nanoid")k1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"nanoid",code:w.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")y1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"cuid",code:w.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")v1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"cuid2",code:w.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")x1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"ulid",code:w.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),P(o,{validation:"url",code:w.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"regex",code:w.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?t.data=t.data.trim():i.kind==="includes"?t.data.includes(i.value,i.position)||(o=this._getOrReturnCtx(t,o),P(o,{code:w.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?t.data=t.data.toLowerCase():i.kind==="toUpperCase"?t.data=t.data.toUpperCase():i.kind==="startsWith"?t.data.startsWith(i.value)||(o=this._getOrReturnCtx(t,o),P(o,{code:w.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?t.data.endsWith(i.value)||(o=this._getOrReturnCtx(t,o),P(o,{code:w.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?Vh(i).test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{code:w.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="date"?A1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{code:w.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?O1(i).test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{code:w.invalid_string,validation:"time",message:i.message}),n.dirty()):i.kind==="duration"?S1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"duration",code:w.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?N1(t.data,i.version)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"ip",code:w.invalid_string,message:i.message}),n.dirty()):i.kind==="jwt"?j1(t.data,i.alg)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"jwt",code:w.invalid_string,message:i.message}),n.dirty()):i.kind==="cidr"?M1(t.data,i.version)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"cidr",code:w.invalid_string,message:i.message}),n.dirty()):i.kind==="base64"?I1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"base64",code:w.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?R1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"base64url",code:w.invalid_string,message:i.message}),n.dirty()):J.assertNever(i);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(o=>t.test(o),{validation:r,code:w.invalid_string,...I.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...I.errToObj(t)})}url(t){return this._addCheck({kind:"url",...I.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...I.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...I.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...I.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...I.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...I.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...I.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...I.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...I.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...I.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...I.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...I.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...I.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...I.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...I.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...I.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...I.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...I.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...I.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...I.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...I.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...I.errToObj(r)})}nonempty(t){return this.min(1,I.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};yr.create=e=>new yr({checks:[],typeName:T.ZodString,coerce:e?.coerce??!1,...U(e)});function D1(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return i%s/10**o}var Br=class e extends V{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==E.number){let i=this._getOrReturnCtx(t);return P(i,{code:w.invalid_type,expected:E.number,received:i.parsedType}),L}let n,o=new Ce;for(let i of this._def.checks)i.kind==="int"?J.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),P(n,{code:w.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(n=this._getOrReturnCtx(t,n),P(n,{code:w.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),P(n,{code:w.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?D1(t.data,i.value)!==0&&(n=this._getOrReturnCtx(t,n),P(n,{code:w.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),P(n,{code:w.not_finite,message:i.message}),o.dirty()):J.assertNever(i);return{status:o.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,I.toString(r))}gt(t,r){return this.setLimit("min",t,!1,I.toString(r))}lte(t,r){return this.setLimit("max",t,!0,I.toString(r))}lt(t,r){return this.setLimit("max",t,!1,I.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:I.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:I.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:I.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:I.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:I.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:I.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:I.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:I.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:I.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:I.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&J.isInteger(t.value))}get isFinite(){let t=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"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};Br.create=e=>new Br({checks:[],typeName:T.ZodNumber,coerce:e?.coerce||!1,...U(e)});var Vr=class e extends V{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==E.bigint)return this._getInvalidInput(t);let n,o=new Ce;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(n=this._getOrReturnCtx(t,n),P(n,{code:w.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),P(n,{code:w.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),P(n,{code:w.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):J.assertNever(i);return{status:o.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return P(r,{code:w.invalid_type,expected:E.bigint,received:r.parsedType}),L}gte(t,r){return this.setLimit("min",t,!0,I.toString(r))}gt(t,r){return this.setLimit("min",t,!1,I.toString(r))}lte(t,r){return this.setLimit("max",t,!0,I.toString(r))}lt(t,r){return this.setLimit("max",t,!1,I.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:I.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:I.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:I.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:I.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:I.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:I.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Vr.create=e=>new Vr({checks:[],typeName:T.ZodBigInt,coerce:e?.coerce??!1,...U(e)});var Hr=class extends V{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==E.boolean){let n=this._getOrReturnCtx(t);return P(n,{code:w.invalid_type,expected:E.boolean,received:n.parsedType}),L}return Le(t.data)}};Hr.create=e=>new Hr({typeName:T.ZodBoolean,coerce:e?.coerce||!1,...U(e)});var Gr=class e extends V{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==E.date){let i=this._getOrReturnCtx(t);return P(i,{code:w.invalid_type,expected:E.date,received:i.parsedType}),L}if(Number.isNaN(t.data.getTime())){let i=this._getOrReturnCtx(t);return P(i,{code:w.invalid_date}),L}let n=new Ce,o;for(let i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(o=this._getOrReturnCtx(t,o),P(o,{code:w.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?t.data.getTime()>i.value&&(o=this._getOrReturnCtx(t,o),P(o,{code:w.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):J.assertNever(i);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:I.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:I.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};Gr.create=e=>new Gr({checks:[],coerce:e?.coerce||!1,typeName:T.ZodDate,...U(e)});var Mn=class extends V{_parse(t){if(this._getType(t)!==E.symbol){let n=this._getOrReturnCtx(t);return P(n,{code:w.invalid_type,expected:E.symbol,received:n.parsedType}),L}return Le(t.data)}};Mn.create=e=>new Mn({typeName:T.ZodSymbol,...U(e)});var Kr=class extends V{_parse(t){if(this._getType(t)!==E.undefined){let n=this._getOrReturnCtx(t);return P(n,{code:w.invalid_type,expected:E.undefined,received:n.parsedType}),L}return Le(t.data)}};Kr.create=e=>new Kr({typeName:T.ZodUndefined,...U(e)});var Wr=class extends V{_parse(t){if(this._getType(t)!==E.null){let n=this._getOrReturnCtx(t);return P(n,{code:w.invalid_type,expected:E.null,received:n.parsedType}),L}return Le(t.data)}};Wr.create=e=>new Wr({typeName:T.ZodNull,...U(e)});var vr=class extends V{constructor(){super(...arguments),this._any=!0}_parse(t){return Le(t.data)}};vr.create=e=>new vr({typeName:T.ZodAny,...U(e)});var er=class extends V{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Le(t.data)}};er.create=e=>new er({typeName:T.ZodUnknown,...U(e)});var Et=class extends V{_parse(t){let r=this._getOrReturnCtx(t);return P(r,{code:w.invalid_type,expected:E.never,received:r.parsedType}),L}};Et.create=e=>new Et({typeName:T.ZodNever,...U(e)});var Dn=class extends V{_parse(t){if(this._getType(t)!==E.undefined){let n=this._getOrReturnCtx(t);return P(n,{code:w.invalid_type,expected:E.void,received:n.parsedType}),L}return Le(t.data)}};Dn.create=e=>new Dn({typeName:T.ZodVoid,...U(e)});var tr=class e extends V{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),o=this._def;if(r.parsedType!==E.array)return P(r,{code:w.invalid_type,expected:E.array,received:r.parsedType}),L;if(o.exactLength!==null){let s=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(s||a)&&(P(r,{code:s?w.too_big:w.too_small,minimum:a?o.exactLength.value:void 0,maximum:s?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(P(r,{code:w.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(P(r,{code:w.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((s,a)=>o.type._parseAsync(new mt(r,s,r.path,a)))).then(s=>Ce.mergeArray(n,s));let i=[...r.data].map((s,a)=>o.type._parseSync(new mt(r,s,r.path,a)));return Ce.mergeArray(n,i)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:I.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:I.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:I.toString(r)}})}nonempty(t){return this.min(1,t)}};tr.create=(e,t)=>new tr({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...U(t)});function jn(e){if(e instanceof Xe){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Qe.create(jn(n))}return new Xe({...e._def,shape:()=>t})}else return e instanceof tr?new tr({...e._def,type:jn(e.element)}):e instanceof Qe?Qe.create(jn(e.unwrap())):e instanceof qt?qt.create(jn(e.unwrap())):e instanceof Zt?Zt.create(e.items.map(t=>jn(t))):e}var Xe=class e extends V{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=J.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==E.object){let u=this._getOrReturnCtx(t);return P(u,{code:w.invalid_type,expected:E.object,received:u.parsedType}),L}let{status:n,ctx:o}=this._processInputParams(t),{shape:i,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Et&&this._def.unknownKeys==="strip"))for(let u in o.data)s.includes(u)||a.push(u);let c=[];for(let u of s){let p=i[u],l=o.data[u];c.push({key:{status:"valid",value:u},value:p._parse(new mt(o,l,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Et){let u=this._def.unknownKeys;if(u==="passthrough")for(let p of a)c.push({key:{status:"valid",value:p},value:{status:"valid",value:o.data[p]}});else if(u==="strict")a.length>0&&(P(o,{code:w.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let p of a){let l=o.data[p];c.push({key:{status:"valid",value:p},value:u._parse(new mt(o,l,o.path,p)),alwaysSet:p in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let p of c){let l=await p.key,d=await p.value;u.push({key:l,value:d,alwaysSet:p.alwaysSet})}return u}).then(u=>Ce.mergeObjectSync(n,u)):Ce.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(t){return I.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:I.errToObj(t).message??o}:{message:o}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:T.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of J.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of J.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return jn(this)}partial(t){let r={};for(let n of J.objectKeys(this.shape)){let o=this.shape[n];t&&!t[n]?r[n]=o:r[n]=o.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of J.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof Qe;)i=i._def.innerType;r[n]=i}return new e({...this._def,shape:()=>r})}keyof(){return Hh(J.objectKeys(this.shape))}};Xe.create=(e,t)=>new Xe({shape:()=>e,unknownKeys:"strip",catchall:Et.create(),typeName:T.ZodObject,...U(t)});Xe.strictCreate=(e,t)=>new Xe({shape:()=>e,unknownKeys:"strict",catchall:Et.create(),typeName:T.ZodObject,...U(t)});Xe.lazycreate=(e,t)=>new Xe({shape:e,unknownKeys:"strip",catchall:Et.create(),typeName:T.ZodObject,...U(t)});var Jr=class extends V{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function o(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let s=i.map(a=>new Ye(a.ctx.common.issues));return P(r,{code:w.invalid_union,unionErrors:s}),L}if(r.common.async)return Promise.all(n.map(async i=>{let s={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:s}),ctx:s}})).then(o);{let i,s=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},p=c._parseSync({data:r.data,path:r.path,parent:u});if(p.status==="valid")return p;p.status==="dirty"&&!i&&(i={result:p,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(c=>new Ye(c));return P(r,{code:w.invalid_union,unionErrors:a}),L}}get options(){return this._def.options}};Jr.create=(e,t)=>new Jr({options:e,typeName:T.ZodUnion,...U(t)});var Xt=e=>e instanceof Qr?Xt(e.schema):e instanceof gt?Xt(e.innerType()):e instanceof Xr?[e.value]:e instanceof en?e.options:e instanceof tn?J.objectValues(e.enum):e instanceof rn?Xt(e._def.innerType):e instanceof Kr?[void 0]:e instanceof Wr?[null]:e instanceof Qe?[void 0,...Xt(e.unwrap())]:e instanceof qt?[null,...Xt(e.unwrap())]:e instanceof Io||e instanceof on?Xt(e.unwrap()):e instanceof nn?Xt(e._def.innerType):[],ns=class e extends V{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==E.object)return P(r,{code:w.invalid_type,expected:E.object,received:r.parsedType}),L;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}):(P(r,{code:w.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),L)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let o=new Map;for(let i of r){let s=Xt(i.shape[t]);if(!s.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of s){if(o.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);o.set(a,i)}}return new e({typeName:T.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:o,...U(n)})}};function Uc(e,t){let r=Lt(e),n=Lt(t);if(e===t)return{valid:!0,data:e};if(r===E.object&&n===E.object){let o=J.objectKeys(t),i=J.objectKeys(e).filter(a=>o.indexOf(a)!==-1),s={...e,...t};for(let a of i){let c=Uc(e[a],t[a]);if(!c.valid)return{valid:!1};s[a]=c.data}return{valid:!0,data:s}}else if(r===E.array&&n===E.array){if(e.length!==t.length)return{valid:!1};let o=[];for(let i=0;i<e.length;i++){let s=e[i],a=t[i],c=Uc(s,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===E.date&&n===E.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Yr=class extends V{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=(i,s)=>{if(ts(i)||ts(s))return L;let a=Uc(i.value,s.value);return a.valid?((rs(i)||rs(s))&&r.dirty(),{status:r.value,value:a.data}):(P(n,{code:w.invalid_intersection_types}),L)};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,s])=>o(i,s)):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}))}};Yr.create=(e,t,r)=>new Yr({left:e,right:t,typeName:T.ZodIntersection,...U(r)});var Zt=class e extends V{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==E.array)return P(n,{code:w.invalid_type,expected:E.array,received:n.parsedType}),L;if(n.data.length<this._def.items.length)return P(n,{code:w.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),L;!this._def.rest&&n.data.length>this._def.items.length&&(P(n,{code:w.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((s,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new mt(n,s,n.path,a)):null}).filter(s=>!!s);return n.common.async?Promise.all(i).then(s=>Ce.mergeArray(r,s)):Ce.mergeArray(r,i)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Zt.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Zt({items:e,typeName:T.ZodTuple,rest:null,...U(t)})};var os=class e extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==E.object)return P(n,{code:w.invalid_type,expected:E.object,received:n.parsedType}),L;let o=[],i=this._def.keyType,s=this._def.valueType;for(let a in n.data)o.push({key:i._parse(new mt(n,a,n.path,a)),value:s._parse(new mt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ce.mergeObjectAsync(r,o):Ce.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof V?new e({keyType:t,valueType:r,typeName:T.ZodRecord,...U(n)}):new e({keyType:yr.create(),valueType:t,typeName:T.ZodRecord,...U(r)})}},Ln=class extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==E.map)return P(n,{code:w.invalid_type,expected:E.map,received:n.parsedType}),L;let o=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new mt(n,a,n.path,[u,"key"])),value:i._parse(new mt(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of s){let u=await c.key,p=await c.value;if(u.status==="aborted"||p.status==="aborted")return L;(u.status==="dirty"||p.status==="dirty")&&r.dirty(),a.set(u.value,p.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of s){let u=c.key,p=c.value;if(u.status==="aborted"||p.status==="aborted")return L;(u.status==="dirty"||p.status==="dirty")&&r.dirty(),a.set(u.value,p.value)}return{status:r.value,value:a}}}};Ln.create=(e,t,r)=>new Ln({valueType:t,keyType:e,typeName:T.ZodMap,...U(r)});var Zn=class e extends V{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==E.set)return P(n,{code:w.invalid_type,expected:E.set,received:n.parsedType}),L;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(P(n,{code:w.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(P(n,{code:w.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let i=this._def.valueType;function s(c){let u=new Set;for(let p of c){if(p.status==="aborted")return L;p.status==="dirty"&&r.dirty(),u.add(p.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>i._parse(new mt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>s(c)):s(a)}min(t,r){return new e({...this._def,minSize:{value:t,message:I.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:I.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};Zn.create=(e,t)=>new Zn({valueType:e,minSize:null,maxSize:null,typeName:T.ZodSet,...U(t)});var is=class e extends V{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==E.function)return P(r,{code:w.invalid_type,expected:E.function,received:r.parsedType}),L;function n(a,c){return Co({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,On(),Qt].filter(u=>!!u),issueData:{code:w.invalid_arguments,argumentsError:c}})}function o(a,c){return Co({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,On(),Qt].filter(u=>!!u),issueData:{code:w.invalid_return_type,returnTypeError:c}})}let i={errorMap:r.common.contextualErrorMap},s=r.data;if(this._def.returns instanceof xr){let a=this;return Le(async function(...c){let u=new Ye([]),p=await a._def.args.parseAsync(c,i).catch(h=>{throw u.addIssue(n(c,h)),u}),l=await Reflect.apply(s,this,p);return await a._def.returns._def.type.parseAsync(l,i).catch(h=>{throw u.addIssue(o(l,h)),u})})}else{let a=this;return Le(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new Ye([n(c,u.error)]);let p=Reflect.apply(s,this,u.data),l=a._def.returns.safeParse(p,i);if(!l.success)throw new Ye([o(p,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Zt.create(t).rest(er.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||Zt.create([]).rest(er.create()),returns:r||er.create(),typeName:T.ZodFunction,...U(n)})}},Qr=class extends V{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Qr.create=(e,t)=>new Qr({getter:e,typeName:T.ZodLazy,...U(t)});var Xr=class extends V{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return P(r,{received:r.data,code:w.invalid_literal,expected:this._def.value}),L}return{status:"valid",value:t.data}}get value(){return this._def.value}};Xr.create=(e,t)=>new Xr({value:e,typeName:T.ZodLiteral,...U(t)});function Hh(e,t){return new en({values:e,typeName:T.ZodEnum,...U(t)})}var en=class e extends V{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return P(r,{expected:J.joinValues(n),received:r.parsedType,code:w.invalid_type}),L}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return P(r,{received:r.data,code:w.invalid_enum_value,options:n}),L}return Le(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};en.create=Hh;var tn=class extends V{_parse(t){let r=J.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==E.string&&n.parsedType!==E.number){let o=J.objectValues(r);return P(n,{expected:J.joinValues(o),received:n.parsedType,code:w.invalid_type}),L}if(this._cache||(this._cache=new Set(J.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let o=J.objectValues(r);return P(n,{received:n.data,code:w.invalid_enum_value,options:o}),L}return Le(t.data)}get enum(){return this._def.values}};tn.create=(e,t)=>new tn({values:e,typeName:T.ZodNativeEnum,...U(t)});var xr=class extends V{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==E.promise&&r.common.async===!1)return P(r,{code:w.invalid_type,expected:E.promise,received:r.parsedType}),L;let n=r.parsedType===E.promise?r.data:Promise.resolve(r.data);return Le(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};xr.create=(e,t)=>new xr({type:e,typeName:T.ZodPromise,...U(t)});var gt=class extends V{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=this._def.effect||null,i={addIssue:s=>{P(n,s),s.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let s=o.transform(n.data,i);if(n.common.async)return Promise.resolve(s).then(async a=>{if(r.value==="aborted")return L;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?L:c.status==="dirty"?Ur(c.value):r.value==="dirty"?Ur(c.value):c});{if(r.value==="aborted")return L;let a=this._def.schema._parseSync({data:s,path:n.path,parent:n});return a.status==="aborted"?L:a.status==="dirty"?Ur(a.value):r.value==="dirty"?Ur(a.value):a}}if(o.type==="refinement"){let s=a=>{let c=o.refinement(a,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 a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?L:(a.status==="dirty"&&r.dirty(),s(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?L:(a.status==="dirty"&&r.dirty(),s(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!_r(s))return L;let a=o.transform(s.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>_r(s)?Promise.resolve(o.transform(s.value,i)).then(a=>({status:r.value,value:a})):L);J.assertNever(o)}};gt.create=(e,t,r)=>new gt({schema:e,typeName:T.ZodEffects,effect:t,...U(r)});gt.createWithPreprocess=(e,t,r)=>new gt({schema:t,effect:{type:"preprocess",transform:e},typeName:T.ZodEffects,...U(r)});var Qe=class extends V{_parse(t){return this._getType(t)===E.undefined?Le(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Qe.create=(e,t)=>new Qe({innerType:e,typeName:T.ZodOptional,...U(t)});var qt=class extends V{_parse(t){return this._getType(t)===E.null?Le(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};qt.create=(e,t)=>new qt({innerType:e,typeName:T.ZodNullable,...U(t)});var rn=class extends V{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===E.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};rn.create=(e,t)=>new rn({innerType:e,typeName:T.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...U(t)});var nn=class extends V{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Nn(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ye(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ye(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};nn.create=(e,t)=>new nn({innerType:e,typeName:T.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...U(t)});var qn=class extends V{_parse(t){if(this._getType(t)!==E.nan){let n=this._getOrReturnCtx(t);return P(n,{code:w.invalid_type,expected:E.nan,received:n.parsedType}),L}return{status:"valid",value:t.data}}};qn.create=e=>new qn({typeName:T.ZodNaN,...U(e)});var L1=Symbol("zod_brand"),Io=class extends V{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Ro=class e extends V{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);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"?L:i.status==="dirty"?(r.dirty(),Ur(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"?L:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:T.ZodPipeline})}},on=class extends V{_parse(t){let r=this._def.innerType._parse(t),n=o=>(_r(o)&&(o.value=Object.freeze(o.value)),o);return Nn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};on.create=(e,t)=>new on({innerType:e,typeName:T.ZodReadonly,...U(t)});function Fh(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function Gh(e,t={},r){return e?vr.create().superRefine((n,o)=>{let i=e(n);if(i instanceof Promise)return i.then(s=>{if(!s){let a=Fh(t,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!i){let s=Fh(t,n),a=s.fatal??r??!0;o.addIssue({code:"custom",...s,fatal:a})}}):vr.create()}var Z1={object:Xe.lazycreate},T;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(T||(T={}));var q1=(e,t={message:`Input not instance of ${e.name}`})=>Gh(r=>r instanceof e,t),Kh=yr.create,Wh=Br.create,F1=qn.create,U1=Vr.create,Jh=Hr.create,B1=Gr.create,V1=Mn.create,H1=Kr.create,G1=Wr.create,K1=vr.create,W1=er.create,J1=Et.create,Y1=Dn.create,Q1=tr.create,Bc=Xe.create,X1=Xe.strictCreate,e2=Jr.create,t2=ns.create,r2=Yr.create,n2=Zt.create,o2=os.create,i2=Ln.create,s2=Zn.create,a2=is.create,c2=Qr.create,u2=Xr.create,l2=en.create,p2=tn.create,d2=xr.create,f2=gt.create,h2=Qe.create,m2=qt.create,g2=gt.createWithPreprocess,_2=Ro.create,y2=()=>Kh().optional(),v2=()=>Wh().optional(),x2=()=>Jh().optional(),b2={string:(e=>yr.create({...e,coerce:!0})),number:(e=>Br.create({...e,coerce:!0})),boolean:(e=>Hr.create({...e,coerce:!0})),bigint:(e=>Vr.create({...e,coerce:!0})),date:(e=>Gr.create({...e,coerce:!0}))};var k2=L;var w2=Object.freeze({status:"aborted"});function b(e,t,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(e),t(a,c);for(let p in s.prototype)p in a||Object.defineProperty(a,p,{value:s.prototype[p].bind(a)});a._zod.constr=s,a._zod.def=c}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let u=r?.Parent?new i:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let p of u._zod.deferred)p();return u}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var S2=Symbol("zod_brand"),rr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ss={};function ct(e){return e&&Object.assign(ss,e),ss}var Y={};Lc(Y,{BIGINT_FORMAT_RANGES:()=>Qh,Class:()=>Hc,NUMBER_FORMAT_RANGES:()=>Xc,aborted:()=>an,allowsEval:()=>Jc,assert:()=>z2,assertEqual:()=>T2,assertIs:()=>P2,assertNever:()=>E2,assertNotEqual:()=>$2,assignProp:()=>Wc,cached:()=>No,captureStackTrace:()=>cs,cleanEnum:()=>F2,cleanRegex:()=>Mo,clone:()=>ut,createTransparentProxy:()=>N2,defineLazy:()=>ce,esc:()=>sn,escapeRegex:()=>br,extend:()=>D2,finalizeIssue:()=>zt,floatSafeRemainder:()=>Kc,getElementAtPath:()=>C2,getEnumValues:()=>Oo,getLengthableOrigin:()=>Do,getParsedType:()=>O2,getSizableOrigin:()=>Xh,isObject:()=>Fn,isPlainObject:()=>Un,issue:()=>eu,joinValues:()=>as,jsonStringifyReplacer:()=>Gc,merge:()=>L2,normalizeParams:()=>Z,nullish:()=>jo,numKeys:()=>A2,omit:()=>M2,optionalKeys:()=>Qc,partial:()=>Z2,pick:()=>j2,prefixIssues:()=>Ft,primitiveTypes:()=>Yh,promiseAllObject:()=>I2,propertyKeyTypes:()=>Yc,randomString:()=>R2,required:()=>q2,stringifyPrimitive:()=>us,unwrapMessage:()=>Ao});function T2(e){return e}function $2(e){return e}function P2(e){}function E2(e){throw new Error}function z2(e){}function Oo(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function as(e,t="|"){return e.map(r=>us(r)).join(t)}function Gc(e,t){return typeof t=="bigint"?t.toString():t}function No(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function jo(e){return e==null}function Mo(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Kc(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return i%s/10**o}function ce(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Wc(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function C2(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function I2(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=n[i];return o})}function R2(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function sn(e){return JSON.stringify(e)}var cs=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Fn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Jc=No(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Un(e){if(Fn(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Fn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function A2(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var O2=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Yc=new Set(["string","number","symbol"]),Yh=new Set(["string","number","bigint","boolean","symbol","undefined"]);function br(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ut(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function Z(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function N2(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,i){return t??(t=e()),Reflect.set(t,n,o,i)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function us(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Qc(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Xc={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]},Qh={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function j2(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return ut(e,{...e._zod.def,shape:r,checks:[]})}function M2(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return ut(e,{...e._zod.def,shape:r,checks:[]})}function D2(e,t){if(!Un(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Wc(this,"shape",n),n},checks:[]};return ut(e,r)}function L2(e,t){return ut(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Wc(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function Z2(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in n))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=e?new e({type:"optional",innerType:n[i]}):n[i])}else for(let i in n)o[i]=e?new e({type:"optional",innerType:n[i]}):n[i];return ut(t,{...t._zod.def,shape:o,checks:[]})}function q2(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new e({type:"nonoptional",innerType:n[i]}))}else for(let i in n)o[i]=new e({type:"nonoptional",innerType:n[i]});return ut(t,{...t._zod.def,shape:o,checks:[]})}function an(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Ft(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Ao(e){return typeof e=="string"?e:e?.message}function zt(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=Ao(e.inst?._zod.def?.error?.(e))??Ao(t?.error?.(e))??Ao(r.customError?.(e))??Ao(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Xh(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Do(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function eu(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function F2(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var Hc=class{constructor(...t){}};var em=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Gc,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ls=b("$ZodError",em),Lo=b("$ZodError",em,{Parent:Error});function tu(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function ru(e,t){let r=t||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>o({issues:a}));else if(s.code==="invalid_key")o({issues:s.issues});else if(s.code==="invalid_element")o({issues:s.issues});else if(s.path.length===0)n._errors.push(r(s));else{let a=n,c=0;for(;c<s.path.length;){let u=s.path[c];c===s.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(s))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(e),n}var nu=e=>(t,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new rr;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>zt(c,i,ct())));throw cs(a,o?.callee),a}return s.value},ou=nu(Lo),iu=e=>async(t,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>zt(c,i,ct())));throw cs(a,o?.callee),a}return s.value},su=iu(Lo),au=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new rr;return i.issues.length?{success:!1,error:new(e??ls)(i.issues.map(s=>zt(s,o,ct())))}:{success:!0,data:i.value}},cn=au(Lo),cu=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>zt(s,o,ct())))}:{success:!0,data:i.value}},un=cu(Lo);var tm=/^[cC][^\s-]{8,}$/,rm=/^[0-9a-z]+$/,nm=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,om=/^[0-9a-vA-V]{20}$/,im=/^[A-Za-z0-9]{27}$/,sm=/^[a-zA-Z0-9_-]{21}$/,am=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var cm=/^([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})$/,uu=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[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)$/;var um=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var B2="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function lm(){return new RegExp(B2,"u")}var pm=/^(?:(?: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])$/,dm=/^(([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})$/,fm=/^((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])$/,hm=/^(([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])$/,mm=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,lu=/^[A-Za-z0-9_-]*$/,gm=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var _m=/^\+(?:[0-9]){6,14}[0-9]$/,ym="(?:(?:\\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])))",vm=new RegExp(`^${ym}$`);function xm(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function bm(e){return new RegExp(`^${xm(e)}$`)}function km(e){let t=xm({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${ym}T(?:${n})$`)}var wm=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Sm=/^\d+$/,Tm=/^-?\d+(?:\.\d+)?/i,$m=/true|false/i,Pm=/null/i;var Em=/^[^A-Z]*$/,zm=/^[^a-z]*$/;var Ie=b("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Cm={number:"number",bigint:"bigint",object:"date"},pu=b("$ZodCheckLessThan",(e,t)=>{Ie.init(e,t);let r=Cm[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),du=b("$ZodCheckGreaterThan",(e,t)=>{Ie.init(e,t);let r=Cm[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Im=b("$ZodCheckMultipleOf",(e,t)=>{Ie.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Kc(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Rm=b("$ZodCheckNumberFormat",(e,t)=>{Ie.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Xc[t.format];e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,a.minimum=o,a.maximum=i,r&&(a.pattern=Sm)}),e._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inst:e})}});var Am=b("$ZodCheckMaxLength",(e,t)=>{var r;Ie.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!jo(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let s=Do(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Om=b("$ZodCheckMinLength",(e,t)=>{var r;Ie.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!jo(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let s=Do(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Nm=b("$ZodCheckLengthEquals",(e,t)=>{var r;Ie.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!jo(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,i=o.length;if(i===t.length)return;let s=Do(o),a=i>t.length;n.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Zo=b("$ZodCheckStringFormat",(e,t)=>{var r,n;Ie.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),jm=b("$ZodCheckRegex",(e,t)=>{Zo.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Mm=b("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Em),Zo.init(e,t)}),Dm=b("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=zm),Zo.init(e,t)}),Lm=b("$ZodCheckIncludes",(e,t)=>{Ie.init(e,t);let r=br(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Zm=b("$ZodCheckStartsWith",(e,t)=>{Ie.init(e,t);let r=new RegExp(`^${br(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),qm=b("$ZodCheckEndsWith",(e,t)=>{Ie.init(e,t);let r=new RegExp(`.*${br(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Fm=b("$ZodCheckOverwrite",(e,t)=>{Ie.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var ds=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
|
|
31
|
+
`.trim()},blockValue:function(t){var r=this.aliasable("container.hooks.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(t,0,n);var o=this.popStack();n.splice(1,0,o),this.push(this.source.functionCall(r,"call",n))},ambiguousBlockValue:function(){var t=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs("",0,r,!0),this.flushInline();var n=this.topStack();r.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",this.source.functionCall(t,"call",r),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack(function(r){return[" != null ? ",r,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,r,n,o){var i=0;!o&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(t[i++])):this.pushContext(),this.resolvePath("context",t,i,r,n)},lookupBlockParam:function(t,r){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",r,1)},lookupData:function(t,r,n){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",r,0,!0,n)},resolvePath:function(t,r,n,o,i){var s=this;if(this.options.strict||this.options.assumeObjects){this.push(B3(this.options.strict&&i,this,r,n,t));return}for(var a=r.length;n<a;n++)this.replaceStack(function(c){var u=s.nameLookup(c,r[n],t);return o?[" && ",u]:[" != null ? ",u," : ",c]})},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(t,r){this.pushContext(),this.pushString(r),r!=="SubExpression"&&(typeof t=="string"?this.pushString(t):this.pushStackLiteral(t))},emptyHash:function(t){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(t?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},popHash:function(){var t=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(t.ids)),this.stringParams&&(this.push(this.objectLiteral(t.contexts)),this.push(this.objectLiteral(t.types))),this.push(this.objectLiteral(t.values))},pushString:function(t){this.pushStackLiteral(this.quotedString(t))},pushLiteral:function(t){this.pushStackLiteral(t)},pushProgram:function(t){t!=null?this.pushStackLiteral(this.programExpression(t)):this.pushStackLiteral(null)},registerDecorator:function(t,r){var n=this.nameLookup("decorators",r,"decorator"),o=this.setupHelperArgs(r,t);this.decorators.push(["fn = ",this.decorators.functionCall(n,"",["fn","props","container",o])," || fn;"])},invokeHelper:function(t,r,n){var o=this.popStack(),i=this.setupHelper(t,r),s=[];n&&s.push(i.name),s.push(o),this.options.strict||s.push(this.aliasable("container.hooks.helperMissing"));var a=["(",this.itemsSeparatedBy(s,"||"),")"],c=this.source.functionCall(a,"call",i.callParams);this.push(c)},itemsSeparatedBy:function(t,r){var n=[];n.push(t[0]);for(var o=1;o<t.length;o++)n.push(r,t[o]);return n},invokeKnownHelper:function(t,r){var n=this.setupHelper(t,r);this.push(this.source.functionCall(n.name,"call",n.callParams))},invokeAmbiguous:function(t,r){this.useRegister("helper");var n=this.popStack();this.emptyHash();var o=this.setupHelper(0,t,r),i=this.lastHelper=this.nameLookup("helpers",t,"helper"),s=["(","(helper = ",i," || ",n,")"];this.options.strict||(s[0]="(helper = ",s.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",s,o.paramsInit?["),(",o.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",o.callParams)," : helper))"])},invokePartial:function(t,r,n){var o=[],i=this.setupParams(r,1,o);t&&(r=this.popStack(),delete i.name),n&&(i.indent=JSON.stringify(n)),i.helpers="helpers",i.partials="partials",i.decorators="container.decorators",t?o.unshift(r):o.unshift(this.nameLookup("partials",r,"partial")),this.options.compat&&(i.depths="depths"),i=this.objectLiteral(i),o.push(i),this.push(this.source.functionCall("container.invokePartial","",o))},assignToHash:function(t){var r=this.popStack(),n=void 0,o=void 0,i=void 0;this.trackIds&&(i=this.popStack()),this.stringParams&&(o=this.popStack(),n=this.popStack());var s=this.hash;n&&(s.contexts[t]=n),o&&(s.types[t]=o),i&&(s.ids[t]=i),s.values[t]=r},pushId:function(t,r,n){t==="BlockParam"?this.pushStackLiteral("blockParams["+r[0]+"].path["+r[1]+"]"+(n?" + "+JSON.stringify("."+n):"")):t==="PathExpression"?this.pushString(r):t==="SubExpression"?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:bo,compileChildren:function(t,r){for(var n=t.children,o=void 0,i=void 0,s=0,a=n.length;s<a;s++){o=n[s],i=new this.compiler;var c=this.matchExistingProgram(o);if(c==null){this.context.programs.push("");var u=this.context.programs.length;o.index=u,o.name="program"+u,this.context.programs[u]=i.compile(o,r,this.context,!this.precompile),this.context.decorators[u]=i.decorators,this.context.environments[u]=o,this.useDepths=this.useDepths||i.useDepths,this.useBlockParams=this.useBlockParams||i.useBlockParams,o.useDepths=this.useDepths,o.useBlockParams=this.useBlockParams}else o.index=c.index,o.name="program"+c.index,this.useDepths=this.useDepths||c.useDepths,this.useBlockParams=this.useBlockParams||c.useBlockParams}},matchExistingProgram:function(t){for(var r=0,n=this.context.environments.length;r<n;r++){var o=this.context.environments[r];if(o&&o.equals(t))return o}},programExpression:function(t){var r=this.environment.children[t],n=[r.index,"data",r.blockParams];return(this.useBlockParams||this.useDepths)&&n.push("blockParams"),this.useDepths&&n.push("depths"),"container.program("+n.join(", ")+")"},useRegister:function(t){this.registers[t]||(this.registers[t]=!0,this.registers.list.push(t))},push:function(t){return t instanceof xo||(t=this.source.wrap(t)),this.inlineStack.push(t),t},pushStackLiteral:function(t){this.push(new xo(t))},pushSource:function(t){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),t&&this.source.push(t)},replaceStack:function(t){var r=["("],n=void 0,o=void 0,i=void 0;if(!this.isInline())throw new bh.default("replaceStack on non-inline");var s=this.popStack(!0);if(s instanceof xo)n=[s.value],r=["(",n],i=!0;else{o=!0;var a=this.incrStack();r=["((",this.push(a)," = ",s,")"],n=this.topStack()}var c=t.call(this,n);i||this.popStack(),o&&this.stackSlot--,this.push(r.concat(c,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var r=0,n=t.length;r<n;r++){var o=t[r];if(o instanceof xo)this.compileStack.push(o);else{var i=this.incrStack();this.pushSource([i," = ",o,";"]),this.compileStack.push(i)}}},isInline:function(){return this.inlineStack.length},popStack:function(t){var r=this.isInline(),n=(r?this.inlineStack:this.compileStack).pop();if(!t&&n instanceof xo)return n.value;if(!r){if(!this.stackSlot)throw new bh.default("Invalid stack pop");this.stackSlot--}return n},topStack:function(){var t=this.isInline()?this.inlineStack:this.compileStack,r=t[t.length-1];return r instanceof xo?r.value:r},contextName:function(t){return this.useDepths&&t?"depths["+t+"]":"depth"+t},quotedString:function(t){return this.source.quotedString(t)},objectLiteral:function(t){return this.source.objectLiteral(t)},aliasable:function(t){var r=this.aliases[t];return r?(r.referenceCount++,r):(r=this.aliases[t]=this.source.wrap(t),r.aliasable=!0,r.referenceCount=1,r)},setupHelper:function(t,r,n){var o=[],i=this.setupHelperArgs(r,t,o,n),s=this.nameLookup("helpers",r,"helper"),a=this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : (container.nullContext || {})");return{params:o,paramsInit:i,name:s,callParams:[a].concat(o)}},setupParams:function(t,r,n){var o={},i=[],s=[],a=[],c=!n,u=void 0;c&&(n=[]),o.name=this.quotedString(t),o.hash=this.popStack(),this.trackIds&&(o.hashIds=this.popStack()),this.stringParams&&(o.hashTypes=this.popStack(),o.hashContexts=this.popStack());var p=this.popStack(),l=this.popStack();(l||p)&&(o.fn=l||"container.noop",o.inverse=p||"container.noop");for(var d=r;d--;)u=this.popStack(),n[d]=u,this.trackIds&&(a[d]=this.popStack()),this.stringParams&&(s[d]=this.popStack(),i[d]=this.popStack());return c&&(o.args=this.source.generateArray(n)),this.trackIds&&(o.ids=this.source.generateArray(a)),this.stringParams&&(o.types=this.source.generateArray(s),o.contexts=this.source.generateArray(i)),this.options.data&&(o.data="data"),this.useBlockParams&&(o.blockParams="blockParams"),o},setupHelperArgs:function(t,r,n,o){var i=this.setupParams(t,r,n);return i.loc=JSON.stringify(this.source.currentLocation),i=this.objectLiteral(i),o?(this.useRegister("options"),n.push("options"),["options=",i]):n?(n.push(i),""):i}};(function(){for(var e="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),t=bo.RESERVED_WORDS={},r=0,n=e.length;r<n;r++)t[e[r]]=!0})();bo.isValidJavaScriptVariableName=function(e){return!bo.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)};function B3(e,t,r,n,o){var i=t.popStack(),s=r.length;for(e&&s--;n<s;n++)i=t.nameLookup(i,r[n],o);return e?[t.aliasable("container.strict"),"(",i,", ",t.quotedString(r[n]),", ",JSON.stringify(t.source.currentLocation)," )"]:i}Pc.default=bo;wk.exports=Pc.default});var Ek=k((Ec,Pk)=>{"use strict";Ec.__esModule=!0;function Ki(e){return e&&e.__esModule?e:{default:e}}var V3=zb(),H3=Ki(V3),G3=Qf(),K3=Ki(G3),kh=Fb(),Sh=Hb(),W3=Tk(),J3=Ki(W3),Y3=yc(),Q3=Ki(Y3),X3=Kf(),eM=Ki(X3),tM=H3.default.create;function $k(){var e=tM();return e.compile=function(t,r){return Sh.compile(t,r,e)},e.precompile=function(t,r){return Sh.precompile(t,r,e)},e.AST=K3.default,e.Compiler=Sh.Compiler,e.JavaScriptCompiler=J3.default,e.Parser=kh.parser,e.parse=kh.parse,e.parseWithoutProcessing=kh.parseWithoutProcessing,e}var ko=$k();ko.create=$k;eM.default(ko);ko.Visitor=Q3.default;ko.default=ko;Ec.default=ko;Pk.exports=Ec.default});var zk=k(zc=>{"use strict";zc.__esModule=!0;zc.print=iM;zc.PrintVisitor=Se;function rM(e){return e&&e.__esModule?e:{default:e}}var nM=yc(),oM=rM(nM);function iM(e){return new Se().accept(e)}function Se(){this.padding=0}Se.prototype=new oM.default;Se.prototype.pad=function(e){for(var t="",r=0,n=this.padding;r<n;r++)t+=" ";return t+=e+`
|
|
32
|
+
`,t};Se.prototype.Program=function(e){var t="",r=e.body,n=void 0,o=void 0;if(e.blockParams){var i="BLOCK PARAMS: [";for(n=0,o=e.blockParams.length;n<o;n++)i+=" "+e.blockParams[n];i+=" ]",t+=this.pad(i)}for(n=0,o=r.length;n<o;n++)t+=this.accept(r[n]);return this.padding--,t};Se.prototype.MustacheStatement=function(e){return this.pad("{{ "+this.SubExpression(e)+" }}")};Se.prototype.Decorator=function(e){return this.pad("{{ DIRECTIVE "+this.SubExpression(e)+" }}")};Se.prototype.BlockStatement=Se.prototype.DecoratorBlock=function(e){var t="";return t+=this.pad((e.type==="DecoratorBlock"?"DIRECTIVE ":"")+"BLOCK:"),this.padding++,t+=this.pad(this.SubExpression(e)),e.program&&(t+=this.pad("PROGRAM:"),this.padding++,t+=this.accept(e.program),this.padding--),e.inverse&&(e.program&&this.padding++,t+=this.pad("{{^}}"),this.padding++,t+=this.accept(e.inverse),this.padding--,e.program&&this.padding--),this.padding--,t};Se.prototype.PartialStatement=function(e){var t="PARTIAL:"+e.name.original;return e.params[0]&&(t+=" "+this.accept(e.params[0])),e.hash&&(t+=" "+this.accept(e.hash)),this.pad("{{> "+t+" }}")};Se.prototype.PartialBlockStatement=function(e){var t="PARTIAL BLOCK:"+e.name.original;return e.params[0]&&(t+=" "+this.accept(e.params[0])),e.hash&&(t+=" "+this.accept(e.hash)),t+=" "+this.pad("PROGRAM:"),this.padding++,t+=this.accept(e.program),this.padding--,this.pad("{{> "+t+" }}")};Se.prototype.ContentStatement=function(e){return this.pad("CONTENT[ '"+e.value+"' ]")};Se.prototype.CommentStatement=function(e){return this.pad("{{! '"+e.value+"' }}")};Se.prototype.SubExpression=function(e){for(var t=e.params,r=[],n=void 0,o=0,i=t.length;o<i;o++)r.push(this.accept(t[o]));return t="["+r.join(", ")+"]",n=e.hash?" "+this.accept(e.hash):"",this.accept(e.path)+" "+t+n};Se.prototype.PathExpression=function(e){var t=e.parts.join("/");return(e.data?"@":"")+"PATH:"+t};Se.prototype.StringLiteral=function(e){return'"'+e.value+'"'};Se.prototype.NumberLiteral=function(e){return"NUMBER{"+e.value+"}"};Se.prototype.BooleanLiteral=function(e){return"BOOLEAN{"+e.value+"}"};Se.prototype.UndefinedLiteral=function(){return"UNDEFINED"};Se.prototype.NullLiteral=function(){return"NULL"};Se.prototype.Hash=function(e){for(var t=e.pairs,r=[],n=0,o=t.length;n<o;n++)r.push(this.accept(t[n]));return"HASH{"+r.join(", ")+"}"};Se.prototype.HashPair=function(e){return e.key+"="+this.accept(e.value)}});var Ak=k((L7,Rk)=>{var Cc=Ek().default,Ik=zk();Cc.PrintVisitor=Ik.PrintVisitor;Cc.print=Ik.print;Rk.exports=Cc;function Ck(e,t){var r=Cn("fs"),n=r.readFileSync(t,"utf8");e.exports=Cc.compile(n)}typeof Cn<"u"&&Cn.extensions&&(Cn.extensions[".handlebars"]=Ck,Cn.extensions[".hbs"]=Ck)});var m={};Lc(m,{BRAND:()=>h2,DIRTY:()=>qr,EMPTY_PATH:()=>H1,INVALID:()=>L,NEVER:()=>Y2,OK:()=>Le,ParseStatus:()=>Ce,Schema:()=>V,ZodAny:()=>_r,ZodArray:()=>er,ZodBigInt:()=>Ur,ZodBoolean:()=>Br,ZodBranded:()=>Eo,ZodCatch:()=>tn,ZodDate:()=>Vr,ZodDefault:()=>en,ZodDiscriminatedUnion:()=>es,ZodEffects:()=>gt,ZodEnum:()=>Qr,ZodError:()=>Ye,ZodFirstPartyTypeKind:()=>T,ZodFunction:()=>rs,ZodIntersection:()=>Wr,ZodIssueCode:()=>S,ZodLazy:()=>Jr,ZodLiteral:()=>Yr,ZodMap:()=>Dn,ZodNaN:()=>Mn,ZodNativeEnum:()=>Xr,ZodNever:()=>Pt,ZodNull:()=>Gr,ZodNullable:()=>Zt,ZodNumber:()=>Fr,ZodObject:()=>Xe,ZodOptional:()=>Qe,ZodParsedType:()=>E,ZodPipeline:()=>zo,ZodPromise:()=>yr,ZodReadonly:()=>rn,ZodRecord:()=>ts,ZodSchema:()=>V,ZodSet:()=>jn,ZodString:()=>gr,ZodSymbol:()=>On,ZodTransformer:()=>gt,ZodTuple:()=>Lt,ZodType:()=>V,ZodUndefined:()=>Hr,ZodUnion:()=>Kr,ZodUnknown:()=>Xt,ZodVoid:()=>Nn,addIssueToContext:()=>P,any:()=>S2,array:()=>P2,bigint:()=>y2,boolean:()=>Qh,coerce:()=>J2,custom:()=>Wh,date:()=>v2,datetimeRegex:()=>Gh,defaultErrorMap:()=>Yt,discriminatedUnion:()=>C2,effect:()=>F2,enum:()=>L2,function:()=>D2,getErrorMap:()=>In,getParsedType:()=>Mt,instanceof:()=>g2,intersection:()=>I2,isAborted:()=>Qi,isAsync:()=>Rn,isDirty:()=>Xi,isValid:()=>mr,late:()=>m2,lazy:()=>j2,literal:()=>M2,makeIssue:()=>Po,map:()=>O2,nan:()=>_2,nativeEnum:()=>Z2,never:()=>T2,null:()=>k2,nullable:()=>B2,number:()=>Yh,object:()=>Bc,objectUtil:()=>qc,oboolean:()=>W2,onumber:()=>K2,optional:()=>U2,ostring:()=>G2,pipeline:()=>H2,preprocess:()=>V2,promise:()=>q2,quotelessJson:()=>U1,record:()=>A2,set:()=>N2,setErrorMap:()=>V1,strictObject:()=>E2,string:()=>Jh,symbol:()=>x2,transformer:()=>F2,tuple:()=>R2,undefined:()=>b2,union:()=>z2,unknown:()=>w2,util:()=>J,void:()=>$2});var J;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function r(o){throw new Error}e.assertNever=r,e.arrayToEnum=o=>{let i={};for(let s of o)i[s]=s;return i},e.getValidEnumValues=o=>{let i=e.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),s={};for(let a of i)s[a]=o[a];return e.objectValues(s)},e.objectValues=o=>e.objectKeys(o).map(function(i){return o[i]}),e.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let s in o)Object.prototype.hasOwnProperty.call(o,s)&&i.push(s);return i},e.find=(o,i)=>{for(let s of o)if(i(s))return s},e.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(s=>typeof s=="string"?`'${s}'`:s).join(i)}e.joinValues=n,e.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(J||(J={}));var qc;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(qc||(qc={}));var E=J.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Mt=e=>{switch(typeof e){case"undefined":return E.undefined;case"string":return E.string;case"number":return Number.isNaN(e)?E.nan:E.number;case"boolean":return E.boolean;case"function":return E.function;case"bigint":return E.bigint;case"symbol":return E.symbol;case"object":return Array.isArray(e)?E.array:e===null?E.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?E.promise:typeof Map<"u"&&e instanceof Map?E.map:typeof Set<"u"&&e instanceof Set?E.set:typeof Date<"u"&&e instanceof Date?E.date:E.object;default:return E.unknown}};var S=J.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"]),U1=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Ye=class e extends Error{get errors(){return this.issues}constructor(t){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=t}format(t){let r=t||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(o);else if(s.code==="invalid_return_type")o(s.returnTypeError);else if(s.code==="invalid_arguments")o(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let a=n,c=0;for(;c<s.path.length;){let u=s.path[c];c===s.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(s))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,J.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let i=o.path[0];r[i]=r[i]||[],r[i].push(t(o))}else n.push(t(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ye.create=e=>new Ye(e);var B1=(e,t)=>{let r;switch(e.code){case S.invalid_type:e.received===E.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case S.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,J.jsonStringifyReplacer)}`;break;case S.unrecognized_keys:r=`Unrecognized key(s) in object: ${J.joinValues(e.keys,", ")}`;break;case S.invalid_union:r="Invalid input";break;case S.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${J.joinValues(e.options)}`;break;case S.invalid_enum_value:r=`Invalid enum value. Expected ${J.joinValues(e.options)}, received '${e.received}'`;break;case S.invalid_arguments:r="Invalid function arguments";break;case S.invalid_return_type:r="Invalid function return type";break;case S.invalid_date:r="Invalid date";break;case S.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:J.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case S.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case S.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case S.custom:r="Invalid input";break;case S.invalid_intersection_types:r="Intersection results could not be merged";break;case S.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case S.not_finite:r="Number must be finite";break;default:r=t.defaultError,J.assertNever(e)}return{message:r}},Yt=B1;var Fh=Yt;function V1(e){Fh=e}function In(){return Fh}var Po=e=>{let{data:t,path:r,errorMaps:n,issueData:o}=e,i=[...r,...o.path||[]],s={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(s,{data:t,defaultError:a}).message;return{...o,path:i,message:a}},H1=[];function P(e,t){let r=In(),n=Po({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Yt?void 0:Yt].filter(o=>!!o)});e.common.issues.push(n)}var Ce=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let o of r){if(o.status==="aborted")return L;o.status==="dirty"&&t.dirty(),n.push(o.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let o of r){let i=await o.key,s=await o.value;n.push({key:i,value:s})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let o of r){let{key:i,value:s}=o;if(i.status==="aborted"||s.status==="aborted")return L;i.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||o.alwaysSet)&&(n[i.value]=s.value)}return{status:t.value,value:n}}},L=Object.freeze({status:"aborted"}),qr=e=>({status:"dirty",value:e}),Le=e=>({status:"valid",value:e}),Qi=e=>e.status==="aborted",Xi=e=>e.status==="dirty",mr=e=>e.status==="valid",Rn=e=>typeof Promise<"u"&&e instanceof Promise;var I;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(I||(I={}));var mt=class{constructor(t,r,n,o){this._cachedPath=[],this.parent=t,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}},Uh=(e,t)=>{if(mr(t))return{success:!0,data:t.value};if(!e.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 Ye(e.common.issues);return this._error=r,this._error}}};function U(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:o}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(s,a)=>{let{message:c}=e;return s.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:s.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var V=class{get description(){return this._def.description}_getType(t){return Mt(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Mt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Ce,ctx:{common:t.parent.common,data:t.data,parsedType:Mt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(Rn(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Mt(t)},o=this._parseSync({data:t,path:n.path,parent:n});return Uh(n,o)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Mt(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return mr(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:t,path:[],parent:r}).then(n=>mr(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Mt(t)},o=this._parse({data:t,path:n.path,parent:n}),i=await(Rn(o)?o:Promise.resolve(o));return Uh(n,i)}refine(t,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,i)=>{let s=t(o),a=()=>i.addIssue({code:S.custom,...n(o)});return typeof Promise<"u"&&s instanceof Promise?s.then(c=>c?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,r){return this._refinement((n,o)=>t(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(t){return new gt({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,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 Qe.create(this,this._def)}nullable(){return Zt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return er.create(this)}promise(){return yr.create(this,this._def)}or(t){return Kr.create([this,t],this._def)}and(t){return Wr.create(this,t,this._def)}transform(t){return new gt({...U(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new en({...U(this._def),innerType:this,defaultValue:r,typeName:T.ZodDefault})}brand(){return new Eo({typeName:T.ZodBranded,type:this,...U(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new tn({...U(this._def),innerType:this,catchValue:r,typeName:T.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return zo.create(this,t)}readonly(){return rn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},G1=/^c[^\s-]{8,}$/i,K1=/^[0-9a-z]+$/,W1=/^[0-9A-HJKMNP-TV-Z]{26}$/i,J1=/^[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,Y1=/^[a-z0-9_-]{21}$/i,Q1=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,X1=/^[-+]?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)?)??$/,e2=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,t2="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Fc,r2=/^(?:(?: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])$/,n2=/^(?:(?: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])$/,o2=/^(([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]))$/,i2=/^(([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])$/,s2=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,a2=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Vh="((\\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])))",c2=new RegExp(`^${Vh}$`);function Hh(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function u2(e){return new RegExp(`^${Hh(e)}$`)}function Gh(e){let t=`${Vh}T${Hh(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function l2(e,t){return!!((t==="v4"||!t)&&r2.test(e)||(t==="v6"||!t)&&o2.test(e))}function p2(e,t){if(!Q1.test(e))return!1;try{let[r]=e.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||t&&o.alg!==t)}catch{return!1}}function d2(e,t){return!!((t==="v4"||!t)&&n2.test(e)||(t==="v6"||!t)&&i2.test(e))}var gr=class e extends V{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==E.string){let i=this._getOrReturnCtx(t);return P(i,{code:S.invalid_type,expected:E.string,received:i.parsedType}),L}let n=new Ce,o;for(let i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(o=this._getOrReturnCtx(t,o),P(o,{code:S.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")t.data.length>i.value&&(o=this._getOrReturnCtx(t,o),P(o,{code:S.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let s=t.data.length>i.value,a=t.data.length<i.value;(s||a)&&(o=this._getOrReturnCtx(t,o),s?P(o,{code:S.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&P(o,{code:S.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")e2.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"email",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")Fc||(Fc=new RegExp(t2,"u")),Fc.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"emoji",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")J1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"uuid",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="nanoid")Y1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"nanoid",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")G1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"cuid",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")K1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"cuid2",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")W1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"ulid",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),P(o,{validation:"url",code:S.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"regex",code:S.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?t.data=t.data.trim():i.kind==="includes"?t.data.includes(i.value,i.position)||(o=this._getOrReturnCtx(t,o),P(o,{code:S.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?t.data=t.data.toLowerCase():i.kind==="toUpperCase"?t.data=t.data.toUpperCase():i.kind==="startsWith"?t.data.startsWith(i.value)||(o=this._getOrReturnCtx(t,o),P(o,{code:S.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?t.data.endsWith(i.value)||(o=this._getOrReturnCtx(t,o),P(o,{code:S.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?Gh(i).test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{code:S.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="date"?c2.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{code:S.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?u2(i).test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{code:S.invalid_string,validation:"time",message:i.message}),n.dirty()):i.kind==="duration"?X1.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"duration",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?l2(t.data,i.version)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"ip",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="jwt"?p2(t.data,i.alg)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"jwt",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="cidr"?d2(t.data,i.version)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"cidr",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="base64"?s2.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"base64",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?a2.test(t.data)||(o=this._getOrReturnCtx(t,o),P(o,{validation:"base64url",code:S.invalid_string,message:i.message}),n.dirty()):J.assertNever(i);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(o=>t.test(o),{validation:r,code:S.invalid_string,...I.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...I.errToObj(t)})}url(t){return this._addCheck({kind:"url",...I.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...I.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...I.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...I.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...I.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...I.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...I.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...I.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...I.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...I.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...I.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...I.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...I.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...I.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...I.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...I.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...I.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...I.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...I.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...I.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...I.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...I.errToObj(r)})}nonempty(t){return this.min(1,I.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};gr.create=e=>new gr({checks:[],typeName:T.ZodString,coerce:e?.coerce??!1,...U(e)});function f2(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return i%s/10**o}var Fr=class e extends V{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==E.number){let i=this._getOrReturnCtx(t);return P(i,{code:S.invalid_type,expected:E.number,received:i.parsedType}),L}let n,o=new Ce;for(let i of this._def.checks)i.kind==="int"?J.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),P(n,{code:S.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(n=this._getOrReturnCtx(t,n),P(n,{code:S.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),P(n,{code:S.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?f2(t.data,i.value)!==0&&(n=this._getOrReturnCtx(t,n),P(n,{code:S.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),P(n,{code:S.not_finite,message:i.message}),o.dirty()):J.assertNever(i);return{status:o.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,I.toString(r))}gt(t,r){return this.setLimit("min",t,!1,I.toString(r))}lte(t,r){return this.setLimit("max",t,!0,I.toString(r))}lt(t,r){return this.setLimit("max",t,!1,I.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:I.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:I.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:I.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:I.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:I.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:I.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:I.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:I.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:I.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:I.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&J.isInteger(t.value))}get isFinite(){let t=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"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};Fr.create=e=>new Fr({checks:[],typeName:T.ZodNumber,coerce:e?.coerce||!1,...U(e)});var Ur=class e extends V{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==E.bigint)return this._getInvalidInput(t);let n,o=new Ce;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(n=this._getOrReturnCtx(t,n),P(n,{code:S.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),P(n,{code:S.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),P(n,{code:S.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):J.assertNever(i);return{status:o.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return P(r,{code:S.invalid_type,expected:E.bigint,received:r.parsedType}),L}gte(t,r){return this.setLimit("min",t,!0,I.toString(r))}gt(t,r){return this.setLimit("min",t,!1,I.toString(r))}lte(t,r){return this.setLimit("max",t,!0,I.toString(r))}lt(t,r){return this.setLimit("max",t,!1,I.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:I.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:I.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:I.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:I.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:I.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:I.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Ur.create=e=>new Ur({checks:[],typeName:T.ZodBigInt,coerce:e?.coerce??!1,...U(e)});var Br=class extends V{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==E.boolean){let n=this._getOrReturnCtx(t);return P(n,{code:S.invalid_type,expected:E.boolean,received:n.parsedType}),L}return Le(t.data)}};Br.create=e=>new Br({typeName:T.ZodBoolean,coerce:e?.coerce||!1,...U(e)});var Vr=class e extends V{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==E.date){let i=this._getOrReturnCtx(t);return P(i,{code:S.invalid_type,expected:E.date,received:i.parsedType}),L}if(Number.isNaN(t.data.getTime())){let i=this._getOrReturnCtx(t);return P(i,{code:S.invalid_date}),L}let n=new Ce,o;for(let i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(o=this._getOrReturnCtx(t,o),P(o,{code:S.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?t.data.getTime()>i.value&&(o=this._getOrReturnCtx(t,o),P(o,{code:S.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):J.assertNever(i);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:I.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:I.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};Vr.create=e=>new Vr({checks:[],coerce:e?.coerce||!1,typeName:T.ZodDate,...U(e)});var On=class extends V{_parse(t){if(this._getType(t)!==E.symbol){let n=this._getOrReturnCtx(t);return P(n,{code:S.invalid_type,expected:E.symbol,received:n.parsedType}),L}return Le(t.data)}};On.create=e=>new On({typeName:T.ZodSymbol,...U(e)});var Hr=class extends V{_parse(t){if(this._getType(t)!==E.undefined){let n=this._getOrReturnCtx(t);return P(n,{code:S.invalid_type,expected:E.undefined,received:n.parsedType}),L}return Le(t.data)}};Hr.create=e=>new Hr({typeName:T.ZodUndefined,...U(e)});var Gr=class extends V{_parse(t){if(this._getType(t)!==E.null){let n=this._getOrReturnCtx(t);return P(n,{code:S.invalid_type,expected:E.null,received:n.parsedType}),L}return Le(t.data)}};Gr.create=e=>new Gr({typeName:T.ZodNull,...U(e)});var _r=class extends V{constructor(){super(...arguments),this._any=!0}_parse(t){return Le(t.data)}};_r.create=e=>new _r({typeName:T.ZodAny,...U(e)});var Xt=class extends V{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Le(t.data)}};Xt.create=e=>new Xt({typeName:T.ZodUnknown,...U(e)});var Pt=class extends V{_parse(t){let r=this._getOrReturnCtx(t);return P(r,{code:S.invalid_type,expected:E.never,received:r.parsedType}),L}};Pt.create=e=>new Pt({typeName:T.ZodNever,...U(e)});var Nn=class extends V{_parse(t){if(this._getType(t)!==E.undefined){let n=this._getOrReturnCtx(t);return P(n,{code:S.invalid_type,expected:E.void,received:n.parsedType}),L}return Le(t.data)}};Nn.create=e=>new Nn({typeName:T.ZodVoid,...U(e)});var er=class e extends V{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),o=this._def;if(r.parsedType!==E.array)return P(r,{code:S.invalid_type,expected:E.array,received:r.parsedType}),L;if(o.exactLength!==null){let s=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(s||a)&&(P(r,{code:s?S.too_big:S.too_small,minimum:a?o.exactLength.value:void 0,maximum:s?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(P(r,{code:S.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(P(r,{code:S.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((s,a)=>o.type._parseAsync(new mt(r,s,r.path,a)))).then(s=>Ce.mergeArray(n,s));let i=[...r.data].map((s,a)=>o.type._parseSync(new mt(r,s,r.path,a)));return Ce.mergeArray(n,i)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:I.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:I.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:I.toString(r)}})}nonempty(t){return this.min(1,t)}};er.create=(e,t)=>new er({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...U(t)});function An(e){if(e instanceof Xe){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Qe.create(An(n))}return new Xe({...e._def,shape:()=>t})}else return e instanceof er?new er({...e._def,type:An(e.element)}):e instanceof Qe?Qe.create(An(e.unwrap())):e instanceof Zt?Zt.create(An(e.unwrap())):e instanceof Lt?Lt.create(e.items.map(t=>An(t))):e}var Xe=class e extends V{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=J.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==E.object){let u=this._getOrReturnCtx(t);return P(u,{code:S.invalid_type,expected:E.object,received:u.parsedType}),L}let{status:n,ctx:o}=this._processInputParams(t),{shape:i,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Pt&&this._def.unknownKeys==="strip"))for(let u in o.data)s.includes(u)||a.push(u);let c=[];for(let u of s){let p=i[u],l=o.data[u];c.push({key:{status:"valid",value:u},value:p._parse(new mt(o,l,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Pt){let u=this._def.unknownKeys;if(u==="passthrough")for(let p of a)c.push({key:{status:"valid",value:p},value:{status:"valid",value:o.data[p]}});else if(u==="strict")a.length>0&&(P(o,{code:S.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let p of a){let l=o.data[p];c.push({key:{status:"valid",value:p},value:u._parse(new mt(o,l,o.path,p)),alwaysSet:p in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let p of c){let l=await p.key,d=await p.value;u.push({key:l,value:d,alwaysSet:p.alwaysSet})}return u}).then(u=>Ce.mergeObjectSync(n,u)):Ce.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(t){return I.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:I.errToObj(t).message??o}:{message:o}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:T.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of J.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of J.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return An(this)}partial(t){let r={};for(let n of J.objectKeys(this.shape)){let o=this.shape[n];t&&!t[n]?r[n]=o:r[n]=o.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of J.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof Qe;)i=i._def.innerType;r[n]=i}return new e({...this._def,shape:()=>r})}keyof(){return Kh(J.objectKeys(this.shape))}};Xe.create=(e,t)=>new Xe({shape:()=>e,unknownKeys:"strip",catchall:Pt.create(),typeName:T.ZodObject,...U(t)});Xe.strictCreate=(e,t)=>new Xe({shape:()=>e,unknownKeys:"strict",catchall:Pt.create(),typeName:T.ZodObject,...U(t)});Xe.lazycreate=(e,t)=>new Xe({shape:e,unknownKeys:"strip",catchall:Pt.create(),typeName:T.ZodObject,...U(t)});var Kr=class extends V{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function o(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let s=i.map(a=>new Ye(a.ctx.common.issues));return P(r,{code:S.invalid_union,unionErrors:s}),L}if(r.common.async)return Promise.all(n.map(async i=>{let s={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:s}),ctx:s}})).then(o);{let i,s=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},p=c._parseSync({data:r.data,path:r.path,parent:u});if(p.status==="valid")return p;p.status==="dirty"&&!i&&(i={result:p,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(c=>new Ye(c));return P(r,{code:S.invalid_union,unionErrors:a}),L}}get options(){return this._def.options}};Kr.create=(e,t)=>new Kr({options:e,typeName:T.ZodUnion,...U(t)});var Qt=e=>e instanceof Jr?Qt(e.schema):e instanceof gt?Qt(e.innerType()):e instanceof Yr?[e.value]:e instanceof Qr?e.options:e instanceof Xr?J.objectValues(e.enum):e instanceof en?Qt(e._def.innerType):e instanceof Hr?[void 0]:e instanceof Gr?[null]:e instanceof Qe?[void 0,...Qt(e.unwrap())]:e instanceof Zt?[null,...Qt(e.unwrap())]:e instanceof Eo||e instanceof rn?Qt(e.unwrap()):e instanceof tn?Qt(e._def.innerType):[],es=class e extends V{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==E.object)return P(r,{code:S.invalid_type,expected:E.object,received:r.parsedType}),L;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}):(P(r,{code:S.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),L)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let o=new Map;for(let i of r){let s=Qt(i.shape[t]);if(!s.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of s){if(o.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);o.set(a,i)}}return new e({typeName:T.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:o,...U(n)})}};function Uc(e,t){let r=Mt(e),n=Mt(t);if(e===t)return{valid:!0,data:e};if(r===E.object&&n===E.object){let o=J.objectKeys(t),i=J.objectKeys(e).filter(a=>o.indexOf(a)!==-1),s={...e,...t};for(let a of i){let c=Uc(e[a],t[a]);if(!c.valid)return{valid:!1};s[a]=c.data}return{valid:!0,data:s}}else if(r===E.array&&n===E.array){if(e.length!==t.length)return{valid:!1};let o=[];for(let i=0;i<e.length;i++){let s=e[i],a=t[i],c=Uc(s,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===E.date&&n===E.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Wr=class extends V{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=(i,s)=>{if(Qi(i)||Qi(s))return L;let a=Uc(i.value,s.value);return a.valid?((Xi(i)||Xi(s))&&r.dirty(),{status:r.value,value:a.data}):(P(n,{code:S.invalid_intersection_types}),L)};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,s])=>o(i,s)):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}))}};Wr.create=(e,t,r)=>new Wr({left:e,right:t,typeName:T.ZodIntersection,...U(r)});var Lt=class e extends V{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==E.array)return P(n,{code:S.invalid_type,expected:E.array,received:n.parsedType}),L;if(n.data.length<this._def.items.length)return P(n,{code:S.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),L;!this._def.rest&&n.data.length>this._def.items.length&&(P(n,{code:S.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((s,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new mt(n,s,n.path,a)):null}).filter(s=>!!s);return n.common.async?Promise.all(i).then(s=>Ce.mergeArray(r,s)):Ce.mergeArray(r,i)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Lt.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Lt({items:e,typeName:T.ZodTuple,rest:null,...U(t)})};var ts=class e extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==E.object)return P(n,{code:S.invalid_type,expected:E.object,received:n.parsedType}),L;let o=[],i=this._def.keyType,s=this._def.valueType;for(let a in n.data)o.push({key:i._parse(new mt(n,a,n.path,a)),value:s._parse(new mt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ce.mergeObjectAsync(r,o):Ce.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof V?new e({keyType:t,valueType:r,typeName:T.ZodRecord,...U(n)}):new e({keyType:gr.create(),valueType:t,typeName:T.ZodRecord,...U(r)})}},Dn=class extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==E.map)return P(n,{code:S.invalid_type,expected:E.map,received:n.parsedType}),L;let o=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new mt(n,a,n.path,[u,"key"])),value:i._parse(new mt(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of s){let u=await c.key,p=await c.value;if(u.status==="aborted"||p.status==="aborted")return L;(u.status==="dirty"||p.status==="dirty")&&r.dirty(),a.set(u.value,p.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of s){let u=c.key,p=c.value;if(u.status==="aborted"||p.status==="aborted")return L;(u.status==="dirty"||p.status==="dirty")&&r.dirty(),a.set(u.value,p.value)}return{status:r.value,value:a}}}};Dn.create=(e,t,r)=>new Dn({valueType:t,keyType:e,typeName:T.ZodMap,...U(r)});var jn=class e extends V{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==E.set)return P(n,{code:S.invalid_type,expected:E.set,received:n.parsedType}),L;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(P(n,{code:S.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(P(n,{code:S.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let i=this._def.valueType;function s(c){let u=new Set;for(let p of c){if(p.status==="aborted")return L;p.status==="dirty"&&r.dirty(),u.add(p.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>i._parse(new mt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>s(c)):s(a)}min(t,r){return new e({...this._def,minSize:{value:t,message:I.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:I.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};jn.create=(e,t)=>new jn({valueType:e,minSize:null,maxSize:null,typeName:T.ZodSet,...U(t)});var rs=class e extends V{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==E.function)return P(r,{code:S.invalid_type,expected:E.function,received:r.parsedType}),L;function n(a,c){return Po({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,In(),Yt].filter(u=>!!u),issueData:{code:S.invalid_arguments,argumentsError:c}})}function o(a,c){return Po({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,In(),Yt].filter(u=>!!u),issueData:{code:S.invalid_return_type,returnTypeError:c}})}let i={errorMap:r.common.contextualErrorMap},s=r.data;if(this._def.returns instanceof yr){let a=this;return Le(async function(...c){let u=new Ye([]),p=await a._def.args.parseAsync(c,i).catch(h=>{throw u.addIssue(n(c,h)),u}),l=await Reflect.apply(s,this,p);return await a._def.returns._def.type.parseAsync(l,i).catch(h=>{throw u.addIssue(o(l,h)),u})})}else{let a=this;return Le(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new Ye([n(c,u.error)]);let p=Reflect.apply(s,this,u.data),l=a._def.returns.safeParse(p,i);if(!l.success)throw new Ye([o(p,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Lt.create(t).rest(Xt.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||Lt.create([]).rest(Xt.create()),returns:r||Xt.create(),typeName:T.ZodFunction,...U(n)})}},Jr=class extends V{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Jr.create=(e,t)=>new Jr({getter:e,typeName:T.ZodLazy,...U(t)});var Yr=class extends V{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return P(r,{received:r.data,code:S.invalid_literal,expected:this._def.value}),L}return{status:"valid",value:t.data}}get value(){return this._def.value}};Yr.create=(e,t)=>new Yr({value:e,typeName:T.ZodLiteral,...U(t)});function Kh(e,t){return new Qr({values:e,typeName:T.ZodEnum,...U(t)})}var Qr=class e extends V{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return P(r,{expected:J.joinValues(n),received:r.parsedType,code:S.invalid_type}),L}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return P(r,{received:r.data,code:S.invalid_enum_value,options:n}),L}return Le(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};Qr.create=Kh;var Xr=class extends V{_parse(t){let r=J.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==E.string&&n.parsedType!==E.number){let o=J.objectValues(r);return P(n,{expected:J.joinValues(o),received:n.parsedType,code:S.invalid_type}),L}if(this._cache||(this._cache=new Set(J.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let o=J.objectValues(r);return P(n,{received:n.data,code:S.invalid_enum_value,options:o}),L}return Le(t.data)}get enum(){return this._def.values}};Xr.create=(e,t)=>new Xr({values:e,typeName:T.ZodNativeEnum,...U(t)});var yr=class extends V{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==E.promise&&r.common.async===!1)return P(r,{code:S.invalid_type,expected:E.promise,received:r.parsedType}),L;let n=r.parsedType===E.promise?r.data:Promise.resolve(r.data);return Le(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};yr.create=(e,t)=>new yr({type:e,typeName:T.ZodPromise,...U(t)});var gt=class extends V{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=this._def.effect||null,i={addIssue:s=>{P(n,s),s.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let s=o.transform(n.data,i);if(n.common.async)return Promise.resolve(s).then(async a=>{if(r.value==="aborted")return L;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?L:c.status==="dirty"?qr(c.value):r.value==="dirty"?qr(c.value):c});{if(r.value==="aborted")return L;let a=this._def.schema._parseSync({data:s,path:n.path,parent:n});return a.status==="aborted"?L:a.status==="dirty"?qr(a.value):r.value==="dirty"?qr(a.value):a}}if(o.type==="refinement"){let s=a=>{let c=o.refinement(a,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 a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?L:(a.status==="dirty"&&r.dirty(),s(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?L:(a.status==="dirty"&&r.dirty(),s(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!mr(s))return L;let a=o.transform(s.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>mr(s)?Promise.resolve(o.transform(s.value,i)).then(a=>({status:r.value,value:a})):L);J.assertNever(o)}};gt.create=(e,t,r)=>new gt({schema:e,typeName:T.ZodEffects,effect:t,...U(r)});gt.createWithPreprocess=(e,t,r)=>new gt({schema:t,effect:{type:"preprocess",transform:e},typeName:T.ZodEffects,...U(r)});var Qe=class extends V{_parse(t){return this._getType(t)===E.undefined?Le(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Qe.create=(e,t)=>new Qe({innerType:e,typeName:T.ZodOptional,...U(t)});var Zt=class extends V{_parse(t){return this._getType(t)===E.null?Le(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Zt.create=(e,t)=>new Zt({innerType:e,typeName:T.ZodNullable,...U(t)});var en=class extends V{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===E.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};en.create=(e,t)=>new en({innerType:e,typeName:T.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...U(t)});var tn=class extends V{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Rn(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ye(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ye(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};tn.create=(e,t)=>new tn({innerType:e,typeName:T.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...U(t)});var Mn=class extends V{_parse(t){if(this._getType(t)!==E.nan){let n=this._getOrReturnCtx(t);return P(n,{code:S.invalid_type,expected:E.nan,received:n.parsedType}),L}return{status:"valid",value:t.data}}};Mn.create=e=>new Mn({typeName:T.ZodNaN,...U(e)});var h2=Symbol("zod_brand"),Eo=class extends V{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},zo=class e extends V{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);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"?L:i.status==="dirty"?(r.dirty(),qr(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"?L:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:T.ZodPipeline})}},rn=class extends V{_parse(t){let r=this._def.innerType._parse(t),n=o=>(mr(o)&&(o.value=Object.freeze(o.value)),o);return Rn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};rn.create=(e,t)=>new rn({innerType:e,typeName:T.ZodReadonly,...U(t)});function Bh(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function Wh(e,t={},r){return e?_r.create().superRefine((n,o)=>{let i=e(n);if(i instanceof Promise)return i.then(s=>{if(!s){let a=Bh(t,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!i){let s=Bh(t,n),a=s.fatal??r??!0;o.addIssue({code:"custom",...s,fatal:a})}}):_r.create()}var m2={object:Xe.lazycreate},T;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(T||(T={}));var g2=(e,t={message:`Input not instance of ${e.name}`})=>Wh(r=>r instanceof e,t),Jh=gr.create,Yh=Fr.create,_2=Mn.create,y2=Ur.create,Qh=Br.create,v2=Vr.create,x2=On.create,b2=Hr.create,k2=Gr.create,S2=_r.create,w2=Xt.create,T2=Pt.create,$2=Nn.create,P2=er.create,Bc=Xe.create,E2=Xe.strictCreate,z2=Kr.create,C2=es.create,I2=Wr.create,R2=Lt.create,A2=ts.create,O2=Dn.create,N2=jn.create,D2=rs.create,j2=Jr.create,M2=Yr.create,L2=Qr.create,Z2=Xr.create,q2=yr.create,F2=gt.create,U2=Qe.create,B2=Zt.create,V2=gt.createWithPreprocess,H2=zo.create,G2=()=>Jh().optional(),K2=()=>Yh().optional(),W2=()=>Qh().optional(),J2={string:(e=>gr.create({...e,coerce:!0})),number:(e=>Fr.create({...e,coerce:!0})),boolean:(e=>Br.create({...e,coerce:!0})),bigint:(e=>Ur.create({...e,coerce:!0})),date:(e=>Vr.create({...e,coerce:!0}))};var Y2=L;var Q2=Object.freeze({status:"aborted"});function b(e,t,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(e),t(a,c);for(let p in s.prototype)p in a||Object.defineProperty(a,p,{value:s.prototype[p].bind(a)});a._zod.constr=s,a._zod.def=c}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let u=r?.Parent?new i:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let p of u._zod.deferred)p();return u}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var X2=Symbol("zod_brand"),tr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ns={};function at(e){return e&&Object.assign(ns,e),ns}var Y={};Lc(Y,{BIGINT_FORMAT_RANGES:()=>em,Class:()=>Hc,NUMBER_FORMAT_RANGES:()=>Xc,aborted:()=>on,allowsEval:()=>Jc,assert:()=>oT,assertEqual:()=>eT,assertIs:()=>rT,assertNever:()=>nT,assertNotEqual:()=>tT,assignProp:()=>Wc,cached:()=>Ro,captureStackTrace:()=>is,cleanEnum:()=>_T,cleanRegex:()=>Oo,clone:()=>ct,createTransparentProxy:()=>lT,defineLazy:()=>ce,esc:()=>nn,escapeRegex:()=>vr,extend:()=>fT,finalizeIssue:()=>Et,floatSafeRemainder:()=>Kc,getElementAtPath:()=>iT,getEnumValues:()=>Io,getLengthableOrigin:()=>No,getParsedType:()=>uT,getSizableOrigin:()=>tm,isObject:()=>Ln,isPlainObject:()=>Zn,issue:()=>eu,joinValues:()=>os,jsonStringifyReplacer:()=>Gc,merge:()=>hT,normalizeParams:()=>Z,nullish:()=>Ao,numKeys:()=>cT,omit:()=>dT,optionalKeys:()=>Qc,partial:()=>mT,pick:()=>pT,prefixIssues:()=>qt,primitiveTypes:()=>Xh,promiseAllObject:()=>sT,propertyKeyTypes:()=>Yc,randomString:()=>aT,required:()=>gT,stringifyPrimitive:()=>ss,unwrapMessage:()=>Co});function eT(e){return e}function tT(e){return e}function rT(e){}function nT(e){throw new Error}function oT(e){}function Io(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function os(e,t="|"){return e.map(r=>ss(r)).join(t)}function Gc(e,t){return typeof t=="bigint"?t.toString():t}function Ro(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Ao(e){return e==null}function Oo(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Kc(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return i%s/10**o}function ce(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Wc(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function iT(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function sT(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=n[i];return o})}function aT(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function nn(e){return JSON.stringify(e)}var is=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Ln(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Jc=Ro(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Zn(e){if(Ln(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Ln(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function cT(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var uT=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Yc=new Set(["string","number","symbol"]),Xh=new Set(["string","number","bigint","boolean","symbol","undefined"]);function vr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ct(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function Z(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function lT(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,i){return t??(t=e()),Reflect.set(t,n,o,i)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function ss(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Qc(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Xc={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]},em={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function pT(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return ct(e,{...e._zod.def,shape:r,checks:[]})}function dT(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return ct(e,{...e._zod.def,shape:r,checks:[]})}function fT(e,t){if(!Zn(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Wc(this,"shape",n),n},checks:[]};return ct(e,r)}function hT(e,t){return ct(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Wc(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function mT(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in n))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=e?new e({type:"optional",innerType:n[i]}):n[i])}else for(let i in n)o[i]=e?new e({type:"optional",innerType:n[i]}):n[i];return ct(t,{...t._zod.def,shape:o,checks:[]})}function gT(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new e({type:"nonoptional",innerType:n[i]}))}else for(let i in n)o[i]=new e({type:"nonoptional",innerType:n[i]});return ct(t,{...t._zod.def,shape:o,checks:[]})}function on(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function qt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Co(e){return typeof e=="string"?e:e?.message}function Et(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=Co(e.inst?._zod.def?.error?.(e))??Co(t?.error?.(e))??Co(r.customError?.(e))??Co(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function tm(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function No(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function eu(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function _T(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var Hc=class{constructor(...t){}};var rm=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Gc,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},as=b("$ZodError",rm),Do=b("$ZodError",rm,{Parent:Error});function tu(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function ru(e,t){let r=t||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>o({issues:a}));else if(s.code==="invalid_key")o({issues:s.issues});else if(s.code==="invalid_element")o({issues:s.issues});else if(s.path.length===0)n._errors.push(r(s));else{let a=n,c=0;for(;c<s.path.length;){let u=s.path[c];c===s.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(s))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(e),n}var nu=e=>(t,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new tr;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>Et(c,i,at())));throw is(a,o?.callee),a}return s.value},ou=nu(Do),iu=e=>async(t,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>Et(c,i,at())));throw is(a,o?.callee),a}return s.value},su=iu(Do),au=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new tr;return i.issues.length?{success:!1,error:new(e??as)(i.issues.map(s=>Et(s,o,at())))}:{success:!0,data:i.value}},sn=au(Do),cu=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>Et(s,o,at())))}:{success:!0,data:i.value}},an=cu(Do);var nm=/^[cC][^\s-]{8,}$/,om=/^[0-9a-z]+$/,im=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,sm=/^[0-9a-vA-V]{20}$/,am=/^[A-Za-z0-9]{27}$/,cm=/^[a-zA-Z0-9_-]{21}$/,um=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var lm=/^([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})$/,uu=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[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)$/;var pm=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var vT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function dm(){return new RegExp(vT,"u")}var fm=/^(?:(?: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])$/,hm=/^(([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})$/,mm=/^((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])$/,gm=/^(([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])$/,_m=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,lu=/^[A-Za-z0-9_-]*$/,ym=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var vm=/^\+(?:[0-9]){6,14}[0-9]$/,xm="(?:(?:\\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])))",bm=new RegExp(`^${xm}$`);function km(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Sm(e){return new RegExp(`^${km(e)}$`)}function wm(e){let t=km({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${xm}T(?:${n})$`)}var Tm=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var $m=/^\d+$/,Pm=/^-?\d+(?:\.\d+)?/i,Em=/true|false/i,zm=/null/i;var Cm=/^[^A-Z]*$/,Im=/^[^a-z]*$/;var Ie=b("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Rm={number:"number",bigint:"bigint",object:"date"},pu=b("$ZodCheckLessThan",(e,t)=>{Ie.init(e,t);let r=Rm[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),du=b("$ZodCheckGreaterThan",(e,t)=>{Ie.init(e,t);let r=Rm[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Am=b("$ZodCheckMultipleOf",(e,t)=>{Ie.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Kc(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Om=b("$ZodCheckNumberFormat",(e,t)=>{Ie.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Xc[t.format];e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,a.minimum=o,a.maximum=i,r&&(a.pattern=$m)}),e._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inst:e})}});var Nm=b("$ZodCheckMaxLength",(e,t)=>{var r;Ie.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Ao(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let s=No(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Dm=b("$ZodCheckMinLength",(e,t)=>{var r;Ie.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Ao(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let s=No(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),jm=b("$ZodCheckLengthEquals",(e,t)=>{var r;Ie.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Ao(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,i=o.length;if(i===t.length)return;let s=No(o),a=i>t.length;n.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),jo=b("$ZodCheckStringFormat",(e,t)=>{var r,n;Ie.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Mm=b("$ZodCheckRegex",(e,t)=>{jo.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Lm=b("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Cm),jo.init(e,t)}),Zm=b("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Im),jo.init(e,t)}),qm=b("$ZodCheckIncludes",(e,t)=>{Ie.init(e,t);let r=vr(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Fm=b("$ZodCheckStartsWith",(e,t)=>{Ie.init(e,t);let r=new RegExp(`^${vr(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Um=b("$ZodCheckEndsWith",(e,t)=>{Ie.init(e,t);let r=new RegExp(`.*${vr(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Bm=b("$ZodCheckOverwrite",(e,t)=>{Ie.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var us=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
|
|
33
33
|
`).filter(s=>s),o=Math.min(...n.map(s=>s.length-s.trimStart().length)),i=n.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(let s of i)this.content.push(s)}compile(){let t=Function,r=this?.args,o=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...r,o.join(`
|
|
34
|
-
`))}};var
|
|
35
|
-
if (${
|
|
34
|
+
`))}};var Hm={major:4,minor:0,patch:0};var ie=b("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Hm;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let i of o._zod.onattach)i(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(i,s,a)=>{let c=on(i),u;for(let p of s){if(p._zod.def.when){if(!p._zod.def.when(i))continue}else if(c)continue;let l=i.issues.length,d=p._zod.check(i);if(d instanceof Promise&&a?.async===!1)throw new tr;if(u||d instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await d,i.issues.length!==l&&(c||(c=on(i,l)))});else{if(i.issues.length===l)continue;c||(c=on(i,l))}}return u?u.then(()=>i):i};e._zod.run=(i,s)=>{let a=e._zod.parse(i,s);if(a instanceof Promise){if(s.async===!1)throw new tr;return a.then(c=>o(c,n,s))}return o(a,n,s)}}e["~standard"]={validate:o=>{try{let i=sn(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return an(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}}),Mo=b("$ZodString",(e,t)=>{ie.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Tm(e._zod.bag),e._zod.parse=(r,n)=>{if(t.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:e}),r}}),ue=b("$ZodStringFormat",(e,t)=>{jo.init(e,t),Mo.init(e,t)}),hu=b("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=lm),ue.init(e,t)}),mu=b("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=uu(n))}else t.pattern??(t.pattern=uu());ue.init(e,t)}),gu=b("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=pm),ue.init(e,t)}),_u=b("$ZodURL",(e,t)=>{ue.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),i=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:ym.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&i.endsWith("/")?r.value=i.slice(0,-1):r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),yu=b("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=dm()),ue.init(e,t)}),vu=b("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=cm),ue.init(e,t)}),xu=b("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=nm),ue.init(e,t)}),bu=b("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=om),ue.init(e,t)}),ku=b("$ZodULID",(e,t)=>{t.pattern??(t.pattern=im),ue.init(e,t)}),Su=b("$ZodXID",(e,t)=>{t.pattern??(t.pattern=sm),ue.init(e,t)}),wu=b("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=am),ue.init(e,t)}),rg=b("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=wm(t)),ue.init(e,t)}),ng=b("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=bm),ue.init(e,t)}),og=b("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Sm(t)),ue.init(e,t)}),ig=b("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=um),ue.init(e,t)}),Tu=b("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=fm),ue.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),$u=b("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=hm),ue.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),Pu=b("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=mm),ue.init(e,t)}),Eu=b("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=gm),ue.init(e,t),e._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let i=Number(o);if(`${i}`!==o)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function sg(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var zu=b("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=_m),ue.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{sg(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function xT(e){if(!lu.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return sg(r)}var Cu=b("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=lu),ue.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{xT(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Iu=b("$ZodE164",(e,t)=>{t.pattern??(t.pattern=vm),ue.init(e,t)});function bT(e,t=null){try{let r=e.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||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Ru=b("$ZodJWT",(e,t)=>{ue.init(e,t),e._zod.check=r=>{bT(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var ps=b("$ZodNumber",(e,t)=>{ie.init(e,t),e._zod.pattern=e._zod.bag.pattern??Pm,e._zod.parse=(r,n)=>{if(t.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:e,...i?{received:i}:{}}),r}}),Au=b("$ZodNumber",(e,t)=>{Om.init(e,t),ps.init(e,t)}),Ou=b("$ZodBoolean",(e,t)=>{ie.init(e,t),e._zod.pattern=Em,e._zod.parse=(r,n)=>{if(t.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:e}),r}});var Nu=b("$ZodNull",(e,t)=>{ie.init(e,t),e._zod.pattern=zm,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}});var Du=b("$ZodUnknown",(e,t)=>{ie.init(e,t),e._zod.parse=r=>r}),ju=b("$ZodNever",(e,t)=>{ie.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Gm(e,t,r){e.issues.length&&t.issues.push(...qt(r,e.issues)),t.value[r]=e.value}var Mu=b("$ZodArray",(e,t)=>{ie.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let a=o[s],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?i.push(c.then(u=>Gm(u,r,s))):Gm(c,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function ls(e,t,r){e.issues.length&&t.issues.push(...qt(r,e.issues)),t.value[r]=e.value}function Km(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...qt(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var ds=b("$ZodObject",(e,t)=>{ie.init(e,t);let r=Ro(()=>{let l=Object.keys(t.shape);for(let h of l)if(!(t.shape[h]instanceof ie))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let d=Qc(t.shape);return{shape:t.shape,keys:l,keySet:new Set(l),numKeys:l.length,optionalKeys:new Set(d)}});ce(e._zod,"propValues",()=>{let l=t.shape,d={};for(let h in l){let f=l[h]._zod;if(f.values){d[h]??(d[h]=new Set);for(let g of f.values)d[h].add(g)}}return d});let n=l=>{let d=new us(["shape","payload","ctx"]),h=r.value,f=y=>{let w=nn(y);return`shape[${w}]._zod.run({ value: input[${w}], issues: [] }, ctx)`};d.write("const input = payload.value;");let g=Object.create(null),_=0;for(let y of h.keys)g[y]=`key_${_++}`;d.write("const newResult = {}");for(let y of h.keys)if(h.optionalKeys.has(y)){let w=g[y];d.write(`const ${w} = ${f(y)};`);let $=nn(y);d.write(`
|
|
35
|
+
if (${w}.issues.length) {
|
|
36
36
|
if (input[${$}] === undefined) {
|
|
37
37
|
if (${$} in input) {
|
|
38
38
|
newResult[${$}] = undefined;
|
|
39
39
|
}
|
|
40
40
|
} else {
|
|
41
41
|
payload.issues = payload.issues.concat(
|
|
42
|
-
${
|
|
42
|
+
${w}.issues.map((iss) => ({
|
|
43
43
|
...iss,
|
|
44
44
|
path: iss.path ? [${$}, ...iss.path] : [${$}],
|
|
45
45
|
}))
|
|
46
46
|
);
|
|
47
47
|
}
|
|
48
|
-
} else if (${
|
|
48
|
+
} else if (${w}.value === undefined) {
|
|
49
49
|
if (${$} in input) newResult[${$}] = undefined;
|
|
50
50
|
} else {
|
|
51
|
-
newResult[${$}] = ${
|
|
51
|
+
newResult[${$}] = ${w}.value;
|
|
52
52
|
}
|
|
53
|
-
`)}else{let
|
|
54
|
-
if (${
|
|
53
|
+
`)}else{let w=g[y];d.write(`const ${w} = ${f(y)};`),d.write(`
|
|
54
|
+
if (${w}.issues.length) payload.issues = payload.issues.concat(${w}.issues.map(iss => ({
|
|
55
55
|
...iss,
|
|
56
|
-
path: iss.path ? [${
|
|
57
|
-
})));`),d.write(`newResult[${sn(y)}] = ${S}.value`)}d.write("payload.value = newResult;"),d.write("return payload;");let v=d.compile();return(y,S)=>v(l,y,S)},o,i=Fn,s=!ss.jitless,c=s&&Jc.value,u=t.catchall,p;e._zod.parse=(l,d)=>{p??(p=r.value);let h=l.value;if(!i(h))return l.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),l;let f=[];if(s&&c&&d?.async===!1&&d.jitless!==!0)o||(o=n(t.shape)),l=o(l,d);else{l.value={};let S=p.shape;for(let $ of p.keys){let M=S[$],ve=M._zod.run({value:h[$],issues:[]},d),pe=M._zod.optin==="optional"&&M._zod.optout==="optional";ve instanceof Promise?f.push(ve.then(qr=>pe?Hm(qr,l,$,h):fs(qr,l,$))):pe?Hm(ve,l,$,h):fs(ve,l,$)}}if(!u)return f.length?Promise.all(f).then(()=>l):l;let g=[],_=p.keySet,v=u._zod,y=v.def.type;for(let S of Object.keys(h)){if(_.has(S))continue;if(y==="never"){g.push(S);continue}let $=v.run({value:h[S],issues:[]},d);$ instanceof Promise?f.push($.then(M=>fs(M,l,S))):fs($,l,S)}return g.length&&l.issues.push({code:"unrecognized_keys",keys:g,input:h,inst:e}),f.length?Promise.all(f).then(()=>l):l}});function Gm(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(i=>zt(i,n,ct())))}),t}var gs=b("$ZodUnion",(e,t)=>{ie.init(e,t),ce(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ce(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ce(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),ce(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Mo(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,i=[];for(let s of t.options){let a=s._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)i.push(a),o=!0;else{if(a.issues.length===0)return a;i.push(a)}}return o?Promise.all(i).then(s=>Gm(s,r,e,n)):Gm(i,r,e,n)}}),Lu=b("$ZodDiscriminatedUnion",(e,t)=>{gs.init(e,t);let r=e._zod.parse;ce(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[a,c]of Object.entries(s)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=No(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!Fn(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=n.value.get(s?.[t.discriminator]);return a?a._zod.run(o,i):t.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:s,path:[t.discriminator],inst:e}),o)}}),Zu=b("$ZodIntersection",(e,t)=>{ie.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,i=t.left._zod.run({value:o,issues:[]},n),s=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,u])=>Km(r,c,u)):Km(r,i,s)}});function fu(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Un(e)&&Un(t)){let r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};for(let i of n){let s=fu(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=fu(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Km(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),an(e))return e;let n=fu(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var qu=b("$ZodRecord",(e,t)=>{ie.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Un(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let i=[];if(t.keyType._zod.values){let s=t.keyType._zod.values;r.value={};for(let c of s)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=t.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?i.push(u.then(p=>{p.issues.length&&r.issues.push(...Ft(c,p.issues)),r.value[c]=p.value})):(u.issues.length&&r.issues.push(...Ft(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)s.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let a=t.keyType._zod.run({value:s,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>zt(u,n,ct())),input:s,path:[s],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[s],issues:[]},n);c instanceof Promise?i.push(c.then(u=>{u.issues.length&&r.issues.push(...Ft(s,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Ft(s,c.issues)),r.value[a.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}});var Fu=b("$ZodEnum",(e,t)=>{ie.init(e,t);let r=Oo(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>Yc.has(typeof n)).map(n=>typeof n=="string"?br(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let i=n.value;return e._zod.values.has(i)||n.issues.push({code:"invalid_value",values:r,input:i,inst:e}),n}}),Uu=b("$ZodLiteral",(e,t)=>{ie.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?br(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var Bu=b("$ZodTransform",(e,t)=>{ie.init(e,t),e._zod.parse=(r,n)=>{let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(r.value=s,r));if(o instanceof Promise)throw new rr;return r.value=o,r}}),Vu=b("$ZodOptional",(e,t)=>{ie.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ce(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ce(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Mo(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),Hu=b("$ZodNullable",(e,t)=>{ie.init(e,t),ce(e._zod,"optin",()=>t.innerType._zod.optin),ce(e._zod,"optout",()=>t.innerType._zod.optout),ce(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Mo(r.source)}|null)$`):void 0}),ce(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Gu=b("$ZodDefault",(e,t)=>{ie.init(e,t),e._zod.optin="optional",ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Wm(i,t)):Wm(o,t)}});function Wm(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ku=b("$ZodPrefault",(e,t)=>{ie.init(e,t),e._zod.optin="optional",ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Wu=b("$ZodNonOptional",(e,t)=>{ie.init(e,t),ce(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Jm(i,e)):Jm(o,e)}});function Jm(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var Ju=b("$ZodCatch",(e,t)=>{ie.init(e,t),e._zod.optin="optional",ce(e._zod,"optout",()=>t.innerType._zod.optout),ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(s=>zt(s,n,ct()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>zt(i,n,ct()))},input:r.value}),r.issues=[]),r)}});var Yu=b("$ZodPipe",(e,t)=>{ie.init(e,t),ce(e._zod,"values",()=>t.in._zod.values),ce(e._zod,"optin",()=>t.in._zod.optin),ce(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>Ym(i,t,n)):Ym(o,t,n)}});function Ym(e,t,r){return an(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var Qu=b("$ZodReadonly",(e,t)=>{ie.init(e,t),ce(e._zod,"propValues",()=>t.innerType._zod.propValues),ce(e._zod,"values",()=>t.innerType._zod.values),ce(e._zod,"optin",()=>t.innerType._zod.optin),ce(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(Qm):Qm(o)}});function Qm(e){return e.value=Object.freeze(e.value),e}var Xu=b("$ZodCustom",(e,t)=>{Ie.init(e,t),ie.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>Xm(i,r,n,e));Xm(o,r,n,e)}});function Xm(e,t,r,n){if(!e){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),t.issues.push(eu(o))}}var G2=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},K2=()=>{let e={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 t(n){return e[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 ${G2(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${us(n.values[0])}`:`Invalid option: expected one of ${as(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",i=t(n.origin);return i?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",i=t(n.origin);return i?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${i.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.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":""}: ${as(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 ig(){return{localeError:K2()}}var W2=Symbol("ZodOutput"),J2=Symbol("ZodInput"),Fo=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,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,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function sg(){return new Fo}var kr=sg();function el(e,t){return new e({type:"string",...Z(t)})}function tl(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Z(t)})}function _s(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Z(t)})}function rl(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Z(t)})}function nl(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Z(t)})}function ol(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Z(t)})}function il(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Z(t)})}function sl(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Z(t)})}function al(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Z(t)})}function cl(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Z(t)})}function ul(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Z(t)})}function ll(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Z(t)})}function pl(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Z(t)})}function dl(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Z(t)})}function fl(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Z(t)})}function hl(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Z(t)})}function ml(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Z(t)})}function gl(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Z(t)})}function _l(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Z(t)})}function yl(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Z(t)})}function vl(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Z(t)})}function xl(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Z(t)})}function bl(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Z(t)})}function ag(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Z(t)})}function cg(e,t){return new e({type:"string",format:"date",check:"string_format",...Z(t)})}function ug(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Z(t)})}function lg(e,t){return new e({type:"string",format:"duration",check:"string_format",...Z(t)})}function kl(e,t){return new e({type:"number",checks:[],...Z(t)})}function wl(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Z(t)})}function Sl(e,t){return new e({type:"boolean",...Z(t)})}function Tl(e,t){return new e({type:"null",...Z(t)})}function $l(e){return new e({type:"unknown"})}function Pl(e,t){return new e({type:"never",...Z(t)})}function ys(e,t){return new pu({check:"less_than",...Z(t),value:e,inclusive:!1})}function Uo(e,t){return new pu({check:"less_than",...Z(t),value:e,inclusive:!0})}function vs(e,t){return new du({check:"greater_than",...Z(t),value:e,inclusive:!1})}function Bo(e,t){return new du({check:"greater_than",...Z(t),value:e,inclusive:!0})}function xs(e,t){return new Im({check:"multiple_of",...Z(t),value:e})}function bs(e,t){return new Am({check:"max_length",...Z(t),maximum:e})}function Bn(e,t){return new Om({check:"min_length",...Z(t),minimum:e})}function ks(e,t){return new Nm({check:"length_equals",...Z(t),length:e})}function El(e,t){return new jm({check:"string_format",format:"regex",...Z(t),pattern:e})}function zl(e){return new Mm({check:"string_format",format:"lowercase",...Z(e)})}function Cl(e){return new Dm({check:"string_format",format:"uppercase",...Z(e)})}function Il(e,t){return new Lm({check:"string_format",format:"includes",...Z(t),includes:e})}function Rl(e,t){return new Zm({check:"string_format",format:"starts_with",...Z(t),prefix:e})}function Al(e,t){return new qm({check:"string_format",format:"ends_with",...Z(t),suffix:e})}function ln(e){return new Fm({check:"overwrite",tx:e})}function Ol(e){return ln(t=>t.normalize(e))}function Nl(){return ln(e=>e.trim())}function jl(){return ln(e=>e.toLowerCase())}function Ml(){return ln(e=>e.toUpperCase())}function pg(e,t,r){return new e({type:"array",element:t,...Z(r)})}function Dl(e,t,r){let n=Z(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Ll(e,t,r){return new e({type:"custom",check:"custom",fn:t,...Z(r)})}var ws=class{constructor(t){this.counter=0,this.metadataRegistry=t?.metadata??kr,this.target=t?.target??"draft-2020-12",this.unrepresentable=t?.unrepresentable??"throw",this.override=t?.override??(()=>{}),this.io=t?.io??"output",this.seen=new Map}process(t,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,i={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},s=this.seen.get(t);if(s)return s.count++,r.schemaPath.includes(t)&&(s.cycle=r.path),s.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(t,a);let c=t._zod.toJSONSchema?.();if(c)a.schema=c;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path},d=t._zod.parent;if(d)a.ref=d,this.process(d,l),this.seen.get(d).isParent=!0;else{let h=a.schema;switch(o.type){case"string":{let f=h;f.type="string";let{minimum:g,maximum:_,format:v,patterns:y,contentEncoding:S}=t._zod.bag;if(typeof g=="number"&&(f.minLength=g),typeof _=="number"&&(f.maxLength=_),v&&(f.format=i[v]??v,f.format===""&&delete f.format),S&&(f.contentEncoding=S),y&&y.size>0){let $=[...y];$.length===1?f.pattern=$[0].source:$.length>1&&(a.schema.allOf=[...$.map(M=>({...this.target==="draft-7"?{type:"string"}:{},pattern:M.source}))])}break}case"number":{let f=h,{minimum:g,maximum:_,format:v,multipleOf:y,exclusiveMaximum:S,exclusiveMinimum:$}=t._zod.bag;typeof v=="string"&&v.includes("int")?f.type="integer":f.type="number",typeof $=="number"&&(f.exclusiveMinimum=$),typeof g=="number"&&(f.minimum=g,typeof $=="number"&&($>=g?delete f.minimum:delete f.exclusiveMinimum)),typeof S=="number"&&(f.exclusiveMaximum=S),typeof _=="number"&&(f.maximum=_,typeof S=="number"&&(S<=_?delete f.maximum:delete f.exclusiveMaximum)),typeof y=="number"&&(f.multipleOf=y);break}case"boolean":{let f=h;f.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{h.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{h.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let f=h,{minimum:g,maximum:_}=t._zod.bag;typeof g=="number"&&(f.minItems=g),typeof _=="number"&&(f.maxItems=_),f.type="array",f.items=this.process(o.element,{...l,path:[...l.path,"items"]});break}case"object":{let f=h;f.type="object",f.properties={};let g=o.shape;for(let y in g)f.properties[y]=this.process(g[y],{...l,path:[...l.path,"properties",y]});let _=new Set(Object.keys(g)),v=new Set([..._].filter(y=>{let S=o.shape[y]._zod;return this.io==="input"?S.optin===void 0:S.optout===void 0}));v.size>0&&(f.required=Array.from(v)),o.catchall?._zod.def.type==="never"?f.additionalProperties=!1:o.catchall?o.catchall&&(f.additionalProperties=this.process(o.catchall,{...l,path:[...l.path,"additionalProperties"]})):this.io==="output"&&(f.additionalProperties=!1);break}case"union":{let f=h;f.anyOf=o.options.map((g,_)=>this.process(g,{...l,path:[...l.path,"anyOf",_]}));break}case"intersection":{let f=h,g=this.process(o.left,{...l,path:[...l.path,"allOf",0]}),_=this.process(o.right,{...l,path:[...l.path,"allOf",1]}),v=S=>"allOf"in S&&Object.keys(S).length===1,y=[...v(g)?g.allOf:[g],...v(_)?_.allOf:[_]];f.allOf=y;break}case"tuple":{let f=h;f.type="array";let g=o.items.map((y,S)=>this.process(y,{...l,path:[...l.path,"prefixItems",S]}));if(this.target==="draft-2020-12"?f.prefixItems=g:f.items=g,o.rest){let y=this.process(o.rest,{...l,path:[...l.path,"items"]});this.target==="draft-2020-12"?f.items=y:f.additionalItems=y}o.rest&&(f.items=this.process(o.rest,{...l,path:[...l.path,"items"]}));let{minimum:_,maximum:v}=t._zod.bag;typeof _=="number"&&(f.minItems=_),typeof v=="number"&&(f.maxItems=v);break}case"record":{let f=h;f.type="object",f.propertyNames=this.process(o.keyType,{...l,path:[...l.path,"propertyNames"]}),f.additionalProperties=this.process(o.valueType,{...l,path:[...l.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let f=h,g=Oo(o.entries);g.every(_=>typeof _=="number")&&(f.type="number"),g.every(_=>typeof _=="string")&&(f.type="string"),f.enum=g;break}case"literal":{let f=h,g=[];for(let _ of o.values)if(_===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof _=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");g.push(Number(_))}else g.push(_);if(g.length!==0)if(g.length===1){let _=g[0];f.type=_===null?"null":typeof _,f.const=_}else g.every(_=>typeof _=="number")&&(f.type="number"),g.every(_=>typeof _=="string")&&(f.type="string"),g.every(_=>typeof _=="boolean")&&(f.type="string"),g.every(_=>_===null)&&(f.type="null"),f.enum=g;break}case"file":{let f=h,g={type:"string",format:"binary",contentEncoding:"binary"},{minimum:_,maximum:v,mime:y}=t._zod.bag;_!==void 0&&(g.minLength=_),v!==void 0&&(g.maxLength=v),y?y.length===1?(g.contentMediaType=y[0],Object.assign(f,g)):f.anyOf=y.map(S=>({...g,contentMediaType:S})):Object.assign(f,g);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let f=this.process(o.innerType,l);h.anyOf=[f,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,l),a.ref=o.innerType;break}case"success":{let f=h;f.type="boolean";break}case"default":{this.process(o.innerType,l),a.ref=o.innerType,h.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,l),a.ref=o.innerType,this.io==="input"&&(h._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,l),a.ref=o.innerType;let f;try{f=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}h.default=f;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let f=h,g=t._zod.pattern;if(!g)throw new Error("Pattern not found in template literal");f.type="string",f.pattern=g.source;break}case"pipe":{let f=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(f,l),a.ref=f;break}case"readonly":{this.process(o.innerType,l),a.ref=o.innerType,h.readOnly=!0;break}case"promise":{this.process(o.innerType,l),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,l),a.ref=o.innerType;break}case"lazy":{let f=t._zod.innerType;this.process(f,l),a.ref=f;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(t);return u&&Object.assign(a.schema,u),this.io==="input"&&Pe(t)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(t).schema}emit(t,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(t);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let i=p=>{let l=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let g=n.external.registry.get(p[0])?.id,_=n.external.uri??(y=>y);if(g)return{ref:_(g)};let v=p[1].defId??p[1].schema.id??`schema${this.counter++}`;return p[1].defId=v,{defId:v,ref:`${_("__shared")}#/${l}/${v}`}}if(p[1]===o)return{ref:"#"};let h=`#/${l}/`,f=p[1].schema.id??`__schema${this.counter++}`;return{defId:f,ref:h+f}},s=p=>{if(p[1].schema.$ref)return;let l=p[1],{ref:d,defId:h}=i(p);l.def={...l.schema},h&&(l.defId=h);let f=l.schema;for(let g in f)delete f[g];f.$ref=d};if(n.cycles==="throw")for(let p of this.seen.entries()){let l=p[1];if(l.cycle)throw new Error(`Cycle detected: #/${l.cycle?.join("/")}/<root>
|
|
56
|
+
path: iss.path ? [${nn(y)}, ...iss.path] : [${nn(y)}]
|
|
57
|
+
})));`),d.write(`newResult[${nn(y)}] = ${w}.value`)}d.write("payload.value = newResult;"),d.write("return payload;");let v=d.compile();return(y,w)=>v(l,y,w)},o,i=Ln,s=!ns.jitless,c=s&&Jc.value,u=t.catchall,p;e._zod.parse=(l,d)=>{p??(p=r.value);let h=l.value;if(!i(h))return l.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),l;let f=[];if(s&&c&&d?.async===!1&&d.jitless!==!0)o||(o=n(t.shape)),l=o(l,d);else{l.value={};let w=p.shape;for(let $ of p.keys){let j=w[$],ve=j._zod.run({value:h[$],issues:[]},d),pe=j._zod.optin==="optional"&&j._zod.optout==="optional";ve instanceof Promise?f.push(ve.then(Lr=>pe?Km(Lr,l,$,h):ls(Lr,l,$))):pe?Km(ve,l,$,h):ls(ve,l,$)}}if(!u)return f.length?Promise.all(f).then(()=>l):l;let g=[],_=p.keySet,v=u._zod,y=v.def.type;for(let w of Object.keys(h)){if(_.has(w))continue;if(y==="never"){g.push(w);continue}let $=v.run({value:h[w],issues:[]},d);$ instanceof Promise?f.push($.then(j=>ls(j,l,w))):ls($,l,w)}return g.length&&l.issues.push({code:"unrecognized_keys",keys:g,input:h,inst:e}),f.length?Promise.all(f).then(()=>l):l}});function Wm(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(i=>Et(i,n,at())))}),t}var fs=b("$ZodUnion",(e,t)=>{ie.init(e,t),ce(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ce(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ce(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),ce(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Oo(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,i=[];for(let s of t.options){let a=s._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)i.push(a),o=!0;else{if(a.issues.length===0)return a;i.push(a)}}return o?Promise.all(i).then(s=>Wm(s,r,e,n)):Wm(i,r,e,n)}}),Lu=b("$ZodDiscriminatedUnion",(e,t)=>{fs.init(e,t);let r=e._zod.parse;ce(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[a,c]of Object.entries(s)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=Ro(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!Ln(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=n.value.get(s?.[t.discriminator]);return a?a._zod.run(o,i):t.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:s,path:[t.discriminator],inst:e}),o)}}),Zu=b("$ZodIntersection",(e,t)=>{ie.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,i=t.left._zod.run({value:o,issues:[]},n),s=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,u])=>Jm(r,c,u)):Jm(r,i,s)}});function fu(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Zn(e)&&Zn(t)){let r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};for(let i of n){let s=fu(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=fu(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Jm(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),on(e))return e;let n=fu(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var qu=b("$ZodRecord",(e,t)=>{ie.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Zn(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let i=[];if(t.keyType._zod.values){let s=t.keyType._zod.values;r.value={};for(let c of s)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=t.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?i.push(u.then(p=>{p.issues.length&&r.issues.push(...qt(c,p.issues)),r.value[c]=p.value})):(u.issues.length&&r.issues.push(...qt(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)s.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let a=t.keyType._zod.run({value:s,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>Et(u,n,at())),input:s,path:[s],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[s],issues:[]},n);c instanceof Promise?i.push(c.then(u=>{u.issues.length&&r.issues.push(...qt(s,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...qt(s,c.issues)),r.value[a.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}});var Fu=b("$ZodEnum",(e,t)=>{ie.init(e,t);let r=Io(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>Yc.has(typeof n)).map(n=>typeof n=="string"?vr(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let i=n.value;return e._zod.values.has(i)||n.issues.push({code:"invalid_value",values:r,input:i,inst:e}),n}}),Uu=b("$ZodLiteral",(e,t)=>{ie.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?vr(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var Bu=b("$ZodTransform",(e,t)=>{ie.init(e,t),e._zod.parse=(r,n)=>{let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(r.value=s,r));if(o instanceof Promise)throw new tr;return r.value=o,r}}),Vu=b("$ZodOptional",(e,t)=>{ie.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ce(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ce(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Oo(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),Hu=b("$ZodNullable",(e,t)=>{ie.init(e,t),ce(e._zod,"optin",()=>t.innerType._zod.optin),ce(e._zod,"optout",()=>t.innerType._zod.optout),ce(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Oo(r.source)}|null)$`):void 0}),ce(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Gu=b("$ZodDefault",(e,t)=>{ie.init(e,t),e._zod.optin="optional",ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Ym(i,t)):Ym(o,t)}});function Ym(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ku=b("$ZodPrefault",(e,t)=>{ie.init(e,t),e._zod.optin="optional",ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Wu=b("$ZodNonOptional",(e,t)=>{ie.init(e,t),ce(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Qm(i,e)):Qm(o,e)}});function Qm(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var Ju=b("$ZodCatch",(e,t)=>{ie.init(e,t),e._zod.optin="optional",ce(e._zod,"optout",()=>t.innerType._zod.optout),ce(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(s=>Et(s,n,at()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>Et(i,n,at()))},input:r.value}),r.issues=[]),r)}});var Yu=b("$ZodPipe",(e,t)=>{ie.init(e,t),ce(e._zod,"values",()=>t.in._zod.values),ce(e._zod,"optin",()=>t.in._zod.optin),ce(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>Xm(i,t,n)):Xm(o,t,n)}});function Xm(e,t,r){return on(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var Qu=b("$ZodReadonly",(e,t)=>{ie.init(e,t),ce(e._zod,"propValues",()=>t.innerType._zod.propValues),ce(e._zod,"values",()=>t.innerType._zod.values),ce(e._zod,"optin",()=>t.innerType._zod.optin),ce(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(eg):eg(o)}});function eg(e){return e.value=Object.freeze(e.value),e}var Xu=b("$ZodCustom",(e,t)=>{Ie.init(e,t),ie.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>tg(i,r,n,e));tg(o,r,n,e)}});function tg(e,t,r,n){if(!e){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),t.issues.push(eu(o))}}var kT=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},ST=()=>{let e={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 t(n){return e[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 ${kT(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${ss(n.values[0])}`:`Invalid option: expected one of ${os(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",i=t(n.origin);return i?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",i=t(n.origin);return i?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${i.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.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":""}: ${os(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 ag(){return{localeError:ST()}}var wT=Symbol("ZodOutput"),TT=Symbol("ZodInput"),Lo=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,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,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function cg(){return new Lo}var xr=cg();function el(e,t){return new e({type:"string",...Z(t)})}function tl(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Z(t)})}function hs(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Z(t)})}function rl(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Z(t)})}function nl(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Z(t)})}function ol(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Z(t)})}function il(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Z(t)})}function sl(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Z(t)})}function al(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Z(t)})}function cl(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Z(t)})}function ul(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Z(t)})}function ll(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Z(t)})}function pl(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Z(t)})}function dl(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Z(t)})}function fl(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Z(t)})}function hl(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Z(t)})}function ml(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Z(t)})}function gl(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Z(t)})}function _l(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Z(t)})}function yl(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Z(t)})}function vl(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Z(t)})}function xl(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Z(t)})}function bl(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Z(t)})}function ug(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Z(t)})}function lg(e,t){return new e({type:"string",format:"date",check:"string_format",...Z(t)})}function pg(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Z(t)})}function dg(e,t){return new e({type:"string",format:"duration",check:"string_format",...Z(t)})}function kl(e,t){return new e({type:"number",checks:[],...Z(t)})}function Sl(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Z(t)})}function wl(e,t){return new e({type:"boolean",...Z(t)})}function Tl(e,t){return new e({type:"null",...Z(t)})}function $l(e){return new e({type:"unknown"})}function Pl(e,t){return new e({type:"never",...Z(t)})}function ms(e,t){return new pu({check:"less_than",...Z(t),value:e,inclusive:!1})}function Zo(e,t){return new pu({check:"less_than",...Z(t),value:e,inclusive:!0})}function gs(e,t){return new du({check:"greater_than",...Z(t),value:e,inclusive:!1})}function qo(e,t){return new du({check:"greater_than",...Z(t),value:e,inclusive:!0})}function _s(e,t){return new Am({check:"multiple_of",...Z(t),value:e})}function ys(e,t){return new Nm({check:"max_length",...Z(t),maximum:e})}function qn(e,t){return new Dm({check:"min_length",...Z(t),minimum:e})}function vs(e,t){return new jm({check:"length_equals",...Z(t),length:e})}function El(e,t){return new Mm({check:"string_format",format:"regex",...Z(t),pattern:e})}function zl(e){return new Lm({check:"string_format",format:"lowercase",...Z(e)})}function Cl(e){return new Zm({check:"string_format",format:"uppercase",...Z(e)})}function Il(e,t){return new qm({check:"string_format",format:"includes",...Z(t),includes:e})}function Rl(e,t){return new Fm({check:"string_format",format:"starts_with",...Z(t),prefix:e})}function Al(e,t){return new Um({check:"string_format",format:"ends_with",...Z(t),suffix:e})}function cn(e){return new Bm({check:"overwrite",tx:e})}function Ol(e){return cn(t=>t.normalize(e))}function Nl(){return cn(e=>e.trim())}function Dl(){return cn(e=>e.toLowerCase())}function jl(){return cn(e=>e.toUpperCase())}function fg(e,t,r){return new e({type:"array",element:t,...Z(r)})}function Ml(e,t,r){let n=Z(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Ll(e,t,r){return new e({type:"custom",check:"custom",fn:t,...Z(r)})}var xs=class{constructor(t){this.counter=0,this.metadataRegistry=t?.metadata??xr,this.target=t?.target??"draft-2020-12",this.unrepresentable=t?.unrepresentable??"throw",this.override=t?.override??(()=>{}),this.io=t?.io??"output",this.seen=new Map}process(t,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,i={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},s=this.seen.get(t);if(s)return s.count++,r.schemaPath.includes(t)&&(s.cycle=r.path),s.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(t,a);let c=t._zod.toJSONSchema?.();if(c)a.schema=c;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path},d=t._zod.parent;if(d)a.ref=d,this.process(d,l),this.seen.get(d).isParent=!0;else{let h=a.schema;switch(o.type){case"string":{let f=h;f.type="string";let{minimum:g,maximum:_,format:v,patterns:y,contentEncoding:w}=t._zod.bag;if(typeof g=="number"&&(f.minLength=g),typeof _=="number"&&(f.maxLength=_),v&&(f.format=i[v]??v,f.format===""&&delete f.format),w&&(f.contentEncoding=w),y&&y.size>0){let $=[...y];$.length===1?f.pattern=$[0].source:$.length>1&&(a.schema.allOf=[...$.map(j=>({...this.target==="draft-7"?{type:"string"}:{},pattern:j.source}))])}break}case"number":{let f=h,{minimum:g,maximum:_,format:v,multipleOf:y,exclusiveMaximum:w,exclusiveMinimum:$}=t._zod.bag;typeof v=="string"&&v.includes("int")?f.type="integer":f.type="number",typeof $=="number"&&(f.exclusiveMinimum=$),typeof g=="number"&&(f.minimum=g,typeof $=="number"&&($>=g?delete f.minimum:delete f.exclusiveMinimum)),typeof w=="number"&&(f.exclusiveMaximum=w),typeof _=="number"&&(f.maximum=_,typeof w=="number"&&(w<=_?delete f.maximum:delete f.exclusiveMaximum)),typeof y=="number"&&(f.multipleOf=y);break}case"boolean":{let f=h;f.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{h.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{h.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let f=h,{minimum:g,maximum:_}=t._zod.bag;typeof g=="number"&&(f.minItems=g),typeof _=="number"&&(f.maxItems=_),f.type="array",f.items=this.process(o.element,{...l,path:[...l.path,"items"]});break}case"object":{let f=h;f.type="object",f.properties={};let g=o.shape;for(let y in g)f.properties[y]=this.process(g[y],{...l,path:[...l.path,"properties",y]});let _=new Set(Object.keys(g)),v=new Set([..._].filter(y=>{let w=o.shape[y]._zod;return this.io==="input"?w.optin===void 0:w.optout===void 0}));v.size>0&&(f.required=Array.from(v)),o.catchall?._zod.def.type==="never"?f.additionalProperties=!1:o.catchall?o.catchall&&(f.additionalProperties=this.process(o.catchall,{...l,path:[...l.path,"additionalProperties"]})):this.io==="output"&&(f.additionalProperties=!1);break}case"union":{let f=h;f.anyOf=o.options.map((g,_)=>this.process(g,{...l,path:[...l.path,"anyOf",_]}));break}case"intersection":{let f=h,g=this.process(o.left,{...l,path:[...l.path,"allOf",0]}),_=this.process(o.right,{...l,path:[...l.path,"allOf",1]}),v=w=>"allOf"in w&&Object.keys(w).length===1,y=[...v(g)?g.allOf:[g],...v(_)?_.allOf:[_]];f.allOf=y;break}case"tuple":{let f=h;f.type="array";let g=o.items.map((y,w)=>this.process(y,{...l,path:[...l.path,"prefixItems",w]}));if(this.target==="draft-2020-12"?f.prefixItems=g:f.items=g,o.rest){let y=this.process(o.rest,{...l,path:[...l.path,"items"]});this.target==="draft-2020-12"?f.items=y:f.additionalItems=y}o.rest&&(f.items=this.process(o.rest,{...l,path:[...l.path,"items"]}));let{minimum:_,maximum:v}=t._zod.bag;typeof _=="number"&&(f.minItems=_),typeof v=="number"&&(f.maxItems=v);break}case"record":{let f=h;f.type="object",f.propertyNames=this.process(o.keyType,{...l,path:[...l.path,"propertyNames"]}),f.additionalProperties=this.process(o.valueType,{...l,path:[...l.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let f=h,g=Io(o.entries);g.every(_=>typeof _=="number")&&(f.type="number"),g.every(_=>typeof _=="string")&&(f.type="string"),f.enum=g;break}case"literal":{let f=h,g=[];for(let _ of o.values)if(_===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof _=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");g.push(Number(_))}else g.push(_);if(g.length!==0)if(g.length===1){let _=g[0];f.type=_===null?"null":typeof _,f.const=_}else g.every(_=>typeof _=="number")&&(f.type="number"),g.every(_=>typeof _=="string")&&(f.type="string"),g.every(_=>typeof _=="boolean")&&(f.type="string"),g.every(_=>_===null)&&(f.type="null"),f.enum=g;break}case"file":{let f=h,g={type:"string",format:"binary",contentEncoding:"binary"},{minimum:_,maximum:v,mime:y}=t._zod.bag;_!==void 0&&(g.minLength=_),v!==void 0&&(g.maxLength=v),y?y.length===1?(g.contentMediaType=y[0],Object.assign(f,g)):f.anyOf=y.map(w=>({...g,contentMediaType:w})):Object.assign(f,g);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let f=this.process(o.innerType,l);h.anyOf=[f,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,l),a.ref=o.innerType;break}case"success":{let f=h;f.type="boolean";break}case"default":{this.process(o.innerType,l),a.ref=o.innerType,h.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,l),a.ref=o.innerType,this.io==="input"&&(h._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,l),a.ref=o.innerType;let f;try{f=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}h.default=f;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let f=h,g=t._zod.pattern;if(!g)throw new Error("Pattern not found in template literal");f.type="string",f.pattern=g.source;break}case"pipe":{let f=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(f,l),a.ref=f;break}case"readonly":{this.process(o.innerType,l),a.ref=o.innerType,h.readOnly=!0;break}case"promise":{this.process(o.innerType,l),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,l),a.ref=o.innerType;break}case"lazy":{let f=t._zod.innerType;this.process(f,l),a.ref=f;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(t);return u&&Object.assign(a.schema,u),this.io==="input"&&Pe(t)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(t).schema}emit(t,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(t);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let i=p=>{let l=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let g=n.external.registry.get(p[0])?.id,_=n.external.uri??(y=>y);if(g)return{ref:_(g)};let v=p[1].defId??p[1].schema.id??`schema${this.counter++}`;return p[1].defId=v,{defId:v,ref:`${_("__shared")}#/${l}/${v}`}}if(p[1]===o)return{ref:"#"};let h=`#/${l}/`,f=p[1].schema.id??`__schema${this.counter++}`;return{defId:f,ref:h+f}},s=p=>{if(p[1].schema.$ref)return;let l=p[1],{ref:d,defId:h}=i(p);l.def={...l.schema},h&&(l.defId=h);let f=l.schema;for(let g in f)delete f[g];f.$ref=d};if(n.cycles==="throw")for(let p of this.seen.entries()){let l=p[1];if(l.cycle)throw new Error(`Cycle detected: #/${l.cycle?.join("/")}/<root>
|
|
58
58
|
|
|
59
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let p of this.seen.entries()){let l=p[1];if(t===p[0]){s(p);continue}if(n.external){let h=n.external.registry.get(p[0])?.id;if(t!==p[0]&&h){s(p);continue}}if(this.metadataRegistry.get(p[0])?.id){s(p);continue}if(l.cycle){s(p);continue}if(l.count>1&&n.reused==="ref"){s(p);continue}}let a=(p,l)=>{let d=this.seen.get(p),h=d.def??d.schema,f={...h};if(d.ref===null)return;let g=d.ref;if(d.ref=null,g){a(g,l);let _=this.seen.get(g).schema;_.$ref&&l.target==="draft-7"?(h.allOf=h.allOf??[],h.allOf.push(_)):(Object.assign(h,_),Object.assign(h,f))}d.isParent||this.override({zodSchema:p,jsonSchema:h,path:d.path??[]})};for(let p of[...this.seen.entries()].reverse())a(p[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let p=n.external.registry.get(t)?.id;if(!p)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(p)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let p of this.seen.entries()){let l=p[1];l.def&&l.defId&&(u[l.defId]=l.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Zl(e,t){if(e instanceof Fo){let n=new ws(t),o={};for(let a of e._idmap.entries()){let[c,u]=a;n.process(u)}let i={},s={registry:e,uri:t?.uri,defs:o};for(let a of e._idmap.entries()){let[c,u]=a;i[c]=n.emit(u,{...t,external:s})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[a]:o}}return{schemas:i}}let r=new ws(t);return r.process(e),r.emit(e,t)}function Pe(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let o=e._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return Pe(o.element,r);case"object":{for(let i in o.shape)if(Pe(o.shape[i],r))return!0;return!1}case"union":{for(let i of o.options)if(Pe(i,r))return!0;return!1}case"intersection":return Pe(o.left,r)||Pe(o.right,r);case"tuple":{for(let i of o.items)if(Pe(i,r))return!0;return!!(o.rest&&Pe(o.rest,r))}case"record":return Pe(o.keyType,r)||Pe(o.valueType,r);case"map":return Pe(o.keyType,r)||Pe(o.valueType,r);case"set":return Pe(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Pe(o.innerType,r);case"lazy":return Pe(o.getter(),r);case"default":return Pe(o.innerType,r);case"prefault":return Pe(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Pe(o.in,r)||Pe(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var IT=b("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");ie.init(e,t),e.def=t,e.parse=(r,n)=>ou(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>cn(e,r,n),e.parseAsync=async(r,n)=>su(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>un(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>ut(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e))});var RT=b("ZodMiniObject",(e,t)=>{ms.init(e,t),IT.init(e,t),Y.defineLazy(e,"shape",()=>t.shape)});function ql(e,t){let r={type:"object",get shape(){return Y.assignProp(this,"shape",{...e}),this.shape},...Y.normalizeParams(t)};return new RT(r)}function _t(e){return!!e._zod}function dn(e){let t=Object.values(e);if(t.length===0)return ql({});let r=t.every(_t),n=t.every(o=>!_t(o));if(r)return ql(e);if(n)return Bc(e);throw new Error("Mixed Zod versions detected in object shape.")}function wr(e,t){return _t(e)?cn(e,t):e.safeParse(t)}async function Ss(e,t){return _t(e)?await un(e,t):await e.safeParseAsync(t)}function Sr(e){if(!e)return;let t;if(_t(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Vn(e){if(e){if(typeof e=="object"){let t=e,r=e;if(!t._def&&!r._zod){let n=Object.values(e);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return dn(e)}}if(_t(e)){let r=e._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function Ts(e){if(e&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;if("issues"in e&&Array.isArray(e.issues)&&e.issues.length>0){let t=e.issues[0];if(t&&typeof t=="object"&&"message"in t)return String(t.message)}try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function fg(e){return e.description}function hg(e){if(_t(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function $s(e){if(_t(e)){let i=e._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=e._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=e.value;if(n!==void 0)return n}var Vo={};Lc(Vo,{ZodISODate:()=>gg,ZodISODateTime:()=>mg,ZodISODuration:()=>yg,ZodISOTime:()=>_g,date:()=>Ul,datetime:()=>Fl,duration:()=>Vl,time:()=>Bl});var mg=b("ZodISODateTime",(e,t)=>{eg.init(e,t),me.init(e,t)});function Fl(e){return ag(mg,e)}var gg=b("ZodISODate",(e,t)=>{tg.init(e,t),me.init(e,t)});function Ul(e){return cg(gg,e)}var _g=b("ZodISOTime",(e,t)=>{rg.init(e,t),me.init(e,t)});function Bl(e){return ug(_g,e)}var yg=b("ZodISODuration",(e,t)=>{ng.init(e,t),me.init(e,t)});function Vl(e){return lg(yg,e)}var vg=(e,t)=>{ls.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>ru(e,r)},flatten:{value:r=>tu(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},eL=b("ZodError",vg),Ho=b("ZodError",vg,{Parent:Error});var xg=nu(Ho),bg=iu(Ho),kg=au(Ho),wg=cu(Ho);var be=b("ZodType",(e,t)=>(ie.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>ut(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>xg(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>kg(e,r,n),e.parseAsync=async(r,n)=>bg(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>wg(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(z$(r,n)),e.superRefine=r=>e.check(C$(r)),e.overwrite=r=>e.check(ln(r)),e.optional=()=>xe(e),e.nullable=()=>$g(e),e.nullish=()=>xe($g(e)),e.nonoptional=r=>k$(e,r),e.array=()=>Q(e),e.or=r=>le([e,r]),e.and=r=>Es(e,r),e.transform=r=>Gl(e,Ig(r)),e.default=r=>v$(e,r),e.prefault=r=>b$(e,r),e.catch=r=>S$(e,r),e.pipe=r=>Gl(e,r),e.readonly=()=>P$(e),e.describe=r=>{let n=e.clone();return kr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return kr.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return kr.get(e);let n=e.clone();return kr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Pg=b("_ZodString",(e,t)=>{qo.init(e,t),be.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(El(...n)),e.includes=(...n)=>e.check(Il(...n)),e.startsWith=(...n)=>e.check(Rl(...n)),e.endsWith=(...n)=>e.check(Al(...n)),e.min=(...n)=>e.check(Bn(...n)),e.max=(...n)=>e.check(bs(...n)),e.length=(...n)=>e.check(ks(...n)),e.nonempty=(...n)=>e.check(Bn(1,...n)),e.lowercase=n=>e.check(zl(n)),e.uppercase=n=>e.check(Cl(n)),e.trim=()=>e.check(Nl()),e.normalize=(...n)=>e.check(Ol(...n)),e.toLowerCase=()=>e.check(jl()),e.toUpperCase=()=>e.check(Ml())}),qT=b("ZodString",(e,t)=>{qo.init(e,t),Pg.init(e,t),e.email=r=>e.check(tl(FT,r)),e.url=r=>e.check(sl(UT,r)),e.jwt=r=>e.check(bl(o$,r)),e.emoji=r=>e.check(al(BT,r)),e.guid=r=>e.check(_s(Sg,r)),e.uuid=r=>e.check(rl(Ps,r)),e.uuidv4=r=>e.check(nl(Ps,r)),e.uuidv6=r=>e.check(ol(Ps,r)),e.uuidv7=r=>e.check(il(Ps,r)),e.nanoid=r=>e.check(cl(VT,r)),e.guid=r=>e.check(_s(Sg,r)),e.cuid=r=>e.check(ul(HT,r)),e.cuid2=r=>e.check(ll(GT,r)),e.ulid=r=>e.check(pl(KT,r)),e.base64=r=>e.check(yl(t$,r)),e.base64url=r=>e.check(vl(r$,r)),e.xid=r=>e.check(dl(WT,r)),e.ksuid=r=>e.check(fl(JT,r)),e.ipv4=r=>e.check(hl(YT,r)),e.ipv6=r=>e.check(ml(QT,r)),e.cidrv4=r=>e.check(gl(XT,r)),e.cidrv6=r=>e.check(_l(e$,r)),e.e164=r=>e.check(xl(n$,r)),e.datetime=r=>e.check(Fl(r)),e.date=r=>e.check(Ul(r)),e.time=r=>e.check(Bl(r)),e.duration=r=>e.check(Vl(r))});function x(e){return el(qT,e)}var me=b("ZodStringFormat",(e,t)=>{ue.init(e,t),Pg.init(e,t)}),FT=b("ZodEmail",(e,t)=>{gu.init(e,t),me.init(e,t)});var Sg=b("ZodGUID",(e,t)=>{hu.init(e,t),me.init(e,t)});var Ps=b("ZodUUID",(e,t)=>{mu.init(e,t),me.init(e,t)});var UT=b("ZodURL",(e,t)=>{_u.init(e,t),me.init(e,t)});var BT=b("ZodEmoji",(e,t)=>{yu.init(e,t),me.init(e,t)});var VT=b("ZodNanoID",(e,t)=>{vu.init(e,t),me.init(e,t)});var HT=b("ZodCUID",(e,t)=>{xu.init(e,t),me.init(e,t)});var GT=b("ZodCUID2",(e,t)=>{bu.init(e,t),me.init(e,t)});var KT=b("ZodULID",(e,t)=>{ku.init(e,t),me.init(e,t)});var WT=b("ZodXID",(e,t)=>{wu.init(e,t),me.init(e,t)});var JT=b("ZodKSUID",(e,t)=>{Su.init(e,t),me.init(e,t)});var YT=b("ZodIPv4",(e,t)=>{Tu.init(e,t),me.init(e,t)});var QT=b("ZodIPv6",(e,t)=>{$u.init(e,t),me.init(e,t)});var XT=b("ZodCIDRv4",(e,t)=>{Pu.init(e,t),me.init(e,t)});var e$=b("ZodCIDRv6",(e,t)=>{Eu.init(e,t),me.init(e,t)});var t$=b("ZodBase64",(e,t)=>{zu.init(e,t),me.init(e,t)});var r$=b("ZodBase64URL",(e,t)=>{Cu.init(e,t),me.init(e,t)});var n$=b("ZodE164",(e,t)=>{Iu.init(e,t),me.init(e,t)});var o$=b("ZodJWT",(e,t)=>{Ru.init(e,t),me.init(e,t)});var Eg=b("ZodNumber",(e,t)=>{hs.init(e,t),be.init(e,t),e.gt=(n,o)=>e.check(vs(n,o)),e.gte=(n,o)=>e.check(Bo(n,o)),e.min=(n,o)=>e.check(Bo(n,o)),e.lt=(n,o)=>e.check(ys(n,o)),e.lte=(n,o)=>e.check(Uo(n,o)),e.max=(n,o)=>e.check(Uo(n,o)),e.int=n=>e.check(Tg(n)),e.safe=n=>e.check(Tg(n)),e.positive=n=>e.check(vs(0,n)),e.nonnegative=n=>e.check(Bo(0,n)),e.negative=n=>e.check(ys(0,n)),e.nonpositive=n=>e.check(Uo(0,n)),e.multipleOf=(n,o)=>e.check(xs(n,o)),e.step=(n,o)=>e.check(xs(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function oe(e){return kl(Eg,e)}var i$=b("ZodNumberFormat",(e,t)=>{Au.init(e,t),Eg.init(e,t)});function Tg(e){return wl(i$,e)}var s$=b("ZodBoolean",(e,t)=>{Ou.init(e,t),be.init(e,t)});function ze(e){return Sl(s$,e)}var a$=b("ZodNull",(e,t)=>{Nu.init(e,t),be.init(e,t)});function Kl(e){return Tl(a$,e)}var c$=b("ZodUnknown",(e,t)=>{ju.init(e,t),be.init(e,t)});function ge(){return $l(c$)}var u$=b("ZodNever",(e,t)=>{Mu.init(e,t),be.init(e,t)});function l$(e){return Pl(u$,e)}var p$=b("ZodArray",(e,t)=>{Du.init(e,t),be.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Bn(r,n)),e.nonempty=r=>e.check(Bn(1,r)),e.max=(r,n)=>e.check(bs(r,n)),e.length=(r,n)=>e.check(ks(r,n)),e.unwrap=()=>e.element});function Q(e,t){return pg(p$,e,t)}var zg=b("ZodObject",(e,t)=>{ms.init(e,t),be.init(e,t),Y.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>et(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ge()}),e.loose=()=>e.clone({...e._zod.def,catchall:ge()}),e.strict=()=>e.clone({...e._zod.def,catchall:l$()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Y.extend(e,r),e.merge=r=>Y.merge(e,r),e.pick=r=>Y.pick(e,r),e.omit=r=>Y.omit(e,r),e.partial=(...r)=>Y.partial(Rg,e,r[0]),e.required=(...r)=>Y.required(Ag,e,r[0])});function z(e,t){let r={type:"object",get shape(){return Y.assignProp(this,"shape",{...e}),this.shape},...Y.normalizeParams(t)};return new zg(r)}function Ve(e,t){return new zg({type:"object",get shape(){return Y.assignProp(this,"shape",{...e}),this.shape},catchall:ge(),...Y.normalizeParams(t)})}var Cg=b("ZodUnion",(e,t)=>{gs.init(e,t),be.init(e,t),e.options=t.options});function le(e,t){return new Cg({type:"union",options:e,...Y.normalizeParams(t)})}var d$=b("ZodDiscriminatedUnion",(e,t)=>{Cg.init(e,t),Lu.init(e,t)});function Wl(e,t,r){return new d$({type:"union",options:t,discriminator:e,...Y.normalizeParams(r)})}var f$=b("ZodIntersection",(e,t)=>{Zu.init(e,t),be.init(e,t)});function Es(e,t){return new f$({type:"intersection",left:e,right:t})}var h$=b("ZodRecord",(e,t)=>{qu.init(e,t),be.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function _e(e,t,r){return new h$({type:"record",keyType:e,valueType:t,...Y.normalizeParams(r)})}var Hl=b("ZodEnum",(e,t)=>{Fu.init(e,t),be.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let i={};for(let s of n)if(r.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new Hl({...t,checks:[],...Y.normalizeParams(o),entries:i})},e.exclude=(n,o)=>{let i={...t.entries};for(let s of n)if(r.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new Hl({...t,checks:[],...Y.normalizeParams(o),entries:i})}});function et(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Hl({type:"enum",entries:r,...Y.normalizeParams(t)})}var m$=b("ZodLiteral",(e,t)=>{Uu.init(e,t),be.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function A(e,t){return new m$({type:"literal",values:Array.isArray(e)?e:[e],...Y.normalizeParams(t)})}var g$=b("ZodTransform",(e,t)=>{Bu.init(e,t),be.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=i=>{if(typeof i=="string")r.issues.push(Y.issue(i,r.value,t));else{let s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=e),s.continue??(s.continue=!0),r.issues.push(Y.issue(s))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function Ig(e){return new g$({type:"transform",transform:e})}var Rg=b("ZodOptional",(e,t)=>{Vu.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType});function xe(e){return new Rg({type:"optional",innerType:e})}var _$=b("ZodNullable",(e,t)=>{Hu.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType});function $g(e){return new _$({type:"nullable",innerType:e})}var y$=b("ZodDefault",(e,t)=>{Gu.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function v$(e,t){return new y$({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var x$=b("ZodPrefault",(e,t)=>{Ku.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType});function b$(e,t){return new x$({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Ag=b("ZodNonOptional",(e,t)=>{Wu.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType});function k$(e,t){return new Ag({type:"nonoptional",innerType:e,...Y.normalizeParams(t)})}var w$=b("ZodCatch",(e,t)=>{Ju.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function S$(e,t){return new w$({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var T$=b("ZodPipe",(e,t)=>{Yu.init(e,t),be.init(e,t),e.in=t.in,e.out=t.out});function Gl(e,t){return new T$({type:"pipe",in:e,out:t})}var $$=b("ZodReadonly",(e,t)=>{Qu.init(e,t),be.init(e,t)});function P$(e){return new $$({type:"readonly",innerType:e})}var Og=b("ZodCustom",(e,t)=>{Xu.init(e,t),be.init(e,t)});function E$(e){let t=new Ie({check:"custom"});return t._zod.check=e,t}function Ng(e,t){return Dl(Og,e??(()=>!0),t)}function z$(e,t={}){return Ll(Og,e,t)}function C$(e){let t=E$(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Y.issue(n,r.value,t._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=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(Y.issue(o))}},e(r.value,r)));return t}function Jl(e,t){return Gl(Ig(e),t)}ct(ig());var Ql="2025-11-25";var jg=[Ql,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Tr="io.modelcontextprotocol/related-task",Cs="2.0",Re=Ng(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Mg=le([x(),oe().int()]),Dg=x(),hL=Ve({ttl:le([oe(),Kl()]).optional(),pollInterval:oe().optional()}),I$=z({ttl:oe().optional()}),R$=z({taskId:x()}),Xl=Ve({progressToken:Mg.optional(),[Tr]:R$.optional()}),lt=z({_meta:Xl.optional()}),Go=lt.extend({task:I$.optional()}),Lg=e=>Go.safeParse(e).success,Ae=z({method:x(),params:lt.loose().optional()}),yt=z({_meta:Xl.optional()}),vt=z({method:x(),params:yt.loose().optional()}),Oe=Ve({_meta:Xl.optional()}),Is=le([x(),oe().int()]),Zg=z({jsonrpc:A(Cs),id:Is,...Ae.shape}).strict(),ep=e=>Zg.safeParse(e).success,qg=z({jsonrpc:A(Cs),...vt.shape}).strict(),Fg=e=>qg.safeParse(e).success,tp=z({jsonrpc:A(Cs),id:Is,result:Oe}).strict(),Ko=e=>tp.safeParse(e).success;var D;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(D||(D={}));var rp=z({jsonrpc:A(Cs),id:Is.optional(),error:z({code:oe().int(),message:x(),data:ge().optional()})}).strict();var Ug=e=>rp.safeParse(e).success;var Bg=le([Zg,qg,tp,rp]),mL=le([tp,rp]),Rs=Oe.strict(),A$=yt.extend({requestId:Is.optional(),reason:x().optional()}),As=vt.extend({method:A("notifications/cancelled"),params:A$}),O$=z({src:x(),mimeType:x().optional(),sizes:Q(x()).optional(),theme:et(["light","dark"]).optional()}),Wo=z({icons:Q(O$).optional()}),Hn=z({name:x(),title:x().optional()}),Vg=Hn.extend({...Hn.shape,...Wo.shape,version:x(),websiteUrl:x().optional(),description:x().optional()}),N$=Es(z({applyDefaults:ze().optional()}),_e(x(),ge())),j$=Jl(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Es(z({form:N$.optional(),url:Re.optional()}),_e(x(),ge()).optional())),M$=Ve({list:Re.optional(),cancel:Re.optional(),requests:Ve({sampling:Ve({createMessage:Re.optional()}).optional(),elicitation:Ve({create:Re.optional()}).optional()}).optional()}),D$=Ve({list:Re.optional(),cancel:Re.optional(),requests:Ve({tools:Ve({call:Re.optional()}).optional()}).optional()}),L$=z({experimental:_e(x(),Re).optional(),sampling:z({context:Re.optional(),tools:Re.optional()}).optional(),elicitation:j$.optional(),roots:z({listChanged:ze().optional()}).optional(),tasks:M$.optional()}),Z$=lt.extend({protocolVersion:x(),capabilities:L$,clientInfo:Vg}),np=Ae.extend({method:A("initialize"),params:Z$});var q$=z({experimental:_e(x(),Re).optional(),logging:Re.optional(),completions:Re.optional(),prompts:z({listChanged:ze().optional()}).optional(),resources:z({subscribe:ze().optional(),listChanged:ze().optional()}).optional(),tools:z({listChanged:ze().optional()}).optional(),tasks:D$.optional()}),F$=Oe.extend({protocolVersion:x(),capabilities:q$,serverInfo:Vg,instructions:x().optional()}),op=vt.extend({method:A("notifications/initialized"),params:yt.optional()});var Os=Ae.extend({method:A("ping"),params:lt.optional()}),U$=z({progress:oe(),total:xe(oe()),message:xe(x())}),B$=z({...yt.shape,...U$.shape,progressToken:Mg}),Ns=vt.extend({method:A("notifications/progress"),params:B$}),V$=lt.extend({cursor:Dg.optional()}),Jo=Ae.extend({params:V$.optional()}),Yo=Oe.extend({nextCursor:Dg.optional()}),H$=et(["working","input_required","completed","failed","cancelled"]),Qo=z({taskId:x(),status:H$,ttl:le([oe(),Kl()]),createdAt:x(),lastUpdatedAt:x(),pollInterval:xe(oe()),statusMessage:xe(x())}),Gn=Oe.extend({task:Qo}),G$=yt.merge(Qo),Xo=vt.extend({method:A("notifications/tasks/status"),params:G$}),js=Ae.extend({method:A("tasks/get"),params:lt.extend({taskId:x()})}),Ms=Oe.merge(Qo),Ds=Ae.extend({method:A("tasks/result"),params:lt.extend({taskId:x()})}),gL=Oe.loose(),Ls=Jo.extend({method:A("tasks/list")}),Zs=Yo.extend({tasks:Q(Qo)}),qs=Ae.extend({method:A("tasks/cancel"),params:lt.extend({taskId:x()})}),Hg=Oe.merge(Qo),Gg=z({uri:x(),mimeType:xe(x()),_meta:_e(x(),ge()).optional()}),Kg=Gg.extend({text:x()}),ip=x().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Wg=Gg.extend({blob:ip}),ei=et(["user","assistant"]),Kn=z({audience:Q(ei).optional(),priority:oe().min(0).max(1).optional(),lastModified:Vo.datetime({offset:!0}).optional()}),Jg=z({...Hn.shape,...Wo.shape,uri:x(),description:xe(x()),mimeType:xe(x()),annotations:Kn.optional(),_meta:xe(Ve({}))}),K$=z({...Hn.shape,...Wo.shape,uriTemplate:x(),description:xe(x()),mimeType:xe(x()),annotations:Kn.optional(),_meta:xe(Ve({}))}),Fs=Jo.extend({method:A("resources/list")}),W$=Yo.extend({resources:Q(Jg)}),Us=Jo.extend({method:A("resources/templates/list")}),J$=Yo.extend({resourceTemplates:Q(K$)}),sp=lt.extend({uri:x()}),Y$=sp,Bs=Ae.extend({method:A("resources/read"),params:Y$}),Q$=Oe.extend({contents:Q(le([Kg,Wg]))}),X$=vt.extend({method:A("notifications/resources/list_changed"),params:yt.optional()}),eP=sp,tP=Ae.extend({method:A("resources/subscribe"),params:eP}),rP=sp,nP=Ae.extend({method:A("resources/unsubscribe"),params:rP}),oP=yt.extend({uri:x()}),iP=vt.extend({method:A("notifications/resources/updated"),params:oP}),sP=z({name:x(),description:xe(x()),required:xe(ze())}),aP=z({...Hn.shape,...Wo.shape,description:xe(x()),arguments:xe(Q(sP)),_meta:xe(Ve({}))}),Vs=Jo.extend({method:A("prompts/list")}),cP=Yo.extend({prompts:Q(aP)}),uP=lt.extend({name:x(),arguments:_e(x(),x()).optional()}),Hs=Ae.extend({method:A("prompts/get"),params:uP}),ap=z({type:A("text"),text:x(),annotations:Kn.optional(),_meta:_e(x(),ge()).optional()}),cp=z({type:A("image"),data:ip,mimeType:x(),annotations:Kn.optional(),_meta:_e(x(),ge()).optional()}),up=z({type:A("audio"),data:ip,mimeType:x(),annotations:Kn.optional(),_meta:_e(x(),ge()).optional()}),lP=z({type:A("tool_use"),name:x(),id:x(),input:_e(x(),ge()),_meta:_e(x(),ge()).optional()}),pP=z({type:A("resource"),resource:le([Kg,Wg]),annotations:Kn.optional(),_meta:_e(x(),ge()).optional()}),dP=Jg.extend({type:A("resource_link")}),lp=le([ap,cp,up,dP,pP]),fP=z({role:ei,content:lp}),hP=Oe.extend({description:x().optional(),messages:Q(fP)}),mP=vt.extend({method:A("notifications/prompts/list_changed"),params:yt.optional()}),gP=z({title:x().optional(),readOnlyHint:ze().optional(),destructiveHint:ze().optional(),idempotentHint:ze().optional(),openWorldHint:ze().optional()}),_P=z({taskSupport:et(["required","optional","forbidden"]).optional()}),Yg=z({...Hn.shape,...Wo.shape,description:x().optional(),inputSchema:z({type:A("object"),properties:_e(x(),Re).optional(),required:Q(x()).optional()}).catchall(ge()),outputSchema:z({type:A("object"),properties:_e(x(),Re).optional(),required:Q(x()).optional()}).catchall(ge()).optional(),annotations:gP.optional(),execution:_P.optional(),_meta:_e(x(),ge()).optional()}),Gs=Jo.extend({method:A("tools/list")}),yP=Yo.extend({tools:Q(Yg)}),Ks=Oe.extend({content:Q(lp).default([]),structuredContent:_e(x(),ge()).optional(),isError:ze().optional()}),_L=Ks.or(Oe.extend({toolResult:ge()})),vP=Go.extend({name:x(),arguments:_e(x(),ge()).optional()}),Wn=Ae.extend({method:A("tools/call"),params:vP}),xP=vt.extend({method:A("notifications/tools/list_changed"),params:yt.optional()}),yL=z({autoRefresh:ze().default(!0),debounceMs:oe().int().nonnegative().default(300)}),ti=et(["debug","info","notice","warning","error","critical","alert","emergency"]),bP=lt.extend({level:ti}),pp=Ae.extend({method:A("logging/setLevel"),params:bP}),kP=yt.extend({level:ti,logger:x().optional(),data:ge()}),wP=vt.extend({method:A("notifications/message"),params:kP}),SP=z({name:x().optional()}),TP=z({hints:Q(SP).optional(),costPriority:oe().min(0).max(1).optional(),speedPriority:oe().min(0).max(1).optional(),intelligencePriority:oe().min(0).max(1).optional()}),$P=z({mode:et(["auto","required","none"]).optional()}),PP=z({type:A("tool_result"),toolUseId:x().describe("The unique identifier for the corresponding tool call."),content:Q(lp).default([]),structuredContent:z({}).loose().optional(),isError:ze().optional(),_meta:_e(x(),ge()).optional()}),EP=Wl("type",[ap,cp,up]),zs=Wl("type",[ap,cp,up,lP,PP]),zP=z({role:ei,content:le([zs,Q(zs)]),_meta:_e(x(),ge()).optional()}),CP=Go.extend({messages:Q(zP),modelPreferences:TP.optional(),systemPrompt:x().optional(),includeContext:et(["none","thisServer","allServers"]).optional(),temperature:oe().optional(),maxTokens:oe().int(),stopSequences:Q(x()).optional(),metadata:Re.optional(),tools:Q(Yg).optional(),toolChoice:$P.optional()}),IP=Ae.extend({method:A("sampling/createMessage"),params:CP}),dp=Oe.extend({model:x(),stopReason:xe(et(["endTurn","stopSequence","maxTokens"]).or(x())),role:ei,content:EP}),fp=Oe.extend({model:x(),stopReason:xe(et(["endTurn","stopSequence","maxTokens","toolUse"]).or(x())),role:ei,content:le([zs,Q(zs)])}),RP=z({type:A("boolean"),title:x().optional(),description:x().optional(),default:ze().optional()}),AP=z({type:A("string"),title:x().optional(),description:x().optional(),minLength:oe().optional(),maxLength:oe().optional(),format:et(["email","uri","date","date-time"]).optional(),default:x().optional()}),OP=z({type:et(["number","integer"]),title:x().optional(),description:x().optional(),minimum:oe().optional(),maximum:oe().optional(),default:oe().optional()}),NP=z({type:A("string"),title:x().optional(),description:x().optional(),enum:Q(x()),default:x().optional()}),jP=z({type:A("string"),title:x().optional(),description:x().optional(),oneOf:Q(z({const:x(),title:x()})),default:x().optional()}),MP=z({type:A("string"),title:x().optional(),description:x().optional(),enum:Q(x()),enumNames:Q(x()).optional(),default:x().optional()}),DP=le([NP,jP]),LP=z({type:A("array"),title:x().optional(),description:x().optional(),minItems:oe().optional(),maxItems:oe().optional(),items:z({type:A("string"),enum:Q(x())}),default:Q(x()).optional()}),ZP=z({type:A("array"),title:x().optional(),description:x().optional(),minItems:oe().optional(),maxItems:oe().optional(),items:z({anyOf:Q(z({const:x(),title:x()}))}),default:Q(x()).optional()}),qP=le([LP,ZP]),FP=le([MP,DP,qP]),UP=le([FP,RP,AP,OP]),BP=Go.extend({mode:A("form").optional(),message:x(),requestedSchema:z({type:A("object"),properties:_e(x(),UP),required:Q(x()).optional()})}),VP=Go.extend({mode:A("url"),message:x(),elicitationId:x(),url:x().url()}),HP=le([BP,VP]),GP=Ae.extend({method:A("elicitation/create"),params:HP}),KP=yt.extend({elicitationId:x()}),WP=vt.extend({method:A("notifications/elicitation/complete"),params:KP}),Ws=Oe.extend({action:et(["accept","decline","cancel"]),content:Jl(e=>e===null?void 0:e,_e(x(),le([x(),oe(),ze(),Q(x())])).optional())}),JP=z({type:A("ref/resource"),uri:x()});var YP=z({type:A("ref/prompt"),name:x()}),QP=lt.extend({ref:le([YP,JP]),argument:z({name:x(),value:x()}),context:z({arguments:_e(x(),x()).optional()}).optional()}),Js=Ae.extend({method:A("completion/complete"),params:QP});function Qg(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function Xg(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var XP=Oe.extend({completion:Ve({values:Q(x()).max(100),total:xe(oe().int()),hasMore:xe(ze())})}),eE=z({uri:x().startsWith("file://"),name:x().optional(),_meta:_e(x(),ge()).optional()}),tE=Ae.extend({method:A("roots/list"),params:lt.optional()}),hp=Oe.extend({roots:Q(eE)}),rE=vt.extend({method:A("notifications/roots/list_changed"),params:yt.optional()}),vL=le([Os,np,Js,pp,Hs,Vs,Fs,Us,Bs,tP,nP,Wn,Gs,js,Ds,Ls,qs]),xL=le([As,Ns,op,rE,Xo]),bL=le([Rs,dp,fp,Ws,hp,Ms,Zs,Gn]),kL=le([Os,IP,GP,tE,js,Ds,Ls,qs]),wL=le([As,Ns,wP,iP,X$,xP,mP,Xo,WP]),SL=le([Rs,F$,XP,hP,cP,W$,J$,Q$,Ks,yP,Ms,Zs,Gn]),R=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===D.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Yl(o.elicitations,r)}return new e(t,r,n)}},Yl=class extends R{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(D.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function $r(e){return e==="completed"||e==="failed"||e==="cancelled"}var t_=Symbol("Let zodToJsonSchema decide on which parser to use");var e_={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},r_=e=>typeof e=="string"?{...e_,name:e}:{...e_,...e};var n_=e=>{let t=r_(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function mp(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function X(e,t,r,n,o){e[t]=r,mp(e,t,n,o)}var Ys=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function ye(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Ys(t,e.currentPath):t.join("/")}}function o_(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==T.ZodAny&&(r.items=q(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&X(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&X(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(X(r,"minItems",e.exactLength.value,e.exactLength.message,t),X(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function i_(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?X(r,"minimum",n.value,n.message,t):X(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),X(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?X(r,"maximum",n.value,n.message,t):X(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),X(r,"maximum",n.value,n.message,t));break;case"multipleOf":X(r,"multipleOf",n.value,n.message,t);break}return r}function s_(){return{type:"boolean"}}function Qs(e,t){return q(e.type._def,t)}var a_=(e,t)=>q(e.innerType._def,t);function gp(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,i)=>gp(e,t,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return nE(e,t)}}var nE=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":X(r,"minimum",n.value,n.message,t);break;case"max":X(r,"maximum",n.value,n.message,t);break}return r};function c_(e,t){return{...q(e.innerType._def,t),default:e.defaultValue()}}function u_(e,t){return t.effectStrategy==="input"?q(e.schema._def,t):ye(t)}function l_(e){return{type:"string",enum:Array.from(e.values)}}var oE=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function p_(e,t){let r=[q(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),q(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(i=>!!i),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(i=>{if(oE(i))o.push(...i.allOf),i.unevaluatedProperties===void 0&&(n=void 0);else{let s=i;if("additionalProperties"in i&&i.additionalProperties===!1){let{additionalProperties:a,...c}=i;s=c}else n=void 0;o.push(s)}}),o.length?{allOf:o,...n}:void 0}function d_(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var _p,Ct={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(_p===void 0&&(_p=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),_p),uuid:/^[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}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([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])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Xs(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":X(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":X(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":It(r,"email",n.message,t);break;case"format:idn-email":It(r,"idn-email",n.message,t);break;case"pattern:zod":He(r,Ct.email,n.message,t);break}break;case"url":It(r,"uri",n.message,t);break;case"uuid":It(r,"uuid",n.message,t);break;case"regex":He(r,n.regex,n.message,t);break;case"cuid":He(r,Ct.cuid,n.message,t);break;case"cuid2":He(r,Ct.cuid2,n.message,t);break;case"startsWith":He(r,RegExp(`^${yp(n.value,t)}`),n.message,t);break;case"endsWith":He(r,RegExp(`${yp(n.value,t)}$`),n.message,t);break;case"datetime":It(r,"date-time",n.message,t);break;case"date":It(r,"date",n.message,t);break;case"time":It(r,"time",n.message,t);break;case"duration":It(r,"duration",n.message,t);break;case"length":X(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),X(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{He(r,RegExp(yp(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&It(r,"ipv4",n.message,t),n.version!=="v4"&&It(r,"ipv6",n.message,t);break}case"base64url":He(r,Ct.base64url,n.message,t);break;case"jwt":He(r,Ct.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&He(r,Ct.ipv4Cidr,n.message,t),n.version!=="v4"&&He(r,Ct.ipv6Cidr,n.message,t);break}case"emoji":He(r,Ct.emoji(),n.message,t);break;case"ulid":{He(r,Ct.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{It(r,"binary",n.message,t);break}case"contentEncoding:base64":{X(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{He(r,Ct.base64,n.message,t);break}}break}case"nanoid":He(r,Ct.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function yp(e,t){return t.patternStrategy==="escape"?sE(e):e}var iE=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function sE(e){let t="";for(let r=0;r<e.length;r++)iE.has(e[r])||(t+="\\"),t+=e[r];return t}function It(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):X(e,"format",t,r,n)}function He(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:f_(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):X(e,"pattern",f_(t,n),r,n)}function f_(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",i=!1,s=!1,a=!1;for(let c=0;c<n.length;c++){if(i){o+=n[c],i=!1;continue}if(r.i){if(s){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
|
|
59
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let p of this.seen.entries()){let l=p[1];if(t===p[0]){s(p);continue}if(n.external){let h=n.external.registry.get(p[0])?.id;if(t!==p[0]&&h){s(p);continue}}if(this.metadataRegistry.get(p[0])?.id){s(p);continue}if(l.cycle){s(p);continue}if(l.count>1&&n.reused==="ref"){s(p);continue}}let a=(p,l)=>{let d=this.seen.get(p),h=d.def??d.schema,f={...h};if(d.ref===null)return;let g=d.ref;if(d.ref=null,g){a(g,l);let _=this.seen.get(g).schema;_.$ref&&l.target==="draft-7"?(h.allOf=h.allOf??[],h.allOf.push(_)):(Object.assign(h,_),Object.assign(h,f))}d.isParent||this.override({zodSchema:p,jsonSchema:h,path:d.path??[]})};for(let p of[...this.seen.entries()].reverse())a(p[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let p=n.external.registry.get(t)?.id;if(!p)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(p)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let p of this.seen.entries()){let l=p[1];l.def&&l.defId&&(u[l.defId]=l.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Zl(e,t){if(e instanceof Lo){let n=new xs(t),o={};for(let a of e._idmap.entries()){let[c,u]=a;n.process(u)}let i={},s={registry:e,uri:t?.uri,defs:o};for(let a of e._idmap.entries()){let[c,u]=a;i[c]=n.emit(u,{...t,external:s})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[a]:o}}return{schemas:i}}let r=new xs(t);return r.process(e),r.emit(e,t)}function Pe(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let o=e._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return Pe(o.element,r);case"object":{for(let i in o.shape)if(Pe(o.shape[i],r))return!0;return!1}case"union":{for(let i of o.options)if(Pe(i,r))return!0;return!1}case"intersection":return Pe(o.left,r)||Pe(o.right,r);case"tuple":{for(let i of o.items)if(Pe(i,r))return!0;return!!(o.rest&&Pe(o.rest,r))}case"record":return Pe(o.keyType,r)||Pe(o.valueType,r);case"map":return Pe(o.keyType,r)||Pe(o.valueType,r);case"set":return Pe(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Pe(o.innerType,r);case"lazy":return Pe(o.getter(),r);case"default":return Pe(o.innerType,r);case"prefault":return Pe(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Pe(o.in,r)||Pe(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var s$=b("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");ie.init(e,t),e.def=t,e.parse=(r,n)=>ou(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>sn(e,r,n),e.parseAsync=async(r,n)=>su(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>an(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>ct(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e))});var a$=b("ZodMiniObject",(e,t)=>{ds.init(e,t),s$.init(e,t),Y.defineLazy(e,"shape",()=>t.shape)});function ql(e,t){let r={type:"object",get shape(){return Y.assignProp(this,"shape",{...e}),this.shape},...Y.normalizeParams(t)};return new a$(r)}function _t(e){return!!e._zod}function ln(e){let t=Object.values(e);if(t.length===0)return ql({});let r=t.every(_t),n=t.every(o=>!_t(o));if(r)return ql(e);if(n)return Bc(e);throw new Error("Mixed Zod versions detected in object shape.")}function br(e,t){return _t(e)?sn(e,t):e.safeParse(t)}async function bs(e,t){return _t(e)?await an(e,t):await e.safeParseAsync(t)}function kr(e){if(!e)return;let t;if(_t(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Fn(e){if(e){if(typeof e=="object"){let t=e,r=e;if(!t._def&&!r._zod){let n=Object.values(e);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return ln(e)}}if(_t(e)){let r=e._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function ks(e){if(e&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;if("issues"in e&&Array.isArray(e.issues)&&e.issues.length>0){let t=e.issues[0];if(t&&typeof t=="object"&&"message"in t)return String(t.message)}try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function mg(e){return e.description}function gg(e){if(_t(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function Ss(e){if(_t(e)){let i=e._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=e._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=e.value;if(n!==void 0)return n}var Fo={};Lc(Fo,{ZodISODate:()=>yg,ZodISODateTime:()=>_g,ZodISODuration:()=>xg,ZodISOTime:()=>vg,date:()=>Ul,datetime:()=>Fl,duration:()=>Vl,time:()=>Bl});var _g=b("ZodISODateTime",(e,t)=>{rg.init(e,t),me.init(e,t)});function Fl(e){return ug(_g,e)}var yg=b("ZodISODate",(e,t)=>{ng.init(e,t),me.init(e,t)});function Ul(e){return lg(yg,e)}var vg=b("ZodISOTime",(e,t)=>{og.init(e,t),me.init(e,t)});function Bl(e){return pg(vg,e)}var xg=b("ZodISODuration",(e,t)=>{ig.init(e,t),me.init(e,t)});function Vl(e){return dg(xg,e)}var bg=(e,t)=>{as.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>ru(e,r)},flatten:{value:r=>tu(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},U9=b("ZodError",bg),Uo=b("ZodError",bg,{Parent:Error});var kg=nu(Uo),Sg=iu(Uo),wg=au(Uo),Tg=cu(Uo);var be=b("ZodType",(e,t)=>(ie.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>ct(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>kg(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>wg(e,r,n),e.parseAsync=async(r,n)=>Sg(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Tg(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(oP(r,n)),e.superRefine=r=>e.check(iP(r)),e.overwrite=r=>e.check(cn(r)),e.optional=()=>xe(e),e.nullable=()=>Eg(e),e.nullish=()=>xe(Eg(e)),e.nonoptional=r=>Y$(e,r),e.array=()=>Q(e),e.or=r=>le([e,r]),e.and=r=>Ts(e,r),e.transform=r=>Gl(e,Ag(r)),e.default=r=>K$(e,r),e.prefault=r=>J$(e,r),e.catch=r=>X$(e,r),e.pipe=r=>Gl(e,r),e.readonly=()=>rP(e),e.describe=r=>{let n=e.clone();return xr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return xr.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return xr.get(e);let n=e.clone();return xr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),zg=b("_ZodString",(e,t)=>{Mo.init(e,t),be.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(El(...n)),e.includes=(...n)=>e.check(Il(...n)),e.startsWith=(...n)=>e.check(Rl(...n)),e.endsWith=(...n)=>e.check(Al(...n)),e.min=(...n)=>e.check(qn(...n)),e.max=(...n)=>e.check(ys(...n)),e.length=(...n)=>e.check(vs(...n)),e.nonempty=(...n)=>e.check(qn(1,...n)),e.lowercase=n=>e.check(zl(n)),e.uppercase=n=>e.check(Cl(n)),e.trim=()=>e.check(Nl()),e.normalize=(...n)=>e.check(Ol(...n)),e.toLowerCase=()=>e.check(Dl()),e.toUpperCase=()=>e.check(jl())}),g$=b("ZodString",(e,t)=>{Mo.init(e,t),zg.init(e,t),e.email=r=>e.check(tl(_$,r)),e.url=r=>e.check(sl(y$,r)),e.jwt=r=>e.check(bl(A$,r)),e.emoji=r=>e.check(al(v$,r)),e.guid=r=>e.check(hs($g,r)),e.uuid=r=>e.check(rl(ws,r)),e.uuidv4=r=>e.check(nl(ws,r)),e.uuidv6=r=>e.check(ol(ws,r)),e.uuidv7=r=>e.check(il(ws,r)),e.nanoid=r=>e.check(cl(x$,r)),e.guid=r=>e.check(hs($g,r)),e.cuid=r=>e.check(ul(b$,r)),e.cuid2=r=>e.check(ll(k$,r)),e.ulid=r=>e.check(pl(S$,r)),e.base64=r=>e.check(yl(C$,r)),e.base64url=r=>e.check(vl(I$,r)),e.xid=r=>e.check(dl(w$,r)),e.ksuid=r=>e.check(fl(T$,r)),e.ipv4=r=>e.check(hl($$,r)),e.ipv6=r=>e.check(ml(P$,r)),e.cidrv4=r=>e.check(gl(E$,r)),e.cidrv6=r=>e.check(_l(z$,r)),e.e164=r=>e.check(xl(R$,r)),e.datetime=r=>e.check(Fl(r)),e.date=r=>e.check(Ul(r)),e.time=r=>e.check(Bl(r)),e.duration=r=>e.check(Vl(r))});function x(e){return el(g$,e)}var me=b("ZodStringFormat",(e,t)=>{ue.init(e,t),zg.init(e,t)}),_$=b("ZodEmail",(e,t)=>{gu.init(e,t),me.init(e,t)});var $g=b("ZodGUID",(e,t)=>{hu.init(e,t),me.init(e,t)});var ws=b("ZodUUID",(e,t)=>{mu.init(e,t),me.init(e,t)});var y$=b("ZodURL",(e,t)=>{_u.init(e,t),me.init(e,t)});var v$=b("ZodEmoji",(e,t)=>{yu.init(e,t),me.init(e,t)});var x$=b("ZodNanoID",(e,t)=>{vu.init(e,t),me.init(e,t)});var b$=b("ZodCUID",(e,t)=>{xu.init(e,t),me.init(e,t)});var k$=b("ZodCUID2",(e,t)=>{bu.init(e,t),me.init(e,t)});var S$=b("ZodULID",(e,t)=>{ku.init(e,t),me.init(e,t)});var w$=b("ZodXID",(e,t)=>{Su.init(e,t),me.init(e,t)});var T$=b("ZodKSUID",(e,t)=>{wu.init(e,t),me.init(e,t)});var $$=b("ZodIPv4",(e,t)=>{Tu.init(e,t),me.init(e,t)});var P$=b("ZodIPv6",(e,t)=>{$u.init(e,t),me.init(e,t)});var E$=b("ZodCIDRv4",(e,t)=>{Pu.init(e,t),me.init(e,t)});var z$=b("ZodCIDRv6",(e,t)=>{Eu.init(e,t),me.init(e,t)});var C$=b("ZodBase64",(e,t)=>{zu.init(e,t),me.init(e,t)});var I$=b("ZodBase64URL",(e,t)=>{Cu.init(e,t),me.init(e,t)});var R$=b("ZodE164",(e,t)=>{Iu.init(e,t),me.init(e,t)});var A$=b("ZodJWT",(e,t)=>{Ru.init(e,t),me.init(e,t)});var Cg=b("ZodNumber",(e,t)=>{ps.init(e,t),be.init(e,t),e.gt=(n,o)=>e.check(gs(n,o)),e.gte=(n,o)=>e.check(qo(n,o)),e.min=(n,o)=>e.check(qo(n,o)),e.lt=(n,o)=>e.check(ms(n,o)),e.lte=(n,o)=>e.check(Zo(n,o)),e.max=(n,o)=>e.check(Zo(n,o)),e.int=n=>e.check(Pg(n)),e.safe=n=>e.check(Pg(n)),e.positive=n=>e.check(gs(0,n)),e.nonnegative=n=>e.check(qo(0,n)),e.negative=n=>e.check(ms(0,n)),e.nonpositive=n=>e.check(Zo(0,n)),e.multipleOf=(n,o)=>e.check(_s(n,o)),e.step=(n,o)=>e.check(_s(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function oe(e){return kl(Cg,e)}var O$=b("ZodNumberFormat",(e,t)=>{Au.init(e,t),Cg.init(e,t)});function Pg(e){return Sl(O$,e)}var N$=b("ZodBoolean",(e,t)=>{Ou.init(e,t),be.init(e,t)});function ze(e){return wl(N$,e)}var D$=b("ZodNull",(e,t)=>{Nu.init(e,t),be.init(e,t)});function Kl(e){return Tl(D$,e)}var j$=b("ZodUnknown",(e,t)=>{Du.init(e,t),be.init(e,t)});function ge(){return $l(j$)}var M$=b("ZodNever",(e,t)=>{ju.init(e,t),be.init(e,t)});function L$(e){return Pl(M$,e)}var Z$=b("ZodArray",(e,t)=>{Mu.init(e,t),be.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(qn(r,n)),e.nonempty=r=>e.check(qn(1,r)),e.max=(r,n)=>e.check(ys(r,n)),e.length=(r,n)=>e.check(vs(r,n)),e.unwrap=()=>e.element});function Q(e,t){return fg(Z$,e,t)}var Ig=b("ZodObject",(e,t)=>{ds.init(e,t),be.init(e,t),Y.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>et(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ge()}),e.loose=()=>e.clone({...e._zod.def,catchall:ge()}),e.strict=()=>e.clone({...e._zod.def,catchall:L$()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Y.extend(e,r),e.merge=r=>Y.merge(e,r),e.pick=r=>Y.pick(e,r),e.omit=r=>Y.omit(e,r),e.partial=(...r)=>Y.partial(Og,e,r[0]),e.required=(...r)=>Y.required(Ng,e,r[0])});function z(e,t){let r={type:"object",get shape(){return Y.assignProp(this,"shape",{...e}),this.shape},...Y.normalizeParams(t)};return new Ig(r)}function Ve(e,t){return new Ig({type:"object",get shape(){return Y.assignProp(this,"shape",{...e}),this.shape},catchall:ge(),...Y.normalizeParams(t)})}var Rg=b("ZodUnion",(e,t)=>{fs.init(e,t),be.init(e,t),e.options=t.options});function le(e,t){return new Rg({type:"union",options:e,...Y.normalizeParams(t)})}var q$=b("ZodDiscriminatedUnion",(e,t)=>{Rg.init(e,t),Lu.init(e,t)});function Wl(e,t,r){return new q$({type:"union",options:t,discriminator:e,...Y.normalizeParams(r)})}var F$=b("ZodIntersection",(e,t)=>{Zu.init(e,t),be.init(e,t)});function Ts(e,t){return new F$({type:"intersection",left:e,right:t})}var U$=b("ZodRecord",(e,t)=>{qu.init(e,t),be.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function _e(e,t,r){return new U$({type:"record",keyType:e,valueType:t,...Y.normalizeParams(r)})}var Hl=b("ZodEnum",(e,t)=>{Fu.init(e,t),be.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let i={};for(let s of n)if(r.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new Hl({...t,checks:[],...Y.normalizeParams(o),entries:i})},e.exclude=(n,o)=>{let i={...t.entries};for(let s of n)if(r.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new Hl({...t,checks:[],...Y.normalizeParams(o),entries:i})}});function et(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Hl({type:"enum",entries:r,...Y.normalizeParams(t)})}var B$=b("ZodLiteral",(e,t)=>{Uu.init(e,t),be.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function O(e,t){return new B$({type:"literal",values:Array.isArray(e)?e:[e],...Y.normalizeParams(t)})}var V$=b("ZodTransform",(e,t)=>{Bu.init(e,t),be.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=i=>{if(typeof i=="string")r.issues.push(Y.issue(i,r.value,t));else{let s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=e),s.continue??(s.continue=!0),r.issues.push(Y.issue(s))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function Ag(e){return new V$({type:"transform",transform:e})}var Og=b("ZodOptional",(e,t)=>{Vu.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType});function xe(e){return new Og({type:"optional",innerType:e})}var H$=b("ZodNullable",(e,t)=>{Hu.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Eg(e){return new H$({type:"nullable",innerType:e})}var G$=b("ZodDefault",(e,t)=>{Gu.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function K$(e,t){return new G$({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var W$=b("ZodPrefault",(e,t)=>{Ku.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType});function J$(e,t){return new W$({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Ng=b("ZodNonOptional",(e,t)=>{Wu.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Y$(e,t){return new Ng({type:"nonoptional",innerType:e,...Y.normalizeParams(t)})}var Q$=b("ZodCatch",(e,t)=>{Ju.init(e,t),be.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function X$(e,t){return new Q$({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var eP=b("ZodPipe",(e,t)=>{Yu.init(e,t),be.init(e,t),e.in=t.in,e.out=t.out});function Gl(e,t){return new eP({type:"pipe",in:e,out:t})}var tP=b("ZodReadonly",(e,t)=>{Qu.init(e,t),be.init(e,t)});function rP(e){return new tP({type:"readonly",innerType:e})}var Dg=b("ZodCustom",(e,t)=>{Xu.init(e,t),be.init(e,t)});function nP(e){let t=new Ie({check:"custom"});return t._zod.check=e,t}function jg(e,t){return Ml(Dg,e??(()=>!0),t)}function oP(e,t={}){return Ll(Dg,e,t)}function iP(e){let t=nP(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Y.issue(n,r.value,t._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=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(Y.issue(o))}},e(r.value,r)));return t}function Jl(e,t){return Gl(Ag(e),t)}at(ag());var Ql="2025-11-25";var Mg=[Ql,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Sr="io.modelcontextprotocol/related-task",Ps="2.0",Re=jg(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Lg=le([x(),oe().int()]),Zg=x(),nZ=Ve({ttl:le([oe(),Kl()]).optional(),pollInterval:oe().optional()}),sP=z({ttl:oe().optional()}),aP=z({taskId:x()}),Xl=Ve({progressToken:Lg.optional(),[Sr]:aP.optional()}),ut=z({_meta:Xl.optional()}),Bo=ut.extend({task:sP.optional()}),qg=e=>Bo.safeParse(e).success,Ae=z({method:x(),params:ut.loose().optional()}),yt=z({_meta:Xl.optional()}),vt=z({method:x(),params:yt.loose().optional()}),Oe=Ve({_meta:Xl.optional()}),Es=le([x(),oe().int()]),Fg=z({jsonrpc:O(Ps),id:Es,...Ae.shape}).strict(),ep=e=>Fg.safeParse(e).success,Ug=z({jsonrpc:O(Ps),...vt.shape}).strict(),Bg=e=>Ug.safeParse(e).success,tp=z({jsonrpc:O(Ps),id:Es,result:Oe}).strict(),Vo=e=>tp.safeParse(e).success;var M;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(M||(M={}));var rp=z({jsonrpc:O(Ps),id:Es.optional(),error:z({code:oe().int(),message:x(),data:ge().optional()})}).strict();var Vg=e=>rp.safeParse(e).success;var Hg=le([Fg,Ug,tp,rp]),oZ=le([tp,rp]),zs=Oe.strict(),cP=yt.extend({requestId:Es.optional(),reason:x().optional()}),Cs=vt.extend({method:O("notifications/cancelled"),params:cP}),uP=z({src:x(),mimeType:x().optional(),sizes:Q(x()).optional(),theme:et(["light","dark"]).optional()}),Ho=z({icons:Q(uP).optional()}),Un=z({name:x(),title:x().optional()}),Gg=Un.extend({...Un.shape,...Ho.shape,version:x(),websiteUrl:x().optional(),description:x().optional()}),lP=Ts(z({applyDefaults:ze().optional()}),_e(x(),ge())),pP=Jl(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Ts(z({form:lP.optional(),url:Re.optional()}),_e(x(),ge()).optional())),dP=Ve({list:Re.optional(),cancel:Re.optional(),requests:Ve({sampling:Ve({createMessage:Re.optional()}).optional(),elicitation:Ve({create:Re.optional()}).optional()}).optional()}),fP=Ve({list:Re.optional(),cancel:Re.optional(),requests:Ve({tools:Ve({call:Re.optional()}).optional()}).optional()}),hP=z({experimental:_e(x(),Re).optional(),sampling:z({context:Re.optional(),tools:Re.optional()}).optional(),elicitation:pP.optional(),roots:z({listChanged:ze().optional()}).optional(),tasks:dP.optional()}),mP=ut.extend({protocolVersion:x(),capabilities:hP,clientInfo:Gg}),np=Ae.extend({method:O("initialize"),params:mP});var gP=z({experimental:_e(x(),Re).optional(),logging:Re.optional(),completions:Re.optional(),prompts:z({listChanged:ze().optional()}).optional(),resources:z({subscribe:ze().optional(),listChanged:ze().optional()}).optional(),tools:z({listChanged:ze().optional()}).optional(),tasks:fP.optional()}),_P=Oe.extend({protocolVersion:x(),capabilities:gP,serverInfo:Gg,instructions:x().optional()}),op=vt.extend({method:O("notifications/initialized"),params:yt.optional()});var Is=Ae.extend({method:O("ping"),params:ut.optional()}),yP=z({progress:oe(),total:xe(oe()),message:xe(x())}),vP=z({...yt.shape,...yP.shape,progressToken:Lg}),Rs=vt.extend({method:O("notifications/progress"),params:vP}),xP=ut.extend({cursor:Zg.optional()}),Go=Ae.extend({params:xP.optional()}),Ko=Oe.extend({nextCursor:Zg.optional()}),bP=et(["working","input_required","completed","failed","cancelled"]),Wo=z({taskId:x(),status:bP,ttl:le([oe(),Kl()]),createdAt:x(),lastUpdatedAt:x(),pollInterval:xe(oe()),statusMessage:xe(x())}),Bn=Oe.extend({task:Wo}),kP=yt.merge(Wo),Jo=vt.extend({method:O("notifications/tasks/status"),params:kP}),As=Ae.extend({method:O("tasks/get"),params:ut.extend({taskId:x()})}),Os=Oe.merge(Wo),Ns=Ae.extend({method:O("tasks/result"),params:ut.extend({taskId:x()})}),iZ=Oe.loose(),Ds=Go.extend({method:O("tasks/list")}),js=Ko.extend({tasks:Q(Wo)}),Ms=Ae.extend({method:O("tasks/cancel"),params:ut.extend({taskId:x()})}),Kg=Oe.merge(Wo),Wg=z({uri:x(),mimeType:xe(x()),_meta:_e(x(),ge()).optional()}),Jg=Wg.extend({text:x()}),ip=x().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Yg=Wg.extend({blob:ip}),Yo=et(["user","assistant"]),Vn=z({audience:Q(Yo).optional(),priority:oe().min(0).max(1).optional(),lastModified:Fo.datetime({offset:!0}).optional()}),Qg=z({...Un.shape,...Ho.shape,uri:x(),description:xe(x()),mimeType:xe(x()),annotations:Vn.optional(),_meta:xe(Ve({}))}),SP=z({...Un.shape,...Ho.shape,uriTemplate:x(),description:xe(x()),mimeType:xe(x()),annotations:Vn.optional(),_meta:xe(Ve({}))}),Ls=Go.extend({method:O("resources/list")}),wP=Ko.extend({resources:Q(Qg)}),Zs=Go.extend({method:O("resources/templates/list")}),TP=Ko.extend({resourceTemplates:Q(SP)}),sp=ut.extend({uri:x()}),$P=sp,qs=Ae.extend({method:O("resources/read"),params:$P}),PP=Oe.extend({contents:Q(le([Jg,Yg]))}),EP=vt.extend({method:O("notifications/resources/list_changed"),params:yt.optional()}),zP=sp,CP=Ae.extend({method:O("resources/subscribe"),params:zP}),IP=sp,RP=Ae.extend({method:O("resources/unsubscribe"),params:IP}),AP=yt.extend({uri:x()}),OP=vt.extend({method:O("notifications/resources/updated"),params:AP}),NP=z({name:x(),description:xe(x()),required:xe(ze())}),DP=z({...Un.shape,...Ho.shape,description:xe(x()),arguments:xe(Q(NP)),_meta:xe(Ve({}))}),Fs=Go.extend({method:O("prompts/list")}),jP=Ko.extend({prompts:Q(DP)}),MP=ut.extend({name:x(),arguments:_e(x(),x()).optional()}),Us=Ae.extend({method:O("prompts/get"),params:MP}),ap=z({type:O("text"),text:x(),annotations:Vn.optional(),_meta:_e(x(),ge()).optional()}),cp=z({type:O("image"),data:ip,mimeType:x(),annotations:Vn.optional(),_meta:_e(x(),ge()).optional()}),up=z({type:O("audio"),data:ip,mimeType:x(),annotations:Vn.optional(),_meta:_e(x(),ge()).optional()}),LP=z({type:O("tool_use"),name:x(),id:x(),input:_e(x(),ge()),_meta:_e(x(),ge()).optional()}),ZP=z({type:O("resource"),resource:le([Jg,Yg]),annotations:Vn.optional(),_meta:_e(x(),ge()).optional()}),qP=Qg.extend({type:O("resource_link")}),lp=le([ap,cp,up,qP,ZP]),FP=z({role:Yo,content:lp}),UP=Oe.extend({description:x().optional(),messages:Q(FP)}),BP=vt.extend({method:O("notifications/prompts/list_changed"),params:yt.optional()}),VP=z({title:x().optional(),readOnlyHint:ze().optional(),destructiveHint:ze().optional(),idempotentHint:ze().optional(),openWorldHint:ze().optional()}),HP=z({taskSupport:et(["required","optional","forbidden"]).optional()}),Xg=z({...Un.shape,...Ho.shape,description:x().optional(),inputSchema:z({type:O("object"),properties:_e(x(),Re).optional(),required:Q(x()).optional()}).catchall(ge()),outputSchema:z({type:O("object"),properties:_e(x(),Re).optional(),required:Q(x()).optional()}).catchall(ge()).optional(),annotations:VP.optional(),execution:HP.optional(),_meta:_e(x(),ge()).optional()}),Bs=Go.extend({method:O("tools/list")}),GP=Ko.extend({tools:Q(Xg)}),Vs=Oe.extend({content:Q(lp).default([]),structuredContent:_e(x(),ge()).optional(),isError:ze().optional()}),sZ=Vs.or(Oe.extend({toolResult:ge()})),KP=Bo.extend({name:x(),arguments:_e(x(),ge()).optional()}),Hn=Ae.extend({method:O("tools/call"),params:KP}),WP=vt.extend({method:O("notifications/tools/list_changed"),params:yt.optional()}),aZ=z({autoRefresh:ze().default(!0),debounceMs:oe().int().nonnegative().default(300)}),Qo=et(["debug","info","notice","warning","error","critical","alert","emergency"]),JP=ut.extend({level:Qo}),pp=Ae.extend({method:O("logging/setLevel"),params:JP}),YP=yt.extend({level:Qo,logger:x().optional(),data:ge()}),QP=vt.extend({method:O("notifications/message"),params:YP}),XP=z({name:x().optional()}),eE=z({hints:Q(XP).optional(),costPriority:oe().min(0).max(1).optional(),speedPriority:oe().min(0).max(1).optional(),intelligencePriority:oe().min(0).max(1).optional()}),tE=z({mode:et(["auto","required","none"]).optional()}),rE=z({type:O("tool_result"),toolUseId:x().describe("The unique identifier for the corresponding tool call."),content:Q(lp).default([]),structuredContent:z({}).loose().optional(),isError:ze().optional(),_meta:_e(x(),ge()).optional()}),nE=Wl("type",[ap,cp,up]),$s=Wl("type",[ap,cp,up,LP,rE]),oE=z({role:Yo,content:le([$s,Q($s)]),_meta:_e(x(),ge()).optional()}),iE=Bo.extend({messages:Q(oE),modelPreferences:eE.optional(),systemPrompt:x().optional(),includeContext:et(["none","thisServer","allServers"]).optional(),temperature:oe().optional(),maxTokens:oe().int(),stopSequences:Q(x()).optional(),metadata:Re.optional(),tools:Q(Xg).optional(),toolChoice:tE.optional()}),sE=Ae.extend({method:O("sampling/createMessage"),params:iE}),dp=Oe.extend({model:x(),stopReason:xe(et(["endTurn","stopSequence","maxTokens"]).or(x())),role:Yo,content:nE}),fp=Oe.extend({model:x(),stopReason:xe(et(["endTurn","stopSequence","maxTokens","toolUse"]).or(x())),role:Yo,content:le([$s,Q($s)])}),aE=z({type:O("boolean"),title:x().optional(),description:x().optional(),default:ze().optional()}),cE=z({type:O("string"),title:x().optional(),description:x().optional(),minLength:oe().optional(),maxLength:oe().optional(),format:et(["email","uri","date","date-time"]).optional(),default:x().optional()}),uE=z({type:et(["number","integer"]),title:x().optional(),description:x().optional(),minimum:oe().optional(),maximum:oe().optional(),default:oe().optional()}),lE=z({type:O("string"),title:x().optional(),description:x().optional(),enum:Q(x()),default:x().optional()}),pE=z({type:O("string"),title:x().optional(),description:x().optional(),oneOf:Q(z({const:x(),title:x()})),default:x().optional()}),dE=z({type:O("string"),title:x().optional(),description:x().optional(),enum:Q(x()),enumNames:Q(x()).optional(),default:x().optional()}),fE=le([lE,pE]),hE=z({type:O("array"),title:x().optional(),description:x().optional(),minItems:oe().optional(),maxItems:oe().optional(),items:z({type:O("string"),enum:Q(x())}),default:Q(x()).optional()}),mE=z({type:O("array"),title:x().optional(),description:x().optional(),minItems:oe().optional(),maxItems:oe().optional(),items:z({anyOf:Q(z({const:x(),title:x()}))}),default:Q(x()).optional()}),gE=le([hE,mE]),_E=le([dE,fE,gE]),yE=le([_E,aE,cE,uE]),vE=Bo.extend({mode:O("form").optional(),message:x(),requestedSchema:z({type:O("object"),properties:_e(x(),yE),required:Q(x()).optional()})}),xE=Bo.extend({mode:O("url"),message:x(),elicitationId:x(),url:x().url()}),bE=le([vE,xE]),kE=Ae.extend({method:O("elicitation/create"),params:bE}),SE=yt.extend({elicitationId:x()}),wE=vt.extend({method:O("notifications/elicitation/complete"),params:SE}),Hs=Oe.extend({action:et(["accept","decline","cancel"]),content:Jl(e=>e===null?void 0:e,_e(x(),le([x(),oe(),ze(),Q(x())])).optional())}),TE=z({type:O("ref/resource"),uri:x()});var $E=z({type:O("ref/prompt"),name:x()}),PE=ut.extend({ref:le([$E,TE]),argument:z({name:x(),value:x()}),context:z({arguments:_e(x(),x()).optional()}).optional()}),Gs=Ae.extend({method:O("completion/complete"),params:PE});function e_(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function t_(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var EE=Oe.extend({completion:Ve({values:Q(x()).max(100),total:xe(oe().int()),hasMore:xe(ze())})}),zE=z({uri:x().startsWith("file://"),name:x().optional(),_meta:_e(x(),ge()).optional()}),CE=Ae.extend({method:O("roots/list"),params:ut.optional()}),hp=Oe.extend({roots:Q(zE)}),IE=vt.extend({method:O("notifications/roots/list_changed"),params:yt.optional()}),cZ=le([Is,np,Gs,pp,Us,Fs,Ls,Zs,qs,CP,RP,Hn,Bs,As,Ns,Ds,Ms]),uZ=le([Cs,Rs,op,IE,Jo]),lZ=le([zs,dp,fp,Hs,hp,Os,js,Bn]),pZ=le([Is,sE,kE,CE,As,Ns,Ds,Ms]),dZ=le([Cs,Rs,QP,OP,EP,WP,BP,Jo,wE]),fZ=le([zs,_P,EE,UP,jP,wP,TP,PP,Vs,GP,Os,js,Bn]),R=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===M.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Yl(o.elicitations,r)}return new e(t,r,n)}},Yl=class extends R{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(M.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function wr(e){return e==="completed"||e==="failed"||e==="cancelled"}var n_=Symbol("Let zodToJsonSchema decide on which parser to use");var r_={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},o_=e=>typeof e=="string"?{...r_,name:e}:{...r_,...e};var i_=e=>{let t=o_(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function mp(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function X(e,t,r,n,o){e[t]=r,mp(e,t,n,o)}var Ks=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function ye(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Ks(t,e.currentPath):t.join("/")}}function s_(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==T.ZodAny&&(r.items=q(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&X(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&X(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(X(r,"minItems",e.exactLength.value,e.exactLength.message,t),X(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function a_(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?X(r,"minimum",n.value,n.message,t):X(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),X(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?X(r,"maximum",n.value,n.message,t):X(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),X(r,"maximum",n.value,n.message,t));break;case"multipleOf":X(r,"multipleOf",n.value,n.message,t);break}return r}function c_(){return{type:"boolean"}}function Ws(e,t){return q(e.type._def,t)}var u_=(e,t)=>q(e.innerType._def,t);function gp(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,i)=>gp(e,t,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return RE(e,t)}}var RE=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":X(r,"minimum",n.value,n.message,t);break;case"max":X(r,"maximum",n.value,n.message,t);break}return r};function l_(e,t){return{...q(e.innerType._def,t),default:e.defaultValue()}}function p_(e,t){return t.effectStrategy==="input"?q(e.schema._def,t):ye(t)}function d_(e){return{type:"string",enum:Array.from(e.values)}}var AE=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function f_(e,t){let r=[q(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),q(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(i=>!!i),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(i=>{if(AE(i))o.push(...i.allOf),i.unevaluatedProperties===void 0&&(n=void 0);else{let s=i;if("additionalProperties"in i&&i.additionalProperties===!1){let{additionalProperties:a,...c}=i;s=c}else n=void 0;o.push(s)}}),o.length?{allOf:o,...n}:void 0}function h_(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var _p,zt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(_p===void 0&&(_p=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),_p),uuid:/^[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}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([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])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Js(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":X(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":X(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":Ct(r,"email",n.message,t);break;case"format:idn-email":Ct(r,"idn-email",n.message,t);break;case"pattern:zod":He(r,zt.email,n.message,t);break}break;case"url":Ct(r,"uri",n.message,t);break;case"uuid":Ct(r,"uuid",n.message,t);break;case"regex":He(r,n.regex,n.message,t);break;case"cuid":He(r,zt.cuid,n.message,t);break;case"cuid2":He(r,zt.cuid2,n.message,t);break;case"startsWith":He(r,RegExp(`^${yp(n.value,t)}`),n.message,t);break;case"endsWith":He(r,RegExp(`${yp(n.value,t)}$`),n.message,t);break;case"datetime":Ct(r,"date-time",n.message,t);break;case"date":Ct(r,"date",n.message,t);break;case"time":Ct(r,"time",n.message,t);break;case"duration":Ct(r,"duration",n.message,t);break;case"length":X(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),X(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{He(r,RegExp(yp(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&Ct(r,"ipv4",n.message,t),n.version!=="v4"&&Ct(r,"ipv6",n.message,t);break}case"base64url":He(r,zt.base64url,n.message,t);break;case"jwt":He(r,zt.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&He(r,zt.ipv4Cidr,n.message,t),n.version!=="v4"&&He(r,zt.ipv6Cidr,n.message,t);break}case"emoji":He(r,zt.emoji(),n.message,t);break;case"ulid":{He(r,zt.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{Ct(r,"binary",n.message,t);break}case"contentEncoding:base64":{X(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{He(r,zt.base64,n.message,t);break}}break}case"nanoid":He(r,zt.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function yp(e,t){return t.patternStrategy==="escape"?NE(e):e}var OE=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function NE(e){let t="";for(let r=0;r<e.length;r++)OE.has(e[r])||(t+="\\"),t+=e[r];return t}function Ct(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):X(e,"format",t,r,n)}function He(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:m_(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):X(e,"pattern",m_(t,n),r,n)}function m_(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",i=!1,s=!1,a=!1;for(let c=0;c<n.length;c++){if(i){o+=n[c],i=!1;continue}if(r.i){if(s){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
|
|
60
60
|
]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
|
|
61
61
|
]))`;continue}}if(r.s&&n[c]==="."){o+=s?`${n[c]}\r
|
|
62
62
|
`:`[${n[c]}\r
|
|
63
|
-
]`;continue}o+=n[c],n[c]==="\\"?i=!0:s&&n[c]==="]"?s=!1:!s&&n[c]==="["&&(s=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function ea(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===T.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:q(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??ye(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:q(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===T.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=Xs(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===T.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===T.ZodBranded&&e.keyType._def.type._def.typeName===T.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=Qs(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function h_(e,t){if(t.mapStrategy==="record")return ea(e,t);let r=q(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ye(t),n=q(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ye(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function m_(e){let t=e.values,n=Object.keys(e.values).filter(i=>typeof t[t[i]]!="number").map(i=>t[i]),o=Array.from(new Set(n.map(i=>typeof i)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function g_(e){return e.target==="openAi"?void 0:{not:ye({...e,currentPath:[...e.currentPath,"not"]})}}function __(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var ri={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function v_(e,t){if(t.target==="openApi3")return y_(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in ri&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,i)=>{let s=ri[i._def.typeName];return s&&!o.includes(s)?[...o,s]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,i)=>{let s=typeof i._def.value;switch(s){case"string":case"number":case"boolean":return[...o,s];case"bigint":return[...o,"integer"];case"object":if(i._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(n.length===r.length){let o=n.filter((i,s,a)=>a.indexOf(i)===s);return{type:o.length>1?o:o[0],enum:r.reduce((i,s)=>i.includes(s._def.value)?i:[...i,s._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(i=>!n.includes(i))],[])};return y_(e,t)}var y_=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>q(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function x_(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:ri[e.innerType._def.typeName],nullable:!0}:{type:[ri[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=q(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=q(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function b_(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",mp(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?X(r,"minimum",n.value,n.message,t):X(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),X(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?X(r,"maximum",n.value,n.message,t):X(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),X(r,"maximum",n.value,n.message,t));break;case"multipleOf":X(r,"multipleOf",n.value,n.message,t);break}return r}function k_(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],i=e.shape();for(let a in i){let c=i[a];if(c===void 0||c._def===void 0)continue;let u=cE(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let p=q(c._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});p!==void 0&&(n.properties[a]=p,u||o.push(a))}o.length&&(n.required=o);let s=aE(e,t);return s!==void 0&&(n.additionalProperties=s),n}function aE(e,t){if(e.catchall._def.typeName!=="ZodNever")return q(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function cE(e){try{return e.isOptional()}catch{return!0}}var w_=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return q(e.innerType._def,t);let r=q(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ye(t)},r]}:ye(t)};var S_=(e,t)=>{if(t.pipeStrategy==="input")return q(e.in._def,t);if(t.pipeStrategy==="output")return q(e.out._def,t);let r=q(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=q(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function T_(e,t){return q(e.type._def,t)}function $_(e,t){let n={type:"array",uniqueItems:!0,items:q(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&X(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&X(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function P_(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>q(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:q(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>q(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function E_(e){return{not:ye(e)}}function z_(e){return ye(e)}var C_=(e,t)=>q(e.innerType._def,t);var I_=(e,t,r)=>{switch(t){case T.ZodString:return Xs(e,r);case T.ZodNumber:return b_(e,r);case T.ZodObject:return k_(e,r);case T.ZodBigInt:return i_(e,r);case T.ZodBoolean:return s_();case T.ZodDate:return gp(e,r);case T.ZodUndefined:return E_(r);case T.ZodNull:return __(r);case T.ZodArray:return o_(e,r);case T.ZodUnion:case T.ZodDiscriminatedUnion:return v_(e,r);case T.ZodIntersection:return p_(e,r);case T.ZodTuple:return P_(e,r);case T.ZodRecord:return ea(e,r);case T.ZodLiteral:return d_(e,r);case T.ZodEnum:return l_(e);case T.ZodNativeEnum:return m_(e);case T.ZodNullable:return x_(e,r);case T.ZodOptional:return w_(e,r);case T.ZodMap:return h_(e,r);case T.ZodSet:return $_(e,r);case T.ZodLazy:return()=>e.getter()._def;case T.ZodPromise:return T_(e,r);case T.ZodNaN:case T.ZodNever:return g_(r);case T.ZodEffects:return u_(e,r);case T.ZodAny:return ye(r);case T.ZodUnknown:return z_(r);case T.ZodDefault:return c_(e,r);case T.ZodBranded:return Qs(e,r);case T.ZodReadonly:return C_(e,r);case T.ZodCatch:return a_(e,r);case T.ZodPipeline:return S_(e,r);case T.ZodFunction:case T.ZodVoid:case T.ZodSymbol:return;default:return(n=>{})(t)}};function q(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==t_)return a}if(n&&!r){let a=uE(n,t);if(a!==void 0)return a}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let i=I_(e,e.typeName,t),s=typeof i=="function"?q(i(),t):i;if(s&&lE(e,t,s),t.postProcess){let a=t.postProcess(s,e,t);return o.jsonSchema=s,a}return o.jsonSchema=s,s}var uE=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Ys(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),ye(t)):t.$refStrategy==="seen"?ye(t):void 0}},lE=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var vp=(e,t)=>{let r=n_(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[u,p])=>({...c,[u]:q(p._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??ye(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,i=q(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??ye(r),s=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;s!==void 0&&(i.title=s),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...i,[r.definitionPath]:n}:i:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:i}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function pE(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function xp(e,t){return _t(e)?Zl(e,{target:pE(t?.target),io:t?.pipeStrategy??"input"}):vp(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function bp(e){let r=Sr(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=$s(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function kp(e,t){let r=wr(e,t);if(!r.success)throw r.error;return r.data}var dE=6e4,ta=class{constructor(t){this._options=t,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(As,r=>{this._oncancel(r)}),this.setNotificationHandler(Ns,r=>{this._onprogress(r)}),this.setRequestHandler(Os,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(js,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new R(D.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Ds,async(r,n)=>{let o=async()=>{let i=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(i,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,p=this._requestResolvers.get(u);if(p)if(this._requestResolvers.delete(u),a.type==="response")p(c);else{let l=c,d=new R(l.error.code,l.error.message,l.error.data);p(d)}else{let l=a.type==="response"?"Response":"Error";this._onerror(new Error(`${l} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let s=await this._taskStore.getTask(i,n.sessionId);if(!s)throw new R(D.InvalidParams,`Task not found: ${i}`);if(!$r(s.status))return await this._waitForTaskUpdate(i,n.signal),await o();if($r(s.status)){let a=await this._taskStore.getTaskResult(i,n.sessionId);return this._clearTaskQueue(i),{...a,_meta:{...a._meta,[Tr]:{taskId:i}}}}return await o()};return await o()}),this.setRequestHandler(Ls,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 R(D.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(qs,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new R(D.InvalidParams,`Task not found: ${r.params.taskId}`);if($r(o.status))throw new R(D.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 R(D.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof R?o:new R(D.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,i=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),R.fromError(D.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;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,s)=>{o?.(i,s),Ko(i)||Ug(i)?this._onresponse(i):ep(i)?this._onrequest(i,s):Fg(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=R.fromError(D.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,i=t.params?._meta?.[Tr]?.taskId;if(n===void 0){let p={jsonrpc:"2.0",id:t.id,error:{code:D.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:"error",message:p,timestamp:Date.now()},o?.sessionId).catch(l=>this._onerror(new Error(`Failed to enqueue error response: ${l}`))):o?.send(p).catch(l=>this._onerror(new Error(`Failed to send an error response: ${l}`)));return}let s=new AbortController;this._requestHandlerAbortControllers.set(t.id,s);let a=Lg(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,u={signal:s.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async p=>{if(s.signal.aborted)return;let l={relatedRequestId:t.id};i&&(l.relatedTask={taskId:i}),await this.notification(p,l)},sendRequest:async(p,l,d)=>{if(s.signal.aborted)throw new R(D.ConnectionClosed,"Request was cancelled");let h={...d,relatedRequestId:t.id};i&&!h.relatedTask&&(h.relatedTask={taskId:i});let f=h.relatedTask?.taskId??i;return f&&c&&await c.updateTaskStatus(f,"input_required"),await this.request(p,l,h)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:i,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,u)).then(async p=>{if(s.signal.aborted)return;let l={result:p,jsonrpc:"2.0",id:t.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)},async p=>{if(s.signal.aborted)return;let l={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(p.code)?p.code:D.InternalError,message:p.message??"Internal error",...p.data!==void 0&&{data:p.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"error",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)}).catch(p=>this._onerror(new Error(`Failed to send response: ${p}`))).finally(()=>{this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.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(t)}`));return}let s=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&s&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),s(c);return}i(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Ko(t))n(t);else{let s=new R(t.error.code,t.error.message,t.error.data);n(s)}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(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let i=!1;if(Ko(t)&&t.result&&typeof t.result=="object"){let s=t.result;if(s.task&&typeof s.task=="object"){let a=s.task;typeof a.taskId=="string"&&(i=!0,this._taskProgressTokens.set(a.taskId,r))}}if(i||this._progressHandlers.delete(r),Ko(t))o(t);else{let s=R.fromError(t.error.code,t.error.message,t.error.data);o(s)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(s){yield{type:"error",error:s instanceof R?s:new R(D.InternalError,String(s))}}return}let i;try{let s=await this.request(t,Gn,n);if(s.task)i=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new R(D.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:i},n);if(yield{type:"taskStatus",task:a},$r(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)}:a.status==="failed"?yield{type:"error",error:new R(D.InternalError,`Task ${i} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new R(D.InternalError,`Task ${i} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof R?s:new R(D.InternalError,String(s))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,task:a,relatedTask:c}=n??{};return new Promise((u,p)=>{let l=y=>{p(y)};if(!this._transport){l(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(y){l(y);return}n?.signal?.throwIfAborted();let d=this._requestMessageId++,h={...t,jsonrpc:"2.0",id:d};n?.onprogress&&(this._progressHandlers.set(d,n.onprogress),h.params={...t.params,_meta:{...t.params?._meta||{},progressToken:d}}),a&&(h.params={...h.params,task:a}),c&&(h.params={...h.params,_meta:{...h.params?._meta||{},[Tr]:c}});let f=y=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String(y)}},{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch($=>this._onerror(new Error(`Failed to send cancellation: ${$}`)));let S=y instanceof R?y:new R(D.RequestTimeout,String(y));p(S)};this._responseHandlers.set(d,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return p(y);try{let S=wr(r,y.result);S.success?u(S.data):p(S.error)}catch(S){p(S)}}}),n?.signal?.addEventListener("abort",()=>{f(n?.signal?.reason)});let g=n?.timeout??dE,_=()=>f(R.fromError(D.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(d,g,n?.maxTotalTimeout,_,n?.resetTimeoutOnProgress??!1);let v=c?.taskId;if(v){let y=S=>{let $=this._responseHandlers.get(d);$?$(S):this._onerror(new Error(`Response handler missing for side-channeled request ${d}`))};this._requestResolvers.set(d,y),this._enqueueTaskMessage(v,{type:"request",message:h,timestamp:Date.now()}).catch(S=>{this._cleanupTimeout(d),p(S)})}else this._transport.send(h,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(y=>{this._cleanupTimeout(d),p(y)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Ms,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},Zs,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},Hg,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Tr]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Tr]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let s={...t,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[Tr]:r.relatedTask}}}),await this._transport.send(s,r)}setRequestHandler(t,r){let n=bp(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let s=kp(t,o);return Promise.resolve(r(s,i))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=bp(t);this._notificationHandlers.set(n,o=>{let i=kp(t,o);return Promise.resolve(r(i))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,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(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&ep(o.message)){let i=o.message.id,s=this._requestResolvers.get(i);s?(s(new R(D.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,i)=>{if(r.aborted){i(new R(D.InvalidRequest,"Request cancelled"));return}let s=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(s),i(new R(D.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let i=await n.getTask(o,r);if(!i)throw new R(D.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(o,i,s)=>{await n.storeTaskResult(o,i,s,r);let a=await n.getTask(o,r);if(a){let c=Xo.parse({method:"notifications/tasks/status",params:a});await this.notification(c),$r(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,i,s)=>{let a=await n.getTask(o,r);if(!a)throw new R(D.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if($r(a.status))throw new R(D.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,i,s,r);let c=await n.getTask(o,r);if(c){let u=Xo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),$r(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function R_(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function A_(e,t){let r={...e};for(let n in t){let o=n,i=t[o];if(i===void 0)continue;let s=r[o];R_(s)&&R_(i)?r[o]={...s,...i}:r[o]=i}return r}var v0=Zc(cf(),1),x0=Zc(y0(),1);function r4(){let e=new v0.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,x0.default)(e),e}var Da=class{constructor(t){this._ajv=t??r4()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var La=class{constructor(t){this._server=t}requestStream(t,r,n){return this._server.requestStream(t,r,n)}async getTask(t,r){return this._server.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._server.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._server.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._server.cancelTask({taskId:t},r)}};function b0(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function k0(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var Za=class extends ta{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(ti.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.LOG_LEVEL_SEVERITY.get(i):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Da,this.setRequestHandler(np,n=>this._oninitialize(n)),this.setNotificationHandler(op,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(pp,async(n,o)=>{let i=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:s}=n.params,a=ti.safeParse(s);return a.success&&this._loggingLevels.set(i,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new La(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=A_(this._capabilities,t)}setRequestHandler(t,r){let o=Sr(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let i;if(_t(o)){let a=o;i=a._zod?.def?.value??a.value}else{let a=o;i=a._def?.value??a.value}if(typeof i!="string")throw new Error("Schema method literal must be a string");if(i==="tools/call"){let a=async(c,u)=>{let p=wr(Wn,c);if(!p.success){let f=p.error instanceof Error?p.error.message:String(p.error);throw new R(D.InvalidParams,`Invalid tools/call request: ${f}`)}let{params:l}=p.data,d=await Promise.resolve(r(c,u));if(l.task){let f=wr(Gn,d);if(!f.success){let g=f.error instanceof Error?f.error.message:String(f.error);throw new R(D.InvalidParams,`Invalid task creation result: ${g}`)}return f.data}let h=wr(Ks,d);if(!h.success){let f=h.error instanceof Error?h.error.message:String(h.error);throw new R(D.InvalidParams,`Invalid tools/call result: ${f}`)}return h.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapabilityForMethod(t){switch(t){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);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 ${t})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);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 ${t})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);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 ${t})`);break;case"ping":case"initialize":break}}assertTaskCapability(t){k0(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&b0(this._capabilities.tasks?.requests,t,"Server")}async _oninitialize(t){let r=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:jg.includes(r)?r:Ql,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"},Rs)}async createMessage(t,r){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let n=t.messages[t.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],i=o.some(u=>u.type==="tool_result"),s=t.messages.length>1?t.messages[t.messages.length-2]:void 0,a=s?Array.isArray(s.content)?s.content:[s.content]:[],c=a.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(a.filter(l=>l.type==="tool_use").map(l=>l.id)),p=new Set(o.filter(l=>l.type==="tool_result").map(l=>l.toolUseId));if(u.size!==p.size||![...u].every(l=>p.has(l)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return t.tools?this.request({method:"sampling/createMessage",params:t},fp,r):this.request({method:"sampling/createMessage",params:t},dp,r)}async elicitInput(t,r){switch(t.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=t;return this.request({method:"elicitation/create",params:o},Ws,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=t.mode==="form"?t:{...t,mode:"form"},i=await this.request({method:"elicitation/create",params:o},Ws,r);if(i.action==="accept"&&i.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(i.content);if(!a.valid)throw new R(D.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(s){throw s instanceof R?s:new R(D.InternalError,`Error validating elicitation response: ${s instanceof Error?s.message:String(s)}`)}return i}}}createElicitationCompletionNotifier(t,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:t}},r)}async listRoots(t,r){return this.request({method:"roots/list",params:t},hp,r)}async sendLoggingMessage(t,r){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,r))return this.notification({method:"notifications/message",params:t})}async sendResourceUpdated(t){return this.notification({method:"notifications/resources/updated",params:t})}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 S0=Symbol.for("mcp.completable");function gf(e){return!!e&&typeof e=="object"&&S0 in e}function T0(e){return e[S0]?.complete}var w0;(function(e){e.Completable="McpCompletable"})(w0||(w0={}));var qa=class e{static isTemplate(t){return/\{[^}\s]+\}/.test(t)}static validateLength(t,r,n){if(t.length>r)throw new Error(`${n} exceeds maximum length of ${r} characters (got ${t.length})`)}get variableNames(){return this.parts.flatMap(t=>typeof t=="string"?[]:t.names)}constructor(t){e.validateLength(t,1e6,"Template"),this.template=t,this.parts=this.parse(t)}toString(){return this.template}parse(t){let r=[],n="",o=0,i=0;for(;o<t.length;)if(t[o]==="{"){n&&(r.push(n),n="");let s=t.indexOf("}",o);if(s===-1)throw new Error("Unclosed template expression");if(i++,i>1e4)throw new Error("Template contains too many expressions (max 10000)");let a=t.slice(o+1,s),c=this.getOperator(a),u=a.includes("*"),p=this.getNames(a),l=p[0];for(let d of p)e.validateLength(d,1e6,"Variable name");r.push({name:l,operator:c,names:p,exploded:u}),o=s+1}else n+=t[o],o++;return n&&r.push(n),r}getOperator(t){return["+","#",".","/","?","&"].find(n=>t.startsWith(n))||""}getNames(t){let r=this.getOperator(t);return t.slice(r.length).split(",").map(n=>n.replace("*","").trim()).filter(n=>n.length>0)}encodeValue(t,r){return e.validateLength(t,1e6,"Variable value"),r==="+"||r==="#"?encodeURI(t):encodeURIComponent(t)}expandPart(t,r){if(t.operator==="?"||t.operator==="&"){let s=t.names.map(c=>{let u=r[c];if(u===void 0)return"";let p=Array.isArray(u)?u.map(l=>this.encodeValue(l,t.operator)).join(","):this.encodeValue(u.toString(),t.operator);return`${c}=${p}`}).filter(c=>c.length>0);return s.length===0?"":(t.operator==="?"?"?":"&")+s.join("&")}if(t.names.length>1){let s=t.names.map(a=>r[a]).filter(a=>a!==void 0);return s.length===0?"":s.map(a=>Array.isArray(a)?a[0]:a).join(",")}let n=r[t.name];if(n===void 0)return"";let i=(Array.isArray(n)?n:[n]).map(s=>this.encodeValue(s,t.operator));switch(t.operator){case"":return i.join(",");case"+":return i.join(",");case"#":return"#"+i.join(",");case".":return"."+i.join(".");case"/":return"/"+i.join("/");default:return i.join(",")}}expand(t){let r="",n=!1;for(let o of this.parts){if(typeof o=="string"){r+=o;continue}let i=this.expandPart(o,t);i&&((o.operator==="?"||o.operator==="&")&&n?r+=i.replace("?","&"):r+=i,(o.operator==="?"||o.operator==="&")&&(n=!0))}return r}escapeRegExp(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}partToRegExp(t){let r=[];for(let i of t.names)e.validateLength(i,1e6,"Variable name");if(t.operator==="?"||t.operator==="&"){for(let i=0;i<t.names.length;i++){let s=t.names[i],a=i===0?"\\"+t.operator:"&";r.push({pattern:a+this.escapeRegExp(s)+"=([^&]+)",name:s})}return r}let n,o=t.name;switch(t.operator){case"":n=t.exploded?"([^/,]+(?:,[^/,]+)*)":"([^/,]+)";break;case"+":case"#":n="(.+)";break;case".":n="\\.([^/,]+)";break;case"/":n="/"+(t.exploded?"([^/,]+(?:,[^/,]+)*)":"([^/,]+)");break;default:n="([^/]+)"}return r.push({pattern:n,name:o}),r}match(t){e.validateLength(t,1e6,"URI");let r="^",n=[];for(let a of this.parts)if(typeof a=="string")r+=this.escapeRegExp(a);else{let c=this.partToRegExp(a);for(let{pattern:u,name:p}of c)r+=u,n.push({name:p,exploded:a.exploded})}r+="$",e.validateLength(r,1e6,"Generated regex pattern");let o=new RegExp(r),i=t.match(o);if(!i)return null;let s={};for(let a=0;a<n.length;a++){let{name:c,exploded:u}=n[a],p=i[a+1],l=c.replace("*","");u&&p.includes(",")?s[l]=p.split(","):s[l]=p}return s}};var n4=/^[A-Za-z0-9._-]{1,128}$/;function o4(e){let t=[];if(e.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(e.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${e.length})`]};if(e.includes(" ")&&t.push("Tool name contains spaces, which may cause parsing issues"),e.includes(",")&&t.push("Tool name contains commas, which may cause parsing issues"),(e.startsWith("-")||e.endsWith("-"))&&t.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(e.startsWith(".")||e.endsWith("."))&&t.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!n4.test(e)){let r=e.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,i)=>i.indexOf(n)===o);return t.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:t}}return{isValid:!0,warnings:t}}function i4(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let r of t)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function _f(e){let t=o4(e);return i4(e,t.warnings),t.isValid}var Fa=class{constructor(t){this._mcpServer=t}registerToolTask(t,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${t}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(t,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var Ua=class{constructor(t,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Za(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Fa(this)}),this._experimental}async connect(t){return await this.server.connect(t)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(Nr(Gs)),this.server.assertCanSetRequestHandler(Nr(Wn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Gs,()=>({tools:Object.entries(this._registeredTools).filter(([,t])=>t.enabled).map(([t,r])=>{let n={name:t,title:r.title,description:r.description,inputSchema:(()=>{let o=Vn(r.inputSchema);return o?xp(o,{strictUnions:!0,pipeStrategy:"input"}):s4})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=Vn(r.outputSchema);o&&(n.outputSchema=xp(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Wn,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new R(D.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new R(D.InvalidParams,`Tool ${t.params.name} disabled`);let o=!!t.params.task,i=n.execution?.taskSupport,s="createTask"in n.handler;if((i==="required"||i==="optional")&&!s)throw new R(D.InternalError,`Tool ${t.params.name} has taskSupport '${i}' but was not registered with registerToolTask`);if(i==="required"&&!o)throw new R(D.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(i==="optional"&&!o&&s)return await this.handleAutomaticTaskPolling(n,t,r);let a=await this.validateToolInput(n,t.params.arguments,t.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,t.params.name),c}catch(n){if(n instanceof R&&n.code===D.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(t){return{content:[{type:"text",text:t}],isError:!0}}async validateToolInput(t,r,n){if(!t.inputSchema)return;let i=Vn(t.inputSchema)??t.inputSchema,s=await Ss(i,r);if(!s.success){let a="error"in s?s.error:"Unknown error",c=Ts(a);throw new R(D.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return s.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new R(D.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=Vn(t.outputSchema),i=await Ss(o,r.structuredContent);if(!i.success){let s="error"in i?i.error:"Unknown error",a=Ts(s);throw new R(D.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(t,r,n){let o=t.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let s={...n,taskStore:n.taskStore};if(t.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,s))}else{let a=o;return await Promise.resolve(a.createTask(s))}}if(t.inputSchema){let s=o;return await Promise.resolve(s(r,n))}else{let s=o;return await Promise.resolve(s(n))}}async handleAutomaticTaskPolling(t,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(t,r.params.arguments,r.params.name),i=t.handler,s={...n,taskStore:n.taskStore},a=o?await Promise.resolve(i.createTask(o,s)):await Promise.resolve(i.createTask(s)),c=a.task.taskId,u=a.task,p=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(d=>setTimeout(d,p));let l=await n.taskStore.getTask(c);if(!l)throw new R(D.InternalError,`Task ${c} not found during polling`);u=l}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(Nr(Js)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Js,async t=>{switch(t.params.ref.type){case"ref/prompt":return Qg(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return Xg(t),this.handleResourceCompletion(t,t.params.ref);default:throw new R(D.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new R(D.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new R(D.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Ri;let i=Sr(n.argsSchema)?.[t.params.argument.name];if(!gf(i))return Ri;let s=T0(i);if(!s)return Ri;let a=await s(t.params.argument.value,t.params.context);return P0(a)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(s=>s.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Ri;throw new R(D.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(t.params.argument.name);if(!o)return Ri;let i=await o(t.params.argument.value,t.params.context);return P0(i)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(Nr(Fs)),this.server.assertCanSetRequestHandler(Nr(Us)),this.server.assertCanSetRequestHandler(Nr(Bs)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Fs,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([i,s])=>s.enabled).map(([i,s])=>({uri:i,name:s.name,...s.metadata})),o=[];for(let i of Object.values(this._registeredResourceTemplates)){if(!i.resourceTemplate.listCallback)continue;let s=await i.resourceTemplate.listCallback(r);for(let a of s.resources)o.push({...i.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(Us,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Bs,async(t,r)=>{let n=new URL(t.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new R(D.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let i of Object.values(this._registeredResourceTemplates)){let s=i.resourceTemplate.uriTemplate.match(n.toString());if(s)return i.readCallback(n,s,r)}throw new R(D.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(Nr(Vs)),this.server.assertCanSetRequestHandler(Nr(Hs)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Vs,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?c4(r.argsSchema):void 0}))})),this.server.setRequestHandler(Hs,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new R(D.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new R(D.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let o=Vn(n.argsSchema),i=await Ss(o,t.params.arguments);if(!i.success){let c="error"in i?i.error:"Unknown error",u=Ts(c);throw new R(D.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${u}`)}let s=i.data,a=n.callback;return await Promise.resolve(a(s,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(t,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let i=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(t,void 0,r,o,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let s=this._createRegisteredResourceTemplate(t,void 0,r,o,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}registerResource(t,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let i=this._createRegisteredResourceTemplate(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}_createRegisteredResource(t,r,n,o,i){let s={name:t,title:r,metadata:o,readCallback:i,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=s)),typeof a.name<"u"&&(s.name=a.name),typeof a.title<"u"&&(s.title=a.title),typeof a.metadata<"u"&&(s.metadata=a.metadata),typeof a.callback<"u"&&(s.readCallback=a.callback),typeof a.enabled<"u"&&(s.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=s,s}_createRegisteredResourceTemplate(t,r,n,o,i){let s={resourceTemplate:n,title:r,metadata:o,readCallback:i,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==t&&(delete this._registeredResourceTemplates[t],u.name&&(this._registeredResourceTemplates[u.name]=s)),typeof u.title<"u"&&(s.title=u.title),typeof u.template<"u"&&(s.resourceTemplate=u.template),typeof u.metadata<"u"&&(s.metadata=u.metadata),typeof u.callback<"u"&&(s.readCallback=u.callback),typeof u.enabled<"u"&&(s.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=s;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),s}_createRegisteredPrompt(t,r,n,o,i){let s={title:r,description:n,argsSchema:o===void 0?void 0:dn(o),callback:i,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==t&&(delete this._registeredPrompts[t],a.name&&(this._registeredPrompts[a.name]=s)),typeof a.title<"u"&&(s.title=a.title),typeof a.description<"u"&&(s.description=a.description),typeof a.argsSchema<"u"&&(s.argsSchema=dn(a.argsSchema)),typeof a.callback<"u"&&(s.callback=a.callback),typeof a.enabled<"u"&&(s.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[t]=s,o&&Object.values(o).some(c=>{let u=c instanceof Qe?c._def?.innerType:c;return gf(u)})&&this.setCompletionRequestHandler(),s}_createRegisteredTool(t,r,n,o,i,s,a,c,u){_f(t);let p={title:r,description:n,inputSchema:$0(o),outputSchema:$0(i),annotations:s,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>p.update({enabled:!1}),enable:()=>p.update({enabled:!0}),remove:()=>p.update({name:null}),update:l=>{typeof l.name<"u"&&l.name!==t&&(typeof l.name=="string"&&_f(l.name),delete this._registeredTools[t],l.name&&(this._registeredTools[l.name]=p)),typeof l.title<"u"&&(p.title=l.title),typeof l.description<"u"&&(p.description=l.description),typeof l.paramsSchema<"u"&&(p.inputSchema=dn(l.paramsSchema)),typeof l.outputSchema<"u"&&(p.outputSchema=dn(l.outputSchema)),typeof l.callback<"u"&&(p.handler=l.callback),typeof l.annotations<"u"&&(p.annotations=l.annotations),typeof l._meta<"u"&&(p._meta=l._meta),typeof l.enabled<"u"&&(p.enabled=l.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=p,this.setToolRequestHandlers(),this.sendToolListChanged(),p}tool(t,...r){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let n,o,i,s;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];yf(c)?(o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!yf(r[0])&&(s=r.shift())):typeof c=="object"&&c!==null&&(s=r.shift())}let a=r[0];return this._createRegisteredTool(t,void 0,n,o,i,s,{taskSupport:"forbidden"},void 0,a)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:o,description:i,inputSchema:s,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(t,o,i,s,a,c,{taskSupport:"forbidden"},u,n)}prompt(t,...r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let i=r[0],s=this._createRegisteredPrompt(t,void 0,n,o,i);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),s}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:o,description:i,argsSchema:s}=r,a=this._createRegisteredPrompt(t,o,i,s,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,r){return this.server.sendLoggingMessage(t,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}},Ai=class{constructor(t,r){this._callbacks=r,this._uriTemplate=typeof t=="string"?new qa(t):t}get uriTemplate(){return this._uriTemplate}get listCallback(){return this._callbacks.list}completeCallback(t){return this._callbacks.complete?.[t]}},s4={type:"object",properties:{}};function E0(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function a4(e){return"_def"in e||"_zod"in e||E0(e)}function yf(e){return typeof e!="object"||e===null||a4(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(E0)}function $0(e){if(e)return yf(e)?dn(e):e}function c4(e){let t=Sr(e);return t?Object.entries(t).map(([r,n])=>{let o=fg(n),i=hg(n);return{name:r,description:o,required:!i}}):[]}function Nr(e){let r=Sr(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=$s(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function P0(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var Ri={completion:{values:[],hasMore:!1}};import C0 from"node:process";var Ba=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
|
|
64
|
-
`);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),
|
|
65
|
-
`}var
|
|
63
|
+
]`;continue}o+=n[c],n[c]==="\\"?i=!0:s&&n[c]==="]"?s=!1:!s&&n[c]==="["&&(s=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function Ys(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===T.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:q(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??ye(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:q(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===T.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=Js(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===T.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===T.ZodBranded&&e.keyType._def.type._def.typeName===T.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=Ws(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function g_(e,t){if(t.mapStrategy==="record")return Ys(e,t);let r=q(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ye(t),n=q(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ye(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function __(e){let t=e.values,n=Object.keys(e.values).filter(i=>typeof t[t[i]]!="number").map(i=>t[i]),o=Array.from(new Set(n.map(i=>typeof i)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function y_(e){return e.target==="openAi"?void 0:{not:ye({...e,currentPath:[...e.currentPath,"not"]})}}function v_(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Xo={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function b_(e,t){if(t.target==="openApi3")return x_(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Xo&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,i)=>{let s=Xo[i._def.typeName];return s&&!o.includes(s)?[...o,s]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,i)=>{let s=typeof i._def.value;switch(s){case"string":case"number":case"boolean":return[...o,s];case"bigint":return[...o,"integer"];case"object":if(i._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(n.length===r.length){let o=n.filter((i,s,a)=>a.indexOf(i)===s);return{type:o.length>1?o:o[0],enum:r.reduce((i,s)=>i.includes(s._def.value)?i:[...i,s._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(i=>!n.includes(i))],[])};return x_(e,t)}var x_=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>q(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function k_(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:Xo[e.innerType._def.typeName],nullable:!0}:{type:[Xo[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=q(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=q(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function S_(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",mp(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?X(r,"minimum",n.value,n.message,t):X(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),X(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?X(r,"maximum",n.value,n.message,t):X(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),X(r,"maximum",n.value,n.message,t));break;case"multipleOf":X(r,"multipleOf",n.value,n.message,t);break}return r}function w_(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],i=e.shape();for(let a in i){let c=i[a];if(c===void 0||c._def===void 0)continue;let u=jE(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let p=q(c._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});p!==void 0&&(n.properties[a]=p,u||o.push(a))}o.length&&(n.required=o);let s=DE(e,t);return s!==void 0&&(n.additionalProperties=s),n}function DE(e,t){if(e.catchall._def.typeName!=="ZodNever")return q(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function jE(e){try{return e.isOptional()}catch{return!0}}var T_=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return q(e.innerType._def,t);let r=q(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ye(t)},r]}:ye(t)};var $_=(e,t)=>{if(t.pipeStrategy==="input")return q(e.in._def,t);if(t.pipeStrategy==="output")return q(e.out._def,t);let r=q(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=q(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function P_(e,t){return q(e.type._def,t)}function E_(e,t){let n={type:"array",uniqueItems:!0,items:q(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&X(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&X(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function z_(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>q(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:q(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>q(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function C_(e){return{not:ye(e)}}function I_(e){return ye(e)}var R_=(e,t)=>q(e.innerType._def,t);var A_=(e,t,r)=>{switch(t){case T.ZodString:return Js(e,r);case T.ZodNumber:return S_(e,r);case T.ZodObject:return w_(e,r);case T.ZodBigInt:return a_(e,r);case T.ZodBoolean:return c_();case T.ZodDate:return gp(e,r);case T.ZodUndefined:return C_(r);case T.ZodNull:return v_(r);case T.ZodArray:return s_(e,r);case T.ZodUnion:case T.ZodDiscriminatedUnion:return b_(e,r);case T.ZodIntersection:return f_(e,r);case T.ZodTuple:return z_(e,r);case T.ZodRecord:return Ys(e,r);case T.ZodLiteral:return h_(e,r);case T.ZodEnum:return d_(e);case T.ZodNativeEnum:return __(e);case T.ZodNullable:return k_(e,r);case T.ZodOptional:return T_(e,r);case T.ZodMap:return g_(e,r);case T.ZodSet:return E_(e,r);case T.ZodLazy:return()=>e.getter()._def;case T.ZodPromise:return P_(e,r);case T.ZodNaN:case T.ZodNever:return y_(r);case T.ZodEffects:return p_(e,r);case T.ZodAny:return ye(r);case T.ZodUnknown:return I_(r);case T.ZodDefault:return l_(e,r);case T.ZodBranded:return Ws(e,r);case T.ZodReadonly:return R_(e,r);case T.ZodCatch:return u_(e,r);case T.ZodPipeline:return $_(e,r);case T.ZodFunction:case T.ZodVoid:case T.ZodSymbol:return;default:return(n=>{})(t)}};function q(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==n_)return a}if(n&&!r){let a=ME(n,t);if(a!==void 0)return a}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let i=A_(e,e.typeName,t),s=typeof i=="function"?q(i(),t):i;if(s&&LE(e,t,s),t.postProcess){let a=t.postProcess(s,e,t);return o.jsonSchema=s,a}return o.jsonSchema=s,s}var ME=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Ks(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),ye(t)):t.$refStrategy==="seen"?ye(t):void 0}},LE=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var vp=(e,t)=>{let r=i_(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[u,p])=>({...c,[u]:q(p._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??ye(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,i=q(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??ye(r),s=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;s!==void 0&&(i.title=s),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...i,[r.definitionPath]:n}:i:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:i}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function ZE(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function xp(e,t){return _t(e)?Zl(e,{target:ZE(t?.target),io:t?.pipeStrategy??"input"}):vp(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function bp(e){let r=kr(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Ss(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function kp(e,t){let r=br(e,t);if(!r.success)throw r.error;return r.data}var qE=6e4,Qs=class{constructor(t){this._options=t,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(Cs,r=>{this._oncancel(r)}),this.setNotificationHandler(Rs,r=>{this._onprogress(r)}),this.setRequestHandler(Is,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(As,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new R(M.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Ns,async(r,n)=>{let o=async()=>{let i=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(i,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,p=this._requestResolvers.get(u);if(p)if(this._requestResolvers.delete(u),a.type==="response")p(c);else{let l=c,d=new R(l.error.code,l.error.message,l.error.data);p(d)}else{let l=a.type==="response"?"Response":"Error";this._onerror(new Error(`${l} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let s=await this._taskStore.getTask(i,n.sessionId);if(!s)throw new R(M.InvalidParams,`Task not found: ${i}`);if(!wr(s.status))return await this._waitForTaskUpdate(i,n.signal),await o();if(wr(s.status)){let a=await this._taskStore.getTaskResult(i,n.sessionId);return this._clearTaskQueue(i),{...a,_meta:{...a._meta,[Sr]:{taskId:i}}}}return await o()};return await o()}),this.setRequestHandler(Ds,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 R(M.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Ms,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new R(M.InvalidParams,`Task not found: ${r.params.taskId}`);if(wr(o.status))throw new R(M.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 R(M.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof R?o:new R(M.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,i=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),R.fromError(M.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;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,s)=>{o?.(i,s),Vo(i)||Vg(i)?this._onresponse(i):ep(i)?this._onrequest(i,s):Bg(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=R.fromError(M.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,i=t.params?._meta?.[Sr]?.taskId;if(n===void 0){let p={jsonrpc:"2.0",id:t.id,error:{code:M.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:"error",message:p,timestamp:Date.now()},o?.sessionId).catch(l=>this._onerror(new Error(`Failed to enqueue error response: ${l}`))):o?.send(p).catch(l=>this._onerror(new Error(`Failed to send an error response: ${l}`)));return}let s=new AbortController;this._requestHandlerAbortControllers.set(t.id,s);let a=qg(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,u={signal:s.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async p=>{if(s.signal.aborted)return;let l={relatedRequestId:t.id};i&&(l.relatedTask={taskId:i}),await this.notification(p,l)},sendRequest:async(p,l,d)=>{if(s.signal.aborted)throw new R(M.ConnectionClosed,"Request was cancelled");let h={...d,relatedRequestId:t.id};i&&!h.relatedTask&&(h.relatedTask={taskId:i});let f=h.relatedTask?.taskId??i;return f&&c&&await c.updateTaskStatus(f,"input_required"),await this.request(p,l,h)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:i,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,u)).then(async p=>{if(s.signal.aborted)return;let l={result:p,jsonrpc:"2.0",id:t.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)},async p=>{if(s.signal.aborted)return;let l={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(p.code)?p.code:M.InternalError,message:p.message??"Internal error",...p.data!==void 0&&{data:p.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"error",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)}).catch(p=>this._onerror(new Error(`Failed to send response: ${p}`))).finally(()=>{this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.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(t)}`));return}let s=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&s&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),s(c);return}i(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Vo(t))n(t);else{let s=new R(t.error.code,t.error.message,t.error.data);n(s)}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(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let i=!1;if(Vo(t)&&t.result&&typeof t.result=="object"){let s=t.result;if(s.task&&typeof s.task=="object"){let a=s.task;typeof a.taskId=="string"&&(i=!0,this._taskProgressTokens.set(a.taskId,r))}}if(i||this._progressHandlers.delete(r),Vo(t))o(t);else{let s=R.fromError(t.error.code,t.error.message,t.error.data);o(s)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(s){yield{type:"error",error:s instanceof R?s:new R(M.InternalError,String(s))}}return}let i;try{let s=await this.request(t,Bn,n);if(s.task)i=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new R(M.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:i},n);if(yield{type:"taskStatus",task:a},wr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)}:a.status==="failed"?yield{type:"error",error:new R(M.InternalError,`Task ${i} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new R(M.InternalError,`Task ${i} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof R?s:new R(M.InternalError,String(s))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,task:a,relatedTask:c}=n??{};return new Promise((u,p)=>{let l=y=>{p(y)};if(!this._transport){l(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(y){l(y);return}n?.signal?.throwIfAborted();let d=this._requestMessageId++,h={...t,jsonrpc:"2.0",id:d};n?.onprogress&&(this._progressHandlers.set(d,n.onprogress),h.params={...t.params,_meta:{...t.params?._meta||{},progressToken:d}}),a&&(h.params={...h.params,task:a}),c&&(h.params={...h.params,_meta:{...h.params?._meta||{},[Sr]:c}});let f=y=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String(y)}},{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch($=>this._onerror(new Error(`Failed to send cancellation: ${$}`)));let w=y instanceof R?y:new R(M.RequestTimeout,String(y));p(w)};this._responseHandlers.set(d,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return p(y);try{let w=br(r,y.result);w.success?u(w.data):p(w.error)}catch(w){p(w)}}}),n?.signal?.addEventListener("abort",()=>{f(n?.signal?.reason)});let g=n?.timeout??qE,_=()=>f(R.fromError(M.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(d,g,n?.maxTotalTimeout,_,n?.resetTimeoutOnProgress??!1);let v=c?.taskId;if(v){let y=w=>{let $=this._responseHandlers.get(d);$?$(w):this._onerror(new Error(`Response handler missing for side-channeled request ${d}`))};this._requestResolvers.set(d,y),this._enqueueTaskMessage(v,{type:"request",message:h,timestamp:Date.now()}).catch(w=>{this._cleanupTimeout(d),p(w)})}else this._transport.send(h,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(y=>{this._cleanupTimeout(d),p(y)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Os,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},js,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},Kg,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Sr]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Sr]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let s={...t,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[Sr]:r.relatedTask}}}),await this._transport.send(s,r)}setRequestHandler(t,r){let n=bp(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let s=kp(t,o);return Promise.resolve(r(s,i))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=bp(t);this._notificationHandlers.set(n,o=>{let i=kp(t,o);return Promise.resolve(r(i))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,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(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&ep(o.message)){let i=o.message.id,s=this._requestResolvers.get(i);s?(s(new R(M.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,i)=>{if(r.aborted){i(new R(M.InvalidRequest,"Request cancelled"));return}let s=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(s),i(new R(M.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let i=await n.getTask(o,r);if(!i)throw new R(M.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(o,i,s)=>{await n.storeTaskResult(o,i,s,r);let a=await n.getTask(o,r);if(a){let c=Jo.parse({method:"notifications/tasks/status",params:a});await this.notification(c),wr(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,i,s)=>{let a=await n.getTask(o,r);if(!a)throw new R(M.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(wr(a.status))throw new R(M.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,i,s,r);let c=await n.getTask(o,r);if(c){let u=Jo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),wr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function O_(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function N_(e,t){let r={...e};for(let n in t){let o=n,i=t[o];if(i===void 0)continue;let s=r[o];O_(s)&&O_(i)?r[o]={...s,...i}:r[o]=i}return r}var b0=Zc(cf(),1),k0=Zc(x0(),1);function IO(){let e=new b0.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,k0.default)(e),e}var Na=class{constructor(t){this._ajv=t??IO()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Da=class{constructor(t){this._server=t}requestStream(t,r,n){return this._server.requestStream(t,r,n)}async getTask(t,r){return this._server.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._server.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._server.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._server.cancelTask({taskId:t},r)}};function S0(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function w0(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var ja=class extends Qs{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Qo.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.LOG_LEVEL_SEVERITY.get(i):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Na,this.setRequestHandler(np,n=>this._oninitialize(n)),this.setNotificationHandler(op,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(pp,async(n,o)=>{let i=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:s}=n.params,a=Qo.safeParse(s);return a.success&&this._loggingLevels.set(i,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Da(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=N_(this._capabilities,t)}setRequestHandler(t,r){let o=kr(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let i;if(_t(o)){let a=o;i=a._zod?.def?.value??a.value}else{let a=o;i=a._def?.value??a.value}if(typeof i!="string")throw new Error("Schema method literal must be a string");if(i==="tools/call"){let a=async(c,u)=>{let p=br(Hn,c);if(!p.success){let f=p.error instanceof Error?p.error.message:String(p.error);throw new R(M.InvalidParams,`Invalid tools/call request: ${f}`)}let{params:l}=p.data,d=await Promise.resolve(r(c,u));if(l.task){let f=br(Bn,d);if(!f.success){let g=f.error instanceof Error?f.error.message:String(f.error);throw new R(M.InvalidParams,`Invalid task creation result: ${g}`)}return f.data}let h=br(Vs,d);if(!h.success){let f=h.error instanceof Error?h.error.message:String(h.error);throw new R(M.InvalidParams,`Invalid tools/call result: ${f}`)}return h.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapabilityForMethod(t){switch(t){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);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 ${t})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);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 ${t})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);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 ${t})`);break;case"ping":case"initialize":break}}assertTaskCapability(t){w0(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&S0(this._capabilities.tasks?.requests,t,"Server")}async _oninitialize(t){let r=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:Mg.includes(r)?r:Ql,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"},zs)}async createMessage(t,r){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let n=t.messages[t.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],i=o.some(u=>u.type==="tool_result"),s=t.messages.length>1?t.messages[t.messages.length-2]:void 0,a=s?Array.isArray(s.content)?s.content:[s.content]:[],c=a.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(a.filter(l=>l.type==="tool_use").map(l=>l.id)),p=new Set(o.filter(l=>l.type==="tool_result").map(l=>l.toolUseId));if(u.size!==p.size||![...u].every(l=>p.has(l)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return t.tools?this.request({method:"sampling/createMessage",params:t},fp,r):this.request({method:"sampling/createMessage",params:t},dp,r)}async elicitInput(t,r){switch(t.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=t;return this.request({method:"elicitation/create",params:o},Hs,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=t.mode==="form"?t:{...t,mode:"form"},i=await this.request({method:"elicitation/create",params:o},Hs,r);if(i.action==="accept"&&i.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(i.content);if(!a.valid)throw new R(M.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(s){throw s instanceof R?s:new R(M.InternalError,`Error validating elicitation response: ${s instanceof Error?s.message:String(s)}`)}return i}}}createElicitationCompletionNotifier(t,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:t}},r)}async listRoots(t,r){return this.request({method:"roots/list",params:t},hp,r)}async sendLoggingMessage(t,r){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,r))return this.notification({method:"notifications/message",params:t})}async sendResourceUpdated(t){return this.notification({method:"notifications/resources/updated",params:t})}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 $0=Symbol.for("mcp.completable");function gf(e){return!!e&&typeof e=="object"&&$0 in e}function P0(e){return e[$0]?.complete}var T0;(function(e){e.Completable="McpCompletable"})(T0||(T0={}));var Ma=class e{static isTemplate(t){return/\{[^}\s]+\}/.test(t)}static validateLength(t,r,n){if(t.length>r)throw new Error(`${n} exceeds maximum length of ${r} characters (got ${t.length})`)}get variableNames(){return this.parts.flatMap(t=>typeof t=="string"?[]:t.names)}constructor(t){e.validateLength(t,1e6,"Template"),this.template=t,this.parts=this.parse(t)}toString(){return this.template}parse(t){let r=[],n="",o=0,i=0;for(;o<t.length;)if(t[o]==="{"){n&&(r.push(n),n="");let s=t.indexOf("}",o);if(s===-1)throw new Error("Unclosed template expression");if(i++,i>1e4)throw new Error("Template contains too many expressions (max 10000)");let a=t.slice(o+1,s),c=this.getOperator(a),u=a.includes("*"),p=this.getNames(a),l=p[0];for(let d of p)e.validateLength(d,1e6,"Variable name");r.push({name:l,operator:c,names:p,exploded:u}),o=s+1}else n+=t[o],o++;return n&&r.push(n),r}getOperator(t){return["+","#",".","/","?","&"].find(n=>t.startsWith(n))||""}getNames(t){let r=this.getOperator(t);return t.slice(r.length).split(",").map(n=>n.replace("*","").trim()).filter(n=>n.length>0)}encodeValue(t,r){return e.validateLength(t,1e6,"Variable value"),r==="+"||r==="#"?encodeURI(t):encodeURIComponent(t)}expandPart(t,r){if(t.operator==="?"||t.operator==="&"){let s=t.names.map(c=>{let u=r[c];if(u===void 0)return"";let p=Array.isArray(u)?u.map(l=>this.encodeValue(l,t.operator)).join(","):this.encodeValue(u.toString(),t.operator);return`${c}=${p}`}).filter(c=>c.length>0);return s.length===0?"":(t.operator==="?"?"?":"&")+s.join("&")}if(t.names.length>1){let s=t.names.map(a=>r[a]).filter(a=>a!==void 0);return s.length===0?"":s.map(a=>Array.isArray(a)?a[0]:a).join(",")}let n=r[t.name];if(n===void 0)return"";let i=(Array.isArray(n)?n:[n]).map(s=>this.encodeValue(s,t.operator));switch(t.operator){case"":return i.join(",");case"+":return i.join(",");case"#":return"#"+i.join(",");case".":return"."+i.join(".");case"/":return"/"+i.join("/");default:return i.join(",")}}expand(t){let r="",n=!1;for(let o of this.parts){if(typeof o=="string"){r+=o;continue}let i=this.expandPart(o,t);i&&((o.operator==="?"||o.operator==="&")&&n?r+=i.replace("?","&"):r+=i,(o.operator==="?"||o.operator==="&")&&(n=!0))}return r}escapeRegExp(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}partToRegExp(t){let r=[];for(let i of t.names)e.validateLength(i,1e6,"Variable name");if(t.operator==="?"||t.operator==="&"){for(let i=0;i<t.names.length;i++){let s=t.names[i],a=i===0?"\\"+t.operator:"&";r.push({pattern:a+this.escapeRegExp(s)+"=([^&]+)",name:s})}return r}let n,o=t.name;switch(t.operator){case"":n=t.exploded?"([^/,]+(?:,[^/,]+)*)":"([^/,]+)";break;case"+":case"#":n="(.+)";break;case".":n="\\.([^/,]+)";break;case"/":n="/"+(t.exploded?"([^/,]+(?:,[^/,]+)*)":"([^/,]+)");break;default:n="([^/]+)"}return r.push({pattern:n,name:o}),r}match(t){e.validateLength(t,1e6,"URI");let r="^",n=[];for(let a of this.parts)if(typeof a=="string")r+=this.escapeRegExp(a);else{let c=this.partToRegExp(a);for(let{pattern:u,name:p}of c)r+=u,n.push({name:p,exploded:a.exploded})}r+="$",e.validateLength(r,1e6,"Generated regex pattern");let o=new RegExp(r),i=t.match(o);if(!i)return null;let s={};for(let a=0;a<n.length;a++){let{name:c,exploded:u}=n[a],p=i[a+1],l=c.replace("*","");u&&p.includes(",")?s[l]=p.split(","):s[l]=p}return s}};var RO=/^[A-Za-z0-9._-]{1,128}$/;function AO(e){let t=[];if(e.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(e.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${e.length})`]};if(e.includes(" ")&&t.push("Tool name contains spaces, which may cause parsing issues"),e.includes(",")&&t.push("Tool name contains commas, which may cause parsing issues"),(e.startsWith("-")||e.endsWith("-"))&&t.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(e.startsWith(".")||e.endsWith("."))&&t.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!RO.test(e)){let r=e.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,i)=>i.indexOf(n)===o);return t.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:t}}return{isValid:!0,warnings:t}}function OO(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let r of t)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function _f(e){let t=AO(e);return OO(e,t.warnings),t.isValid}var La=class{constructor(t){this._mcpServer=t}registerToolTask(t,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${t}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(t,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var Za=class{constructor(t,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new ja(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new La(this)}),this._experimental}async connect(t){return await this.server.connect(t)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(Ar(Bs)),this.server.assertCanSetRequestHandler(Ar(Hn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Bs,()=>({tools:Object.entries(this._registeredTools).filter(([,t])=>t.enabled).map(([t,r])=>{let n={name:t,title:r.title,description:r.description,inputSchema:(()=>{let o=Fn(r.inputSchema);return o?xp(o,{strictUnions:!0,pipeStrategy:"input"}):NO})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=Fn(r.outputSchema);o&&(n.outputSchema=xp(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Hn,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new R(M.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new R(M.InvalidParams,`Tool ${t.params.name} disabled`);let o=!!t.params.task,i=n.execution?.taskSupport,s="createTask"in n.handler;if((i==="required"||i==="optional")&&!s)throw new R(M.InternalError,`Tool ${t.params.name} has taskSupport '${i}' but was not registered with registerToolTask`);if(i==="required"&&!o)throw new R(M.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(i==="optional"&&!o&&s)return await this.handleAutomaticTaskPolling(n,t,r);let a=await this.validateToolInput(n,t.params.arguments,t.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,t.params.name),c}catch(n){if(n instanceof R&&n.code===M.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(t){return{content:[{type:"text",text:t}],isError:!0}}async validateToolInput(t,r,n){if(!t.inputSchema)return;let i=Fn(t.inputSchema)??t.inputSchema,s=await bs(i,r);if(!s.success){let a="error"in s?s.error:"Unknown error",c=ks(a);throw new R(M.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return s.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new R(M.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=Fn(t.outputSchema),i=await bs(o,r.structuredContent);if(!i.success){let s="error"in i?i.error:"Unknown error",a=ks(s);throw new R(M.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(t,r,n){let o=t.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let s={...n,taskStore:n.taskStore};if(t.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,s))}else{let a=o;return await Promise.resolve(a.createTask(s))}}if(t.inputSchema){let s=o;return await Promise.resolve(s(r,n))}else{let s=o;return await Promise.resolve(s(n))}}async handleAutomaticTaskPolling(t,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(t,r.params.arguments,r.params.name),i=t.handler,s={...n,taskStore:n.taskStore},a=o?await Promise.resolve(i.createTask(o,s)):await Promise.resolve(i.createTask(s)),c=a.task.taskId,u=a.task,p=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(d=>setTimeout(d,p));let l=await n.taskStore.getTask(c);if(!l)throw new R(M.InternalError,`Task ${c} not found during polling`);u=l}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(Ar(Gs)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Gs,async t=>{switch(t.params.ref.type){case"ref/prompt":return e_(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return t_(t),this.handleResourceCompletion(t,t.params.ref);default:throw new R(M.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new R(M.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new R(M.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return zi;let i=kr(n.argsSchema)?.[t.params.argument.name];if(!gf(i))return zi;let s=P0(i);if(!s)return zi;let a=await s(t.params.argument.value,t.params.context);return z0(a)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(s=>s.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return zi;throw new R(M.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(t.params.argument.name);if(!o)return zi;let i=await o(t.params.argument.value,t.params.context);return z0(i)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(Ar(Ls)),this.server.assertCanSetRequestHandler(Ar(Zs)),this.server.assertCanSetRequestHandler(Ar(qs)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Ls,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([i,s])=>s.enabled).map(([i,s])=>({uri:i,name:s.name,...s.metadata})),o=[];for(let i of Object.values(this._registeredResourceTemplates)){if(!i.resourceTemplate.listCallback)continue;let s=await i.resourceTemplate.listCallback(r);for(let a of s.resources)o.push({...i.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(Zs,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(qs,async(t,r)=>{let n=new URL(t.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new R(M.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let i of Object.values(this._registeredResourceTemplates)){let s=i.resourceTemplate.uriTemplate.match(n.toString());if(s)return i.readCallback(n,s,r)}throw new R(M.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(Ar(Fs)),this.server.assertCanSetRequestHandler(Ar(Us)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Fs,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?jO(r.argsSchema):void 0}))})),this.server.setRequestHandler(Us,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new R(M.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new R(M.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let o=Fn(n.argsSchema),i=await bs(o,t.params.arguments);if(!i.success){let c="error"in i?i.error:"Unknown error",u=ks(c);throw new R(M.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${u}`)}let s=i.data,a=n.callback;return await Promise.resolve(a(s,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(t,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let i=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(t,void 0,r,o,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let s=this._createRegisteredResourceTemplate(t,void 0,r,o,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}registerResource(t,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let i=this._createRegisteredResourceTemplate(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}_createRegisteredResource(t,r,n,o,i){let s={name:t,title:r,metadata:o,readCallback:i,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=s)),typeof a.name<"u"&&(s.name=a.name),typeof a.title<"u"&&(s.title=a.title),typeof a.metadata<"u"&&(s.metadata=a.metadata),typeof a.callback<"u"&&(s.readCallback=a.callback),typeof a.enabled<"u"&&(s.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=s,s}_createRegisteredResourceTemplate(t,r,n,o,i){let s={resourceTemplate:n,title:r,metadata:o,readCallback:i,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==t&&(delete this._registeredResourceTemplates[t],u.name&&(this._registeredResourceTemplates[u.name]=s)),typeof u.title<"u"&&(s.title=u.title),typeof u.template<"u"&&(s.resourceTemplate=u.template),typeof u.metadata<"u"&&(s.metadata=u.metadata),typeof u.callback<"u"&&(s.readCallback=u.callback),typeof u.enabled<"u"&&(s.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=s;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),s}_createRegisteredPrompt(t,r,n,o,i){let s={title:r,description:n,argsSchema:o===void 0?void 0:ln(o),callback:i,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==t&&(delete this._registeredPrompts[t],a.name&&(this._registeredPrompts[a.name]=s)),typeof a.title<"u"&&(s.title=a.title),typeof a.description<"u"&&(s.description=a.description),typeof a.argsSchema<"u"&&(s.argsSchema=ln(a.argsSchema)),typeof a.callback<"u"&&(s.callback=a.callback),typeof a.enabled<"u"&&(s.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[t]=s,o&&Object.values(o).some(c=>{let u=c instanceof Qe?c._def?.innerType:c;return gf(u)})&&this.setCompletionRequestHandler(),s}_createRegisteredTool(t,r,n,o,i,s,a,c,u){_f(t);let p={title:r,description:n,inputSchema:E0(o),outputSchema:E0(i),annotations:s,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>p.update({enabled:!1}),enable:()=>p.update({enabled:!0}),remove:()=>p.update({name:null}),update:l=>{typeof l.name<"u"&&l.name!==t&&(typeof l.name=="string"&&_f(l.name),delete this._registeredTools[t],l.name&&(this._registeredTools[l.name]=p)),typeof l.title<"u"&&(p.title=l.title),typeof l.description<"u"&&(p.description=l.description),typeof l.paramsSchema<"u"&&(p.inputSchema=ln(l.paramsSchema)),typeof l.outputSchema<"u"&&(p.outputSchema=ln(l.outputSchema)),typeof l.callback<"u"&&(p.handler=l.callback),typeof l.annotations<"u"&&(p.annotations=l.annotations),typeof l._meta<"u"&&(p._meta=l._meta),typeof l.enabled<"u"&&(p.enabled=l.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=p,this.setToolRequestHandlers(),this.sendToolListChanged(),p}tool(t,...r){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let n,o,i,s;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];yf(c)?(o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!yf(r[0])&&(s=r.shift())):typeof c=="object"&&c!==null&&(s=r.shift())}let a=r[0];return this._createRegisteredTool(t,void 0,n,o,i,s,{taskSupport:"forbidden"},void 0,a)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:o,description:i,inputSchema:s,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(t,o,i,s,a,c,{taskSupport:"forbidden"},u,n)}prompt(t,...r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let i=r[0],s=this._createRegisteredPrompt(t,void 0,n,o,i);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),s}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:o,description:i,argsSchema:s}=r,a=this._createRegisteredPrompt(t,o,i,s,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,r){return this.server.sendLoggingMessage(t,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}},Ci=class{constructor(t,r){this._callbacks=r,this._uriTemplate=typeof t=="string"?new Ma(t):t}get uriTemplate(){return this._uriTemplate}get listCallback(){return this._callbacks.list}completeCallback(t){return this._callbacks.complete?.[t]}},NO={type:"object",properties:{}};function C0(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function DO(e){return"_def"in e||"_zod"in e||C0(e)}function yf(e){return typeof e!="object"||e===null||DO(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(C0)}function E0(e){if(e)return yf(e)?ln(e):e}function jO(e){let t=kr(e);return t?Object.entries(t).map(([r,n])=>{let o=mg(n),i=gg(n);return{name:r,description:o,required:!i}}):[]}function Ar(e){let r=kr(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Ss(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function z0(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var zi={completion:{values:[],hasMore:!1}};import R0 from"node:process";var qa=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
|
|
64
|
+
`);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),MO(r)}clear(){this._buffer=void 0}};function MO(e){return Hg.parse(JSON.parse(e))}function I0(e){return JSON.stringify(e)+`
|
|
65
|
+
`}var Fa=class{constructor(t=R0.stdin,r=R0.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new qa,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 t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}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(t){return new Promise(r=>{let n=I0(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{readFileSync as Lx,existsSync as Zx}from"node:fs";import{join as lD,resolve as Mx}from"node:path";function K0(e){return typeof e>"u"||e===null}function LO(e){return typeof e=="object"&&e!==null}function ZO(e){return Array.isArray(e)?e:K0(e)?[]:[e]}function qO(e,t){var r,n,o,i;if(t)for(i=Object.keys(t),r=0,n=i.length;r<n;r+=1)o=i[r],e[o]=t[o];return e}function FO(e,t){var r="",n;for(n=0;n<t;n+=1)r+=e;return r}function UO(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var BO=K0,VO=LO,HO=ZO,GO=FO,KO=UO,WO=qO,Ee={isNothing:BO,isObject:VO,toArray:HO,repeat:GO,isNegativeZero:KO,extend:WO};function W0(e,t){var r="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(r+=`
|
|
66
66
|
|
|
67
|
-
`+e.mark.snippet),n+" "+r):n}function
|
|
67
|
+
`+e.mark.snippet),n+" "+r):n}function Ri(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=W0(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Ri.prototype=Object.create(Error.prototype);Ri.prototype.constructor=Ri;Ri.prototype.toString=function(t){return this.name+": "+W0(this,t)};var We=Ri;function vf(e,t,r,n,o){var i="",s="",a=Math.floor(o/2)-1;return n-t>a&&(i=" ... ",t=n-a+i.length),r-n>a&&(s=" ...",r=n+a-s.length),{str:i+e.slice(t,r).replace(/\t/g,"\u2192")+s,pos:n-t+i.length}}function xf(e,t){return Ee.repeat(" ",t-e.length)+e}function JO(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],o=[],i,s=-1;i=r.exec(e.buffer);)o.push(i.index),n.push(i.index+i[0].length),e.position<=i.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var a="",c,u,p=Math.min(e.line+t.linesAfter,o.length).toString().length,l=t.maxLength-(t.indent+p+3);for(c=1;c<=t.linesBefore&&!(s-c<0);c++)u=vf(e.buffer,n[s-c],o[s-c],e.position-(n[s]-n[s-c]),l),a=Ee.repeat(" ",t.indent)+xf((e.line-c+1).toString(),p)+" | "+u.str+`
|
|
68
68
|
`+a;for(u=vf(e.buffer,n[s],o[s],e.position,l),a+=Ee.repeat(" ",t.indent)+xf((e.line+1).toString(),p)+" | "+u.str+`
|
|
69
69
|
`,a+=Ee.repeat("-",t.indent+p+3+u.pos)+`^
|
|
70
70
|
`,c=1;c<=t.linesAfter&&!(s+c>=o.length);c++)u=vf(e.buffer,n[s+c],o[s+c],e.position-(n[s]-n[s+c]),l),a+=Ee.repeat(" ",t.indent)+xf((e.line+c+1).toString(),p)+" | "+u.str+`
|
|
71
|
-
`;return a.replace(/\n$/,"")}var
|
|
72
|
-
\r`;function
|
|
73
|
-
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function
|
|
74
|
-
`,t-1))}function
|
|
71
|
+
`;return a.replace(/\n$/,"")}var YO=JO,QO=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],XO=["scalar","sequence","mapping"];function eN(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(n){t[String(n)]=r})}),t}function tN(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(QO.indexOf(r)===-1)throw new We('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=eN(t.styleAliases||null),XO.indexOf(this.kind)===-1)throw new We('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var je=tN;function A0(e,t){var r=[];return e[t].forEach(function(n){var o=r.length;r.forEach(function(i,s){i.tag===n.tag&&i.kind===n.kind&&i.multi===n.multi&&(o=s)}),r[o]=n}),r}function rN(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,r;function n(o){o.multi?(e.multi[o.kind].push(o),e.multi.fallback.push(o)):e[o.kind][o.tag]=e.fallback[o.tag]=o}for(t=0,r=arguments.length;t<r;t+=1)arguments[t].forEach(n);return e}function kf(e){return this.extend(e)}kf.prototype.extend=function(t){var r=[],n=[];if(t instanceof je)n.push(t);else if(Array.isArray(t))n=n.concat(t);else if(t&&(Array.isArray(t.implicit)||Array.isArray(t.explicit)))t.implicit&&(r=r.concat(t.implicit)),t.explicit&&(n=n.concat(t.explicit));else throw new We("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(i){if(!(i instanceof je))throw new We("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(i.loadKind&&i.loadKind!=="scalar")throw new We("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(i.multi)throw new We("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(i){if(!(i instanceof je))throw new We("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var o=Object.create(kf.prototype);return o.implicit=(this.implicit||[]).concat(r),o.explicit=(this.explicit||[]).concat(n),o.compiledImplicit=A0(o,"implicit"),o.compiledExplicit=A0(o,"explicit"),o.compiledTypeMap=rN(o.compiledImplicit,o.compiledExplicit),o};var J0=kf,Y0=new je("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Q0=new je("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),X0=new je("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),ex=new J0({explicit:[Y0,Q0,X0]});function nN(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function oN(){return null}function iN(e){return e===null}var tx=new je("tag:yaml.org,2002:null",{kind:"scalar",resolve:nN,construct:oN,predicate:iN,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function sN(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function aN(e){return e==="true"||e==="True"||e==="TRUE"}function cN(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var rx=new je("tag:yaml.org,2002:bool",{kind:"scalar",resolve:sN,construct:aN,predicate:cN,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function uN(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function lN(e){return 48<=e&&e<=55}function pN(e){return 48<=e&&e<=57}function dN(e){if(e===null)return!1;var t=e.length,r=0,n=!1,o;if(!t)return!1;if(o=e[r],(o==="-"||o==="+")&&(o=e[++r]),o==="0"){if(r+1===t)return!0;if(o=e[++r],o==="b"){for(r++;r<t;r++)if(o=e[r],o!=="_"){if(o!=="0"&&o!=="1")return!1;n=!0}return n&&o!=="_"}if(o==="x"){for(r++;r<t;r++)if(o=e[r],o!=="_"){if(!uN(e.charCodeAt(r)))return!1;n=!0}return n&&o!=="_"}if(o==="o"){for(r++;r<t;r++)if(o=e[r],o!=="_"){if(!lN(e.charCodeAt(r)))return!1;n=!0}return n&&o!=="_"}}if(o==="_")return!1;for(;r<t;r++)if(o=e[r],o!=="_"){if(!pN(e.charCodeAt(r)))return!1;n=!0}return!(!n||o==="_")}function fN(e){var t=e,r=1,n;if(t.indexOf("_")!==-1&&(t=t.replace(/_/g,"")),n=t[0],(n==="-"||n==="+")&&(n==="-"&&(r=-1),t=t.slice(1),n=t[0]),t==="0")return 0;if(n==="0"){if(t[1]==="b")return r*parseInt(t.slice(2),2);if(t[1]==="x")return r*parseInt(t.slice(2),16);if(t[1]==="o")return r*parseInt(t.slice(2),8)}return r*parseInt(t,10)}function hN(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!Ee.isNegativeZero(e)}var nx=new je("tag:yaml.org,2002:int",{kind:"scalar",resolve:dN,construct:fN,predicate:hN,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),mN=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function gN(e){return!(e===null||!mN.test(e)||e[e.length-1]==="_")}function _N(e){var t,r;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:r*parseFloat(t,10)}var yN=/^[-+]?[0-9]+e/;function vN(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Ee.isNegativeZero(e))return"-0.0";return r=e.toString(10),yN.test(r)?r.replace("e",".e"):r}function xN(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Ee.isNegativeZero(e))}var ox=new je("tag:yaml.org,2002:float",{kind:"scalar",resolve:gN,construct:_N,predicate:xN,represent:vN,defaultStyle:"lowercase"}),ix=ex.extend({implicit:[tx,rx,nx,ox]}),sx=ix,ax=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),cx=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function bN(e){return e===null?!1:ax.exec(e)!==null||cx.exec(e)!==null}function kN(e){var t,r,n,o,i,s,a,c=0,u=null,p,l,d;if(t=ax.exec(e),t===null&&(t=cx.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,o=+t[3],!t[4])return new Date(Date.UTC(r,n,o));if(i=+t[4],s=+t[5],a=+t[6],t[7]){for(c=t[7].slice(0,3);c.length<3;)c+="0";c=+c}return t[9]&&(p=+t[10],l=+(t[11]||0),u=(p*60+l)*6e4,t[9]==="-"&&(u=-u)),d=new Date(Date.UTC(r,n,o,i,s,a,c)),u&&d.setTime(d.getTime()-u),d}function SN(e){return e.toISOString()}var ux=new je("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:bN,construct:kN,instanceOf:Date,represent:SN});function wN(e){return e==="<<"||e===null}var lx=new je("tag:yaml.org,2002:merge",{kind:"scalar",resolve:wN}),Pf=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
72
|
+
\r`;function TN(e){if(e===null)return!1;var t,r,n=0,o=e.length,i=Pf;for(r=0;r<o;r++)if(t=i.indexOf(e.charAt(r)),!(t>64)){if(t<0)return!1;n+=6}return n%8===0}function $N(e){var t,r,n=e.replace(/[\r\n=]/g,""),o=n.length,i=Pf,s=0,a=[];for(t=0;t<o;t++)t%4===0&&t&&(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|i.indexOf(n.charAt(t));return r=o%4*6,r===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):r===18?(a.push(s>>10&255),a.push(s>>2&255)):r===12&&a.push(s>>4&255),new Uint8Array(a)}function PN(e){var t="",r=0,n,o,i=e.length,s=Pf;for(n=0;n<i;n++)n%3===0&&n&&(t+=s[r>>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]),r=(r<<8)+e[n];return o=i%3,o===0?(t+=s[r>>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]):o===2?(t+=s[r>>10&63],t+=s[r>>4&63],t+=s[r<<2&63],t+=s[64]):o===1&&(t+=s[r>>2&63],t+=s[r<<4&63],t+=s[64],t+=s[64]),t}function EN(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var px=new je("tag:yaml.org,2002:binary",{kind:"scalar",resolve:TN,construct:$N,predicate:EN,represent:PN}),zN=Object.prototype.hasOwnProperty,CN=Object.prototype.toString;function IN(e){if(e===null)return!0;var t=[],r,n,o,i,s,a=e;for(r=0,n=a.length;r<n;r+=1){if(o=a[r],s=!1,CN.call(o)!=="[object Object]")return!1;for(i in o)if(zN.call(o,i))if(!s)s=!0;else return!1;if(!s)return!1;if(t.indexOf(i)===-1)t.push(i);else return!1}return!0}function RN(e){return e!==null?e:[]}var dx=new je("tag:yaml.org,2002:omap",{kind:"sequence",resolve:IN,construct:RN}),AN=Object.prototype.toString;function ON(e){if(e===null)return!0;var t,r,n,o,i,s=e;for(i=new Array(s.length),t=0,r=s.length;t<r;t+=1){if(n=s[t],AN.call(n)!=="[object Object]"||(o=Object.keys(n),o.length!==1))return!1;i[t]=[o[0],n[o[0]]]}return!0}function NN(e){if(e===null)return[];var t,r,n,o,i,s=e;for(i=new Array(s.length),t=0,r=s.length;t<r;t+=1)n=s[t],o=Object.keys(n),i[t]=[o[0],n[o[0]]];return i}var fx=new je("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:ON,construct:NN}),DN=Object.prototype.hasOwnProperty;function jN(e){if(e===null)return!0;var t,r=e;for(t in r)if(DN.call(r,t)&&r[t]!==null)return!1;return!0}function MN(e){return e!==null?e:{}}var hx=new je("tag:yaml.org,2002:set",{kind:"mapping",resolve:jN,construct:MN}),Ef=sx.extend({implicit:[ux,lx],explicit:[px,dx,fx,hx]}),Nr=Object.prototype.hasOwnProperty,Ua=1,mx=2,gx=3,Ba=4,bf=1,LN=2,O0=3,ZN=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,qN=/[\x85\u2028\u2029]/,FN=/[,\[\]\{\}]/,_x=/^(?:!|!!|![a-z\-]+!)$/i,yx=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function N0(e){return Object.prototype.toString.call(e)}function Kt(e){return e===10||e===13}function kn(e){return e===9||e===32}function it(e){return e===9||e===32||e===10||e===13}function lo(e){return e===44||e===91||e===93||e===123||e===125}function UN(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function BN(e){return e===120?2:e===117?4:e===85?8:0}function VN(e){return 48<=e&&e<=57?e-48:-1}function D0(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
73
|
+
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function HN(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function vx(e,t,r){t==="__proto__"?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:r}):e[t]=r}var xx=new Array(256),bx=new Array(256);for(bn=0;bn<256;bn++)xx[bn]=D0(bn)?1:0,bx[bn]=D0(bn);var bn;function GN(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||Ef,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function kx(e,t){var r={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return r.snippet=YO(r),new We(t,r)}function D(e,t){throw kx(e,t)}function Va(e,t){e.onWarning&&e.onWarning.call(null,kx(e,t))}var j0={YAML:function(t,r,n){var o,i,s;t.version!==null&&D(t,"duplication of %YAML directive"),n.length!==1&&D(t,"YAML directive accepts exactly one argument"),o=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),o===null&&D(t,"ill-formed argument of the YAML directive"),i=parseInt(o[1],10),s=parseInt(o[2],10),i!==1&&D(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&Va(t,"unsupported YAML version of the document")},TAG:function(t,r,n){var o,i;n.length!==2&&D(t,"TAG directive accepts exactly two arguments"),o=n[0],i=n[1],_x.test(o)||D(t,"ill-formed tag handle (first argument) of the TAG directive"),Nr.call(t.tagMap,o)&&D(t,'there is a previously declared suffix for "'+o+'" tag handle'),yx.test(i)||D(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{D(t,"tag prefix is malformed: "+i)}t.tagMap[o]=i}};function Or(e,t,r,n){var o,i,s,a;if(t<r){if(a=e.input.slice(t,r),n)for(o=0,i=a.length;o<i;o+=1)s=a.charCodeAt(o),s===9||32<=s&&s<=1114111||D(e,"expected valid JSON character");else ZN.test(a)&&D(e,"the stream contains non-printable characters");e.result+=a}}function M0(e,t,r,n){var o,i,s,a;for(Ee.isObject(r)||D(e,"cannot merge mappings; the provided source object is unacceptable"),o=Object.keys(r),s=0,a=o.length;s<a;s+=1)i=o[s],Nr.call(t,i)||(vx(t,i,r[i]),n[i]=!0)}function po(e,t,r,n,o,i,s,a,c){var u,p;if(Array.isArray(o))for(o=Array.prototype.slice.call(o),u=0,p=o.length;u<p;u+=1)Array.isArray(o[u])&&D(e,"nested arrays are not supported inside keys"),typeof o=="object"&&N0(o[u])==="[object Object]"&&(o[u]="[object Object]");if(typeof o=="object"&&N0(o)==="[object Object]"&&(o="[object Object]"),o=String(o),t===null&&(t={}),n==="tag:yaml.org,2002:merge")if(Array.isArray(i))for(u=0,p=i.length;u<p;u+=1)M0(e,t,i[u],r);else M0(e,t,i,r);else!e.json&&!Nr.call(r,o)&&Nr.call(t,o)&&(e.line=s||e.line,e.lineStart=a||e.lineStart,e.position=c||e.position,D(e,"duplicated mapping key")),vx(t,o,i),delete r[o];return t}function zf(e){var t;t=e.input.charCodeAt(e.position),t===10?e.position++:t===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):D(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function Te(e,t,r){for(var n=0,o=e.input.charCodeAt(e.position);o!==0;){for(;kn(o);)o===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),o=e.input.charCodeAt(++e.position);if(t&&o===35)do o=e.input.charCodeAt(++e.position);while(o!==10&&o!==13&&o!==0);if(Kt(o))for(zf(e),o=e.input.charCodeAt(e.position),n++,e.lineIndent=0;o===32;)e.lineIndent++,o=e.input.charCodeAt(++e.position);else break}return r!==-1&&n!==0&&e.lineIndent<r&&Va(e,"deficient indentation"),n}function Ka(e){var t=e.position,r;return r=e.input.charCodeAt(t),!!((r===45||r===46)&&r===e.input.charCodeAt(t+1)&&r===e.input.charCodeAt(t+2)&&(t+=3,r=e.input.charCodeAt(t),r===0||it(r)))}function Cf(e,t){t===1?e.result+=" ":t>1&&(e.result+=Ee.repeat(`
|
|
74
|
+
`,t-1))}function KN(e,t,r){var n,o,i,s,a,c,u,p,l=e.kind,d=e.result,h;if(h=e.input.charCodeAt(e.position),it(h)||lo(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(o=e.input.charCodeAt(e.position+1),it(o)||r&&lo(o)))return!1;for(e.kind="scalar",e.result="",i=s=e.position,a=!1;h!==0;){if(h===58){if(o=e.input.charCodeAt(e.position+1),it(o)||r&&lo(o))break}else if(h===35){if(n=e.input.charCodeAt(e.position-1),it(n))break}else{if(e.position===e.lineStart&&Ka(e)||r&&lo(h))break;if(Kt(h))if(c=e.line,u=e.lineStart,p=e.lineIndent,Te(e,!1,-1),e.lineIndent>=t){a=!0,h=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=c,e.lineStart=u,e.lineIndent=p;break}}a&&(Or(e,i,s,!1),Cf(e,e.line-c),i=s=e.position,a=!1),kn(h)||(s=e.position+1),h=e.input.charCodeAt(++e.position)}return Or(e,i,s,!1),e.result?!0:(e.kind=l,e.result=d,!1)}function WN(e,t){var r,n,o;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=o=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(Or(e,n,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)n=e.position,e.position++,o=e.position;else return!0;else Kt(r)?(Or(e,n,o,!0),Cf(e,Te(e,!1,t)),n=o=e.position):e.position===e.lineStart&&Ka(e)?D(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);D(e,"unexpected end of the stream within a single quoted scalar")}function JN(e,t){var r,n,o,i,s,a;if(a=e.input.charCodeAt(e.position),a!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=n=e.position;(a=e.input.charCodeAt(e.position))!==0;){if(a===34)return Or(e,r,e.position,!0),e.position++,!0;if(a===92){if(Or(e,r,e.position,!0),a=e.input.charCodeAt(++e.position),Kt(a))Te(e,!1,t);else if(a<256&&xx[a])e.result+=bx[a],e.position++;else if((s=BN(a))>0){for(o=s,i=0;o>0;o--)a=e.input.charCodeAt(++e.position),(s=UN(a))>=0?i=(i<<4)+s:D(e,"expected hexadecimal character");e.result+=HN(i),e.position++}else D(e,"unknown escape sequence");r=n=e.position}else Kt(a)?(Or(e,r,n,!0),Cf(e,Te(e,!1,t)),r=n=e.position):e.position===e.lineStart&&Ka(e)?D(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}D(e,"unexpected end of the stream within a double quoted scalar")}function YN(e,t){var r=!0,n,o,i,s=e.tag,a,c=e.anchor,u,p,l,d,h,f=Object.create(null),g,_,v,y;if(y=e.input.charCodeAt(e.position),y===91)p=93,h=!1,a=[];else if(y===123)p=125,h=!0,a={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),y=e.input.charCodeAt(++e.position);y!==0;){if(Te(e,!0,t),y=e.input.charCodeAt(e.position),y===p)return e.position++,e.tag=s,e.anchor=c,e.kind=h?"mapping":"sequence",e.result=a,!0;r?y===44&&D(e,"expected the node content, but found ','"):D(e,"missed comma between flow collection entries"),_=g=v=null,l=d=!1,y===63&&(u=e.input.charCodeAt(e.position+1),it(u)&&(l=d=!0,e.position++,Te(e,!0,t))),n=e.line,o=e.lineStart,i=e.position,fo(e,t,Ua,!1,!0),_=e.tag,g=e.result,Te(e,!0,t),y=e.input.charCodeAt(e.position),(d||e.line===n)&&y===58&&(l=!0,y=e.input.charCodeAt(++e.position),Te(e,!0,t),fo(e,t,Ua,!1,!0),v=e.result),h?po(e,a,f,_,g,v,n,o,i):l?a.push(po(e,null,f,_,g,v,n,o,i)):a.push(g),Te(e,!0,t),y=e.input.charCodeAt(e.position),y===44?(r=!0,y=e.input.charCodeAt(++e.position)):r=!1}D(e,"unexpected end of the stream within a flow collection")}function QN(e,t){var r,n,o=bf,i=!1,s=!1,a=t,c=0,u=!1,p,l;if(l=e.input.charCodeAt(e.position),l===124)n=!1;else if(l===62)n=!0;else return!1;for(e.kind="scalar",e.result="";l!==0;)if(l=e.input.charCodeAt(++e.position),l===43||l===45)bf===o?o=l===43?O0:LN:D(e,"repeat of a chomping mode identifier");else if((p=VN(l))>=0)p===0?D(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?D(e,"repeat of an indentation width identifier"):(a=t+p-1,s=!0);else break;if(kn(l)){do l=e.input.charCodeAt(++e.position);while(kn(l));if(l===35)do l=e.input.charCodeAt(++e.position);while(!Kt(l)&&l!==0)}for(;l!==0;){for(zf(e),e.lineIndent=0,l=e.input.charCodeAt(e.position);(!s||e.lineIndent<a)&&l===32;)e.lineIndent++,l=e.input.charCodeAt(++e.position);if(!s&&e.lineIndent>a&&(a=e.lineIndent),Kt(l)){c++;continue}if(e.lineIndent<a){o===O0?e.result+=Ee.repeat(`
|
|
75
75
|
`,i?1+c:c):o===bf&&i&&(e.result+=`
|
|
76
|
-
`);break}for(n?
|
|
76
|
+
`);break}for(n?kn(l)?(u=!0,e.result+=Ee.repeat(`
|
|
77
77
|
`,i?1+c:c)):u?(u=!1,e.result+=Ee.repeat(`
|
|
78
78
|
`,c+1)):c===0?i&&(e.result+=" "):e.result+=Ee.repeat(`
|
|
79
79
|
`,c):e.result+=Ee.repeat(`
|
|
80
|
-
`,i?1+c:c),i=!0,s=!0,c=0,r=e.position;!
|
|
81
|
-
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var r=new
|
|
80
|
+
`,i?1+c:c),i=!0,s=!0,c=0,r=e.position;!Kt(l)&&l!==0;)l=e.input.charCodeAt(++e.position);Or(e,r,e.position,!1)}return!0}function L0(e,t){var r,n=e.tag,o=e.anchor,i=[],s,a=!1,c;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=i),c=e.input.charCodeAt(e.position);c!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,D(e,"tab characters must not be used in indentation")),!(c!==45||(s=e.input.charCodeAt(e.position+1),!it(s))));){if(a=!0,e.position++,Te(e,!0,-1)&&e.lineIndent<=t){i.push(null),c=e.input.charCodeAt(e.position);continue}if(r=e.line,fo(e,t,gx,!1,!0),i.push(e.result),Te(e,!0,-1),c=e.input.charCodeAt(e.position),(e.line===r||e.lineIndent>t)&&c!==0)D(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break}return a?(e.tag=n,e.anchor=o,e.kind="sequence",e.result=i,!0):!1}function XN(e,t,r){var n,o,i,s,a,c,u=e.tag,p=e.anchor,l={},d=Object.create(null),h=null,f=null,g=null,_=!1,v=!1,y;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=l),y=e.input.charCodeAt(e.position);y!==0;){if(!_&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,D(e,"tab characters must not be used in indentation")),n=e.input.charCodeAt(e.position+1),i=e.line,(y===63||y===58)&&it(n))y===63?(_&&(po(e,l,d,h,f,null,s,a,c),h=f=g=null),v=!0,_=!0,o=!0):_?(_=!1,o=!0):D(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,y=n;else{if(s=e.line,a=e.lineStart,c=e.position,!fo(e,r,mx,!1,!0))break;if(e.line===i){for(y=e.input.charCodeAt(e.position);kn(y);)y=e.input.charCodeAt(++e.position);if(y===58)y=e.input.charCodeAt(++e.position),it(y)||D(e,"a whitespace character is expected after the key-value separator within a block mapping"),_&&(po(e,l,d,h,f,null,s,a,c),h=f=g=null),v=!0,_=!1,o=!1,h=e.tag,f=e.result;else if(v)D(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=u,e.anchor=p,!0}else if(v)D(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=u,e.anchor=p,!0}if((e.line===i||e.lineIndent>t)&&(_&&(s=e.line,a=e.lineStart,c=e.position),fo(e,t,Ba,!0,o)&&(_?f=e.result:g=e.result),_||(po(e,l,d,h,f,g,s,a,c),h=f=g=null),Te(e,!0,-1),y=e.input.charCodeAt(e.position)),(e.line===i||e.lineIndent>t)&&y!==0)D(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return _&&po(e,l,d,h,f,null,s,a,c),v&&(e.tag=u,e.anchor=p,e.kind="mapping",e.result=l),v}function e4(e){var t,r=!1,n=!1,o,i,s;if(s=e.input.charCodeAt(e.position),s!==33)return!1;if(e.tag!==null&&D(e,"duplication of a tag property"),s=e.input.charCodeAt(++e.position),s===60?(r=!0,s=e.input.charCodeAt(++e.position)):s===33?(n=!0,o="!!",s=e.input.charCodeAt(++e.position)):o="!",t=e.position,r){do s=e.input.charCodeAt(++e.position);while(s!==0&&s!==62);e.position<e.length?(i=e.input.slice(t,e.position),s=e.input.charCodeAt(++e.position)):D(e,"unexpected end of the stream within a verbatim tag")}else{for(;s!==0&&!it(s);)s===33&&(n?D(e,"tag suffix cannot contain exclamation marks"):(o=e.input.slice(t-1,e.position+1),_x.test(o)||D(e,"named tag handle cannot contain such characters"),n=!0,t=e.position+1)),s=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),FN.test(i)&&D(e,"tag suffix cannot contain flow indicator characters")}i&&!yx.test(i)&&D(e,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch{D(e,"tag name is malformed: "+i)}return r?e.tag=i:Nr.call(e.tagMap,o)?e.tag=e.tagMap[o]+i:o==="!"?e.tag="!"+i:o==="!!"?e.tag="tag:yaml.org,2002:"+i:D(e,'undeclared tag handle "'+o+'"'),!0}function t4(e){var t,r;if(r=e.input.charCodeAt(e.position),r!==38)return!1;for(e.anchor!==null&&D(e,"duplication of an anchor property"),r=e.input.charCodeAt(++e.position),t=e.position;r!==0&&!it(r)&&!lo(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&D(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function r4(e){var t,r,n;if(n=e.input.charCodeAt(e.position),n!==42)return!1;for(n=e.input.charCodeAt(++e.position),t=e.position;n!==0&&!it(n)&&!lo(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&D(e,"name of an alias node must contain at least one character"),r=e.input.slice(t,e.position),Nr.call(e.anchorMap,r)||D(e,'unidentified alias "'+r+'"'),e.result=e.anchorMap[r],Te(e,!0,-1),!0}function fo(e,t,r,n,o){var i,s,a,c=1,u=!1,p=!1,l,d,h,f,g,_;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,i=s=a=Ba===r||gx===r,n&&Te(e,!0,-1)&&(u=!0,e.lineIndent>t?c=1:e.lineIndent===t?c=0:e.lineIndent<t&&(c=-1)),c===1)for(;e4(e)||t4(e);)Te(e,!0,-1)?(u=!0,a=i,e.lineIndent>t?c=1:e.lineIndent===t?c=0:e.lineIndent<t&&(c=-1)):a=!1;if(a&&(a=u||o),(c===1||Ba===r)&&(Ua===r||mx===r?g=t:g=t+1,_=e.position-e.lineStart,c===1?a&&(L0(e,_)||XN(e,_,g))||YN(e,g)?p=!0:(s&&QN(e,g)||WN(e,g)||JN(e,g)?p=!0:r4(e)?(p=!0,(e.tag!==null||e.anchor!==null)&&D(e,"alias node should not have any properties")):KN(e,g,Ua===r)&&(p=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):c===0&&(p=a&&L0(e,_))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&D(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),l=0,d=e.implicitTypes.length;l<d;l+=1)if(f=e.implicitTypes[l],f.resolve(e.result)){e.result=f.construct(e.result),e.tag=f.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(Nr.call(e.typeMap[e.kind||"fallback"],e.tag))f=e.typeMap[e.kind||"fallback"][e.tag];else for(f=null,h=e.typeMap.multi[e.kind||"fallback"],l=0,d=h.length;l<d;l+=1)if(e.tag.slice(0,h[l].tag.length)===h[l].tag){f=h[l];break}f||D(e,"unknown tag !<"+e.tag+">"),e.result!==null&&f.kind!==e.kind&&D(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+f.kind+'", not "'+e.kind+'"'),f.resolve(e.result,e.tag)?(e.result=f.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):D(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||p}function n4(e){var t=e.position,r,n,o,i=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(s=e.input.charCodeAt(e.position))!==0&&(Te(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(i=!0,s=e.input.charCodeAt(++e.position),r=e.position;s!==0&&!it(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(r,e.position),o=[],n.length<1&&D(e,"directive name must not be less than one character in length");s!==0;){for(;kn(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!Kt(s));break}if(Kt(s))break;for(r=e.position;s!==0&&!it(s);)s=e.input.charCodeAt(++e.position);o.push(e.input.slice(r,e.position))}s!==0&&zf(e),Nr.call(j0,n)?j0[n](e,n,o):Va(e,'unknown document directive "'+n+'"')}if(Te(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,Te(e,!0,-1)):i&&D(e,"directives end mark is expected"),fo(e,e.lineIndent-1,Ba,!1,!0),Te(e,!0,-1),e.checkLineBreaks&&qN.test(e.input.slice(t,e.position))&&Va(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Ka(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Te(e,!0,-1));return}if(e.position<e.length-1)D(e,"end of the stream or a document separator is expected");else return}function Sx(e,t){e=String(e),t=t||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
81
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var r=new GN(e,t),n=e.indexOf("\0");for(n!==-1&&(r.position=n,D(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)n4(r);return r.documents}function o4(e,t,r){t!==null&&typeof t=="object"&&typeof r>"u"&&(r=t,t=null);var n=Sx(e,r);if(typeof t!="function")return n;for(var o=0,i=n.length;o<i;o+=1)t(n[o])}function i4(e,t){var r=Sx(e,t);if(r.length!==0){if(r.length===1)return r[0];throw new We("expected a single document in the stream, but found more")}}var s4=o4,a4=i4,wx={loadAll:s4,load:a4},Tx=Object.prototype.toString,$x=Object.prototype.hasOwnProperty,If=65279,c4=9,Ai=10,u4=13,l4=32,p4=33,d4=34,Sf=35,f4=37,h4=38,m4=39,g4=42,Px=44,_4=45,Ha=58,y4=61,v4=62,x4=63,b4=64,Ex=91,zx=93,k4=96,Cx=123,S4=124,Ix=125,Ue={};Ue[0]="\\0";Ue[7]="\\a";Ue[8]="\\b";Ue[9]="\\t";Ue[10]="\\n";Ue[11]="\\v";Ue[12]="\\f";Ue[13]="\\r";Ue[27]="\\e";Ue[34]='\\"';Ue[92]="\\\\";Ue[133]="\\N";Ue[160]="\\_";Ue[8232]="\\L";Ue[8233]="\\P";var w4=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],T4=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function $4(e,t){var r,n,o,i,s,a,c;if(t===null)return{};for(r={},n=Object.keys(t),o=0,i=n.length;o<i;o+=1)s=n[o],a=String(t[s]),s.slice(0,2)==="!!"&&(s="tag:yaml.org,2002:"+s.slice(2)),c=e.compiledTypeMap.fallback[s],c&&$x.call(c.styleAliases,a)&&(a=c.styleAliases[a]),r[s]=a;return r}function P4(e){var t,r,n;if(t=e.toString(16).toUpperCase(),e<=255)r="x",n=2;else if(e<=65535)r="u",n=4;else if(e<=4294967295)r="U",n=8;else throw new We("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+Ee.repeat("0",n-t.length)+t}var E4=1,Oi=2;function z4(e){this.schema=e.schema||Ef,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=Ee.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=$4(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?Oi:E4,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Z0(e,t){for(var r=Ee.repeat(" ",t),n=0,o=-1,i="",s,a=e.length;n<a;)o=e.indexOf(`
|
|
82
82
|
`,n),o===-1?(s=e.slice(n),n=a):(s=e.slice(n,o+1),n=o+1),s.length&&s!==`
|
|
83
|
-
`&&(i+=r),i+=s;return i}function
|
|
84
|
-
`+Ee.repeat(" ",e.indent*t)}function
|
|
83
|
+
`&&(i+=r),i+=s;return i}function wf(e,t){return`
|
|
84
|
+
`+Ee.repeat(" ",e.indent*t)}function C4(e,t){var r,n,o;for(r=0,n=e.implicitTypes.length;r<n;r+=1)if(o=e.implicitTypes[r],o.resolve(t))return!0;return!1}function Ga(e){return e===l4||e===c4}function Ni(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==If||65536<=e&&e<=1114111}function q0(e){return Ni(e)&&e!==If&&e!==u4&&e!==Ai}function F0(e,t,r){var n=q0(e),o=n&&!Ga(e);return(r?n:n&&e!==Px&&e!==Ex&&e!==zx&&e!==Cx&&e!==Ix)&&e!==Sf&&!(t===Ha&&!o)||q0(t)&&!Ga(t)&&e===Sf||t===Ha&&o}function I4(e){return Ni(e)&&e!==If&&!Ga(e)&&e!==_4&&e!==x4&&e!==Ha&&e!==Px&&e!==Ex&&e!==zx&&e!==Cx&&e!==Ix&&e!==Sf&&e!==h4&&e!==g4&&e!==p4&&e!==S4&&e!==y4&&e!==v4&&e!==m4&&e!==d4&&e!==f4&&e!==b4&&e!==k4}function R4(e){return!Ga(e)&&e!==Ha}function Ii(e,t){var r=e.charCodeAt(t),n;return r>=55296&&r<=56319&&t+1<e.length&&(n=e.charCodeAt(t+1),n>=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}function Rx(e){var t=/^\n* /;return t.test(e)}var Ax=1,Tf=2,Ox=3,Nx=4,uo=5;function A4(e,t,r,n,o,i,s,a){var c,u=0,p=null,l=!1,d=!1,h=n!==-1,f=-1,g=I4(Ii(e,0))&&R4(Ii(e,e.length-1));if(t||s)for(c=0;c<e.length;u>=65536?c+=2:c++){if(u=Ii(e,c),!Ni(u))return uo;g=g&&F0(u,p,a),p=u}else{for(c=0;c<e.length;u>=65536?c+=2:c++){if(u=Ii(e,c),u===Ai)l=!0,h&&(d=d||c-f-1>n&&e[f+1]!==" ",f=c);else if(!Ni(u))return uo;g=g&&F0(u,p,a),p=u}d=d||h&&c-f-1>n&&e[f+1]!==" "}return!l&&!d?g&&!s&&!o(e)?Ax:i===Oi?uo:Tf:r>9&&Rx(e)?uo:s?i===Oi?uo:Tf:d?Nx:Ox}function O4(e,t,r,n,o){e.dump=(function(){if(t.length===0)return e.quotingType===Oi?'""':"''";if(!e.noCompatMode&&(w4.indexOf(t)!==-1||T4.test(t)))return e.quotingType===Oi?'"'+t+'"':"'"+t+"'";var i=e.indent*Math.max(1,r),s=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),a=n||e.flowLevel>-1&&r>=e.flowLevel;function c(u){return C4(e,u)}switch(A4(t,a,e.indent,s,c,e.quotingType,e.forceQuotes&&!n,o)){case Ax:return t;case Tf:return"'"+t.replace(/'/g,"''")+"'";case Ox:return"|"+U0(t,e.indent)+B0(Z0(t,i));case Nx:return">"+U0(t,e.indent)+B0(Z0(N4(t,s),i));case uo:return'"'+D4(t)+'"';default:throw new We("impossible error: invalid scalar style")}})()}function U0(e,t){var r=Rx(e)?String(t):"",n=e[e.length-1]===`
|
|
85
85
|
`,o=n&&(e[e.length-2]===`
|
|
86
86
|
`||e===`
|
|
87
87
|
`),i=o?"+":n?"":"-";return r+i+`
|
|
88
|
-
`}function
|
|
89
|
-
`?e.slice(0,-1):e}function
|
|
90
|
-
`);return u=u!==-1?u:e.length,r.lastIndex=u,
|
|
88
|
+
`}function B0(e){return e[e.length-1]===`
|
|
89
|
+
`?e.slice(0,-1):e}function N4(e,t){for(var r=/(\n+)([^\n]*)/g,n=(function(){var u=e.indexOf(`
|
|
90
|
+
`);return u=u!==-1?u:e.length,r.lastIndex=u,V0(e.slice(0,u),t)})(),o=e[0]===`
|
|
91
91
|
`||e[0]===" ",i,s;s=r.exec(e);){var a=s[1],c=s[2];i=c[0]===" ",n+=a+(!o&&!i&&c!==""?`
|
|
92
|
-
`:"")+
|
|
92
|
+
`:"")+V0(c,t),o=i}return n}function V0(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,n,o=0,i,s=0,a=0,c="";n=r.exec(e);)a=n.index,a-o>t&&(i=s>o?s:a,c+=`
|
|
93
93
|
`+e.slice(o,i),o=i+1),s=a;return c+=`
|
|
94
94
|
`,e.length-o>t&&s>o?c+=e.slice(o,s)+`
|
|
95
|
-
`+e.slice(s+1):c+=e.slice(o),c.slice(1)}function
|
|
96
|
-
`:""}var
|
|
97
|
-
GODD_CONFIG \u74B0\u5883\u5909\u6570\u307E\u305F\u306F .cursor/mcp.json \u306E env.GODD_CONFIG \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);let r=Mx(t,"utf-8"),n=Dr.load(r);return Nx.parse(n)}function MN(e){let t=Dr.load(e);return Ox.parse(t)}function Af(e,t){if(!jN.test(e))throw new Error(`\u30B9\u30BF\u30C3\u30AF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u540D\u304C\u4E0D\u6B63\u3067\u3059: '${e}' \u2014 \u82F1\u6570\u5B57\u30FB\u30CF\u30A4\u30D5\u30F3\u30FB\u30C9\u30C3\u30C8\u30FB\u30A2\u30F3\u30C0\u30FC\u30B9\u30B3\u30A2\u306E\u307F\u4F7F\u7528\u53EF\u80FD\u3067\u3059\u3002`);let r=t??NN(process.cwd(),"stacks"),n=jx(r,`${e}.yaml`);if(!n.startsWith(jx(r)))throw new Error(`\u30B9\u30BF\u30C3\u30AF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\u304C\u4E0D\u6B63\u3067\u3059: '${e}'`);if(!Dx(n))throw new Error(`\u30B9\u30BF\u30C3\u30AF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB '${e}' \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${n}`);let o=Mx(n,"utf-8");return MN(o)}function st(e){return e instanceof Error?e.message:String(e)}import{readFileSync as IM,readdirSync as RM,existsSync as AM}from"node:fs";import{join as $o,basename as OM}from"node:path";import{createDecipheriv as NM}from"node:crypto";var Oc=Zc(Ck(),1);Oc.default.registerHelper("eq",function(e,t){return e===t});var Th=new Map,zM=new Map;function Qi(e,t){Oc.default.registerPartial(e,t)}function fr(e,t){zM.set(e,t),Th.set(e,Oc.default.compile(t))}function CM(e,t){return{profile_name:e.name,stacks:e.stacks,frontend:e.frontend?{...e.frontend,mindset:""}:void 0,backend:e.backend?{...e.backend,mindset:""}:void 0,quality_gate:e.quality_gate,tools:e.tools??[],vendor:e.vendor??[],...t}}function Ik(e,t){let r=Th.get(`mindset:${e}`);return r?r(t):`[Mindset '${e}' not found]`}function Rk(e,t,r){let n=Th.get(`prompt:${e}`);if(!n)throw new Error(`\u30D7\u30ED\u30F3\u30D7\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 '${e}' \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093`);let o=CM(t,r);if(t.frontend?.mindset_template){let i=Ik(t.frontend.mindset_template,o);o.frontend.mindset=i}if(t.backend?.mindset_template){let i=Ik(t.backend.mindset_template,o);o.backend.mindset=i}return n(o)}function Nc(e,t){if(AM(e))for(let r of RM(e)){if(!r.endsWith(".hbs"))continue;let n=OM(r,".hbs");try{let o=IM($o(e,r),"utf-8");t(n,o)}catch(o){console.error(`[GoDD] \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u8AAD\u307F\u8FBC\u307F\u30B9\u30AD\u30C3\u30D7: ${$o(e,r)} \u2014 ${st(o)}`)}}}function $h(e){Nc($o(e,"partials"),(t,r)=>Qi(t,r)),Nc($o(e,"prompts"),(t,r)=>fr(`prompt:${t}`,r)),Nc($o(e,"mindsets"),(t,r)=>fr(`mindset:${t}`,r)),Nc($o(e,"agents"),(t,r)=>fr(`agent:${t}`,r))}async function jM(e,t){let{pbkdf2:r}=await import("node:crypto");return new Promise((n,o)=>{r(e,t,1e5,32,"sha256",(i,s)=>{i?o(i):n(s)})})}async function MM(e,t){let r;try{r=JSON.parse(e)}catch(p){throw new Error(`\u6697\u53F7\u5316\u30D0\u30F3\u30C9\u30EB\u306E JSON \u30D1\u30FC\u30B9\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${st(p)}`)}if(r.version!==1)throw new Error(`\u672A\u5BFE\u5FDC\u306E\u30D0\u30F3\u30C9\u30EB\u30D0\u30FC\u30B8\u30E7\u30F3: ${r.version}`);let n=Buffer.from(r.salt,"hex"),o=Buffer.from(r.iv,"hex"),i=Buffer.from(r.tag,"hex"),s=Buffer.from(r.data,"base64"),a=await jM(t,n),c=NM("aes-256-gcm",a,o);c.setAuthTag(i);let u=Buffer.concat([c.update(s),c.final()]);for(let[p,l]of Object.entries(r.templates)){if(!Number.isInteger(l.offset)||!Number.isInteger(l.length)||l.offset<0||l.length<0||l.offset+l.length>u.length)throw new Error(`\u30D0\u30F3\u30C9\u30EB\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 "${p}" \u306E offset/length \u304C\u4E0D\u6B63\u3067\u3059 (offset=${l.offset}, length=${l.length}, bufferSize=${u.length})`);let d=u.subarray(l.offset,l.offset+l.length).toString("utf-8"),h=p.includes(":")?p.split(":").slice(1).join(":"):p;l.type==="partial"?Qi(h,d):fr(`${l.type}:${h}`,d)}}async function Ak(e){return!1}import{createHash as DM}from"node:crypto";import{hostname as LM}from"node:os";function ZM(){let e=`${LM()}-${process.env.USERNAME??process.env.USER??"unknown"}`;return DM("sha256").update(e).digest("hex").slice(0,32)}var qM=m.object({valid:m.boolean(),expires_at:m.string().nullable().optional().default(null),error:m.string().nullable().optional().default(null)});async function Ok(e){let t=`${e.registry_url}/v1/auth/validate`,r=ZM(),n=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({license_key:e.license_key,machine_id:r}),signal:AbortSignal.timeout(1e4)});if(!n.ok)throw new Error(`Registry API \u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${n.status} ${n.statusText}`);let o=await n.text(),i;try{i=JSON.parse(o)}catch{throw new Error(`Registry API \u306E\u30EC\u30B9\u30DD\u30F3\u30B9\u304C\u4E0D\u6B63\u306A JSON \u3067\u3059: ${o.slice(0,200)}`)}let s=qM.safeParse(i);if(!s.success)throw new Error(`Registry API \u306E\u30EC\u30B9\u30DD\u30F3\u30B9\u304C\u30B9\u30AD\u30FC\u30DE\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093: ${s.error.message}`);return s.data}var FM=m.object({version:m.number(),salt:m.string(),iv:m.string(),tag:m.string(),data:m.string(),templates:m.record(m.object({type:m.string()}))});async function Nk(e,t){let r=e.components??[];if(r.length===0)return null;let n=new URLSearchParams({components:r.join(","),language:e.language}),o=`${e.registry_url}/v1/bundle?${n.toString()}`,i={Authorization:`Bearer ${e.license_key}`};t&&(i["If-None-Match"]=`"${t}"`);let s=await fetch(o,{headers:i,signal:AbortSignal.timeout(1e4)});if(s.status===304)return null;if(!s.ok){let d=await s.text();throw new Error(`Registry API \u30D0\u30F3\u30C9\u30EB\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${s.status} \u2014 ${d}`)}let a=await s.text(),c;try{c=JSON.parse(a)}catch{throw new Error(`Registry API \u306E\u30D0\u30F3\u30C9\u30EB\u30EC\u30B9\u30DD\u30F3\u30B9\u304C\u4E0D\u6B63\u306A JSON \u3067\u3059: ${a.slice(0,200)}`)}let u=FM.safeParse(c);if(!u.success)throw new Error(`Registry API \u306E\u30D0\u30F3\u30C9\u30EB\u30EC\u30B9\u30DD\u30F3\u30B9\u304C\u30B9\u30AD\u30FC\u30DE\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093: ${u.error.message}`);let p=u.data,l=s.headers.get("ETag")?.replace(/"/g,"")??"";return{bundle:p,etag:l}}async function jk(e,t){let{pbkdf2:r}=await import("node:crypto"),{createDecipheriv:n}=await import("node:crypto"),o=Buffer.from(e.salt,"hex"),i=Buffer.from(e.iv,"hex"),s=Buffer.from(e.tag,"hex"),a=Buffer.from(e.data,"base64"),c=await new Promise((l,d)=>{r(t,o,1e5,32,"sha256",(h,f)=>{h?d(h):l(f)})}),u=n("aes-256-gcm",c,i);u.setAuthTag(s);let p=Buffer.concat([u.update(a),u.final()]);try{return JSON.parse(p.toString("utf-8"))}catch(l){throw new Error(`Registry API \u30D0\u30F3\u30C9\u30EB\u306E\u5FA9\u53F7\u7D50\u679C\u304C\u4E0D\u6B63\u306A JSON \u3067\u3059: ${st(l)}`)}}import{createHash as UM,createCipheriv as BM,createDecipheriv as VM,randomBytes as Mk,pbkdf2 as HM}from"node:crypto";import{existsSync as jc,mkdirSync as GM,readFileSync as Ph,writeFileSync as Dk}from"node:fs";import{homedir as KM}from"node:os";import{join as Po}from"node:path";var WM=600*60*1e3;function Eh(){let e=process.env.HOME??process.env.USERPROFILE??KM(),t=Po(e,".godd","cache");return jc(t)||GM(t,{recursive:!0}),t}function zh(e,t){let r=`${[...e].sort().join(",")}_${t}`;return UM("sha256").update(r).digest("hex").slice(0,16)}function Lk(e,t){return new Promise((r,n)=>{HM(e,t,5e4,32,"sha256",(o,i)=>{o?n(o):r(i)})})}async function JM(e,t){let r=Mk(32),n=await Lk(t,r),o=Mk(12),i=BM("aes-256-gcm",n,o),s=Buffer.concat([i.update(e),i.final()]),a=i.getAuthTag();return Buffer.concat([r,o,a,s])}async function YM(e,t){let r=e.subarray(0,32),n=e.subarray(32,44),o=e.subarray(44,60),i=e.subarray(60),s=await Lk(t,r),a=VM("aes-256-gcm",s,n);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()])}async function Zk(e,t,r,n,o){let i=Eh(),s=zh(r,n),a=await JM(Buffer.from(e,"utf-8"),o);Dk(Po(i,`bundle-${s}.enc`),a);let c={etag:t,timestamp:Date.now(),components:r,language:n,profileHash:s};Dk(Po(i,"meta.json"),JSON.stringify(c,null,2),"utf-8")}async function qk(e,t,r){let n=Eh(),o=Po(n,"meta.json");if(!jc(o))return null;let i;try{i=JSON.parse(Ph(o,"utf-8"))}catch{return null}let s=zh(e,t);if(i.profileHash!==s)return null;let a=Po(n,`bundle-${s}.enc`);if(!jc(a))return null;try{let c=Ph(a);return{data:(await YM(c,r)).toString("utf-8"),etag:i.etag,isExpired:Date.now()-i.timestamp>WM}}catch{return null}}function Fk(e,t){let r=Eh(),n=Po(r,"meta.json");if(jc(n))try{let o=JSON.parse(Ph(n,"utf-8")),i=zh(e,t);return o.profileHash!==i?void 0:o.etag}catch{return}}function Xi(e){for(let[t,r]of Object.entries(e.partials))Qi(t,r);for(let[t,r]of Object.entries(e.prompts))fr(`prompt:${t}`,r);for(let[t,r]of Object.entries(e.agents))fr(`agent:${t}`,r);for(let[t,r]of Object.entries(e.mindsets))fr(`mindset:${t}`,r)}import{execSync as QM}from"node:child_process";import{existsSync as XM,readFileSync as eD}from"node:fs";import{join as tD}from"node:path";function Ch(e){let t=e??process.cwd();try{let r=QM("git config --get remote.origin.url",{encoding:"utf-8",cwd:t,timeout:5e3}).trim();if(r)return r}catch{}try{let r=tD(t,".git","config");return XM(r)?eD(r,"utf-8").match(/\[remote\s+"origin"\][^[]*url\s*=\s*(.+)/)?.[1]?.trim()??null:null}catch{return null}}var Uk=3600*1e3,Ih=new Map;async function Rh(e,t){let r=Ch();if(!r)throw new Error("Git \u30EA\u30E2\u30FC\u30C8 (origin) \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002godd init \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002");let n=await fetch(`${e}/v1/repos/register`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify({remote_url:r}),signal:AbortSignal.timeout(1e4)});if(!n.ok){let i=(await n.json().catch(()=>({detail:n.statusText}))).detail,s=typeof i=="string"?i:i!=null?JSON.stringify(i):n.statusText;throw new Error(`\u30EA\u30DD\u30B8\u30C8\u30EA\u691C\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${s}`)}Ih.set(r,{verified:!0,verifiedAt:Date.now()})}function rD(e){if(e){let t=Ih.get(e);return t?Date.now()-t.verifiedAt<Uk:!1}for(let t of Ih.values())if(Date.now()-t.verifiedAt<Uk)return!0;return!1}async function Bk(e,t){let r=Ch();r&&rD(r)||await Rh(e,t)}import{existsSync as ke,readFileSync as Vk,readdirSync as es,statSync as Ah}from"node:fs";import{join as K,basename as nD}from"node:path";function Eo(e){try{return ke(e)?JSON.parse(Vk(e,"utf-8")):null}catch{return null}}function hr(e,t=4096){try{return ke(e)?Vk(e).subarray(0,t).toString("utf-8"):""}catch{return""}}var oD={"browser-use":{description:"Python AI \u30D6\u30E9\u30A6\u30B6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8 \u2014 Web\u30D6\u30E9\u30A6\u30B6\u3092\u81EA\u52D5\u64CD\u4F5C",runtime:"python",setupHint:"uv sync && uv run browser-use install"},"android-use":{description:"Python Android AI \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8 \u2014 Android\u7AEF\u672B\u3092ADB\u3067\u81EA\u52D5\u64CD\u4F5C",runtime:"python",setupHint:"python -m venv .venv && pip install -r requirements.txt"},"react-grab":{description:"Node.js React \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B3\u30D4\u30FC\u30C4\u30FC\u30EB \u2014 React\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30C4\u30EA\u30FC\u3092\u62BD\u51FA",runtime:"node",setupHint:"pnpm install && pnpm build"}};function iD(e){let t=K(e,"vendor");if(!ke(t))return[];let r=[];try{for(let n of es(t)){let o=K(t,n);if(!Ah(o).isDirectory())continue;let i=oD[n];if(i)r.push({name:n,path:o,description:i.description,runtime:i.runtime,setupHint:i.setupHint});else{let s=ke(K(o,"pyproject.toml")),a=ke(K(o,"package.json")),c=s?"python":a?"node":"unknown";r.push({name:n,path:o,description:`vendor/${n}`,runtime:c,setupHint:c==="python"?"uv sync":"pnpm install"})}}}catch{}return r}function sD(e){let t=[],r=K(e,"backend","pyproject.toml"),n=K(e,"backend","requirements.txt");if(ke(r)){let _=hr(r);_.includes("fastapi")&&t.push({id:"fastapi",label:"FastAPI",evidence:"backend/pyproject.toml \u306B fastapi \u3092\u691C\u51FA"}),_.includes("django")&&t.push({id:"django",label:"Django",evidence:"backend/pyproject.toml \u306B django \u3092\u691C\u51FA"})}else ke(n)&&hr(n).includes("fastapi")&&t.push({id:"fastapi",label:"FastAPI",evidence:"backend/requirements.txt \u306B fastapi \u3092\u691C\u51FA"});let o=Eo(K(e,"frontend","package.json")),i=Eo(K(e,"package.json")),s=Eo(K(e,"src","package.json"));for(let[_,v]of[["frontend/package.json",o],["package.json",i],["src/package.json",s]]){if(!v)continue;let y={...v.dependencies,...v.devDependencies};y.react&&t.push({id:"react",label:"React",evidence:`${_} \u306B react \u3092\u691C\u51FA`}),y.next&&t.push({id:"nextjs",label:"Next.js",evidence:`${_} \u306B next \u3092\u691C\u51FA`}),y.vue&&t.push({id:"vue",label:"Vue.js",evidence:`${_} \u306B vue \u3092\u691C\u51FA`}),y.svelte&&t.push({id:"svelte",label:"Svelte",evidence:`${_} \u306B svelte \u3092\u691C\u51FA`}),y.electron&&t.push({id:"electron",label:"Electron",evidence:`${_} \u306B electron \u3092\u691C\u51FA`})}let a=K(e,"pubspec.yaml");if(ke(a)){let _=hr(a);t.push({id:"dart",label:"Dart",evidence:"pubspec.yaml \u3092\u691C\u51FA"}),_.includes("flutter")&&t.push({id:"flutter",label:"Flutter",evidence:"pubspec.yaml \u306B flutter \u3092\u691C\u51FA"})}let c=ke(K(e,"Package.swift")),u=K(e,"ios"),p=ke(u)&&(()=>{try{return es(u).some(_=>_.endsWith(".xcodeproj")||_.endsWith(".xcworkspace"))}catch{return!1}})();(c||p)&&t.push({id:"swift",label:"Swift",evidence:c?"Package.swift \u3092\u691C\u51FA":"ios/*.xcodeproj \u3092\u691C\u51FA"});let l=ke(K(e,"build.gradle.kts")),d=ke(K(e,"build.gradle")),h=K(e,"android"),f=ke(K(h,"build.gradle.kts"))||ke(K(h,"build.gradle"));(l||d||f)&&t.push({id:"kotlin",label:"Kotlin",evidence:l?"build.gradle.kts \u3092\u691C\u51FA":d?"build.gradle \u3092\u691C\u51FA":"android/build.gradle \u3092\u691C\u51FA"});let g=hr(K(e,"docker-compose.yml"));return g&&g.includes("postgres")&&t.push({id:"postgres",label:"Postgres",evidence:"docker-compose.yml \u306B postgres \u3092\u691C\u51FA"}),(ke(K(e,"prisma","schema.prisma"))||ke(K(e,"backend","prisma","schema.prisma")))&&t.push({id:"prisma",label:"Prisma",evidence:"prisma/schema.prisma \u3092\u691C\u51FA"}),t}var aD=[{id:"orval",label:"Orval",category:"frontend",description:"OpenAPI \u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u30B3\u30FC\u30C9\u81EA\u52D5\u751F\u6210",url:"https://github.com/orval-labs/orval",npmPackage:"orval",configFiles:["orval.config.ts","orval.config.js","orval.config.cjs"]},{id:"tanstack-query",label:"TanStack Query",category:"frontend",description:"\u975E\u540C\u671F\u30C7\u30FC\u30BF\u30D5\u30A7\u30C3\u30C1\u30F3\u30B0/\u30AD\u30E3\u30C3\u30B7\u30E5\u7BA1\u7406",url:"https://github.com/TanStack/query",npmPackage:"@tanstack/react-query"},{id:"vite",label:"Vite",category:"frontend",description:"\u9AD8\u901F\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u30D3\u30EB\u30C9\u30C4\u30FC\u30EB",url:"https://vitejs.dev/",npmPackage:"vite",configFiles:["vite.config.ts","vite.config.js","vite.config.mts"]},{id:"biome",label:"Biome",category:"devtool",description:"\u9AD8\u901F Linter / Formatter\uFF08Rust\u88FD\uFF09",url:"https://biomejs.dev/",npmPackage:"@biomejs/biome",configFiles:["biome.json","biome.jsonc"]},{id:"storybook",label:"Storybook",category:"frontend",description:"UI\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u958B\u767A/\u30AB\u30BF\u30ED\u30B0\u30C4\u30FC\u30EB",url:"https://storybook.js.org/",npmPackage:"storybook",configFiles:[".storybook/main.ts",".storybook/main.js"]},{id:"ruff",label:"Ruff",category:"devtool",description:"\u8D85\u9AD8\u901F Python Linter / Formatter\uFF08Rust\u88FD\uFF09",url:"https://docs.astral.sh/ruff/",pyPackage:"ruff",configFiles:["ruff.toml",".ruff.toml"]},{id:"uv",label:"uv",category:"devtool",description:"\u9AD8\u901F Python \u30D1\u30C3\u30B1\u30FC\u30B8\u30DE\u30CD\u30FC\u30B8\u30E3\uFF08Rust\u88FD\uFF09",url:"https://docs.astral.sh/uv/",configFiles:["uv.lock"]},{id:"sqlmodel",label:"SQLModel",category:"backend",description:"SQLAlchemy + Pydantic \u30D9\u30FC\u30B9\u306E Python ORM",url:"https://sqlmodel.tiangolo.com/",pyPackage:"sqlmodel"},{id:"alembic",label:"Alembic",category:"backend",description:"SQLAlchemy \u30D9\u30FC\u30B9\u306E DB \u30DE\u30A4\u30B0\u30EC\u30FC\u30B7\u30E7\u30F3\u30C4\u30FC\u30EB",url:"https://alembic.sqlalchemy.org/",pyPackage:"alembic",configFiles:["alembic.ini","backend/alembic.ini"]},{id:"fastapi-users",label:"FastAPI Users",category:"backend",description:"FastAPI \u5411\u3051\u8A8D\u8A3C/\u30E6\u30FC\u30B6\u30FC\u7BA1\u7406\u30E9\u30A4\u30D6\u30E9\u30EA",url:"https://fastapi-users.github.io/fastapi-users/",pyPackage:"fastapi-users"},{id:"pytest",label:"Pytest",category:"testing",description:"Python \u30C6\u30B9\u30C8\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",url:"https://docs.pytest.org/",pyPackage:"pytest",configFiles:["pytest.ini","pyproject.toml"]},{id:"httpx",label:"HTTPX",category:"testing",description:"Python \u975E\u540C\u671F HTTP \u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\uFF08\u30C6\u30B9\u30C8\u7528\uFF09",url:"https://www.python-httpx.org/",pyPackage:"httpx"},{id:"playwright",label:"Playwright",category:"testing",description:"\u30AF\u30ED\u30B9\u30D6\u30E9\u30A6\u30B6 E2E \u30C6\u30B9\u30C8\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",url:"https://playwright.dev/",npmPackage:"@playwright/test",pyPackage:"playwright",configFiles:["playwright.config.ts","playwright.config.js"]},{id:"docker-compose",label:"Docker Compose",category:"infra",description:"\u30DE\u30EB\u30C1\u30B3\u30F3\u30C6\u30CA\u30AA\u30FC\u30B1\u30B9\u30C8\u30EC\u30FC\u30B7\u30E7\u30F3",url:"https://docs.docker.com/compose/",configFiles:["docker-compose.yml","docker-compose.yaml","compose.yml","compose.yaml"]},{id:"caddy",label:"Caddy",category:"infra",description:"\u81EA\u52D5 HTTPS \u5BFE\u5FDC\u30EA\u30D0\u30FC\u30B9\u30D7\u30ED\u30AD\u30B7",url:"https://caddyserver.com/",configFiles:["Caddyfile"],dockerPattern:"caddy"},{id:"traefik",label:"Traefik",category:"infra",description:"\u30AF\u30E9\u30A6\u30C9\u30CD\u30A4\u30C6\u30A3\u30D6 \u30EA\u30D0\u30FC\u30B9\u30D7\u30ED\u30AD\u30B7 / \u30ED\u30FC\u30C9\u30D0\u30E9\u30F3\u30B5",url:"https://traefik.io/",configFiles:["traefik.yml","traefik.toml"],dockerPattern:"traefik"},{id:"flutter",label:"Flutter",category:"frontend",description:"\u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0 UI \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\uFF08Dart\uFF09",url:"https://flutter.dev/",configFiles:["pubspec.yaml"]},{id:"cocoapods",label:"CocoaPods",category:"devtool",description:"iOS / macOS \u4F9D\u5B58\u7BA1\u7406\u30C4\u30FC\u30EB",url:"https://cocoapods.org/",configFiles:["Podfile","ios/Podfile"]},{id:"gradle",label:"Gradle",category:"devtool",description:"Android / JVM \u30D3\u30EB\u30C9\u30C4\u30FC\u30EB",url:"https://gradle.org/",configFiles:["build.gradle.kts","build.gradle","android/build.gradle.kts","android/build.gradle"]},{id:"swiftpm",label:"Swift Package Manager",category:"devtool",description:"Swift \u30D1\u30C3\u30B1\u30FC\u30B8\u7BA1\u7406\u30FB\u30D3\u30EB\u30C9\u30C4\u30FC\u30EB",url:"https://www.swift.org/package-manager/",configFiles:["Package.swift"]},{id:"sentry",label:"Sentry",category:"monitoring",description:"\u30A8\u30E9\u30FC\u8FFD\u8DE1 / \u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u76E3\u8996",url:"https://sentry.io/",npmPackage:"@sentry/react",pyPackage:"sentry-sdk",configFiles:["sentry.properties"]}];function cD(e){let t={},r=new Map,n=[K(e,"package.json"),K(e,"frontend","package.json"),K(e,"src","package.json")];for(let o of n){let i=Eo(o);if(!i)continue;let s=o.replace(e,"").replace(/^[\\/]/,""),a=i.dependencies,c=i.devDependencies;for(let[u,p]of Object.entries({...a,...c}))t[u]=p,r.set(u,s)}return{deps:t,sources:r}}function uD(e){let t=new Set,r="";for(let n of[K(e,"backend"),e]){let o=K(n,"pyproject.toml");if(ke(o)){let a=hr(o,16384).matchAll(/["']([a-zA-Z][\w.-]*)(?:\[.*?\])?(?:>=|<=|==|~=|!=|<|>)?/g);for(let c of a)t.add(c[1].toLowerCase().replace(/[-_.]+/g,"-"));r=o.replace(e,"").replace(/^[\\/]/,"");break}let i=K(n,"requirements.txt");if(ke(i)){let s=hr(i,16384);for(let a of s.split(`
|
|
98
|
-
`)){let c=a.trim();if(!c||c.startsWith("#"))continue;let u=c.match(/^([a-zA-Z][\w.-]*)/);u&&t.add(u[1].toLowerCase().replace(/[-_.]+/g,"-"))}r=i.replace(e,"").replace(/^[\\/]/,"");break}}return{deps:t,source:r}}function
|
|
95
|
+
`+e.slice(s+1):c+=e.slice(o),c.slice(1)}function D4(e){for(var t="",r=0,n,o=0;o<e.length;r>=65536?o+=2:o++)r=Ii(e,o),n=Ue[r],!n&&Ni(r)?(t+=e[o],r>=65536&&(t+=e[o+1])):t+=n||P4(r);return t}function j4(e,t,r){var n="",o=e.tag,i,s,a;for(i=0,s=r.length;i<s;i+=1)a=r[i],e.replacer&&(a=e.replacer.call(r,String(i),a)),(ar(e,t,a,!1,!1)||typeof a>"u"&&ar(e,t,null,!1,!1))&&(n!==""&&(n+=","+(e.condenseFlow?"":" ")),n+=e.dump);e.tag=o,e.dump="["+n+"]"}function H0(e,t,r,n){var o="",i=e.tag,s,a,c;for(s=0,a=r.length;s<a;s+=1)c=r[s],e.replacer&&(c=e.replacer.call(r,String(s),c)),(ar(e,t+1,c,!0,!0,!1,!0)||typeof c>"u"&&ar(e,t+1,null,!0,!0,!1,!0))&&((!n||o!=="")&&(o+=wf(e,t)),e.dump&&Ai===e.dump.charCodeAt(0)?o+="-":o+="- ",o+=e.dump);e.tag=i,e.dump=o||"[]"}function M4(e,t,r){var n="",o=e.tag,i=Object.keys(r),s,a,c,u,p;for(s=0,a=i.length;s<a;s+=1)p="",n!==""&&(p+=", "),e.condenseFlow&&(p+='"'),c=i[s],u=r[c],e.replacer&&(u=e.replacer.call(r,c,u)),ar(e,t,c,!1,!1)&&(e.dump.length>1024&&(p+="? "),p+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),ar(e,t,u,!1,!1)&&(p+=e.dump,n+=p));e.tag=o,e.dump="{"+n+"}"}function L4(e,t,r,n){var o="",i=e.tag,s=Object.keys(r),a,c,u,p,l,d;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new We("sortKeys must be a boolean or a function");for(a=0,c=s.length;a<c;a+=1)d="",(!n||o!=="")&&(d+=wf(e,t)),u=s[a],p=r[u],e.replacer&&(p=e.replacer.call(r,u,p)),ar(e,t+1,u,!0,!0,!0)&&(l=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,l&&(e.dump&&Ai===e.dump.charCodeAt(0)?d+="?":d+="? "),d+=e.dump,l&&(d+=wf(e,t)),ar(e,t+1,p,!0,l)&&(e.dump&&Ai===e.dump.charCodeAt(0)?d+=":":d+=": ",d+=e.dump,o+=d));e.tag=i,e.dump=o||"{}"}function G0(e,t,r){var n,o,i,s,a,c;for(o=r?e.explicitTypes:e.implicitTypes,i=0,s=o.length;i<s;i+=1)if(a=o[i],(a.instanceOf||a.predicate)&&(!a.instanceOf||typeof t=="object"&&t instanceof a.instanceOf)&&(!a.predicate||a.predicate(t))){if(r?a.multi&&a.representName?e.tag=a.representName(t):e.tag=a.tag:e.tag="?",a.represent){if(c=e.styleMap[a.tag]||a.defaultStyle,Tx.call(a.represent)==="[object Function]")n=a.represent(t,c);else if($x.call(a.represent,c))n=a.represent[c](t,c);else throw new We("!<"+a.tag+'> tag resolver accepts not "'+c+'" style');e.dump=n}return!0}return!1}function ar(e,t,r,n,o,i,s){e.tag=null,e.dump=r,G0(e,r,!1)||G0(e,r,!0);var a=Tx.call(e.dump),c=n,u;n&&(n=e.flowLevel<0||e.flowLevel>t);var p=a==="[object Object]"||a==="[object Array]",l,d;if(p&&(l=e.duplicates.indexOf(r),d=l!==-1),(e.tag!==null&&e.tag!=="?"||d||e.indent!==2&&t>0)&&(o=!1),d&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(p&&d&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),a==="[object Object]")n&&Object.keys(e.dump).length!==0?(L4(e,t,e.dump,o),d&&(e.dump="&ref_"+l+e.dump)):(M4(e,t,e.dump),d&&(e.dump="&ref_"+l+" "+e.dump));else if(a==="[object Array]")n&&e.dump.length!==0?(e.noArrayIndent&&!s&&t>0?H0(e,t-1,e.dump,o):H0(e,t,e.dump,o),d&&(e.dump="&ref_"+l+e.dump)):(j4(e,t,e.dump),d&&(e.dump="&ref_"+l+" "+e.dump));else if(a==="[object String]")e.tag!=="?"&&O4(e,e.dump,t,i,c);else{if(a==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new We("unacceptable kind of an object to dump "+a)}e.tag!==null&&e.tag!=="?"&&(u=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",e.dump=u+" "+e.dump)}return!0}function Z4(e,t){var r=[],n=[],o,i;for($f(e,r,n),o=0,i=n.length;o<i;o+=1)t.duplicates.push(r[n[o]]);t.usedDuplicates=new Array(i)}function $f(e,t,r){var n,o,i;if(e!==null&&typeof e=="object")if(o=t.indexOf(e),o!==-1)r.indexOf(o)===-1&&r.push(o);else if(t.push(e),Array.isArray(e))for(o=0,i=e.length;o<i;o+=1)$f(e[o],t,r);else for(n=Object.keys(e),o=0,i=n.length;o<i;o+=1)$f(e[n[o]],t,r)}function q4(e,t){t=t||{};var r=new z4(t);r.noRefs||Z4(e,r);var n=e;return r.replacer&&(n=r.replacer.call({"":n},"",n)),ar(r,0,n,!0,!0)?r.dump+`
|
|
96
|
+
`:""}var F4=q4,U4={dump:F4};function Rf(e,t){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}var B4=je,V4=J0,H4=ex,G4=ix,K4=sx,W4=Ef,J4=wx.load,Y4=wx.loadAll,Q4=U4.dump,X4=We,eD={binary:px,float:ox,map:X0,null:tx,pairs:fx,set:hx,timestamp:ux,bool:rx,int:nx,merge:lx,omap:dx,seq:Q0,str:Y0},tD=Rf("safeLoad","load"),rD=Rf("safeLoadAll","loadAll"),nD=Rf("safeDump","dump"),Dr={Type:B4,Schema:V4,FAILSAFE_SCHEMA:H4,JSON_SCHEMA:G4,CORE_SCHEMA:K4,DEFAULT_SCHEMA:W4,load:J4,loadAll:Y4,dump:Q4,YAMLException:X4,types:eD,safeLoad:tD,safeLoadAll:rD,safeDump:nD};var oD=m.object({id:m.string(),label:m.string(),name:m.string(),mindset_template:m.string().optional()}),iD=m.object({name:m.string(),root_dir:m.string().default("frontend"),build_command:m.string(),package_manager:m.string().default("pnpm"),mindset_template:m.string().optional()}),sD=m.object({name:m.string(),root_dir:m.string().default("backend"),architecture:m.string(),dependency_direction:m.string(),package_manager:m.string().default("uv"),mindset_template:m.string().optional()}),aD=m.object({frontend:m.string().optional(),backend:m.string().optional(),preflight_command:m.string().default("pnpm preflight"),summary:m.string().default("format/lint/typecheck/build")}),cD=m.object({name:m.string(),description:m.string(),runtime:m.enum(["python","node","unknown"]).default("unknown"),setup_hint:m.string().optional(),enabled:m.boolean().default(!0)}),uD=m.object({id:m.string(),label:m.string(),category:m.enum(["frontend","backend","testing","infra","devtool","monitoring"]),description:m.string(),url:m.string().optional(),guidance:m.string().optional()}),Dx=m.object({name:m.string(),description:m.string().optional(),stacks:m.array(oD),frontend:iD.optional(),backend:sD.optional(),quality_gate:aD.optional(),vendor:m.array(cD).optional(),tools:m.array(uD).optional()}),jx=m.object({license_key:m.string().min(1).optional(),stack_profile:m.string().optional(),components:m.array(m.string().min(1,"\u7A7A\u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u540D\u306F\u7121\u52B9\u3067\u3059")).optional(),language:m.string().optional(),registry_url:m.string().optional()}).refine(e=>e.stack_profile!==void 0||e.components!==void 0&&e.components.length>0,{message:"Either 'stack_profile' or 'components' must be provided"});var pD=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/,cr="config.godd",dD="https://dev.api.godd.ripla-inc.com",fD="en";function qx(e){let t=e??process.env.GODD_CONFIG;if(!t)throw new Error(`${cr} \u306E\u30D1\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002GODD_CONFIG \u74B0\u5883\u5909\u6570\u3092\u8A2D\u5B9A\u3059\u308B\u304B\u3001\u660E\u793A\u7684\u306B\u30D1\u30B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);if(!Zx(t))throw new Error(`${cr} \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${t}
|
|
97
|
+
GODD_CONFIG \u74B0\u5883\u5909\u6570\u307E\u305F\u306F .cursor/mcp.json \u306E env.GODD_CONFIG \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);let r=Lx(t,"utf-8"),n=Dr.load(r),o=jx.parse(n),i=process.env.GODD_LICENSE_KEY??o.license_key;if(!i)throw new Error("license_key \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002GODD_LICENSE_KEY \u74B0\u5883\u5909\u6570\u3092\u8A2D\u5B9A\u3059\u308B\u304B\u3001.env \u306B\u8A18\u8F09\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return{license_key:i,stack_profile:o.stack_profile,components:o.components??[],language:process.env.GODD_LANGUAGE??o.language??fD,registry_url:process.env.GODD_REGISTRY_URL??o.registry_url??dD}}function hD(e){let t=Dr.load(e);return Dx.parse(t)}function Fx(e,t){if(!pD.test(e))throw new Error(`\u30B9\u30BF\u30C3\u30AF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u540D\u304C\u4E0D\u6B63\u3067\u3059: '${e}' \u2014 \u82F1\u6570\u5B57\u30FB\u30CF\u30A4\u30D5\u30F3\u30FB\u30C9\u30C3\u30C8\u30FB\u30A2\u30F3\u30C0\u30FC\u30B9\u30B3\u30A2\u306E\u307F\u4F7F\u7528\u53EF\u80FD\u3067\u3059\u3002`);let r=t??lD(process.cwd(),"stacks"),n=Mx(r,`${e}.yaml`);if(!n.startsWith(Mx(r)))throw new Error(`\u30B9\u30BF\u30C3\u30AF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\u304C\u4E0D\u6B63\u3067\u3059: '${e}'`);if(!Zx(n))throw new Error(`\u30B9\u30BF\u30C3\u30AF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB '${e}' \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${n}`);let o=Lx(n,"utf-8");return hD(o)}function lt(e){return e instanceof Error?e.message:String(e)}import{createDecipheriv as cM}from"node:crypto";var Ic=Zc(Ak(),1);Ic.default.registerHelper("eq",function(e,t){return e===t});var wh=new Map,sM=new Map;function Rc(e,t){Ic.default.registerPartial(e,t)}function So(e,t){sM.set(e,t),wh.set(e,Ic.default.compile(t))}function aM(e,t){return{profile_name:e.name,stacks:e.stacks,frontend:e.frontend?{...e.frontend,mindset:""}:void 0,backend:e.backend?{...e.backend,mindset:""}:void 0,quality_gate:e.quality_gate,tools:e.tools??[],vendor:e.vendor??[],...t}}function Ok(e,t){let r=wh.get(`mindset:${e}`);return r?r(t):`[Mindset '${e}' not found]`}function Nk(e,t,r){let n=wh.get(`prompt:${e}`);if(!n)throw new Error(`\u30D7\u30ED\u30F3\u30D7\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 '${e}' \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093`);let o=aM(t,r);if(t.frontend?.mindset_template){let i=Ok(t.frontend.mindset_template,o);o.frontend.mindset=i}if(t.backend?.mindset_template){let i=Ok(t.backend.mindset_template,o);o.backend.mindset=i}return n(o)}async function uM(e,t){let{pbkdf2:r}=await import("node:crypto");return new Promise((n,o)=>{r(e,t,1e5,32,"sha256",(i,s)=>{i?o(i):n(s)})})}async function lM(e,t){let r;try{r=JSON.parse(e)}catch(p){throw new Error(`\u6697\u53F7\u5316\u30D0\u30F3\u30C9\u30EB\u306E JSON \u30D1\u30FC\u30B9\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${lt(p)}`)}if(r.version!==1)throw new Error(`\u672A\u5BFE\u5FDC\u306E\u30D0\u30F3\u30C9\u30EB\u30D0\u30FC\u30B8\u30E7\u30F3: ${r.version}`);let n=Buffer.from(r.salt,"hex"),o=Buffer.from(r.iv,"hex"),i=Buffer.from(r.tag,"hex"),s=Buffer.from(r.data,"base64"),a=await uM(t,n),c=cM("aes-256-gcm",a,o);c.setAuthTag(i);let u=Buffer.concat([c.update(s),c.final()]);for(let[p,l]of Object.entries(r.templates)){if(!Number.isInteger(l.offset)||!Number.isInteger(l.length)||l.offset<0||l.length<0||l.offset+l.length>u.length)throw new Error(`\u30D0\u30F3\u30C9\u30EB\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 "${p}" \u306E offset/length \u304C\u4E0D\u6B63\u3067\u3059 (offset=${l.offset}, length=${l.length}, bufferSize=${u.length})`);let d=u.subarray(l.offset,l.offset+l.length).toString("utf-8"),h=p.includes(":")?p.split(":").slice(1).join(":"):p;l.type==="partial"?Rc(h,d):So(`${l.type}:${h}`,d)}}async function Dk(e){let t='{"prompts.enc":"ewogICJ2ZXJzaW9uIjogMSwKICAic2FsdCI6ICJjYjI3OGQ0ZTdjMjRhMWFhNGJhZDJkYWVlNmQ3M2UxNzU1NzNmODhhNGIwMDQ1ODQ4NTc1MjdmZDAzZTZjOTM0IiwKICAiaXYiOiAiNTE3ZGE1N2YzYzQ3OTQ2OTAyYjM1Mzg4MGE1MzczOTciLAogICJ0YWciOiAiMjIxM2YzNTU2NGE4NWZlYTJhNjQyNjRjN2FmMGJhM2QiLAogICJkYXRhIjogIlQ4Q3ZhZGMxNS90Q0toREJZWnhBb3Y0ZFEzaVE3ZnU3WE5uS2p6M2JwOVhHNWpiNnNRSHRtSGZsaVFteGVEZjlDNFVKZ0ZoalgvbFVkVVkyUk03QisrdXNjUUlrNG1LOUt5aE5RMGFySTRYTm1XbnBwNFNJRXI3cHVWUXFuU3h4cmx6V3VqOVBZOVlyVHBYdFlvcVNVN0srMk1JNGpkRnN4eURES05sV0tVOWtLck9oYUNDcm4rSVJndE9CN1lqYWxIQk5QV2R3NloxQ0pMV3ZuYStpazZXZFRpQzRpc2ZwdFR3djZSazJiRjlNZGtNU1U4M2o0bm5FWGZZOWdkQlZnUE9Ba3JuU25uWUNvVEJqRXBZMUxMeWdJa292c3BnMWRIOUtzM0JiY2QwN1FtZGo3NnlsRnY3MEdSdTBmdy9NUFFoam5YWTgxQ2YzVnhXY3V3MEZBWnd1U2RmQjU3TDJPVmxIYkJGbFJaemY4cktWaDA5c1BHTTN2QmY0N0JjZ0xWSThlTmJZa2p0a0VVbDNUdm9FcFJEMlhibGxYamxkQitWNzRQL3hXQWsxcmlZakQrTkpvSmdtWDJyVnM5ckRCVWlzNnBSWURQcEZZL2RXMlo1SC9jRUEvaWw0MzVOMnVZeXU1OVNTeUhJMGdkdnBzV0p6bGtMbmtGMW1Pc1N3a3QrMkVzUXlHLzdSWEJzREZCZXFvaUhpZVFyTmYxMFJjakVGVFQ4RjhZQWw1bjJSMEdrRUhEY25pZ1djZ2JZdUY2WDJHOEh4R0wwd0l0aXQ4d2ZjWVkxeEU4MDR5YTE0OE5EZ2V1VytJZVdrWjk0bXlaa1lpNGhNMEZhZ2x4bnB4OG9JOUo3M3RpRnVycGFQaGhxSWxQKzN6MlozSVZTSVpIZWd5VThXdVpHSE5qRTRYdFRkR1d2N0c5K0Vyck9qSUhkQm44YnZ3UmkrYUhjNXBnS0RWTDg3WFZtTzlLQ0UyQ3lLWTlrenAwQ1ROWkhza1NHN0lQNDVjZ1dMSndyNndlMFprVmZIVmc0NHJUc1NZcEF2MjExRHFDczMzYkJicVpWSDNRK081UG42ak5NSng2VkJ2cTdadTZWRzJVQzQra200VUtKMFZtOE0wRVFBWmZMblljSzVIeUhSVVhiUFV5NmxUdElhVUhPaUwzaGc0aUcrVGlISHRvbEtMV1BDNGRxNmZIK2NTcVpyQVlFbW91U3VsTFJnUVFtSGV0c3ZObzhlR0xhTzZsckpFc042SUQ3NG1hdDlMb1Y2M25velloSWNPLzBPdktvYjZYK2Z5THVkak5EdC9hUWZIcEVzK1pkaTlyTWM5Zm1OQ2pkQXhOcm94MGlmazUrajNiaWc4ZXJvbFMxRE9NcEgwaVBkVVV6K0FwUVhVQVZ5c051eE9ob0gyMzZYV0tnekdBNHc2OCtMcTVETGl6REJ1MXJEWEw2QW5MaktobkZ0R2p1MmNWMW9LNTN4Zm5yb1pmN0lpeUF5U2tWMmFoRk5oUWF4WkxFQmxVRVNlOTJQZTdCZjJISGk3UWprWnEzTTJ3YlNSczFYa2pvdkhoNmZ3ZldLdHI4dSt3N2FvVHRYalNMQnkxYVY2aDJTaU1pSDF3V3ZLeTNlZmR5d3JSV095aTlhMzI0OUVLOEV3MUpZK1haUU1nSlFnT0QwL3UvWm9kVzNoaG9vZWp4Q096U1RRam1aSFNhZTNkSXZXT0pCVko1c3gwNkkxa2lROUNGQk56cnFWZk82Z2pkQjNWQUZwREVGMHg5UW85djdIc3NtNGh3djU2enlJaDFFTi9UVWxSOUZnVlJKcENhTG91NHVxQ3luT2R5TUZ1QlZ6bnRZeXBnNERhZVFpSi9yRytMSGs4a0FWcnVublVJUGExZ25KcGlKWUR3TWIrdmVhdmpzbXRTVmE5ZUNTQkpkRnpUenBnalg5cVFFQy9oT3czc2VHNjBOMEZMaytLYnhFT0ZZMlBlOEdnZk56dFFvcEprMVdLdWdvejFpUUhaVHRKaW0yeWR5TXdXU3ZMREYvY2FlWTN2aC9zM1ppaWNjdThTY0FRMkJGTzE2bzA4QWsvR0ZneUdYYlVNMUVBc3FnbDNybTJ6a2J0VWhUMElhb3lraWgzLy9CK2pyUW5scFdTTGM1d0p2YW4zRU5odGdYTVRGeFlnNE1tOHRvMTZ0SWtqSnRXaU5zR3ZuS0dzNlRZdFFhTzN0Q3RDR1dYbC9CRFNTWUxSaUJCMzNuZUJ4aUl3N2xndzlDYWJNTHkyalpkZFpDYzFOVmFTYkpBRHRTdzY2ZTVWSmJUWFIwWklsallZbTZ6K2tUbnAyMGZYRTBPbXVCa0hybE51YWdBbnJPd001bXNGU2s5K04zbTVxM0NqUVhSTkwveHgrSi9PSjQzRXU1eXdvMGhKNktpNnYxeStwekM4UEhUbngyVGcvamRBSzBpR0NkZWVnbWNvNm43KzdHVlFrSmhVVkdPNWx6UlpiNDlpdktqR1dPbklZZy9FcFhXWllHWStxSkNxdytLdmZMTlg1Q2RUZWpYS1Vjam01MjQybWlHOWRDUmZ5anRUQUJXZ0l2RWpvdHEvUjJZK2kwUGpLSzEvVXd4T092NTlqTWRkNm0rL2ZMRGZTb0pqVFR3c1podThxbGZ1eTcyZnMrSTNlS1VwR3pKSHcyK2E5aGwrOGd2UVJFTnJKcnd5U1dseVB5ZnQzd3h0UG9KVUhMd1FmT0tNL1EwcjFBTE1Hb2U4SFFNZlE3a0tEVDFDK2J4ZXIxQlBoZVdwNUR6MnVaeGNaaXAwTTJ5bUs0UzNCZkpsR2hUY0FuRXd2Z1hUSHRjbEoreSthNHBxdmlRcjdieGhKMHI5dEoxVGVTdmJHeWlFcitERWVBU1lkZU1OVUdmdDZXWG84dlY3dUhGbTM4cmlES3F4djFhandKZnFYc29HeVB5NXd0eVVVVDFSOEhmaVk4RmNmaER1TDFhRVNlY3VyWU5RWGtsZG9lSk9jemVWeEt5RmVnVmhpR0h3S2J0UHVJRW9ydGZUK2V5QmpEWW14VmZvdGRRTnFTcVZJMzY3aTNNR1NDSUNQcHhMdzNOSWRWZTRydFM4K2crUDNVRGJ3WnBvUWdTOHpxcVV6eWJmTjY2bDZNQU1HYU5WWnQ5Yk1RaEx2TktmcEpweXNTeTB3YXczMUk5cnE2TkRtVmNEN2dLSlZ1blQwQktUeW9WckdLdWNQY1RQVUZ5NXR4Y3haVmlmY0VCY3dUamN0cldrSlNuQ2pCQ1dWVGY4ZnpQWVZ0bEdDUXNGMFZ3Vk42Zis3UFltdVVHd01ncDl1eVFXWlB6Y2JYWmFPWFhMbk9YOHdDZ1pOcEtLVFhsckhWR0NsRWxJRGVnZTRmNmRJNzhtdUJ4MmdFbXlaKzV2SFlGVDQ5K3l3QUhHUFBMUkljM1d2QmFQbmFpV3RBMVIrN2l2SWRaUHBSM2VFNENGTENsSDFsck1xN1ZWUm11Y0dLeU9kTUZadTh3Y1RmVm9KakJvWHZsRUVNWnNWR1QvQW5mQkltb0k5bUZROFFYZ1ppWWJzazZkb0tQZWJnb2lyMUM5cEd3a1NwQmpJZCtEYllSTkNFT3FrTEp3K2xCNXVKbDh3cW9lYmFXcS9DbWdsVWdjVHluS0lrNk8vVHYycy9hdDkvaC9Nd2tOM2VvajE5ZmZvN0VhMmZZMWRJZVZZYitZMmhnTnFHZzgzNUs5ZDk2ZDc5VS8rZjlCbkFJbVRPMENkbTdORUFZZkdNRVpUeDRsMzRSclZVcTdYb0dkMUNEaEloRFRHRCswR2pqSFdFa1g5RVhPYUs1V3Y4c2RUWXI4VDQrMlpsSVB4eHZIQmJwRklKeHZrZThOc2ZQV1l1NzlJSTg2d2svb1FUUmxKdVdZb29sRlhVWHFITUI3QXZzU0pDRC9LREplTVlEcnFBRlpteXNPZ2E5MnlTOExkOVFOcm5PWThTN0ZEL0s3OTVHaE94NGhnMjNMdjg0WHRuZEJ6ZUorSWQxYXhHa01HR1VIalc3aG1ndG42ZWdNeVRDRjZyOU1KMTJEMk4wZFM4KzQ3d0Z2WlpVOXlUVE1ZRUM4am8rQXE2QjY1REh2VU41cW5JTGxyaFFkN2R3MXJWZVhiZzB4Q2p5N3FaU0dXWDQ1WHpQTDVqT05qcXlPbDlaVTBpMm5WRk5OWlJYaTJ4b21XTTArcnpBTXkyNnlDbHNMM0o2b3h3a2x6aDZkMHdmTG9yY0x5QmtLVGRKQkdNMGxzKzh1TTk1RHJudXZNaDgweThnZFI2L09DdEdSRHRpS1hrZmVYNmIvZXRSUHNvblIyZHh1Nmw3UUF5YXVrZmhPeS9ZVGlWdFh1MEhkcG1JUzBtTGNYMWQ3dmwvYXB5M0lzNGRrcGJBdXlsK2pheFNCaGp2Ni96Uk45L3pzY05yUVBZdjhRK29hdzFuV015UkhvMDNxSHQ3elpEb1lPWllodjhBUTdNc2lmekxUdUdKSVZQa2l4N2dpTGJBMXBjbkxvZkRNcWlhcG1NcS9pb2VlbjVQSlF0ZVFyYjArTFJSa3RyT2dTZ2pSRGJCRys3TXF2c2wzNlk4SmNBUXM4a3FCclBxaC90SXMzZU9NZHk4OTFra2krTzFMQitWS1FaY2JVVHoxa1ZDNk44d2JlbzhwVDlEWk1kcU5ybGV2d2wvRkRudlVSQStFZkV1ekRwRVIvTGNKa1QrZnN6aVp0dVYxSDdjSEJEZktWakNYRmE1UWxSbzNHMTVhbEMwVXJjZzJvbkVzRW5BRXZMSFdtM2kvWWhRNGpYSWNlbWx2RU96U1ZhWWpQN3BkQmxUZWtzekU4N3owV1ZTcmNjNGdzaW1NOFI0OEZTMW5uYmJaVTV3WkZVNXRhQ3Z6VXpxWXZqS1VmcHZyczVDdGJaTWxZQmF6dTNxUVJtUUZZTVlpOUVpUW1BQnVBNXJ6N0h2em95Rkd3VlBPSXVsRUhGZjZ4RGJUS1FQR1RRTlRvRVVkZFR2N0xZYUZIeFd0RXZVd2NvRWN3QTgvWDZVT0pFMTlKSkdrd29YS0JyTVR5Zis5aUxlRFB1T1ZEaU0xanBySGg2ZmRmaWhweU1oSklRaXBRL05tUVVnKzdRUnIyTU8vL3dROHNYd2hBY1R5MEdndVZRaFNqMEZySnR0Mnp0d3RQUUo2akpuZ29BNlM2VXY4bWtWbkdvTHRnOThLSVFNRnB1Vk04YVZ0Vm5vWEdieHZKcmxMZmNhdXlUTmdOd2pkSTc1cHRKOWcrSVZJZ0p0c1g5dnhxYTNaL3RDaDJ5SytJdWs5ODRGZk04aEk5VlJtdUNrdDkxcEpuc1JjWE01dTZCMy9ycyt1YmtLY2lRcU9OT0E2MTd5aVdYYlFiNUtPMlNYc0ZhZkNWc09UM2xia3VzWmdobmxUWlpJTVBMVFd1RG9yL3NyN0QwRUtLWEZBN0pUNHN2NU5IK1FlL0s0QjUxL1ovVUNMdmJWVis4N09GbmZQd0h2aURiR2RLOUFzYzBQS1Mxam8xRWxFTER0bXpkMHFLOFdMWDFaekptKzlqYWxwWThZR0lFMngxZ01WcEdzZkpyaDRxRkdjZE91bFRMeGtDTUV3SWJNTW0xQ1JuRDhnS2diU2FUZXlTVmxoNUhuQWNVTEROTHZGR2Z1K3BSRE1IOC83MVRCZlZ1U0tZZW1lTVh3bkRySWZqaUNiS1pJZDZScS8vdzRpSlQ0UnBzMURBOElnT3VoUVhNbjZKQVhZQW9PajdZTFlDZXFQVG1MMEw0UVVicDV6ZVUvczFtell5eUptbGt3WkFTV0tvYnBXREpkTVorV3JpYUgzaHVSMmozNUkzbUdmanE4YUtGL2NVZGVCMzJzZ2V3RURQVHREOXJuVS91Z2JNcHZObFZueFNtenQxd3luUDIxbjFxV25ZQnNmdGJnR3RyMGZ2RllsWXZDMHFtUzVyRkVSbGpEZFEyODkrUG82MTFUelluUlhmTjlQdUJhb2NFTDUzQkNIWUxpZUpXNEEzakR0NkZOZGdvM29IQ3BiaThwMklKN0RzcUYxdXdublc5YUFzUWRQRVFxMXBENjYzaHhqbUJwQzJZdUtFYTZyTDZzMG1wdWVEOXZsaUNnMmdkK01KTFVNenJibmRpN3FqK0R3d1MxdnJGMWZSU1M0eEc2Y2taTVl3eTVRU1BHRHhEOFQrOGNDaE5zVE1aT3VUcTBpS3JFVHVUSkNnOGI2NFlTUHVXK3dqRWJtQm0yMWdVWWVZNHFKNVdPb3VUQUVlOWwvWVk4NlRxSE5OTXRhdVF3TzljU05uMnp0STFLbXlNT1kvQzR0TnBaU2FtQTZqOGlxaThKS3RMNjBhVmZwTEhMK2NCM256dE1qSWptRWxaaTdkUFU4UGx6YkhyQjc1UEtmN3M5ODRsQUFrUnozUlhna2c3VFE4OVFGOXdmYTZueWV6V3NWNFhqUzRUM21OUURiMHdnWk1wTzBNdzlWV25RS1YweWcyeCs3U0c4ZllGUWovdWJhelRFY3lkVytYajBpRGdIeGJiV3JoTklXUVlPYmo5cmYxNVl3WTk4UERMaWhQZnd0aEhSVS9FbzRFa1Y3TEJKOThpenZERUorQ092RE5vYlhtUGg2cHBqdWM4UGU0WE5KaDhQaWNoaFRwS29LZ1A0cTkwUXZrVmFvY3dBdGpKQ0FxYzRGbUpiQXNhdCtBd3Bja3NPdUh0VHNOR3pnMUV6c0h2QUNEYWZVcEJVUUdKSFppUlRsZnd5ekVqRmswRmtRUGROSmFrR2hsdmdxRlVnQ2NrSi9wZ2pkdE5VbWhYS0pZdTB0aElsMEhibkVNUWszWTRsNzk2K0V1L0Z6aUJJeFlrUnZYMkN1bzdhazF1YXZ6Uy8veTZwL3hRU1ZLWEZNa1Z3dlYrNVZLSUFyYWVJNWlJQmdoYWgvTGRjeUZSbDBRaStkS252VytaVTNibUpxQUEwbzhwVGVRbjBYTW5vV2R0Ti85NE8xNDRWcUJFRXlJU2NJMU9ETFZFVjhDMmptUldXOVI3KzZvdEMrVWU5ekZMVmR5ak5kdVU0d0xJaTdDYytIT0FoQkhBTERkNWNmT3FEVlhDNjhYaXZRN1VLRFhBU2xaRi9GSDdRVGRtaVRpSCtJVFJUald3R2h0c1libGxQOS92S3QxTzQ1aGdEc0ZqQ0NmMFlpMTBkNGlvVWwyejBtUndLUmdHUTZFT3o0OWlGRHpRQUtac3ZQeVVRWk9GTSt4c0pjRkxDZTRsZzQwWi9VYlhQR0FIZXJFNDBLalRlMVNXNERGaUk4MTUyYzVKZ2JVZTZzUWNxdURvQmg5cS9Kdit2WUkyNW9uZzJVRmY3MEtTTmZsck05S3p4bXM0MzZvQldGYisxT3N6eFBRbXIvWFFWZ1pUTlVFY0VyVWRXSTRqaCs5RXNzYUFWRktxeVhYMnRWaU5Fa252cEdHaHVHK1hGVkxkOG9zZHZoYXNtTzFjUUlLcTdNb0NPa1dDL3pXNHVzL0Q1Nkx2YnBpRXl4RVNDN1FKK0lsbUhacFdlTFVIeUNmM2M2MndHVGNOSlMyOGNsMlRXOVhTQ3crTGFJTWhwdURGdkI0WG9tS3o5a2NyVmVtSDFKWEtTMmEzMVcxbS91SEVkZmJhV0cvUnBPeDc0d29ZRGkyU01DWjJDdlZ0RytZVElldXgyUS9oeU1JLzV6d01ORXA4bTQ3TkhESnF2R2taZUNza0JUdEFHWVk0ek1VVHNkc0liOTlLaDdyeWNFZXZLTENZWTN5cmhHZ0h6alNTVlJOa0dEeUZYam1xd3UxTWtpOUgwMmNPUnZ5NHdjdTdmcVl6U1BzWEpuRmZiMlkyMVo5ZnBYejBLM3lURG9tU3dOL1BJdnJaS1czZUhpU2p0NjdRK3JnQWFjSk1zUjB4Z0ZpVlNRa240STFQK0dnVEY3Q3RzS0ZZMnY3QWpRVCtmQmhNbXJXakttazdzQTk4b0R0T3ZFa0g1SXpXd1FYR2xGSFdkOWpCNjY4b0R5bndZN0NMOHR2RVFBR1BYMm9LUm1yV2lTcU1LSGVqZEdZZm9GeXBxekg1VTNsNGhYK0ZNZlg1V1dNZDNSZGxPanZGMFFxelVuc0M4UU5xa3JBK1pMamJOVUgvOFNHb1FPb2VleFB2ZVFmTEVXQVVGbDdxTEY0ZjMwQ09tN2FHMHU3cUVzWXV3ZXBMV0QxUWMrMVZQVzN1K0R2OEJaK1d3ZVlyL0NDdGsyWnVYcVdQaU1QN0o5bmFNZCtlM1BKcGs5SGFudVdrNlZYa0tCUVpzWExRN2tUV2dDemtkbUhiOFpoTjlLVTJvRzZBenAxb3U3T1g3QWNGcFpaYVBZNy9DbTU2b1J2c1o4K0pMN080SmtXdDBrdnlDUklWMk0vRXNhblhEMVhQWHhSYnhqdlVDbUc4eW9yVHN4clZFaTZHR2dKS0hOd3p1bVFST2g0S3JYQytnaE96QU04QThTT1M2UXpiYmJsNEJwQ29SVzJSOGZSc2VLVW9wTWpmbnA1LzZoK3FkSHg1cHIxb0E0OVlGNUZ1OEVIQUpPQU5vaUY1VGg2MnMzdUFWWWtMa25UaTJKVk9RS2llcWhCdEl1TmVZOXlBamJqcE9GZDlxdmJHVzBuQkZpQVZDRXM4Q2lQYlpKaUtHNUZ1Vk1jSkNoR0ttaWJkb010aWgwS2Z2d01paTZsbHB5MEFJdXZaVklidm93U0hJMXZ5Nm52Q0EraVl0YUo2dmQ5S0ZmQ3RVRUNsR2pkNDdqS0FFTmNhZTA0a3k1YUw1dnFRNEJEeURzczVBLzU1eThsY2p1SGFNd0lnRTRmNjFydkxRdk5ZLzBGNU1yTDViemtoUjU2MGowc21JOHlvM0w4TVRjQjlmUGZSejN3aHdqdExiYnhoOUViNDZWMnFyT0JBZ3dxNlhieDQyNlZ5VkxuZDROVjA5SFQyRXZ6QkFWTDI1ZG5xNHZTNDRHbVZ3OG1sSGpEaWxEZnZkMXNlZjYvTyt0a3JiMFo5SlRMMmZKeGNQczdvQXlsUzkrZ3A4V0JMTzgxYjc4YWE4MmtWL0gyNVM5YXZubTA0V0RWUUpJeFVLa2Z2NUZLVTY3emFHVHFIcU54K2xkaG9BOG1GUWc2N2pMSkdxa3NHcEZBMEwyMlJ6SXZRUFd6RTNhNVhyVVRxYzZlOEFFVStJTkhSSDFscUtidUxOemIva2J3andDcTRzVkh1ZWpYMkF0UEgybEhiNGlUeUV5aTgwYklzRGN3V1U3bWNyN2RXNm1UajJmckVsTjdaNlU5ZlNvazg4OW5qc28wZVpHMjNvNTRQZDByOFd6NzNSWnBtK1Vrc3dqRzJHRnNkWGJLTlhWMk44RFNuUnpiL05XYXRWd3RCQnorVnAvL2ZLOU9tcWRTNWY5M1VrU1N5NXEvNzI4dzVvWC9pdnhSL1Ftc2VjcmxmNGFNdWxKYVR5WVQ4VW5PZEhyZ3dhd2ZSYmdGbFlyR2FKQmRIbjdRb1ZCTkNYZGxrUXljUWRwZTY0VWp6bHBGNllaREh6NzhuZm54RUdndktXcXZGY0xCZFhOY3VPK0JzWmxKanVsOFdaT2ZiVVcwbVMraGk1SWlxRGltMnRsajdJMFQ4cDFhbkJJZWhjVTgzc0hrYnY4SzRhWHZQV1RlekZya1FMamJlc2dobTcyZWVVVzlUZDkxcEpBKzNKVXdLNm5BQm54WFQ4UTJudlVSVW9zMlliYUJlUDhFY2hzY3h3cjBSOGJKWTBEN3plVDZEY2VXWUo3WXllZnVTdnpneFo2c3dIWkMyV2FJVTYzYXNzZFNMZEVwTW1ZTE5PTGhXdkhXbWhrL0Mrb21sSUxUY0hmNFJlc0ZxOWhHSDNQemdZTlN2cXc2VHBJa3h5TG1FcVRHTmtJTzFDSlFBdU9CWkowbnBqa0dzZXB0OEU5M3Ewa0xocWJ0aW5acnovMTVuenVyYUxPNm5hS3JjTkE1a3BmcUVZb2FlQUVBT1RCU1c3c1h4dlFwQS9TeVNoekFwVzJkUHRsS1Zia2wrNHJwN1FoaDkwRUpqelNXVG41M0tLV1pxVlRXeXh4WFBNSlM1STZ0ZkR4U0xjbHY4Y3RHNnNzQlVBRjJGWjVGaC93RFFObmEyMDdJdlNSNkdFTTZEUTZXZHFLZEQvYUkwQXQ0RGQ4YUEyYmduVjdyZDcreElIU1hEZytwQUU2bFpXcnJ4ZFNRb2ppTFdwZjZBbmxnNDd4MjRiaUU4R0NJQWZ4SlVLYTdYYnZmbEk4bU1IL0YxUFlmaDJSdWNpMG5PRmgzV0dpcGNvOWE1SkxvZG9RTFlPK3B6RTNHNFh0TFF0bkU5amVLSEUxRjEzVFNQWFJHTGNvdU5Ub1o1ZFZCRGoxa0szQzF6bkU0QkMrSWx4c0hqYnVvZjYzZTBDLzFtSkNENTNTSXhsRWViL0RrN29CTG91aGFrVDZCUlptZXdHakNDUzZtQ0JxcGc3anpLS1cwbW5OM1h3aGNPSmt1clljR2h1QnhaT010c3F0ak5KTjNMdDVmaTN0dkR0TmY0VWZiNlJERHNsaS8wM1RHRUNpMklGWU9FTGRkMXV5Yi9OVnlxSFhuai9kYnN3SkNuSTZVVHE1dEdJcG9WVmhjalFTZEtKZ1BTc3NMZElNU0lGRXhVbHNocmdtRG5aQVR0WVhBc2w5ZGd6SGd3L2FjMnBqMU9NMW1TSllYVGhnS2pmOHZhZUs0QmlXbjhHMUltS1NXR0NzMUkwdXk3allKZzk4MmZjOWppZ202dHlXNGhDQUlOejhqamR2ZFVRTkRXMWttbGQ1UW1jN2FGVmxOZlJmRkJtc3gyZDg1SGlPcUF0bTdhYlBnUG1KOGNINjdRODE1UE9Mb3lRTmV4anRPd05yWGZyQmVGcytEcnlHMXNUcEhwdEhMMXdGb0UyRHBtbDNkRHhkc1pWdWZvVGpyakkzcmZmcytyYjhMOEExN3ErNnRqZHZnZDAwS3ZoWTlGbXlhdTBVMitDUFljRWRRS3ZIbzBXWS85TmtXaWNOYlpQeUNwV0c3b2E4MFkvc2FFeUNtYnNxNHVVRVZQbm9sVk12Ui9LeGxZRVBsYmRVcFljMWsvR2VYYVNGR0h4L0NnZnJXckdGR0JkOFdScW9Qb1FRUTFEZ1NiUjJFT0FGdk8wd2x2cUVvWDlBam0xUlc3YlNodE9IWmUyQUtaMG1yb2c5eSswZ05HSG5TbGlDSGZLZ3JxZUR4ejBPQ3k2ZXF5b1k4NUdvWlZtR3A3N3dMdHlwVW1TN0ZKOFdKNHBkWEdjb1JMTlhWa2pEMjFtdFdoRWxvWlZyc0svOEtlR2Q4T1JOQVFKTnFBUzJUOTVkZk9SWm80TzZmTEJRMnhYblFXZzIzcG9jZmFpMTRsNEFlb2h0TFA4WUZxeTFrSHhyTzRGdmpqZVgxbVd6SXdsQ0ZsLzV4R3ZUUFVKcElnSkhMN29HR3N2dXF6OXo5RjF3aGpiRmJZZzIwVkFQZm1JejNncUtrUE4vcHNwakFwK0VGdVBiWFVqcmRndjA0MHJtemhaNjd1N2FHRktJUVBsaUJnVlJmQllaRG1pVXM0YVVzYmVlS2oxaFlNYnFkT05uSEpWUXJ6VWw4KzRTaWRXT1EyR0ZFejJoVWJ3dUlON0tlcW9XM1d5dVNOb2Zrb3A3ZkYvaTJ1WUZqTFM3RitiK1RreExnaEZlbGh0bWQwUVAyeDA3UG0yY0hrK2R0bGNjaDZuZmxWcGhPWWVjYzlrYWNvYXFPMWp5cENBN2p5MG1RZUU1WFJFM0VPNytYczIzbVRNbEpjSTFwNy9QbVhDTTZtZmkrRjVZR0RTdGxTQTExVWNGUGJQaXFLaE5SbHdMRGdMUWU4SUpjcUFkT1EzZExEUW03dklHaVU0T2RSNzBQVy9IZkZTRGhjUXZ3OFZnREVDUmNSdlk1S2h0UXJQc3RCTHIrQ2pXd3hlSlBwTkJ1RnArdHN0d3FRVCt3SUtZb01OVlhKOGgvdzk0QlZaTmZaNU55QkVrSUc5VHUyS280dXlVZSt6RFFCdGplWVlFYURJU1hMcFpkTXVPUjJaZ2pTZWV6dGFoT1k3WWNKM2ZSaEFXSGlDSStsYUZWMStkRWFoUHNKMVhWT3NNM2J4M1NLTDBBdGdmQ0VyTUNHRTl6dmY4ZGpDQ1U1TGN1bFhTTDh2NnpaVDN0OXF2aGNOMkYxWmVvdkJ6L0JaMXFxMjlITDZNekZydkdhdU16MEFFOTJHVDdRMjFoOHFNdTc4dEJ3LzM1Ynh1MVRYVFNjOU1LWHpSNjVNTHJHbVB4UXFtMUNDaHp3WGZuYWo2dE5WUTVHbWRwdEh4Y3prdHgxRndZMmtpVkNiVk1Pakg3djcxa2FZc3dPQ3VsdENERldSWFdjYlFVbFNCUDhIREJCenc0RTd6RlhObURNNEVXMGtXNHVjQU9uKzI5QU1YTy9SK0VVSy9jdlM2SUJEQWxrTkxwZ2FMaW9xUktsSkFwdHhpUlcyNkxIdVFFa1RTdkNXNlV1OVNEeStSMGk4QjZHVTNOcmVuandSSHg2OEF4aWFrWnJoOWN0UmtRZ1FjK1pidDFqZGRSRk0wUXJMTVViWW9yZjlwdFl1MEdFcDZzUlg2eFU3L3BKOXNiMUVNdVBBMDNrelZLSG9oemoyZVdyaVJUd1ZJSnZRRjZ5RTYvVHdxdUtWNDNxbDRhV1Y2UWh5ay9Kc0p0T0JVYXVCV01OOGxkYXJBdThybGVJMFVackJwbUtzb1RCcVZTWDIxVDcwWDFJcCtOU0tGM2ttZ252Zk5WLzhaSWEvM1F4NGFzb1VqcU50bEVSeWlhbWFjN3FjVDYvRW50TmxqZUx5UFNQblkveWpFMysxUXBsZUoxUE53c3h4OGRveUE5dlhTVjdLTHNldk04ZDNGOExYaFViM3p3VGJZNjZSZ3lkejNhNUMwZkpCc0szaUExSm5ZWUlQU0kzVC9qZ2wzT1paVlhSTGVmY2s5bS9oUnRxVUpiYU9DTzlvUUhrcXJkVFZCcWxYRU5pR0RGa2pLbFB3bUN1QnVGb0x3RGNiMVErbjUwYWJtOEN0Ri85NG9KZVlUYmhBcXlnbVp0czdIRDRobno1Ty9VQlRyVE5wUmlYWE40YUx4RGkxZ3lwVzZNem84VS9lT3BVbmhCTC8wMW8vMHRkVjE2eGsvL3Q0ODd1L2haRFJQZzE0eDJMc1JnREVwRWFkUzluYk05WngrR0FzWmhkSm9HT0RZL3R0NElTZUNJbVpxNkRyc3g2RFh0MFNuY3hmeHBrd0tYcVFyZ0hnNWRuYW1wWXpSQ1kzZnZ0cGpVQ0MxRVdCdm9icVRQNm1QcUJrNXFxK1JDZHYxT0dHZ0Zicmk2OGpGVGJTd2M5QUl1Yy9kbldBMUxvejUyOE8wWWQwTnZ1TTlpVE8vRFB3Q2dBc1VFbEpZeHpYMlRwWU9wMnZ4TXlrT25xeHhNWnZmWFdKcVRuakR0RGl2eDNMdUw2TWs0YThxclNNUU1YZ21CMFh6L1hOekNERlJIdkNWTmJtS3ovUGk2Z20vL0lvVTRKRzBOai9KN0psTklwVEdOYWkvRVRJT1hIdC80ODVPOEM2M29YTmZSM3dZMWhsa2xEM0N2N3dWWGtyeld0aGxtZHF5VVRtRjM5aU5QaHVtOTdTN0JzVjJHenA2ZnFCZkFBN0YydXpzRFY0MGVoTzFKTDN4bTh1VmNCWmEvT0RYMzJCMU0xQ3RUbGFJZnlQREQ4Y3FXcnpEaEIxTHVTUTkzbXJ3eGJUdzR2U3dLRUZYd0J3ZFh6Ym9YbmN6WTBnWW9JeWZORmF5SWMydWZpekZjYzFIOGIxSmp4eUhXQmRJT2xOY1NqSHFVMi9QOGRMakhiZzRIdFF3UGxSNnlLdVMxSlZWMklrSUh3Kzd2V2FISTV4ZXBXRmVyN0lSWERpbUNlRG1jcy9yKythaUo0RVlOaldMTWVKa01LaXp1eTdYZ05kbXhHanhZZ3lwbEtZYUZwTzg0UEhvbThnT014Q3RzZE1UNC83MnMraHRaZkdreUMyQkVnbTZDbUNGZjlYeDlTamxzcllscnQvRFNZUWlENGRqd29FOEgzWXFESG1KNWY3bWdObWdqc21pTU5GdTdjUFZudkswVXFXeDlvbVNtRW85RzFMN3I5OHZpR2FwL3VDaUNCZ0hCSkpzaTJnSDc0dnI2M2RHeHI3RGZIbUIzOXYyY0xndEp6K05HRzJybnR2TVozRCtIOCs5UnBCdTlnL1E0Q0EvM0EwaDc4RGV1VFFBRFNZRjZtOEZKYnYxZkNzSWVFMWc4SUVTcmQvdUlmeVhaN3p0RTdLeHVMZmhNMmtsaTZ2SzVoSnd4Qmc1THUybnFpWmllOEdNWFJDZm1HVUFoVmEzYVBJbE1BM1Yrd29Uc2VmbDlNVGZIZnphWVlYS0czek9Pd3hHcGJ0OS8zMWx6dEI2dzFPQVhiaDRCdk5aSDdibzhiZGV0QzhuVDVadUZCV3ZQY3ZRMzR2SlVpcDB3THo4UFBOeGtqSUJodmVac1NaTnY5QzJIQkwvcmZRSU9taFBLNnN0em0raS9weHZGRXBuNDZ3UXJMVndsRUhtc2t4cHNHWHNLSlVsTlFveFRWZG5MR1V0d0R4RS9aRi9QeXhJS1BQRnY2Y0RkcXZMWno4Q0pjTlU3VWIrV2FvRXlEWXdBSnh1TmlleXliUm5yanZjVFdaeFUxNW1PWGQzazBtSmczMkJwenpaS090dU00Wm1ZRStMS21vbTJqZ3hScCtHTit0KzhPYWxNcG1WbnRqL0NlZjdNc1hEM2lNTEhxaWhGalFHVjJrT2VYdWNjajVmNkpaNzJYbSt6WERUSXhFai9HNWx2STdybE4xcXp4YmlBK0pTazJZWlN4MUlvSVlpVDh4RTVYb3BTL0xabDVCQWg3NENZSzd0VjJUVHZBalJ0SlZHeGY1Yy9JN0ZvUnB5aGE3ZkxKV2Vua2JqR2d3eXViVVY3MTB2Z1ZiZlE4ZXVlTjZzTERtcy9USTZoTElIOHhqMTBhUHNWQzZtbWdXbXhRdzZrODBmL2NQMURRc3UvV0NtMXZVcVF1SnRXRTk2V0NESmRNU2drUm9iM2MzVko3anNEa210akFnSi9qbDRyQURVQ09XK3ZBNys5bmkzRmUvaWhvd216NjU1dGcrd1JVZ0pDdE0zd2NWVkFYcmtZK3dLVy9Cb3lmS3gyOUVERDFCV3FFZWpsUTJwV3B2VUlxeFkyTkhzTmxuaUZmaTB2REhIMUcyZ2phNU1wYXNDdEw5b3hQZmI2T09hMHJtNklNa21MMkR2UWI2WDNkTWYzMjd4T1BvQUp0dUs0SlAralhxSjU3ZFpVMXJMeVcvUXBHN3FhRUNNUEhiTzFrVG12WWdsaHRma3VJRDRSVzlOaEwvSWswWE81QUlyY0FtcmI2aFRsemhLbWRMWFFTTXVDOGZOVXJFL0lKK3lDdkJUdnZhQllQZ3ZvbE5uNG5lU3pLS1NGMWxxazJTS3VRaEcvSmt5RXdUZm9Gcy9ZQWVMcU44VExpMk9oRXlsR3A2SWt1N1kwOGN1amFOUndVNEJJcFJ3VFNHRTJEL2RndkxmTWFWNVFFTWxjTEpKbno1RVd1c09pT2tKc004SCtvOFgyNDZWVnFpK3lIVTVrcEhlTk85V0VEbVpnY1M3Tm5uM0k0d2RjUzRRZi9CY3hmdTRncjR3eE5RMXU2bDBYbVcxOGVQeFdlSjRzdSt3aGZBZlpmQTRPdGtHekNZY2FCNE0vcXYvSks4TGFkQXM2T0ErVi96WnhIUnFVTVpHZksxQWFNa3N4bUMyeGR0NWpYWjIvbHlqT24za0JCZGFmSDhBTmhVNUF1dEI1a1ArcThtdTJzODZjeU5Ba1V3Qm5GeE9XY0hNZ05DcWpWZGJTd3U1V1dia1FhOFRoV3BBcitsdlRFQS9WS3JDek1vV25Fdk9pYWZqYTVKdHpYbkdiL1B6eElvSENydDA3K0NiMzlCWmxnOHVUUEFhYU4rQTZJdUppY25sQ21QMDBlTHpUeXlNcWdVZ1ZyVnd0U290VGNjYUVncVlpcGZlNm5DblY3TXZrbllQQUVRRENjME9VVWc0Si9jaUxtZERDL0UxRmJ5Nk9iUGdnM1BxNmRwdS9NcVk3TzllVU1YcFM5N1RQa0lpVVJheC9GalhFNWJ5VkZqRUR0dGFMNXBaZndobExacmo0TGRQSUM0emcvQzgrVTh2MThXT29oTFlvZ1JWcGJrNVlwekZ5c3BRdWZ4dXBXZ1FSUHB6SHduNjRJVEloVGdZVG1zdXNTUjlsalErOTQxQmpadHBIWkJkcGNXYy9nYWRsSEhqMEhZWE1BTzRZa0ZHaE4xcFlIbDE2MVBpdjViaE9OcnhyaCt3U042MExqT2ZwTTNxTFBzSVR4alk4SHRheTdWZDVFNmxsTDJhTTJldUxZZW5DeEVEcTJTNXE3Tm1YOVIzNHBMVmRUMFBXa1h0dzB0YjNvb0hHWHIrSG1pYTJGSVVpV0thdnUwOWM3U0NzVElLcitqZkhYSjBvNWV2bXVmK00zbmM4aWNSZk9pRUZoTDl6VG95UUltVE1UZTRhZGVQSEdKUGJEMEVPT1dFTVh6OWRPczVBeENpMUxyTUp0Vzl1TWZORzFGSHErUlJ1aTdkc0xGOWEzVHIyeUFlOFhNY1RxOWJaZFRxQnh1bmpORW9vUnJPbzZEYktHMm8vQm1EeEpMcm4vajFGSEFVRnNrNEFVYzVQeVVvMmN4OEIwZ2RGZzJUU29hVUhTK2o4endmbG1ranZHMzR0VGtnRDlsWU9vYWZpUVAxYXg1aEZRdzhUOEx3a2swbk91LzdYMmJQdkJtYUdvb0IyZ3gwNHlWSFJYNXN0T0Zvb0YzVWEwRlZ2NkErUlYwSWRQNnp5RExZc21NNlFXVk5hU0tNQXBIQjhHYkZlRzdqMWNYTVBqcGlKMFo2NktUeE9qdW9kN2VzNDlXRUk1T1V1T0pLbUhMa0E5VGVYalhQclhmUTNPd1RCQXQ1NXVWRStJb2dMQ1p1TStsMEVwUzNjdzM1aHNhNFZhWVdxUVVHRDNKTVRadkVYZmZvMmlmc0kxdTZKM2ZiZFQ2YnlBQndLZE1HTDkzMXhtcFc1b0IzdGdaU2Y3V1I4NzM2a21oUDlTbUVTRWpScHU4UGJmMWhxdUJDZUcxcTdVM3EvcDRNeUtyMmx2YjRuQjc3WURRaUNNNmlDbnYyUzlKOEdwNFNlMUtmQmVFZU9kVC9QTVRjSE84bk9PbHNrbStSVW1tZEY2c1hUYTJtTzRGbWhLSjE5dUlvRHdwSDdYTnVUTzNVeTNaZWJNU2RpYVNnc2ZMUHVUYU8wSlhVRVV0V2k4aDBuQU1KYkgvZ0kvLzFPUlJObmUwYzNSVWtxYllJSFUyQXhDRG1TYTdjamxJbndkbTFaZEM1OURLUnI2alhZN2Z6RGRod2dxbFJSWHZLUlVFTXZ3WnlkYlI1SFBLbzdpNXErcnNLWkJBNklwcVErWFdFMnJzQVg0aHRqWHZmL1lpcTVLTmtleG15aTdVRy9BQjZUOEJUNTRjODVMbTRkREo1RjZzUk9BMEdpYW1JSUJOcy9ORi9iTVoxNmxVSUpoK2RvZ010TDVIR0lXOEV3d3lUZXZ1cTE1WUZHMUF6cG5WVWI0bmRWR0hKR3NySXNHN0lxT0pDVDR6Vk5NZWJ2elhzajdrRDBNTEticFMyamZkbThOY0x3bU0rTXRhU1ovMXhyejhBWGpsdThER0NIblBtVkVtUHhTcXk5SVRBb1Z5Z1lwU29TOW04NjR2dXFGcjVoUFZQQXNXQ0NZNFROU0h4cDdPVkU5TTdJR1BieGo3K1VYMXZ4OGprMFJmL0h3eDZsdDVnSUF1NzRweGJVUGRPTVFBWkNQRmpoN1JQZUdHVDBsSTc3SFNMYkxVMEV0aURoRDltUE5HUXUyUzAzTTlGZEkvcWRjYzlLNGVvREFFY0pxRzFBWENzcmt5bzRPd0ZMcnVSNVgvTVdrT05BTVh3Y2g0R3hOZzVCcERyVXU0dm9rbkFaVXFVMFR3UE1iS1Z5UUJJSDFML0JSTXpsNkd5YUplRUJsSDNqNko2bEVCWnEwR1VOeXBYbW5CVnEvekRPdnBRU1ZnOVRUQTRTT1dYd3lqRm1wajVGK2ZKMHpWZlg3U1JWWVRqWitxVjd3R0VwRTZGUDRodkRYdTJFRGt1bnRZNkdvTi9lTTR1Ymw5bFpVMDZoUHNZdERKVThiTnl3M1ZTaW1vVXFOYi9SMEFidzVWcmRjSDVpci80VXJKVGF0dkFScjQ4ZUp4aEhaeFZoWGR1OTM3TkNCaUwxQVAwMjNFUFkwZkRYWDl5Q0tGYUl5SVd4TkF6MzM4Sk00cGoyT0pSSUNvTDRHamhrUzJySmR0SUYwVkMyRitOV2c1Vmw1NERNZU9wNTZGdkszNXR3NXFDWnF2SnNoM2lrM2xqWXZiTVpEN1JVUGE5MmIxaVFhYUhjSE8xeUpwRGxmK3hkenlrSjBZSFBuOW5qeXkvdTNScTZEWTFEOVBobHhrMURzQWl3SDhZTUtCbWhndlJocnNqZlNUNkM1N3YxbHhjTlE5TnhPYURubHJRQVlGQkpqOGZOUlBQVlhxcFFkb3p2bFY4WGdjb1AzdlRXSFF6eWRnK1h4c1pSNzVRR1U2OWVGd3Q4RWVndUdjUkVrb0Q2R2ZkdHlMeEdpU3o2a3lhY0YwTlZQeVBxeVEzSlFzaEd5YnVDaHRZaUZodHFQdnVYV29iem9va2hubTNzVmxtVHpqZ2tVa29lNysyR3RWRjROMTVlVkFqZFR6Nnh6dDJ0bk4rUHRiWDA1TzBSSDVqL01nMVZJZ1Q3ZVljcmpkcWQrSklZbnJpQkR2bS9VNnFSTDYyZ1NrVXRmZmgzb2IwOEk4dEpudWREbEpJZ2pyQlRtZk1zci8rcnN2bXAyN2pkLzNLbXlBTCtlQjdVZVdNWnRRNFNnNlBuaWFNejYvcjI1OXJtTXpDOFh1ZlF3cTFBeklqbTg2WVN6N202UlV2MHJ3eUR6ZG9LUytnL1lpYjduSUEveWZ0VkxLL2lTa2R4bk5ueG5HYlVoOWlkSjFNTHplU1pmT3cveDdZamNpNFZ1dDZHT1NiSktDUFYzemdyQThZRGllT0o5aHV6ZHp2dnA5UTNERk1zblpLSlhtTU9PdXQ0NHVlUUNiV0dVQkpiNjF1Z3lGN0x4WkJEVmpWWGFvUTI5a3dJdHZpdGZrQklQUmxsZDdMTFp0djVCK3h5RDVUUjIxNnhQeDlKOTIyTGdGQUhaVXNFU3I3bnk4UWlhc0xHQmpQazQvUytjeXZaMXBQZkUvdTlndm1zbVhoTmxmZGJ5bmw3OEN6cDhPczkwUU5BajFBcjZJU1NsUlJlcjBVZGpqeHRlNFBLTDdoVmNkaG9rSkg2ckFTSWpBdUlQWkRFd2d1QWE2QzE0UitGaUs5b09ka0RVT21uaitsdDQ1NE9aOStXcmJWN2VMQnVTR0FKdGpVTno1OGZSRkxZank1Qk1yTVF1T3dxekxLR0lDVnFQblE5UG9JUjR0ajhRWVJFcys1RVFVclZVSE9HeUUxeEFlK3h5WERJd0xzWU9iTVAvR0tTQUxFS0QvS0RFQ3V3eWNDck4wODU1R2NRYWJuQ2toOW5wR00zd2Ztc2lpNXd1TjVoaDdVdGRUQTVZM2NsanlqazFJS2c5blZRWERUV1o2R1F2LzVXb29aa293eGRxVFR2S0lkQTZCSHprZDJGTDdObkgrQmFCRU9oRThYL3J6aGxRU0xSTEtjVjM2N3FlQmt4SUduZ3NUZzdBVkswdTJzc2NMWUNEZFR6WDlsMWorTUtoNXEwdldWenhJcVdNalJUWXJKd3JOd0JVa2FkVE5NeTQ1TGhlWncxZXBrYmJmaGhDUDl5WVdacFBTRy9qa0NPMW1KMVRJRzFhbHdkN05HclRwTjhRUGxUTWVCZWVKa1R1SlUyZTlSRGZzQ1V2UmJpUzF2R0RTUDFIVk40cDlEMTNpc29GbFRlUkljRGJPeVBEMGU4WENvMWdhZzFiSC8rWFJnZm1oTnd5QWluRkhmdi8vVFNJUW9pV0p1bTRhTmJuYksxbUl1cCtiVHBXdXpYUURGa1VaNVpkemkxcW9mQXVrZzg1My9mYkNKU1Q1dkxYYUFiMUpjeVhueHBhV1YydzhRS2ZYajB3KzFLS2VrdFRZdmRHWHYxL2RKZnRiYnNQWDJwa2FIbWtCeHFLcFhMK3hxZUpaajAxRUVmYWxybDN0YWpGaGNleXVoWk1DR0NFeWJDVUxDQ3o5SHVuUHNOTW16YWQxcjcwK21xdUlUUmZ1QXBSMUhWZnJLQkM2RE5SNWgzRVFJMEwzMGtFTC9lME51SmdlMjlOaTNJaVN4a1hBY0tqVEE4d1RNKzRMN0crRnZYY3NGRmtqRW5JaGt4dSsxNnFVZ0dTWExBcFJZQjlvU2x5SXpFeXptYU55WGdTajRpZnhSaGx1K2l1VFpXS2h2aGUvM1EvT21MK0NnOXZDNXRvVTZJa1pHSzNCN2s4TlNGU0VWUmIzVzZXM20wTXMvTlNlbzRrRmdiZUhKcUVxMWNXZmhkbmdmS2huR1RKRklJNTBPNUhhVm9HSGFxdUIxOFQrelQzSC9xWTRxTy92SzIzdURSbTBMczZqbUdHRDJUQzV0L1RXUEdMdE90L0lDbE5tWFJYVXJwUzFCWEpGem9EazUybVQ1R0JFdTZLVFMzTW9VaXlpTVZzMEtULzRpRXNaOEtBUDZDeDdPRGhObzJoZjdwSjI0emFhOVg5Q1I2UnZzektCa29EQVdLMlNMTXpVZ21mK3Fxbi9Rd1UrK0pmdDVNLzY2b3dCVEpnVEZmc21GTHJZUWFWNzEzTE5xeHVUU2ZnNzRtZXJWbzU4dHJ2ZWxQVC9LUy9aS2tnaEZZSlZTdVNzZHRoakFrUkVaSnMyTjVtcTQ3blhKQUozTDl4SzJRZVdoUVFlOGc4eVkyNW43bHZWamhsc2VzUlZxT2hWRjE1ZTY5S0RJd1hMN1YzTW5yWDFabm9QbS8rdmk5Z3AzZnRXalZ2Y0hnUzc0VlNzWDhSNXlTelkwL3NyUXN6ZHBnQzlmRUxDTHVocXZvNUNGTXNnUW9hMDd5b09TQjJWSGh6ZldpK2hYRm1WWmJxL0dqT3crRG14bnBqYnU1VzZhK20yOUUzcFBidVNGbTJKODhrSm5XWHpYV3lSakpBeUI3RmFyUTNhdVp5bElNNjRLM0RGYmJEczNXOEhRblU2ZkNTTTJUUWR3QVNoaHNxWHo2c2hvL3g0aTFLWXhxeWVZcFJCVTQwREgvU2NEQldPRitJRjdQZE1zbFhRZm00dk9qZ0dTMkJPd1gxaFB5MGZQaTlreXZHZ0IzV3JKYjVkZWlrd0RmcUZGWTg3ZHB5ZlZXanR5VEF2NmpWSlJyYVJzaHVOMVl4WEdabmtKZjJkRmNZSk5rb29qREVQaDUyazRvQmFxbWFDQnlyWmg3ZHdGRUVnem8weGlNSHc0QkN5ZEd1ZlN6cEFOcEltbDlXYjRSSnFEWlFnRFFOaGV2aEp4OGUvQm5zUUtaQlFmVGdwUmhCMUZySUwyRDlIUEtxeHVmQkpjRHNBbE5VcGFaNzZHS1dNTFdlcGN6VmMxMkVING1aTDJETlZ3Vnh4aitFclRDajVlQm1Cb3B3WWk0Nlp2MTA2dGtyVExlMU5CY0RVWFZaNkZRc1BsdU5LQktXRFJTbmlmOUg1ZHhrQmluS1VaMWlKWlM2ajE3ZjlGb215ZlhiMlZLVFFrVFFYanEzRXAyQVltZzluT3prTjdWRkJlM0d4aGlYNWVURm9KQUFUdnBuUEFsSXE2enBWSjV1dTFEM1djODhRc2RNdUdNNlNBclUrWjlQSTVUVGdDNDJQSVlCakdrSUVSVDVUWGY1UGJtRThoU0Rpbzc0ZDdUd3cvaU1YMGhMdGtvYTNZNWl4NExTdHEzK1FZejVOVkhzUUVpMU0zVll5YXJaU3JFS3BYWEoyTE5jMEF6aEZqWjM4eXRFblZqakpqL25QM2FFMGZQSXdBWWVZM1JreC8vUkIzZ2d0QWJqNFFybTJKdk9ETWxLMjJrTlVwemxhd0s1ZzI0OGhnNmRZQ05hSUwrdVZqZGhjWnNnQUtMaXpLL3pvQ0c2QnllMU9ZcWlxcXdoQURoSnNIN3hIRURwektWc251V3c2SFRkWWJEWHV3MFM4Y1c3SWtjTVpBWUpuZlBTN2RPSVhMY3plZEdVQm9pSkZVUDB6cmlnMkJTWENQbTVsNUFmZUVLMzR0R0JEcDB5NFhqRWt4anIvbU5ka1g4YWhGaUp1QnE2WmdzWEhnalVQS0pEN0RDWElCL2JHMk9zNmVWZXlKdGNqTFJCMGpwUHliV28wSGhiVGxYbWNDUVBUZjBHMCtpRmt2WnJNZlQ4dGF5d3J5WjcyVElNdytsYzZ1eHRsaGsyZnZUaitHVzlLdVlDNkl1SjBlQkdRWHpSenlsaG9EQzFLZ3Q1TVhIcm40dVRJbys5UERRTkcvRXJZZFc3UExEOUY2SFZvRytzdXpJM1lMbDNUZHdFMXVjU0R2dU5oQmg3MUs5Yk5XMktVNXJOU2xZaGxuYlRzb0R5NmJNTGxzMlI4VWtrN3FZdktiS2pZYndQTTdtUng2QjFKMVJOWllpYXBrMk1yaFlQUHNjeW5wdDlaaUV5UURoeWdaTW9yaEllL21MSzhoWndrZU9weVBFazZTQXd5UkdJQmZVSTBQVUlCZmhPbzNHbjBaTW15YmNjZlJ3RnBZUk5EbFgrNExsTXdPeDNuMGlubTk2U3ZXbEEvaWZIN2p5dzc4VEtWM25SdzExUXdyNU1hU1BZUHNleG9odEpVcDhQbTQ5UUw5ajQySXVvLzFEMGN6eUxZL055bWgxUTI5TncxMVZtY0RrVVpoYXo0eVYzZWRtK04xbUo3eVIzYmRabnpRc20vdVByR1RHVkUvQlBneDdYdWtyeFFZWkE0VkVCamZZbVBmSFl4anJoYk10a0xiRkRicVo1MjBmbm1oK0dVY2tDbVBqTEdhTlUvanBjZGdXb1pVRWhFdE43RjJ4d1RuODZPTXBkMHk0eUxpYnpSK0taeVpHdkNYVDRaOVNIV2VzL0VEQ2pZZ2w3ekdURkFDeVZJeUNEa1owRUJIaDZPZEhhd01Ydk5xbXhRMmd3VU9BcERTbDEyTG1PUndwTzJXeGNvUnRiOHFQUC9VV0VTYkRoQ1c0eUNRSFlwRzRvbjNDUHZNVldDU1hNc3k3eVVJazBLTSs4dGYwRk55UnpvRVk1K09FdG5LZU9DeThjYkR6NG5BbEM2RGJkKy9DR3FVendITWhESGU0em1ZdGpuN2l5WlJWbDJDYlZMYUJQclgxL2I2Rm93dlFiT240cjJnWFVtbm0yWkFQbzBZSjRpTzMzTDZtcG85NFdBbkM0dmpEL2x3cVBFbGFGWVgrSEtyMW5vTmVEdzZpQnVHdDZmK1dSQzUyVHNNYWljUHFkMS8wSHU1WkJDZVlMQy8zQnhBdDhVWTR6aXVMb0lWV2lkd1lkcW4rTWdIVlJDYU9zclJvcHl3NkJBSVVFYnZkcFErYXZESHV3Z3E4NVhGVStvTFhYRlNyYXlHcll5cmt6VDU5eUZKVWc0ZDluVUVtWHh1UFExKzI3bWpvL09sbUlhVlVFNkllNHRFL3ZoUmxPYmZRZlhpa2dRZlUzc0kwRmtReGEweHVEeWhPeHpvdk95Tm1BQnBReTF0cE1uWjN6VnJUakE3Nmg4YzlLeVBhNDlFbjNGdnNJNm1GdWR3QkMyZlZzY0sxei9IcDlTTmZIUnd0Yll4ODliOGNLQW9aSHZZVHc4MG9HTGFHVHZFWEZLeDFDQTV3NDY0eFBQWjN1MEVyQ1JjdVNRVllkM2d2S3gzTDUreXJob1JJTkFNcVhYKzdWZkRWQmt2eno3djRwYlJ1WFhBd0M1K3dlRTVrY25JZjByNjFVTEJ6YUlyMmszMWgyeXpkQ3RkNEJib1hzZ0hpVEwxUjJlcDREckdScnRnd0pzYjJNb05UNzdLaWNTV25icFU2UFVrSW9XcGtIaDFrckh2L3pVeThCVllYZzlGWGJlUklRS205VGI1UkZ4Q2YzajhmN2w1emZMMUNKUTFxQ2pxS1h3ZTU3dGVDTG1MYUFOS0M2a1dFZ3Y4aTd5TFRPQ0pvSXpVbFJhNzdvU1VMTnFIdG1vYjBIZ21HdGxuN2xUWnlwZjVYYWViZnJ2cFFDSXlXWFlPQnc0VEV6TWJoaTgyMHA4dEVPQUpDbUVhSGhjQTd4V0hWV0lsb1RuWVVOT1JXWWZubmg0Tnh0SFFtK0UxMkRMZTA1cjlwYXpRcHhmWWo2a090YnlydzJXdHlOZ3VVWFZISGFJSWs2bjFXR1FOekFZbzJxc2RKTUY2QkR4c3ZDOElHc0podUJ0N24zN2NTR0t5LzlKZU5kQmpkYWY1UXdoU0ZhRHFTeVVhUmQxU0NUZmM5WFdOUVhEVFNsWTJrYlhTUjlBbWxPSEV1MVlzbjdXdnc4M0h4OEVxWXlBOHUvcU53cjN3ZHVvTFpMV29CVkxUdy9STU5DSTRkdVcwVGlrMkJrSHRPR0tSRHpzeTlvODlkdDVxb3cwUTdpR2tWMUU3UnorT1lkaGxUTGg5MUtxMVZxRVNtemU1WFo3L29mQXhTaUZ0VzJ5V0paK1kxRFM0aWtNanMvdjhCWm9JZzdVa2x0dERUcit6a2krZGE4VGtpSWxjUGtqT3B2TFBybkxLSGRnL2RIa1paZGZuZ1hXZHhYb2NDVHNES2Y0bUlOR21nbDVXNmpVQ2VCY2JlQWFDbU9KczhKOGl2VzMwVUdlTFdzd2VTeldtancxY2VSOXhTL2lGdURtVjE5R2FRTHFhdmxnTjlLK1hyWWNCdFhCcnZ0anpwTk1zVHlBRHZ3WGFsUWw5K2QvclJaQnZ0RkxDUzBLdlM0dGhJYk5LZUFKU1gwcTlYQi83cHdZNXNtUGFRZitWdFJWbTZCc3pQQU1LRzhkc25MbXJ6KzdZT1dsV2Q1eGZSbHJQeW9XTCs5d2lJeExlUlVzVFpLeHNiNnJDdVJoelFoT29oa1RITUhkZHRTVCtIQ0ZkZzhlcjRxcjhxbWI2UWVEM2Vra3NwdkNLQk5Ya3NkaUI0VmpZeUxlWHpFemdiSVc5cUlTR3NvOGVoL2VZcW90b1pYZjYxQWNUdWlyZEdZU2kxL0VVeTk4b1QrMVp3M2JoeVAyVVR6bmN0YUUrejV2Nms2NVZqV1BaRWtJcy90cEp1QlQrSEhpS2FueFBQQTBLSzZaWXhLa0dsUmlDNGZzUHJQcTIyOTAvMnczNWwvRWxmVzExbVJzTEU1RGJlMXJnL20vV0FUWGNYd2pmbzJGbjlWRVBDMlh0MUhSczQxdDNqbXo5UTN6SHM1UjRKMFkwcDdhYVoxNW1tZEFOTndScGd3cEJxOHdKSW5qRE9ockJKWGRpSmpDcnU2dmxOakJtSzRKNkdaT0liYUJxbWM1VG5ydzhxWkhTd1J1NUc0ejJBTVJ1c3BKeisvRWc5SnpSaDA2SzN3SXFWc0Z1eGtwSnUwVFhJQTUvMm10NkVLc1ZpdWhjanV5Wm9CWGVpNk5WdG8zaEtIME11ZE5OY1VKQy9RQWlwbW1sdzNMaXRUL1BQSFdTL2tOb24vUkx0ZHZDNDN2RytJTDhjQit4eXRkUnBlOFFxRk5XWTh5NXVLZDE3djVqTm9vbnM3TnBKSVR2cHNCbEdobW1nRmEzdzFQUlNDZE1haWRlRnhQUDJwVTVIbWFaa1hQcU92c2JXS1cxQzVVUVJGMEc0d1l4RS9QU2wvRXZuaVZKeFRBSWxzV0YzMk1EMXdnQVo4V2Nkam45VW54REU3NnF0a0Q3YU9EVVUyRGh3U1FlczI1aDkvWjhFUU5rN3ZnZndxVTBlS1ZhS0xQSmRhZFpQTStuUUJUZ01JOVNaR0NjcHgySFFHVlR6bm1mbm54WDUwSTFPTDZ1Mm5JVDZTMUpHVmhUbmZQbTl2UjRhQ0Y3clpFemlTalFXY1gzTmhiRHF4cGErUER2aWFuaHNqTHVlTDRDbElNYVQvbzlwLzUySGNkL3N2dHNIWHh2b0Y0SHNscFoySUtsVXJNV0V5VForSmJDTDMvUzFHbDQ1SW9yN1d6K2hzS3JiVW1TUWZpVFlBSE5JVWR5TTZpNUpiV1cxZ1F1RWUzaFMrTGdUdlNma3FGeHlIVzlsZnJHYi9OeFlGZGtoWTByalhlY3ZVVUhqcW9NQVBPdzRVdyt5WE5oYm1mYWQwY2VWYTZIRjJvbXZuNXBpSzBnb2s2V09tWkNvWlhXTld3Ukd0RmtyeHhCT2lTcmoxUVBFU0ZqRVN1TEhZSHpuTi85cXgzNmF4dEZLVTNqczYrODRRR1BvdnE4c1J4SHJrMUFnRUFDb3I0TXBBZGt6M3J0NEVXSFhmcEJpWlFnSFYwMW9QUjhrcGhsaDk5ZlFBbWNsRDZWQ2dsQ3p4bDdpWVE2cUE0ZU8xNlMybDBjNkJRcnVlOG5oRWx0V0VkTjVVWk1iVEs3VGxnQXo1eENuRjdHaDJPZE93eTJHeUdqa2hvd014bWlSTzRyMjRBS0tBWDNxNVNrUXF3UmlIajNlaURaS3ZOdkJ0elg4TU44L0xiemEyVHI5bkZONE1TNCt6WFQ0bXlXaVo5MGFrbGl2OS9kNmM0RDJrTzFxUC91OHBpYXlBSU01djVNYkVIYkRRZzVKQ2JjQzdoVmJ2WlllV1JZUmgrWVNSZTR0OFFwU3NTdkg5bm80L3Z1TlJQUFFRYzA4ODVXZDhNYm95TUxTaDRqdmJIeDJYSGJ2djViZ2VrT2l6QWVxMnlzR2QrOVYrUm1ycEJBbXhyc3F4cDhmTTh6UFFNc2UwUmhNZ2tRQUVTLzBtT2JYN2kwNjlPU2UxdFNxcjUxR3JsdjF2S1cwWnNhcWVRREZMS1FoeXFpWEhYeUl0QzVIQ3UzVENuQ2pvK1RHcXY1dmpNenVQc3EwTk9MNmV2WVFnU2svVmZ0bVUzZjhWSkxFSEJJNi8zWmhsU2ZYb3N1WHN6dWVwd2ZKRnQxMmx3Z0syQld0SGhJcSsrVFN2SThZWXl2Y3J5WHYyVFVTd0lnWHVyV2pId054NHljTWNZbHE3azJLVlRMRUp6VFE2bWNmRUtyODgzMWRSMGN1Zk1NZnd5dlk0RVU0YlFhVEhVUk5IN2IyVGIxWFAwNGhjWGZzQmpzaHVPWHBNOXNHMVFxTUNUWlJDMHE4MDNxREZ1M1JwbkRIc2V2R2FEbnY1SFBoUGxQQzJwYUZEcUdsSlBxRStib2l4bmQwMC9mUXpRbXRxSkNaampnL3MvdHFUcSt0VGRNR0plOHQzdmxPcHRhVVZHei9XQXNqTndobmJ3VWVzcnJENkZqckdvMnZqQjBDcmxOWitzUi9WMjliQzJNRzVlU0Z0VlR1a1FEcnRKUkhLaitGdm5Zbi9SZjlZMmZqRVVLYk53ZUdlcktjY3pIcG5ZOWcxUGgwRGhRbXpwVUZVcG5XZjdIRTFHYUxrZDNValVYSVR3WXZKRmZEd2M3UFkycDU5MnR5YTZlTFJRKzRKT2JjdFZudHBiMGxSemdJekh0ak1kdEpGVWEyMERLVGsrdklSRytjTnhacUJzNXlZRXczTlNScW5VTFFYODk2QkdrZUpmUWtxcmU2ZUVKQm9CV0lQcHg5eWVkWDlwNzcxcHdNNXo0TmMvTitmNThSem43M20rVmpEVHptbVRHUTRjaXBBM3Y1VVRnVnJPMEZGa3N5L2pxZEZrS1BVeWxPb09kR0kyaDB1QloxNjJjQlUzM2xXek9CQlBWcVltUDc5Qjh5bGZQeDArMjZ6MHNpcmhQblZQV1p6aTFqbzllUFlZTm5XdTlWdmZpeWwrTmZ5eWVVaGc0NUVJcytkSklZNmFkSEFVbUNHeWpiZ0xJb29NMFA0bmRTMzd4UjQ1SGFXYmZGZ1cyRHVvclNKL1YySjQ1bmV2Z1NzcGJLOEJRMktsTmw1TUFicTcvTDdzOS9aczYyZkdIN2FrajYrVzRqWFljZnQ5b0RKS2JCWFhTRFJhWm9wd1JVTlBkSXVZaURQNWtTWUlVbklhZ3dycUxHdmJVNzY0akJYaHVXQVZjUklpaDkzZW5iNVAwalhmZzdNaDZtNTFvNWJwV3VPd3pzcW5KUi9kdERhYkpaWExlenBSQWxseWVJQVNpTnhpYTNuekJzN1NYdGx2a0doMVZwdFJLUHVxY2RRcTNyTXhJdStGQXFmSlFlQWt2M01POWxQM3lEWDFPOEx4TStna3BWR3NPby9LNDlXUzVTejNoMklrU0p4TGMyMlhiZTFhUVdQTDFGd3N4bGZkYkhRd0FLZFFsTStTdXF1SGJEdnVkRDhJZXNKNUlNMnhLK2xPU3dtby9qWFFzUHlYZGc4UnBZSmVIdXZVQzJ6aytzS0VZTUJLV2xKNDBqYkM5bm0xcmpUOHRvaUlGQm5UZkxPd2t6ajdBZ1RlZWZGdzczb1lKV3VsTkdhemx1RkVxYVpSeUpIbGRnamJjQ1Q2bm84TWMxd09CVko3akoxaWpxdmc4OGFRMHdDQ2U1aDZ5QS80UktWZnpqQ0pZWnQ5UDl2eW1OcVgrYXNuakhGQngyYVY5TWxEVzR4OEZPc3V0R2IvbnhROXM2RkVJSjl3TG01OTVtWDMzSkdsU29Zdk15cDNzT0xWTWE1b1ovWVZnN2ZEOGw0U3N5OXY1NjZqZ2dTVUFCTWxVVyszdnRkcWNLU3o1QXExYURCbmVsNWFab3MrcGhoRWN1WUc0Z3l3SWVKL0RHZE9OdWc3TTl2TWQ2Rk9jVjdUc2d4ZE9VYVU4RDZBeGcrR2FzWm5hTGczVnhJbjhXaUhPU1RvQTFaNFkyWmNYcHlObFlJK3c4R0JFdkh6TTdFSkhWUzdCcU96di9CM0xOQU9USndJOUtFdkRSSld1Z2E2eStPYWVzQmJNcEdvZDJmRXNuMFIyQmtLYVFVa3E2NWUvM2tpeWpaWlVSOElMYjNkVkp4bkpuMHlqRm9aaXpTb2NzbHJ3M09MRWJ0d3JGcGhzSjYwVmw4ZVBER2JBd3lKS2pPQVZhbXBrMlpkSGQ4UEMvTDZXWlc2dk5oN3JjVVU4L0xsUTNISGhaelU5N2pmcnlvams4WDVWaTBiMTdKdDNuT3VZZTlXdlh5U1RJNnhoRldpc0cxVEcxRm0wMTJDa0htMVJaSVBEUkg3NkZyQ3hJb2NmMWxiWlFKZUZXL01LMUVMTEpDVk1Gd2tyU0lSUnhPaytNQjgwSjM3ODJDV25CemMrdnQ3MzhNQU1jWk5hdlNabXVRZERoekdtY0R1R2w1UVZnU1N0LzlaNTZYTFNsQlJySVJ1bG9vMmJVRkZwSTlDWFZieUZ6emdiWG9zQTN6dlgvb1pkT0tHeFZMYWVCa0M5RWtuajlMTkNBbXVMUDArRTduR2VXeW9iOS9ldW5PR2FVdjI0WXpXVlEvVldUOXRNLy9wdjF6MzhWRTBxdUhiOWprWmhCYSt4aFg1Yks1cGtoM2w4Q2VQYkJyeW1uSmtGek8vZDViak5oWTRsRlZTK2tMMUVOTFBZN3pLZTJKTVZ5Tk5jVHpqYU1VS2JlU2oxMml5RzJKUkZpOUo5T2RjMEJmcEFjTHBTN3ZSeTlTL3JpbHpPVVlySUcyZEE0bitQcVpySHN4TEZyQzFMK1gyL1N1RWdhSHdQMzZNVDdMVnJ0OW1CdmRPd2JaZmZaODhlQ04yMU1VM2dHYll3VmlyTU8vVHQrVlM0Y2FQYjJIRjlUNWxHWjZIeHZKV1VGNXJqdTAvTmk3MDhxM3JnVTFyb1FTdjdWY3lKM24xRFh3THJIa1NHOTd1UUUvRUsxQmpIU2dlSUJSOG94Y01zRmtoeGkzN3BUVjJOQkVkQXVoMXF4R0x6NjN0MnhSc1hIQWhOWXNmZkk1YlZoOXpsM3p6VWl1UllWaTF3NTdPaDRtdkFyYTdpN3puSXhTWDJRelJ1b0lqVlVjbUMrMExhem5xSjNmMDhRUTh5Zjl3aHpWK0lwaTlyS1p3TURaZjhQeW9ZQWZLU3FaU1A1THlmSWt4RWRQNXZZNXU5eEJqdHlucFJscXJQL1FYNThMUnUzdmJMWjRaYWRSTmt3UFNZSWdIc0U3QW56N1pmYTBMdE9HYjV3OUZjYXB0WEhzdG9nUHE5aC94VmhlM3prVWRmK0RyaTBuSVJJTXRUMnRZeVBGaUNzWkVTT2FoQzdhR29FRkpicElEYnp3cFV6N2NKeWJCbFBBRElhK0lZR25tNDE4VDNBd0JvVVpLVkFkWmdEMHlOS3E4SjdXZWFwMmR1aVM5Nlg2YWNGQ0ZMR0lpVHlldkk5NkN6cGxnQUIxMVBhb0ZIU2xqbTNYZHlVTEkxT2gvR0FzY2F4ZStnTVIyMmVMb0xzQ2o3cnZKKytiYU1MYytOdnJ2bW5Jc0N4V1RoQWZ0aVVPZkpsSllKTDJJYjJRRTBmRld5YTJodXpJcktLNW9haHpvUlBXSjluNG5YNFdXZ3VmVDkwVVB2YkNpVTlzeHVhano2MGkxdzdBd2FRVTNmam8vR2xyVmE1cTQ3Yy9jMXpPUEpnaExZaHFmOE1Vem1rWUVFb0JYZjBRYWlnQ3lJcGsrTkpFQlNJb1gxbDdWaHFpZVY2blNoYnNKdHpoSFZ2dkM3aEhaV25LSy9oMFZOMk1CL3Z2WWk0NElORVdhRVM2UmJmeVF1QlVkNkxPSjVnbncxRWNmeEk3OHZndmowd3VyS3h2TmI0YkJBVVUvZXZyWkJrSFFYL2FIelpsbCs4WVBRaEJPVGhsNE5Cc2JnZENRNGMrVlhFa0FOcGFLeFFuRkE4aXZKYUJDMHdMNm9MSlUwUGZ1UDVFRWdyK1g1a0hwNEJmU01WbWdEVklwYy9aVGUwSGVlaVd2VnNYSE1pa3ltSjhrVERPMVZFNjF6MVRCN2pZMlBtOXRTL0t4bWpmbDJ3YnFvbjRpNjV4dk0yMDdETWszNGFlS0lURWdsMGtHazdOZFNUeVhXaHdmN0RiSXppMmJsWWdtdVBzRFA0RVVEb2k4aTZGUElJdUw1TzZNTGQ1OGFEb1kwZGJZKzlUQlZlT2ZIVzIzQjQyanp3M2g5MU1NRjEvVmZNQzVzOTNuVTZLeGZ4b3ZCVWJ4eHRxd3lyZWNzUVk5TnpNYXg2VE9QVXg1cWVmQ21KSmN0akNaQ2JMQXVIMmdhem5JbHEyVEN6UUhZbitWclV6SDVJSXZvN1BtWnQvWVlLRStoQi9aY3JKcWZFTWVhTFRIeTJSZ0ltdVc2NG54NTA0Y1VJR01ZNHZ6MHpjZkFpVVZBSkZONnlDODRydmtxRXN4VHJJK2t0MG04eEllOXYrUmxFdC9WcGZhN2ZKQzBTaUFRQm1VQ1JqTUlFMXNCdGxpK2x4S3ZGR0lBK3lNU2pjZ21RampzS0o1a3ZYTlJ5Y3RQeHhrbWxRRldZOU1kWjN6K3ovbDRqNUZxZVRzSENPSlJMc0ZweEE4OVJRbTE1NXZLdHlXVCtzTHJqdmEzQmNZZnlwU0FpUDNRcVc5b1FjNnU4a1Z0WkRCdnk3eVllMnUxRmhNS3JHNit6eEx6TjN6WkNCdGNMblJ2OTNCUUZIdVE0RTQrQlZGTXBVUjE4dGFhY3BEOHJMZm1mdWNGMWVBdmxmL21KdERqUzBPQXFWeTR2OERZcTl3eFZVaitlbTJmWG1JTG9JNzROakFvY01FaHhQeXJTNXpFTHJWa3NwYXlUL1RaTjZGTnVQSS9Kb3hLMjd6ZTNVemw3aThheHM1L0RDajkyRGQ0eTJTSHhwTE45ZU1qdUVXLzNsQ1R3SnZaQ3V1eVlUVkNSMW82RlBWdjZxVnBtTmNDUEN6NGxwRmdKNlhZdjh2NlRoZXI0KytNMnRsbDJ3MHJOazliNFNFOXlHUGtOdUlnZVkyZHFRSTk0TklxY1JISnl1WTZuSnNHYmZ1M296NUxBekNBTWtKTUlBbnN1eDBhWGtqSzNzU3lvTi84MjVhM2kyanJ5VDJscEdyY3VJZys3cnVhSkVMZDFIOTNvSDlYZVJJZUlRaE1FZkhOQW8yMWg3SjZEbGp0QnZDY3ZZd2c0TFI4Z1hwM25raExNR2I2MG51amV6eTFuNHlhMkdJUElHZW1hbkg0NExIZ1BqeDVyTFdUdm5HdkN6bnJCSjRXaFB1OUFXMTBBcUVJTXNlZGtvalgxR2lzdzJ6dU15eFV2UU5tL0U0NFZKOEFtS3ZvNFgrL242QThMN2NCMm53NnMybDRQbXg4SkxUYzJSbnNGdlljN1RTNHZkTU5yeFkxYVcyTTBYbDJOOU05Y003MTJheWJpaXRJNkxCdk13QnBha2k2ZWRVODNpR3BwdHFTNHlCUmppSkVaZkE1enhsRVRPU09HU21NaGxwcFBhRDZVRnpGcU42ZTZqWTg4Z2ljMFFYVUlpb2w3RVhvWWVVa1JzSkNUK2VsK3ZjaGIxMlJxdXhrcC9PYUZualhHZ1NGcE9LVkRSN0MyWXB3MmdvUWtoTC9JQnBJM05mbWJVWVgvcXc2am9vTk9QWEJvZStiMFdLQW9ITWhRUHZHNCtPZm44THpQOG9VT3l5M0JBcnU2YnljcTRFc0I4ajdqR1g2aERHSWtuZDNRMEpna0Z6Y3ZVb3M3QXhsdTdqNHU2N0U4VFczdlpCdVZEbnUxZEl2MmZJN1hNakhlUzdJYUV6V0xqdEJrWG9YaXR0blFlOGlzUVpUbGRXL0RSeHJUSXc0MzNFTXZpU1MyRExBTEVzMFRoSEFKaFgrYzdFTThNNzlRcVJnNGVUaFoxV2lGMFRSYzRQN0NGcVhrWTd3bDBZeFVma2VCOTFsVEZmTUZkbUlaeGoyR245bHYzdG02SVVBd2ZpWjkrVE0yQXROZGJnbWNiK3RWR3d3WEIyK0d1NGFneC9LUC9XMzFmOFNHTUlnMTNCT21nYmVTUzNEUDZHT1Z2cXhSUFV0cnNSR2piQzYzeTRoN1YvSWllUmdHZ0E4eWJ1bkswVUFNZ0p0Tmx0cUlnS1NrWXJSRldYTWhIT29GVXRlRlAyK3VTME1CYUhjMEQyVE1qRWI2TlNwbFNNcm1PNzQ2aWJQVW1uT3lYaTh1VHVuK3JsSndsaStHeEp4bGtMR3lReC9GaFI1UHhoNW5WOEU3Rnd4MUJxejVGZWRVNEJQMmU4SG1DdDlQbVlQMkkrY054dC9OWXFubEhuSFd2UWRSRHlEOUhvakdaUXRkYUlGaWFWS2R3Ni9WeFBTQW1HWWgrek5ZN0RocllDbWFCYW5hNDJad0Q2dk9kVkVPRys5SzVGaDVwamE0Z2RoRG5kYjZXbFdjYU5nejhQODJIQ3dodm1jb2UwWVR2T3pkMWdVVUhvVXg5cG5CZjhrbm1zMk4yemZXZ1BUWHZXOGRQbWRkT1grSElBNDNuWFpPSDZVVnZ5RnlOeWIyeno5UStLdnNMYS80WWxCOEVkM3F1cXdlS1lhMzZTdGFaQWVCWlFFdzNMcmxGcEoxRmlQa3JqVWpZNWpoWGkwYVBsK29HcHAyOCsvMERjQWJDci9xTDhKYjk3NDFSZ2JzSXFmUXNzZ3Z6VCsyTXdHcit2S3pBNjNpaGJab2pCdWNNR0FDa3FCQ2NGL2lndmF6V3Z2LzZ6aTRNMlplUVdlQXFBeS9RTWlaQkQxT1NHL1JyYmhDVU81ZWJuZVdLZGJpcDdzS1FUZVYxYTdjZC9LNnpsSWNtM1AvdThHMHhPejBablJkeFdXZjBLZHB5Um02MkVpMERFYkxUUUVzSER0UEZseVNiYU1meTR4d3pPUU9UQVlJc01rcEFCOVhqWThFRDI4QktvQVUrQ052L0x3Zi9DelYrbkJUWWoweDR1dEdZWi84Nng5a1FBdHdNTXJEVVdvYUhvZytpODVNWXZTa1dUVVgwL0kyNlJqVmZYYXdtYUgwYzJ3NFpCM1VISlYrYkMxQVJnSUdabW42c21vVXY3TzFkWW9SZWthdGlzdjdUT2lwNGlRQkhEZ2xtWFpiKzd1aTd0Z0tYN28zcFJCUWJPdGxmNitMRkM0T1Myc2tMd1pUZFlYUVQ1T1RrQWlib3BWT3FWT1JzOVN0dTNHdlY0ZFh5a2dLdlUwTmRGaE4wTzdmOTlVbE9RbmJ2dVpFNS9GTS9obDFzR2hGMnZmSjF5aEVGNEhQeWlLL2FTblNMaVBZRzRXdVFMY040ZlZnMnd3KzJJQzJvQjNSWktubVMvYlFiTmJQZE1YL2hkcEs0aW9ZTWNBZ1drUVU3a2RXQyt5RVg2VG0vT1ovaHVZTmgvY2lTcGlzWnF0ZmQ3aHZXN3JoMi9NellibS81amx1ODM0UEJTOGd3ckhycGNWa3dEK1Y3eGlUelVpTGl6OXRpVVVtMFJYWHdlZU1MZnpsU2h6aWJZbi9QdzQzS3lHd2ZZbUVUVklZdE9HZENXSUlPdCsvQnNMdUFlZkd3aDhXREVGVnR3cWRuSjdpdm1LVkRFZ0F1aHpkVGRYbGd2Z21Ga0pYLzBhQWJNOWd4czYyTHN4MVpkeEw3NU5RRmJ0T1kvV3JwMHJIQXhwcURvTHRqNVR4OFpmQVBNRVpsRDhreVFUdUMxdTJkME5pSmpvdnpNU2lRazNCdjlwOGFCeTdlUVdtUDh2bkRrcG9wdFJKM2lqajJOcFZ3Q21YcDlNcEVyM1U0K0l1UEgwRlJQQlZKQkJYNEQxK1dQN2JiaDB4WGZSNStuSUJSalVodnhuSk9KMjhVd2F1ejlBd2JibnBrWGN6bU9XTVFlalg0K2hOcXBxUktiOWdjczRTZkk5L1FHeXVQK01Ic3Fsb05lWUhqdVlPZ01TWmhlZUNPRlBseVpVWXkxTlBNbmQ5dE1yZERFKzRYUlVCR2EwdGFRaFIySnpPL2JqdVNnQXBjaWNlM21EUnByVVprRWpkdXNqT3UvcDc3bkRtbzROaVUrY29kTDFqTkNqeitRSkgvVU1hYWVPOUJ1QUV6eldXN2c1d3VVSTdMWis5ZncvTGtTcnhIOVFYZEwvZEdUdm82MjVRZHZ3TUpyMUZBYUYxZUQ5MExucU9hS0p2bm1rUURxTHovNzJnYVlPR01Ja05VcGFqM3ZsbjdRZWl5WjFyc3hnNENQS3pqd3hLK0RoWnhvaGNiRHJsRXROcDMvTlMvWFN5LzBSOEN5eXp3R25ZZXBoRms3RGJPZFhqaXlwNlp1cjlld1hGSVludTJ5UmY2a3FiMDZWUkNQTDlJekhPL3ozZUp2N2dFcTRYc3YzWjBDSFN1UmMxZEdtT2E3ODhzZWNiamYvU2lOZSs0TG1sVXdEYjBiZi9YRWwrNVJ6TWljS0pmVkVPQSs0cHFaL0tMcEpQWE03NnVoQU9RTy9oc3U0ZHJSb2pjWUtzRUxoZlppVnRMazVMOWhXbzE3dmZTRFJkVVc3andNZTY0TlVseUQvWjF0aFlXTXNyc01iaXBza1NUTUNMYzFiZkFtNnBYdzNYc21DMEtwdTd0YmZWU0NOZC91cElFellKekpIQVRwc1ZhYk8vTE90NG00NFVDdGZybGdTTDFCS1UvSUphb25pNnVJcWxhU2Y0TmtVREVjWFoyRW4vLzJNc2F3eEo1ZDdCZGpaVkE4SDYrZFZzcEVndkI2MXJGV2YrMyt3Qy9IR2JVT1dDY1kvY2syQXVDWTVhWmNxbEs0eVdYRVdIZWVjWXBRUkw3bUJkdVhoQSs2Nng5cW55QjNVcEdzNnFoeTdTc2hySmNqMHg2cHlPNlhjV05hdCtvN3lhTDdWczVkc0l2KzFUaHRGU2phNngrNWRVRUlrbTJmWDhGTE5lUjVrSWJmdDlnTXRydGpBY0VlOXRHaGlabVR5VkkzYU4yeE0xalhkdXFRaHYzVHplNVQ1OXpmQWxBejdjYXhnVDl1cnZUTDd4VXJlMjNUUDhUZnpsNmdQdXBxdHUrMXlxMDdzM2tHbk9sNHlNclQ0SDNabG5pRXM3L2RGVE83c1FwTXBRYmQ2YUxiV1JPSkZXYzVBU2w5MWhIb1BFQ1BIcENQajJTc1BOM1QyTFMrNHU5WExkeVNvWEFPTXNwNEcwazdVUGFKQ0c1L1JaR1dRcUxKN094TCtQWFBrYVlEdEkzVUNKU1BQUE93MUlaQjhTZ0hFdWhFVndVaWVLRFU1QjBpbm1rU24yNVNGMi9WV3JzWm5WTlpxS3J1MnFoRGRON3Y4WmVQRjl3NHJabjc2RHgyTjNJWXJvQWM0cDhEQ0k1aVlrMDVKSVhjc1daSExYc0JxVExlekhOdGI5RTVVRUY5T200UGMvTFFHd0xBSXVpdkdhUEVoNFdJbUNpeXZZVjZ2SmxBQTRTYW5ZQ1BsQ2FSTVNmN3NndHJjM0FTWWM5RFo4U3BNVDdjaHp3Sk1rQ3hlTy80aURDQ3hKeFNhMlhTZmZJZjdDZGtmckFwcGY2VENMT2hrNmxDZkpPaHlnVDA4TUhYUUZvR1Bsb1ZTOWJ2R3J3THhqOWcwci9ZTmY5OVo1MVl5SUpIeGZJVGpRaUd0U1A3SGwvUWczYUxKOFcrcWRLTm82cGF2Qi95eFdPcEJYQ2c4WGxRVnBxMzkvRC9SeU0vK254aXFEczh1RksxU0w3TzI0Y05WUWVtQ3ZlVE5maWxDYzFscDVBVEs0ampQZzExSXVSS3VEMFhOdlFMdklNUG1HKzB5cTFuQlIxUzdnZ1RCVytKb3VZOEtLT3JTbUtoM0JKSUtPQ0xCQWVyVTl6R1BQM3RoNnNidTJ5dmpxcnA5NXdxVU5kaUkzdUI5aXlHQzFXdjJia3BsTzFIWnh1RjNwOUJ5ZS9RSml5L2JjaGE1WFVWaHVzV2ZFL2dmVWxCbzdCU0pSaURtWnhadDFGRHJNT2xPMVhwLzlDWmVCQWhwSlNJcHc2V1grNU5KQkVKT2lLM2kwSnNTZkU5dDd3S1hob0k1cmlvM3pzNHRUMGRVbXI2NUQvdXZhcGJEeWhKYlBhdGg5QjZia1RGOTRLaHMrZVJXT2w3MjlpdzI0YmxWSEMyV3h4UHk1dk5FRUNKbmhWNkxpK1dteXYxWWRHK1d6RkZjcVVidVpQM0xpU0RmQ2szYmcrem5wYjhydU5XZG52RmhnOTBLeHpuVVI2SE1nSExadFdjTXoxS2xXeGNVSkNwOTI0SmJoVXY5eWFWNWg5emhjYnZxZnAyc0d4WkNXaDhlNkJaUGNrVC9HY0VJeUt5UjRhSGs0ZmJpaTVLdmVUOVd6WUhIQ3c5a3o5QU96ZUhKc0RLSC9nUy84YklNdE9jYVcyN21jc1BsR01CT3FIcWJPZXRDb3E3RUxkMTg2U1NQUWZ5Rk90WXFCUDloRDRaTTc4cXpDMGdaSi9reENVZGJMWC9jclFSb0F2ZkY4SDArYjRUQkw4OHZUczNGSFhvOHR4K0l4WmtKY2x1SStVVG1pc2hmNk9jV3BIWi9sdEZqZzZpSFVjbUpTeTEzS0ZWbW52ZEcxL054UE8zYnk4VGVvWVlpdExJYU5SbjNDblVWYjNBdnpnUDVNSzZMOTNiUmxzVnRSSmliR1RFTE1tTTZIL2pZeWFRSVBtQmZMOGQyNkVRWHhkZlp1OUtJYW1YK2h1R3Rtb29vT0JCb0hDVXFFT01UeWN1d2FVemE1WlhPZE1BYkg1eDB1NUhtNW5LeE9oVU4rallJSnE4THRZa0Nwc1RFOENNUDRseVJDRHIxem1oWjlCUjdMRFp6SThOcnd3aG1uS1lIeFhhOEhjanJkVnFmcG13c1lINVJOWXpSNzRlOHNyRnZ6OFVZK1UxR2s4SDJWSENRUnJLdXJkN0d3UE9JM0Jqa0t3ZkhDSkVjdFhXRHhsbzlPdnBvNERjcmhYTmxXc1RaclpMbTQ0U25kcEtYTnFYcms3eWxtSmFzYVltQWUybzNWWkRHL0NXem5kOVE0RjNURTNKUkhNSDY1dmNsMUhIU0dKZmFqZzY1dUJSUVJJckNveWlvbWlFMDYxaUtrZTArMGc3c3lramtCNmMxcUM1MHQ1UEpVUjE1QVgwdURMcHUwQ1BNdm5wK245R0NhajJVLzl3NzFSaisweGpxV3lOaXBaZFNjNVNTMXJMaVV4SWVDOStzUHgrZHB0NmhRTmwwTHcxZDlXWGxMMWp0NFhCK29VZGxYd3pISHVDczBHamFRWTM2VmNpYk1PTjc0ak1jU2p0bm16bzdINXJ4R3BHalhHUSt5dyt2Q0xrZEJhanFsQ1RlUzlHUFVZU0FDRFdpbGxvY2RrMVZWeEZyOUFwemdGKzI2UXg3ZFZrK0hxNXdEUkl2M2tZR3FJbVBCZDZUcFFZa2ZBNkF2U2Z3eUdJVzlKTHpzY3U0M0tkakxIWVZDT2xCY2RKMGcydEpndUk0OC94L29VWjk3blhpeFFZaTdpQytLcWEycDh4TExwcnNrSFNOQU5hendpWVM5TEw4ZXlQeTRVMmk0a1RyMGlFOGNneVBIZUhtR3V1MnppV1R5cWFnNXNGN1lYYVFXck92Q0cyQk5rR25NbE13L0xUR1N0MlpoZVpIVUhGMDdqZlV4Zk1rNkk3T0RqODg2L0xwVjZqNVI5QmltWnArRjRPV09icVJNU0lheHZvMnl5WDVEWTNlNXB5NXZKYWF6cEk4enU2MGdaOWFSYklXN0pLaXVhRjRtendwU09DMml5L1ZTVzFKWG52RFdsc1ROOFhUbFVIWTVtSzdNdEtGVUc3WDBoS1cwbmV4MmR2OHpwTUNSVEloM0d5dmt5UmNJOFVKbVVzS1VqU2FXOU5CcHo1ZGtRcHgxcm5iZndxZVdDam9NankzL0IxR1BVcHVOR05LaHVUdkgwMlRwVHVpSWlLUXVxdVcrb3dBMnhFY3lGM3ZUVU5wcE5IdkVuTFdsYVJqYVM1SC9nVEFuNjFScHpPT3IveEVWUmVDNGdjTUhIYTc4VFAvYzFWalFEMXc3WFd6dEcvQVgvajV3ZXp6UUhqamc1R3RjZzNvMjJETXE5WTFiSUd5VkxmQ3c4cDY0cm5UVzF4Qm9TNWMwU244c2ZiVi9YSUJvdXEzRlBPbUxON2h3V3BibVgzNUFqTG1JMVI0Y1hiejJjUW9FQW43M3kwbFV4OHNHOTQ5NVNqRjMyNkhraFZyUTNOWDJ0bWV4cGY2ei83N2xQeU5YV1RWMW1ENncyTGgxUnhiQlhJd1lIa090QVQ0QzBiZ1hYbS9MRm1Mek1WU2JCRWFPc0FGWkpuTGUxWGRCcHRDR3ZtMDdPT0o1d21BZ3VEeUxRZlEwK1RCYzNZQ09MZnRFNnBFZlRPQjBTREZraitQdjYxdGxrR1NYOXlYbU9GS2NoUEtDVGVFZ1JORVFVcEl2Z0ZuZlppSTRIbEJKcWtxc1FHZFRZQjdneEJJRzY0b2J2MmxtdlkvOGJ4Kzc4L3JjWHdtbzVwTVhGK3BlMU1BRUx3UXZvRkR2MnZxcnkyYU92Tys3NGpnaVlONllwS3pXZHhBcTU1OTMzTmdOTWVnVnQzb0hoTW00QXVVcFhxcUlFc0tqVXB1ZXd2Mm91K0RvZ1ZFQmk0cGx3TEpEdE9SWVNmVi84RDJRTVJnWkY2c21ubHV6ckdiUkNYSmpuK2xyTjczcXh0a2VlNmVOcjg5MlNNN293cmJQRUw0VUVsOW9OMlFFdDlLc243amhPTWNxc1N1L3JKRm4vM0hENkx3YXh3dFg3eFlXeW1INnFCS0ZLRjVnaFNoV3BoNUFtN3F1Tlk2c2JrK1JYWUdDTFBneXcvQTA0VW5VMnY0YlpkOHBPMGJoaW5rd3hJTkQrNU9IOXN3YkZ0c1ZQbHBhSUxucGplZnZRUmlaUXF5TVNIZU5iUWhLTndQM2VXV3ZWWTR5RldRZk1BeUxuRlJ2bXcvYXhmQlh0MHZibXphUWdGeUVMUW5lWlZHZENlLytodll6WVViaWYrTUZ6MS9qakg4U2xuTmI4VzJwa2RXbU13SW9MM21VNmFsc0d0ZDZ4aGg1YXIzTVAwTUFhOTF1dDhmQkNGTXpZenhEVkwwaFY4K1F4YXpkVmFDZEdqUW9kWkxLeDE2SC9JcU9ZWGpGaG9OTFJtUWtDVEdad3hGS1BmMk1VM3R0QllLM2FsN2xvc1pnZWFmbFFmQk81cUxkTzNJVFpqa2dpd1dpeHpFV2Y3T25PZDdCZEgzalIwWm51SU1oWXQzUDAvc3BRbC9STzUxQk1nOEFaM09HWnZoZTdOWksxVjc3b2xpQTJFNDFyOGJJWXJSOHhXaVE4ZnNyTnhFMFZWZ2NSN2lOQ3NwUERldDk3Tzd5OVY2ZmIzemxEK0dXMTZNenpudFdiS3Vrbm05bHBsTUkzeWNmcjJ0dzErVW54MVo5WkRyWURUVUp0ZElKUEw3bGxGUmNnYmY3d05CUFZvNHJmOWdmcXpReXV1ODhUTU9kTlNEdFVxbGk5ZzMrQkN3MWZ0NFY0Y3AwbGRqT1E0UzFyWjlYWHpqOGlOWnM2ZER4UStXaWJZMG11SDlkdThKMmpYWU5wdWxIalZzTjBFaW5EQlc5VXVTeUh6dDM3U1p5WVY4Y012ZnFxRkNBOGp6QXJnd1VvYjV4REpDRGJsZlZ2dStMQ3RYRDVJQjkxeDF4MXQzVTlLMnhNQTMySFpIK1gwUGpBK3BIc2htdU5qaFJqbGZvSW9XV216TEJOS0NpSXFnL3RCKzUyZ1hPcmQxWWxnaUkvTTJsaEg4ZHFSdkdYY3IvNEpTQktKMFBDbEp0ZUJNWCsyajV6dXloUDkrSlg0VFU1ZlZ1YTZiSW5nVGozSzFYVFdyLzdLcG8xWTY1V1RVT2VjNmEzaG9iek9taTNpZytqRDNpVkRSNitqTlV1SEsrZk50YlZZRlh4RktBSVVXQ3J3T0hSNmdkMDM1VHNJWU1SbGpiY2ZHSWVaejZGYmlsL21XcllydTErd1FLUW9SWFBHUG9WbHozUDQxdDI3UndTQ0FiTnVwSEZkSEhGNVpRRVk4TkxFMnUrbmY3NUlrYk1sbG45UWFSZ3BBQ1JPSWdmL21YYkdPTmduSUk1TXVDcHJlSkk5cUpWSEtlWkJ6YXNkWnRJOG1zYnU2aE5YR2NjVXdBc3JGQ3FCYy9kMmE1dm9UdVdvNWZNQXhQd0t0alQyQ0h2d3VqOGJIS2hhdHlzN0NoQys2bWFYazNya0hSOG4yU1M2ano3VWZweWE5N21SZnpqUktLbjFCaDRTRUVaL2RQd3AyeVl0emFNR01TOVM3ZnZHeUNUdUJYMWsyWDZpNy9SaGsyVEtmV0t3NFlVQWFxQ0hnd0dmanl5UXdMQVVzd2g5aTgvYkQwT1JQRWdhZFkzRG9xcjV5eW1Dem5LM0djZU1YbTZSU2dNQmE5UEZ0eDQydkFtbFRLV1VzZWZrcTZtTkRJdE5KdldUODZWeHlNbDZ4ZHYzNmFMaDJwNmU0ak9Vcm9rbmRDRXArUGUwZXN2NlE4K1I4SWxOaHQvZE9zOU5Oa2NlQS9qSURWT2JMd1czc2VuZFplZGNBdm9FQUo4enlxc21HcnpETXFMMG1OdmlKNHZhc3l0VmwwUG9NYk1SQi82cGxsN0h1VTh4ZmhFRGtGYTNQbU1CaS9FckdXZEJxU01lZFN0OEt5N1l6WC9CUG8xaVpQcHVrU2ZvRExhZHZ3QzJXQVNIM3RKZDlvKzJNQkdmdFRicHZ6emFIT2xYUjlIRXhUYWc5UnlLOE9Xc3dUUEVjVnQyUlBORk9ZaTV4T1FaR0UzSzNXTDFkNjlFbGxnZVdOZVpHaGtFeUlUS0RZT1pIZWY1Y1luOW10Q0FqWGlrYWNDWDhFQlJiWkFxYVZ0bTc3WTNqV1A0dkxtYkYveVhMTWlsUjNQUUNESHUyZ0xWWHkybmpUOFZQSHdhazdxTUE2bjF1V3hoSUVjUEg3aEdpcXJCSG51V3AvNE9rNG5WS1d4M3Exb3VGb3N4OHVqU3VycTBMZjBFSURCMWkxMU9FcnU2MG40NXdOUmxPSUNRbjZPZlZqY0xtdU14OVg2MkwvWGpDUXdGeUkyOHRwMjM2dEE3MjBWN0NWL29XQU9tVlNJK2RObXY0QU8xVFA3ellFclp0NEZwV1BubFArT3drK3BoL0sycm1RY2hWdXRJbVlnblZGZVBMUmJyMTMwV2tEbDc1M2M0SEtSMUViMzFBOE1SVEhhUnBDQzR1NFhKUm5IWjBzQmZ1QklYb1puVEk3WlJjOVhxWWxYeVMvVnlQelEzbTF4T1crMno4RjVkNG5LdElqdFowZnA1bHhUL1RGT0tJellmWVNzdmJYa1d1ZjFCVFZybmNNdDc2MGtRQWY1MVRaUlRUU0lnWC9CekQ3TXBFbXF1UnlIME1wTWs1bFdUSm5JWlk5YkxLeGMxYXluelg2SmdrZ3NldnZVWWlVanBGZ25pRndNaFZ1Rk1ER3R1QzRIRXdLeStvSWZqeGlSR01ZZERjakJHLzZKVUIwWXlNc0d5MGMzMTBkSHRGVmhWUTc4ZmZCa3N6WHhCODdWRUNGN29CNlI0Q3NSU0Y5c0VRcVFXb0liUjdCOHVSNjY3U0RoTDJ0bjVQcTRsLzViWWcwN2RoZ0FybUExV1hqbU5iRnpETmhjWTh0NU1aVkN1M05LNm13SmdUSG9YZ3NsazVINmk5RWlCMFBCTE4yYWtocGFieGY0djExNzhVdDZkRCtSZnRvOFQ5cWdhYnkyb09sbzB6VFpPWk9BRDZSNDhGK2FCTm9DeFZ4Z1BFaGx5ZkpoRmNzdU5BZ1hiNnExR3YzcmVyM3k3MVZRa2ZuMUowTCtlY1duTDYwcjZFZTVUelNJUSs4YmltelVEWVh1b2txK2NIMHp3OG1STkF0b0tFZkxiT2sxYVhTTWJnd3BLcDkyeEVVZm0xTmkyQjJSK2orQWYrcjdpam00WWRKR2xKQy9ScmVTSmZGdmlPOGFCSmNuQU5VM0owbk5CVlpuSXVYVHJjdWRQYW9MUXJ2VTAvNlZSTEJySzRZeWd5WWhYbVYvZHFsTzlEZXVoNnlsK1Uxd2FocUVEUU54RnBoWnVwOGlZUDRqa2dXa1dQNm5HSUEwbTUyS2FkaHAxQ0duRnpwV1ZCVzRGTS8vT1ZUNU5pVE5aOVdlRnB3eVFCK1k2Wk9RVEkwQWNtODA2dVRJeHlYa1ZCSHFYQ3dWNVd3dzhhZ0F1UERtVkxVY1oxWlIxR0FtUXFWcFNPQkUzTUV2YlR1TTY5aGJrZ1BLK2N6SzNsS3N3YWlONGNWZXUrdnVlSHBnQ09BRWJMczg3RldydXNnZGJGSmI2VkoxbDdweEVFV0xYUzYwaytNKzZBZmY3dlFzbWQwSFpyb1RBaXoyYS9NQkNEZWhEOGFtak02U3AzbVRsT2xFWjF0RDg0RHFoNVBYRVRxTS8xbXNocE9EZGVPNVcvVWxZUTRqdXYxSUEzdC9yeHI4R2JBSjBIQnkxRFlFSy9zcjBzOWI4VUREalVsRTB4MUZ4aUExV3RFcDM5alM1cmx2ZTBCeVQ1U2h1eThpZ08xdGVNd0VJRFJoK0w4K2Z2NHdPVzg1aGorVUVIMzZKbHBFOHZ4Zy9uR0p4c3E3QnJvSDhUMWZrZkdYd3dvV09qQTV0am9yQUY4TWRWdVlQQzVyVW9nSW5CZklpYkNzZFhVS3ppRFpoZEJpVjRQbXpuL0lYZjU5SmFNYy83WStnZVlQakhZbnFSSndUQStaOFJRWHpZM2UvdzFzT3BMZytlZ3pRVmozQlBvNEtQTmZTL1dQeG9HQ25MMGlscWhGbE5SMHRZYkl1NkhnbWlkM0d4V3R0Zlo2WVd1TEEzS1RJMW1mNUdiZmJJY211WWVpWXF1RDRzMVJaYVNCeUl0MHVROEZsR3hBKzBwS3NCRGdialB5NVRPQmVWbm8vU2p4NXB3alQ4cVhsVjBsUjVVNnZYVTBYLzNpMHNqQ2ZJT3Y5K3hEbmJwZ3JtWFlrNjBlVHhMUmp3NTUrTk9aZHZrTGVMdm9RMjJPbzZnZjZCc0dTM3pqb3I5RWV6U21lcytuUCtqNFJLeVFXM1owcW1sQmRudXpEZEIzZm44QktVQjF5ei9NKzcrNHcrcGRFN25JS0paRXozMk1wV2RmVDhFNWRKNXZBUS8yTm9sYUdHMGpUMDVuaVU4TFA1ZHgyZ0U5VUtRc1UzM1lmRmYzNHM4Z0lyRVplVThOWWNZWjFOWTdUV3Q2QUYyOEZKT3A2ZUx0VGVYVzhtRWFmNGZCeCtzamdOMGo4dlVENGc0eTVlMFBpejdDRDFLU2ZNQ1hTRU1VbkFrbEhXOU1IcnduT2RvNEpFTGZ1NytUTTF0M3ladGZGNjZ1WVgrcGk3T3F0d2lLYU5SVXBmRHYwT0ROdTlaOXFHeHI2L1pwN1BUV2pwc2NNRnYrV00xbGl0UEdZZThjT2xoUHprTXVXVWFJOThoUFBERUJVa243cU5QTm5LbUV0NGxlbCtHc0pGSTVrbDJmUmcvSUJROHhSV04zUXFBcEV1bktvNE9BQ3NSV0ZVRHg5Q3V1aXJRVkp2dUtHb2t0Q3NBSEZyVm5LUG5pVTI3b25ySlo3YWhDWm9JSUVsYVVJUzI2SnBrdDNaY211RVZTYjJ1UzZGbnVTbm9WdjZiZy9tdHMxTEg0V1d6TmVOVFNJS0s5blZJbkpmLzl2M1RsZ3lQSnd6UUNHcTM2VVhPUGpzbFprRjUwSFpkdWZTbnNXOEM2U1B6cjhuR0FIUUhqbXdYWW80ZTNXUHFuWU9wd05XQXEwalJBcG02cWhrckxzc1RHOUJ3aUtReWgwUVpmd0hUSU1BR2djZHhOT2hBbGVEM0orSkdWbHg3eTlSYXlpNXcra0QvTWZPK01FYTZmd1g1UjZ2RFlKM09KUVlYMDYwOTRDNU1tYWQxNHpXSm5aKzM1aTcwTk8rSTBqRGQwSW9sSkY0M1VCUDNkQ2M2QWQra3lCK1ZRTFMvQ0lYZTdZUXF1Y0VoR0pUdzRSYkRvQWd2L3BZem9EV2E3S01YQ3plOTlGY1Q2aUJ1SlZKZkZjWXArNC9DQlV5OHR2alBabHE4dDFaR2VZb2xBT3BMVGJkN3lEOFZlZG5KVUh6dWt5Y2NhekhmRm9mZytESU0zUGJ0YUx1N1Rrci9Hb0lXc09ZZ3pJTTZoenQrNk5CaHNHaWxBdVBNTmcxQnZxUEgySzI1Ky9LMHROaWYrdTJ0Q3AzUktEblo1TGVpMFFQb3BBVFBqVlN1M00vOSs3bGdINWxJamtKQmhNQWZRR3hzM0gvWHA5WVkrZEJWSGMwVUVwR01LbU42RUtlcDBBTk1EUjhza0NIdFpFQUJOUmIwUjNjNHNKck5lQUZDS2lRc0s1ZEIwUWRuTkc4QytDNVBJaVFpZ2swS3Rqc0dyb2tPMno5ZGhNOFMrODNaUzRraHFTK2pMbW1UMHdVVHlzbWlZb2JaTnNUYTNlTjRBNlBwZEVxcWxVVzl0UklFdkRQOEZON1o2TXJqc2lXWTFTYzZxa29IMm9XZHIxelJadFZxOVFzeGFTYjBsTTNXY0g0amNIUnl4OVJkTFNJbFM4R3JXQUdqdlgyaTdMc2wrZVQ2aU93a21ST2hvN3Y1TXFneFNmSS8wMG1GbERZdUQwMlV6SFFiK0VoTUFiR1ZuTk9kTVlDUVR0WjkzYUFrSGxucldxdVpZeUpDWHFORnI3Y2d2cG5heklhUEhYMlZKanJub3NINi81RDZlclgvcldYT1htd2d0RkJBVUJla0FsamFUM3BKVzhMTU12RXgrQTR1eVdVUTdNK0dudjM4VVFneVl4WlVHSDVSUXRBd0UvTDVOdHJZL2lqU3dWM1RZNEI5WjdJM0RldE40ajIyZVEvMWRYUXZMZUxjSXk3Y2s3b3Vza2VQZ2tPK1lkWENCcG00Z1N6RWVTY0tTWXFYTzhFWFFDTDBIdDVEZGtlUXNoSWMzTlNlNk9hS1ZHZ3Q1ZTdPSTl5dmFPTVZ3NTU4WXpRZFlCR21tL3gwM3dUeEs5YVdTa3V5RFZrTGJIMkhxVnloOVhmVExKc3FwYkkrL0ZpT0hhZkp1MktwbC8vMStDT29jQjJOUjNsN1E2MU9OWXIyUmIxUXUxV2FsLy96dWl6Z0Y2SUZnSmdORGw2MXduR3g2NVpNTFFxemMweDRmNHJTZzRPYWk0RWVicUJVY3gwZnlNN29TV0xteG4xZjgzOVhzQmNXZ09QTS9UMm80YkVVWXhLVjZNZzNKSmNiaWFDbHRuRmYwMCtmMlhFdmgyWXNkQlEyQ1pGOGJFMEo0VGRIelhYdFNFZFJ0V1JnTnZhUjRNMWF3UlB3RGtTamRTeHpzeEJNNVExYW01NFEybmVFbkw4M25BS2ZvUTVXSysxdG9CRmFobUFkekVLenUxSHp2cEtNQWZWb2RhUUFZR0tvMGpuOG1lWUlvZEpTTDkybllmbUVmdGw3eXp4bXNqRzVwM0ZHZzhvYzVkaTdTYzBLMGtTQnBoWlYvOFNuWEJxaWMvTEtFYzBoeDM2V0xCWUU3WStOZHR5VE9uWFJ3SXg4ZmorZ2Z6ZG9IeERjTERiV0RxS0JIbkthOEUxTUpNQnIyeDFrQkRpeW5mcU42RWNjKzR2UjdlS3gzVk1UYVhJYVRoRHBzNUVTd1dkV3JCVXlyUDljbnFONHNSRnB2NDF5UkE5TlNmSjdXOGZQaUFyU1pyTVRYdkxJZFBiRHVWVlJZbzZ2c3BLYWw2aTB5bjlCRFdEMjl2YU9IS2xvVk9RQWJsK2NXaEZKOXFySmVCQnBDRE8xOGo5S0ErSzNmNllvaHBzVFRsaHlpUGE5eTl5eDZWRmMwYWw1QytIVUxyWFh1Vi9nWllsUTJ4RkErL0tvMjFrNjJwSXh0Rll0UlBHZG5CZnc1RXV6VU9sK1Yxbk44Yk9kT1VNeHlNdWxWc2RLU3RJN2c4S0o4cW52ZXBkZnNjL3hZK2lVNDZkMFhTTmVaemw4RS9Hc0h3OUVzUllIWGJHRWt1N1F6SGliQ3RKVVQvTWNxRXpXaGFqZ2JGZkVCUEJlUUs1SDJzYVJqMWhSbS9QeUV4eWxsMm0wSG5CMHpvb0ZCYTJEWlUyYUNMc0hqTHVoNlg4M1E1aGxWR2QxY2s0bUVabnhSSzArZENkNUZLUENLU0ZyLzNJMENYVVZQNGpCa0RRNnV3MWRMY1h2SVlUVzVqSWY5bUN2OFYrcXJVSnpDT1FoaFI5bHNva04wanpacmp1dVJxMnNLNjl3elVaelZSeHZlK2hTc2dOc2Z5V0xNVys4ZkEvV1Y3OUR2WDNaWG9PU05hdDZ5VWNETGN5cEJ4S3JSdDlxeVhpcndsNXVueFBROUwrM0FoK3ZXdDh1YnNVTzJzYVN5RFR4TlNWM2dkT1Y2ZWtpNGNvOU1HbXU0Z2preXR0emxzUVZJNWo3TEZVOFhFUTYvWGN6MHdKWlRyeWE4Wm5YdC9GYVhPNElJb3JqaUJRSC8ya1F4SDc5WjZvb3RNQ3NSc2VWU0Y3c2NYdTBNU1NkOGpYMk02Vks1VW9PMmMva0FMeGZ0QS9rQ2pwZmt3VGc4cDlMQ2J2bUNsOFhjWGZRR0NWaFBDRVVXcjdqVkg2c1M4S21RZjdBZmM1U3FiMVVEbW5ieUovV3N1NlUwQThubkVuM3NmODU3alNVM3Y3MmhZN2p5K1ZJeUM5QzdwcXQxR3l1T3hNVmQ2NlNwV1hZcVd5NzJlV0wwV3pOQTNyV3BMODRqRU9MS2hLWHpST21ncWE2NmY4bCtXeE9WR0lJbHkzYk9RQVo1eEQxaDJqUXdXSTJzeG1zTG4wYjVuZElFZTFoMTIzNmFnbGZiRmwvRERRYnpTNS9BMmlsVm44RVNpMlpUZVp4YS9MNHRORHowMERKQ3ZDUlRIanlEYnZiV0c0c0srbExxVTFHa3pxR0ZIYUdZVHJVdUV2VENGZGRnTmtheWNtY3JIRVBOWm1WNGZic1pibVJuYlgzZ3J4M21OdFVnbFo0R3ozcWQvT3hySS9sR3ZwcENZK0FHT2NRa1JPS3ljdTc3UVVTZjBTbjUvQ2FKYmtIV3hUMkg2eVl2R0E5RWlYNmg0M1d0enZMY2NwYW1HbmhVc2k4TGZYak9ZVzZUcHlXVHVCZENTSm1veHdaMFVuMnVBam50anJiOUxWd2E0dTlrY2JrUkpMM2szZmE3MTVGRjZwWWJ0dkZUK1ZlR1QwU1hSRHpkWG9KTnl5MW9ueWE1Qk04UHN4YU1FU2JoSVF0ZEpvYmFmWUw5TS9jUUw5TldkSm5mNnd3R0pQbGNJVHFqWWdLNnNDcFpSVVl3V0N4ODdzZ3RQYkhjbjQrV0tVQU1rZWFXaWFEcXlsaTV3ZlVDVFhtV01WL25ITG1EaUhVSW5tWExncCswbzA3eWFBQ3ZlK0pyNHY5Nk80V3ZaVld4ZmdFQkl6dUVJSnNjeDV2S1pKRU5vSHBiRGh2VTJ5dE9leUJNVjRuU3JsNllmQ3c5SFVCMlhQMVNSRXdUb2xUQ2I1bGl2bE0wRW41RS85VU1CNGJXQThlUDdnSmhjTmhLbmlCTGMvbXZNNnVCNE9HSEdjcUpTQnJRbnU5cThqWC8zQnBiVzF3b3R2RDQyZ0NGTEFjdHN2WityVE54WXhMM2d6S0dMUHJPdFg3TVlHU1Y0ZCs5eXhMOUViNy9CcmsrQUYxMXMzckEwQmorR25xV1hGc0xORXRZS3dqSCt3OUZ5TnhrSW9pS1pGcURodmtDZ09RbUtjYW5KUzdxTFBrak1sd1F4MXFzRElNTkkrMCtVRytNUXBpRU1kVUgrQU96U1dwQ1FNT3RIcmJkS0NTUFN5MVpZUHVWcys0OUI2T1B4MHd3UHJWYkRxWCtLYkZKdHFiMGloWGh6dkp2ZW0zZTVTWWRYVEp4WGR4OCtZcjJEdDQ1OTdTVWMvRHpmMnMwS1R6OXFXS1NWMWxMZXhDNHFZbGd4VmJLRFZzTmpyaVJBaWJvV0s3UVh6MWRpOUFXWUFqS1dwMkQxaURaYjMyQ1ZqaThzQkFTUGVMdzFOcDZCQkdpeEVTK3U3YXVXbk9uVXlaNE9Bc0d3YWdwY05LWHJ5cnJuTUtDKzh5Q3Yxa2ZBVk1RS3hPV21nMVBVaUhlWTd3N2dxVXdYVnlEQ0xvdmtQZW5TWmswTUtmQzlmaEZseEoxMHM1S3EySmQyMmczMUt3bElGbklIYzRGOGpjYUVNR2VVTzhXbGF3T2pvdHVNQUpPNm0xbE5zbThiSGk1YWhud2VzSVQzOXpLTDU5UG1hT1dDVkFGM3RqNURUQ09iVGQ3bFRsbHBNajJLa1ZnNzh4MnhKZ3Q4T1VKVTR4bDlMWUZ1ajBoUlJmVGgza3VxdWhPbzAvcVNvaUZMa095R1lqaURGa0JrZm1rRTRxdVdTd1FJcXdHbHFGa2pUQ00vVGpyNGwzSGlnOXFiWFEzRUg5SEF6VmxPaGFGZUpObStYbVYxWHU5dGM5bjJiQ0tYaktoQTVvVUgxTHFRZ1lkczN0NzFCUlhabUhRTSt3alZsRWkwOGNMdnFEMnZtaExIalllbUZKcFNjeUw4dUR0Um9YdVhxL21xMkhLUjRaYlcxVlVIMTFQbnFYc09GRmFDeUhIREx4blhzMjhXZjAzZ0czYTJzSmhGY2YyQkw0aFQ1a2hnWkUraGV4RU50bm5QSnp5Ky9PZEtuSmRqSVpEc2RHcWtqbE8ySXBKL0FRV1V6T1dlVjhvZUJPWVF4NmpsZ2NTeENCMU1pZUhIMzZoOGJSRFpQR2Y5WTVkWldpc0huZTJkQXZUL29vNDA3dC9kWmlJMTRtc2xYcHFWZDBYclU3RzhBdW5OSHZyN1czb1k2VzRUMmtiRFc0elhVd21LanVxTy9ZdFZhMEhpZ2pIRkpEZmxRTzZOYnMvTHkrdURrR2QxNHlOZ1gxV3FoRjdYVTkyUkNuS3pGOFR1MkgreHdoVXFhY3dDN2NnY1hMS05zQWFTWEJGR3FabGVBaDk0UU5LVXpjdkNMUlpqVFpXYVNTQm5RMzJ5dytFVGE1a0lLeVFkUFdTVjhxM2krcWQ0Nnp4Y1RJbC9HQTQydXZBYVhhODVNQ0tWQmM5K29SSkJOL3VLWTE0ckpLdGlxbDZLUHN5by9wR2s0UlV0UUdVd2FTcFM0TDhJc3BSUXZaeVE4VFJKbi9xM3E5WXEvc2Q0MHhlR20zSDN0alBSZTloWDZZcit3NDBBb1pGNWJJTHhpcXVMdnBkcmFaYS9BUXJyb0xaVGFDb2UyYklTRTJ2TENmdlFvT0lqL0V0eGo5TklWRlgxSFFMSFE2TEtMS3pLTVdRNEtuT1hwb0FlTGRSeTFDanFjWjFQdGR5MTk4OUx3V1AvZjZUQjU4L0psRjRNTTgwYkZ2VmprcjhXd1dXb3Y5SG4rRzZ6MWJrdDRERnV1T2ZrYXh1RVprYUJSN2d2S2pPS3BnY2VDdzYzUnRCR3F1MU0xbXJCY2l4OE8rYkZqSnBROEo4K2I3azh0aHNBNlEwZ1JCVm9hZDNmL054UFZxQjdCc1FkcDRML2dvQ1NyZlp0RHlENXdBdDdpV2JFSHUvRFBGeGZONWtkU2tia3lvY3FBVnpKdzcxakM5YUlGN3lLcFdrNGRqL0xZTkhlYzBLcU9DNCtnNG5kRU9sc1piVG1STVBBQS9BS2txVUFSYXdPYUpDSWhOVU4raEpDN3ZZTTlJZ1NNUFIyLzBUaWlteE9kRTB2OXJ1VS9DR25TNnk0WWlCOXkvTlhJc0xsNUo2RncrYjRVODVkK21xUnVJdTZWaStWeWFnQ0FIdzJzenVXTFJQclp4RkZ4UnJsWVUvOWRjbVlReUtKcUtSc1c3cVg5N2dJSTJiS2U5QjZURUpLYnpXZ1c4c3Z6ZFptbVVHSGxpcEIvcVR6RHhuZm55akZjOE05cXZnM2NMYm41T1dJOGRoVmh3b0VaODJyOVFRZnd1TjlxeTFWYzFld1ZKYmtPKzNYMkpNT0IxakM2VjVKTTJlSXptcm0vVFpiKzlCZGpjbGthSEx2czhYcEY1Z2h1aVRtNFV3QjNLSStyVjBrQzlFNFAwMWh3Q096eWVvQWIrQzdRc3V0M1FHUGIxL2IyM3ZMMUc5K2ljUHR6bThOSjg5amdaWHBwcWtxamRhVkNVOEJmVGV0WU9MTzlpTGVML1RwbkZLWUN1c1NEcUhTYlBMWTNXdDFBSms1ZnpJYm9ncFZKT0pSUEc3NG42UFpzd21ablNpZmZwYVdCdFNBVDFoeGV0Yi9kaFJiSjl5VTVmenJ2Sy9VWjlZN2RvRDlUWXZzWFNWUkZYbkN2RkNPVi9DZUpTM29pY01nelVNS0xYdUhzQmdRS3lwUm8xcTBlaDV2OUxMVTlIOTdjbXZBSGZIV3QwVThYWTFNSk1wV1FPQUpiaE5scEtzeVBqbXBiTDlJajcrQ0tSbEdZOXJ3YXptQmY4SllPd0RkWnAwbEd6WE1EZ1lWT2NmMlk3cTl6VHlHN3FIOVd1M2ZJN28xcmRXN29RRXBMdHd1QlBEaEhXNDNXMUowY1dJQVRnb1k3VytOUjZBNlJDWGhEdUpUczBORys3ZXl6ZWk1Sks5Q3dkend0Vzl0d291VW1YZmxZQUI2NkRTNjUyQ3lsRXhzSThiaTNxR29SVTVBK25UVE5nbkh2YzM1MXVnNzFwQjNRYVBaWkV5aDl3eEpYa2hmWkQ1YmhzYU9jMXMxdkhEVnIxTWM5aFVva1hFZmtIbHBhQ25tYVVuQVF3d2lSR2V6Q0ZjZld1NFhyNDhDTmNYSjJKQ1orZFZiT3hnb0dKYjRzT1dDMUZCOXZINFk4UERIL0hVQ3JvQkFHSisrTGpyN0EwRDlocDRiaGRtWjBRVkxzbzZPOVRmcHIzbjROYTZhcFYxNmNITmVMNkUxSEZ6bFNvcHlQSHc2aGpDMzNXS09ZRlRMdHErTEJGRW5QWDFqTGxha1dzT0R4anhuU2V3OTJ5b1FFR1dGT3F1MWw2MHFDb09OM2xmUm9pN3pWRksraVNHZnIwUkFGU2RWVlRtZEVFNnMybkJWcUU4WlhCZE1DOThPelJwRG5Cb1hDTW1Ya3Nucjk1NFZucVJQQjFXQVFUWmVRQU1pVVZ2Lzd1YmJFc1Jibit3K256Y1Bjb281ZVdla2NhcXJXdm1HU1JyMVh5TTloRURZSHNiSGVIQkgyTit2MXJxODM1VkxHNk9PRlpWZi9hODkwUlpkTG9PWW04aDhaMnJYMWhZWXozMXZvR2Y0Vk5FQkRKT28wQlJtU2ZWenNQK2dvVTZyZy81MXdqSDBMeTZEODBJNko1ZDVTZXNONlpSQStqcUMxdGJodE1sT3NnS2RlMjFtdWJvdGc1WDlqS2dncWJxcHB3Z2dRQm5CVzRwQUMwNDJBbjZycHZVeWRVT3laM0ZiTXg4ckI5NWRIMVQzeDVnR1FiNTQ2Y0JTU0lrNU9xY1c0TVkyTzZiTDlCd0lYSzE4RjIrbUQwZHZIR1NEdWhDKytkN3JieFltMTU0eFJQSkltZ2g5eURjZmE1VmZtTmp4eWVTZWxiNWZhdFdtak5xOVRrQkxvYmN6NEJSczQrcWRjSkZNRjloYlg4L3MwQlFTTnRjRm5BaVZCaGcyeWhNNVBEUytWL2dmZEpkNlRjckpoZ1I0cWJvQlo3QU5WV014OTVtZWE2N3Q4WW13R0NZNDBIUTBGRDZHWldKL1djSW03OWxjNkNpUzJSWlE5bmk4ME5ORHg3YlY2bUh5Nzc5QkVtN2hvWVM4MTNmMlI5STRVcE9PamVqMzI4bE9GZ2REdXBCUUlNTHVDUVIrdEdIWEFxNHE1ME85OGxkaDZDM3VZbU5GTzF5VnJROEo0Z0xRU2ZQenJtU1k2OHMwOHlsdjRlbmZmZFRMS3dnWTF5NGlJdzBRczMrREpSaGp1akVPOWQzaDdDYzlmdXJ4UVd1OVE1RXpGeUZKNkw3ayt0eEZOU3FXV0M0VnFqejBuUXM0WlFSYTZKK3gzNURkbm8yWVVXSWc4MTU1RW1hRjI3L0FKT3poTys5cUlMUFJVRVFKZ2NIZ1lWaU9OSUM0OFpBdlZCZmNuZFdOK2Q0YkZabHkwMGNXdnprd3dwbE1mcm9WOXY0WkpCQzl3WTMwbHV1cS85bnBYazBBMGtiWENVZ3BSVlZTVkJkNTkyRmhNRlI2aDFNbVd6K1FrTGpSZ1RtR3lWWko4MlhmTVk4bVVKY29jYmhod3dXSEdRYUZkc1FlZmhvSUt4Y21YVjN4KzQwSGJYQjRPQy9wbEpQV21zenkxc3lNS1ZQdndLQkJZYTBNWk9idU9iOThSdjM5d0RZTldIV1FBbmRSYlQ4SzlEUzlpNVBIM0pZcHlXWHBFdjJIcjJpb2VqcmdVTHpTYW5qdzlacS9DZlNjQ3JRODkyMHpCbm5tVFBGWTJJb2RIcEZYNCtvOGFyTUs1ZG54eGJ1b3c0dUM4aU1pbGt0UkhhRXFHY3BmeUdiYkgvbTVtdlVwRWNpSnAva2Y4dGwvZVNDbEZNeUdHZXNDL3hGdjFzcGh3Wnplc2QzWE56RWxUaGR0ZWxvK2w2S05SaDlzdHdTdzFzbTRZSzBSa1NveTREcWxpd1YraDlTMUtTbjVZUXBTeDFabjdtS0p5Vk90OElQNlNrUmhxZ0JBTW8vdmg4UVJ6TGIrbE1LTko4cG9tVnA3WU55MlFOVnFPUjZ3SUNITmVDdEdIbTU2NEZSUUVCUzR3bXczb2J3ekZMWWJKYm1yQ3YxeVJZMVN3YlZsbS9PUkVRYXlpYi9LU3E3cEJuSUxoWVN6YjNWWm5KZHpqRVJ1YWJiZzhpSSt0b2NEb0hjMjE4OVRCVHRUSSthampIRm1TTmRjY0UvSEt5ZzFPdllOODRrYkZVdU90b3JTRWUwa3hubEdjUzNseXNQUWs4Zm5LRG1qRUluRE8vVHdNZ2k1VnlJcVlNYk9nMU9wcXo4MWptMWw4ZUplSE8vY0k2L2cxRWdJMzB0cTlKTU1QUGE4YjhCRDl4TXhXMlJjaDAyRFJxOWc1c1ltYXRLL1BBNUhrZjRlR0FDeHRLaDI2ZjQ5cGdnQU4vVG0xKzV3UXFYcFFzSGN5Q0FCOTBQSU5xOU1wd1VSVGFHRmRwb245Y0VkQU1UY0YvS0VxTExZL3prVmRCVVRzSHJnVy9zSG5QcnJzRDdGNXBwUmhuWVVLSFlHL3JDc3IrdjIwK2svU3h5a0dxYUs5VEEzTnNHNE9zYXJ4RDZaaDJzajBZQzc3R3FMd1ZWZDFOVWV2b1FvNmFHcUFuQjdhVGhtUUgva3l3RFdDcjVpS1R5NFllUVhvRnIyMlMvMDJ0SnR1M3RZTTRLMEpMWWlDUyt1L3J3UnI1eUZNOG5iaGNhZE1NSThwcC90cndzMEUvcnQ0RWJhYWNySUd6Sm9xUnR6QnlvRHBJM2MxUkIya3FHcExWNys3KzFWaUsva3B6dEkzMGkwTnZ5ZnQ0dnZIdXBZU0d2K2dXS1Qzb2l2YnQrMnZISXNJUnRHTTg2WlQ0K3dUVXl1UWhvVFVYdlJ6L2xFaVYxdnQxTHBmMjhsWXBCeDMyQ2ZwR2tiMlFUUGF3cHF1a1N3SUl2dUVCYmFlOEpVM2lpTjlSeUxIMk8za3pCcmQzVDUvTFhlSTlxZFBERyt2UFBFWmtkTTRLa2ZpRnh1YTloT1ExQkFsd1MzbndjbDU1VVNMcWw1dHdnMFdkbVpRUytwWDZqMllPMzRmcHBMNDI2ZTRoTHljWXQ0ZlRJZ0d2eDIrYXhtNGdQVm9iVzVXT3B6VW5sVkliV3l1TmNobzZTbjV5bnFpL3BRcDJNMUd1THNaQ0EzMldEQmhWOWVJeEhkM3k3Tm91aDBMczRUNnh0blZ2NFRYK0JNUUpKenpXeHFDbXRvaVo4VzZoNEFlWmZDeEkvanZ0bVIrNmFXUDUzSlBOVEQ0RWR6TEk2bUJXRVQwMTBheXM5eEl3cXZKckVQU3FXejlBbGlMOWlCcVgzN1p5emRERlpXbFhlNFdJU2JzZUJXVmlDSjdBYS85NE5HY2pCVStjdERTRzZ5SEQ5TFQ2Tmp3eittRlE4RGJxOGRnZ3RtYW9NdC8wRTNpeERkdlpVRDlKdzZudWNLQ3FuN2gvTnIwSjdrMDVOV2VrOVZOUEhXUUJSZG5xd083TEplMWRNU3hxMUpnT0NPZURQcnM4RnhyVE13TU5wc242QS9jaW9rclRUemdZam9kQVBFVDZNMXYyMy9CWllUSk1pK2g5ZHlQUHBDMDdMU1BPSkFhc1ZZdzBqQklYNEJKejlqQVZXYmc3aDNYRHhSZEh2VVc2am9mZmdyVW96V0dlZTJESnhodnNJa1d4anFJWDQ1UitlYnJ4S3g2ZVBDNVJqRXlzb3RiQ1FOdVc4V3Fmdm5oN3hDYzVNMTcvcUJzNHdPa3llcHhBNENmT1NSdExzU01JcDN3MkNWZkI4WUxHR2drQXJYRENRL1YrSFU5VFdha3RtTXRvVUYxSk9URFRSOU8zN2RaeUR6VXpNZlpGLzZNMStteUoySTI2WGxibFJaYlpmOFBmQVFCelQveU9RZWtCMzd5WUZRV0s0b0JqRHhlWEZpdzUwT2hsMExtWDJKNGdpSENDSjJjZlRZeUxtODEySXBtT1UzTDdWVk13QUtNYktxTWF5VFd4VWdZWjdHRHliREgyMkhMNDFOOVpxTGZoWkZiR0xjSGVjZ1NQSEx4WnhxWlhpV3B3R1AxY1R3NGhPSFN6NVI5SFY2cmw4QTlkSzd1SzY0VUp0bjFjZFpPM0FKVHY5MndxTzl5TWtiT1lyaUZrWVZxMm02azBrMmpmN2VjOGl6WjFIMlJjUUFYOTc4VHltT2V3UzJ2cFI5UGJRa1FUR0lNdHNpZi9uQTcxWXJKSGM5a2tQQ0RjbE5KQSt0QW9ZOFVpbUFCK1JERjdmdVc5TDdJR25EU2dDemNOVE95VTYrRlFHL0t1RnNDc2laNjBBNXc1VXgxM2UvY3M5ZTlwVzBQb3Z4OWlEY0tEdVRnU2YwdUE3SHZqUVdGMmpEUnp1SGdOOHhQMS9PaFBoenhUeEpVLzlJMDBaSW5pcmJJMXh0MHBNVi92R2ZWa3U0a25ucUN6V1RlSmVKdmIxOVpuZ1UwNVNKOXR3cEdjQzJidnV4amN6VGc3eUVJbTE5SzZXM1M3UlVUYzBKTmJ0TS9vRGdwUU5nTURMS1FuOVVpWmZUZTZGckRiT0RHTzlTZXF3cmJKZGtwZzFMRGd6dE9lWW85MnROMEtFRktZd3lyN1VrR2h3RC9GeDZzcThYK2R5b201TFJ1Z3FYS0ZnQ0xndWFIdTZQME5rcmRzVC9kZFdqMWpqZkM4MFpJVmJBUE1wRHhObXozQm1EQUw2L0djSlkvS2lLU2owaE1ydFVYcUFOL3VNb2lkS1pnOHZRVWRDbUE2dXR4WXZpUnQzeXRWUWlZKzJuQmQxbjROVkQ0TUo0RkVFbDB0UzJlNjFYTjZFcDc1eUV5UktYS3VMOWV2OWl0ZzJpQ2VIaEJvZCtWejNuckJyVCtjRFVNa3RwcUtPZHVGVEZXN1RXWC9Malk5SkgyZHpveHQrc3pmTEtpaDMxYXpuYm40NUlCVHlKaHhiZkZjeEo3STdRVDZjQTNkUzQ5dUFWaVdiTmRkRkladExIYy9rVGNtamJ2UXlGRjZhQVZOUHpINlg3a1pNelNXendUb0hTcnhYTHN1czVpOGFGL2NwSzhaeVMyV29yZlk5czU3UDIrZktXVS92TWV2M0UrelNsYWUxa3R5QWNFb1VmcDVrQU9nTWx4VTRLaE1HWHZzVW9ycElldU5sL3FRV05KdEJNeHdPYVloZ09Lb3cwT3FVSEFlZWpwK3doRHcxenZGTjQwaGJUcFU1aWpmRHRObXIwSWNtZkhZVXJZR1VhRGNDaGVISmdJRm45Y1p2N29lR2VqNFBXbktNbnFBS2FTRTdDMDRNOWRDdk4zUzEyZmtKUVkrOEJoanFtTEkwZHVmQ3g1TmNCbUYvVExaMFlaakd3bGwxelJUcXg0Y3Z2SzhvRmRwYXpQZStqM2FoRWcwaTlzNUtGK1NlbXFjMEJNR1hjOGZOQTZKNllVeVZScHZyTElMNW9sTTF2dWZ5YXpJKysxRXVzcS92Q0FtNFd2b3YvOGYyb2dkN25ydDVDc3lPTld3M3dRV09wblMrS0dubTVpYXZ0U1pFRzd4NDhnVWF5WHUzNDNJMGxVb01ETm5HV0l3MnRyNTJ2eEVDcm9vOGZFSlBQWWFvNDJJTFlXektjR0s1WWNhazhLRXd3OENnR1ZSbGV2MXdoY0JRYWtscCt5MjdjWEhRTnVSOHVOYXovZE82M0xqNzlvakdrZSs5RGpGK0hNOGM2UTRwMk5GWnlTL1VPQkNJa0RkZDNDaWM5MWJkdEJzaTk4elVXYzZHME9Eb0VFYy9ZVXAzdUNqY09qWEJWQWZkdDZ6emlKQUU1OEk2ZGdXeXJBang2dWo5K0dHdk1pQlpFYjhHb2VzREwrb216bjBCNGovN0cwdjN6LzJZOUZKWUtUVzViVFNNQWtPWExPb2pHVGVhcmU3Tlo0NTJTQ2w5akxTbDRER0M5MTh0dlg3UHNGeXZyNWNMeEE5b2VqaFcrd0RQcXhGVzZpdlNobGMza1lvRy91dGsvaXpETUE2ak1ySEVDVktRbDUxT0JyU0QxTUpINXM4MWtyOFhRQWRmR0h4OE9pL3pCdENlbGJWbkN2dEtDdEQ0aGdCYlNhMjJ0VGc1Zzh4THhiT1MvT0VZR1J0RldyOUcvZEZySWVaRWRQWkgxNG9MaUFScEZ1d2M5SHd5RnRBOGRob0VQTGs0RTkyL2ZLUDZiYk1lQzExVG9uSGRmME51Ni9UTkxRNzRVai9vYzJOZUkyS0tEVk5OWGxGNnQ0OXY2eUtWbkJCZU1jTUxRcE1zM1I0VEZCc3JqVCtGT1lkeEUrZWFjeHo1ZG1RNDN0Zm0vTm5zZTU5MHFOWUw5blYyUWlBcFNHTEZqcXd1Vjh6Y1U0NThyVVA1RUR4dWFSR281TzB0cW1yL09ZNnpFT3NSVTM5WVVuR1BoR3FiVXJWbEdGN2lRckpOdFpnUkxVelBPZXdVSlNkRC8xSEdNOEE0UHZHY2tPWTd4eUY3MmZaaE1HTkhCYnhBV29GVlc1K3c1Q1hQR0NrdGtZcHBlK0NQRU1FSy9hOW5tbVhyeGZjTndSQ2dBbTJaeW4vN21NSWU4WFd0TDNaSHIva2JGMmFreGY4aUw5T1lOWWszQUdXbzlsOHl4bjRYNzdIbmhiV2xReS9RSzk3Vm90ekJQeVYvNHpwbEp2S3dwenNqSHdPUnlrSFlVYXE1emJCK2o1YkRGOW96ZmhHUHJaKzZsUUxRZGgvSWtuL214UG11QlRIV3lLQ0crNmFwS3NISkpjU0ZWMC9STUVyRmtHelo1UktQL1ZiaEtKY2g5bFVLT2NJaGgrVUF3WVlrN2pOTzZBVXplWXFKdnQ4RVE2Rml0WkNjS0laZkZKV21MTjVWSVM3M1MrUFYzbkNKOU0zNkV1ZUcwZkVhTTJUUDBBQU5nSzdVeEJjMjFWREpra1dIb2RGWkpXR2tFQTduN1ZCeXl1bEtzNituV2tTNGxRcitLQUc2TmhDSkZrVFRRbjg5aHdnQnFOT2UvRHVMR1JMQSszazIxZUpDMVd4bEEyVmRMdlZYbkRYZW1MeTMybDJwS3BNRGhrT3JNbGNSUzViV1dONTE3aXJrUnVCNWxLZElBa0FMTkZheGFLczE5VnNxK1N1bGUzcTBzWDE5MVZDOCtVYkZuVDhhdU5hWXRIME1rUWJBazBjT05pSDlsanJBL0VWdjJua2x6cXBMOG5NbkE2eTdjTnlUdlR3VjFqVHVRNjFOSmw1ejJRSVk5cVpvenNDN2Z2ZFk0Y3FDa1NYK0pndTd0cFdOdkIyRUNDb1JHMnpkS2cyOHBYdllzc0ZHT2tvQTA2T3VRSmVITEJZVExGYXdZcWlSeDJSam9ZYUZpaGR2TDhSdVR0YmNaaXBBaE5QQ1o3TTZ2UHJhY2lFTlJmcWo3OGFkRmpFOEMzSXozVkp3empRWWtnSm5VeTl5TkNlQ1lFcGVvUFArWmNKb2p4dVBMOWIybXZRV0FpZnk2NGxwbFhTVnM1aXR2NzhUcnNUMnZETENLV0VjZ2RzSU5FQjVqclZacE5UMUJWVnBoV3Y3bFFrbWh0Y2kzZHRYRmZiaXdHNUFoR1hmamYxc0YveGE5QnN0UmJjQmgya2ZUVVlIK3JmUGJhekxRaEdwNHdXSFJUaXpSVDh4T2Q1OEsydDlDeXc5QU1Zbk1oVkVkTnlQa1dHSHVVL3NMYTA4OEYwWjhaUHZ5S3JXMlJ1eDcrald0OEwwd3FUUUFGbEFEbVdqa21EMHgzaUE4Skc4VnNKUmF1QzBuRmdxSHRMOUpKNGQyWGRidmx1eWN2TXhVRVpsTWlBQ3dVQmw5R0ZJd09KWUw5ZFIxd3dVUXZmWTJnMUdaMlUxeGNrL1M1MFFVdHdIQlJtV0Jnd293Si9sUmJ1QjNoMCtDcU1rcFYyS3VWOVhucW5FdG5RbkE5YkJaVkFmVWpIZVhwSVJaT1pYVlZFbWUvaVA3SHVZeHBYVXlEN2Z4S0dMS0w1anQ1TnZXcWxUOHAzZTN5NitCL0NMYk8yRjFNQjR2eVpqd0QrRFhnaVJySTYyWnlNQlBUT2ZINnRFOWFnK2NRRDN4d0F3c1RnYjE3aTRZTmxnQ0RWZHBDM3VVMUlES3RHQjdBamg3dlJhR3docE5IME1IMkQwc2RFWnJlUEJXdHM0VndBaTJGaDNOSU1QdGsyQWp4RGxtZVl5TVVzb1pqZ0l0Y3pjczdIUDdsdVMrRUFyVmUwdU9abVJiMVl5OWpiTW5wR05ka0dvU3lxQ0VqQ1pqZnVtVitiTGhGNDlZVUpadkJoUUxUVVVKM0t3eW9ZbTc2eXhTMmUyem1aVUFGNWswdVRDZEhHVjhNbExlRUE0a09LaXRSd0dBMzZMYTg5aHQ4ckdRcXNxT2RXOTUwbFgxNzJCcmJXZVVkbjFSUVZwaDByM2hseFBXcXZiTGtCanhRYVNJUWtHQ1NiWjJ0ZjUxRmNMaDdzNHp1Uml6c3p3M1Q3ZDlhMEJ6ZUk0bVdid2diM2t3WWFDemJNTlpmTHBwZ0dtbWMvcm5zWi9COENkVGFGb1dwaXlEWWdnQ2JsU25SWXJpa2pqVEJJaXNDMDRQOUprYVhEN3BXNWo2NmZZcDUxM29pRkZqc0dWR1RjbHAyYm03Q09JcHhPeEk2YlRibUMzTzBaSFF5Tk9wTGtRRFFNVEZNK2JybXBxQWJwM1ZJUHVyZ2h3bjhaNXVPNDZCNFExTkVjaGVialhpV2RKU2Q4T3JvY013NW84cE5OY1kyUEJYOWk1M3BMeDRRcjlsUXdXaU10QnJjL1RoU3BySmFjemlxUGt5Tkl1SE9WZ2xxcG1EY0pPUGE2ZlZERFpPZWhKbitYdlBPdnRjM0d6M3A0WS9BNGd1Q1VnT2EvRDlhNHFtYlBpcStiY2ZWd0ZRRGVNUUY5YVJIRkpwMHhCeVlzSmtTNVJnWG9sZHRvVjBpc3ArSjJETllBQmtJRDczN0gvZFJDaElnZmNPVmJBSGZHeDdCWXE3aGpKbmdWQ1lRbkFSS1hLSnZMclRtZFFhNEoxN2piNkp6RnhQMmRRb0sxZXgxdnZUaks4bzJRU1V6SUFBQUFyQ2RxcDlDTWFCSUxCNTJCMWM1YVRUN1l6UFZUa0VnTEZrSGp5L1dxQjRBK0xFTXZoa2IwUUFiUzZnSUtBWWxUOEpvLzMydVNLNDVBeWZQMUJqUDFndXZ6N252bS9iYXMzbG9iNG5FSUNvLzl1c0pBWi9sdjVOOEhzNnF1b0xwNFpWM0JNYkdWVzVmV0tWckh3Y3RvaStRekJobHBUNnVYMUdZNEVCclVvQVNSZmo0VklEc3hsMFhRZnB1Qmp0bDFwZWI3K1ZjWnRxcGZKQk04eVNDK3B6c0xpS2NteUY4QkVwNHluRFR0Qi9sdFBUUG94MU11UTJxQVNTZ0FYcHpJUVJuVEswRFVXVy9WL1BxdFhlQmlKaW1SOVNBM1R6ZmcrQjlldFhDQ0xDV1dXK3paV1VOb3FHUEt2YmtYTXFSYzlXcnJ5cTlsKzNPWnBjVzEvU1NKeER5WnpNOXFsbWRYVjAxOHVuVG9leUptZyt1QmJaUUJsSDU0MC9NL2wwMEdoRFYwUi90SVJOMENWOGl5Q2h6NmZJOE5PY0FwU2EreWM0V3VZK1NrY0EwbjlvZE5JVzVDUzRndWs3L3BreXdRdjI5NlFkU2d4a0hIYUNzNG5vY1NLYTRwcnpFbFBOalBkNE1RZ1EvVGdmY0VUTnBIMDM2UTF6NEVDSTJrODFKeS90VEVydGdUejRqa2xLUHpGajNHSVM4TENyREg0QjI3SktCT3ZiTjJlVFFVWndGRW1IR01TVFRncUNkbnp3ZU5aRW10TDBnK2wrRE9FNVJrdmNRVm1idndwdjQzVFhGaFlxSm50cG94dzAzSnZXRUNuWThFejUvZTluRG14SVQ3UTRmK2JjaGt5TGJwdGtNL3puaHBNVHFyaGk0UVZ2a3hJSFVwSjF4UVdOMHpVdjFLM0g0RWZDemIyVEJEN1JDMkE3NDZZeTYxWVI3MTdYdU1sODJRS2h4eHlYOVRCck9XSlcyS1Vxa3dRRWtZTmlVZk5HcGlGaFRJUk1XamVMTmdXS0h6Q21yVkpHekZLVHlWYjkrUStOMURpYWJVaEdaQ1N1c1hJZDdzdjFHd3pLMFhjY1JrNnQrbXhrR3ZIWTVabm1ybWJBVkFnTFpMMG52ZzVrUm1IMXJvdmp1ZVpWOXFZT29MTko5Q29DRzh6OTc5aWZVOXE0SGl2RGl0K0UxT29DYTk1QWxZZ1dNOFl4NnVDK1QxRFljRXRjTVZsbDA5bXJDaFVET01OVWZNK25oNnF0MkRUY0Q5aklsL3ZmRzJ4QUxmZmRyMkJRVWxvRlpVNE5hSkhYN21DcTZaZ0NKdEdLUU4zekVsNWdjeUhuUEhTcVNjckZFM0RkVG5oaktOVjBTaG9IYWdlZlhVd0RFdlBSSjEybWVNVERucWNFRGRWeWw2ZGp2VjJvOStLNUdtVTRHcHZERy94SnphMXhJNUZISVB5TUwycHNDTXZZdlJsNXFNL0lDRDRlRW40b05IQlJFWk0rNE1KYStTWk1Nd25wbGpuOTVJVlhzQm9wRnBVejhod2Jvd1czcDV6azB2UGp3MEtxS3NRTm8xTlhSQ2YybkIwSFUyQ25zUDJVRkdQVlpWSDRMNzBNMWdYZDZ2OUcxVUlpRktUaE1MSitpejN0eGEwV0JrMnhKNHdTcXppdnorZ2duNUZLL05RK1pXYTEwRjZ5RDMwQ3NEc3FhekhRa2VBOHRiQnZvc1ZHbEVSc1ZFSCthdEd3NXhiNEFVRjkvSTZ6cE1pSTF2NGE4SnRsTFJXUm11UXJYVFFLa1oxVFE1U0xzMC9vVmVReTBwbVZHRGRaKzRHb29KU015QTBlQ3RQMnRwVytvalJ5aDVsdWg3SHNoUjRBbW1vNTMxV3B5QTYra0l5YlhTN1Q0K3JLTHF6WGNtY2prQ1Rxd1MzTDNnRXZRR1JyTXpZOHhVbHJWdk8rc1ZjT0pQNUc4RkhiSDNWM3o2cExidEUwYm9qNkpyTVJLQmM0Zlp1RG5jN05ha29IYUk2OVRBenVWT1N1clRPYzNNYlJtcyttbExhaXBEODZSVDAweEtGKytyTWtmdklSMThHckFBT25rZTdTNWxNRzNVVlYyM21SZ0F6WjhIa0RBRng5ZWk5QWRxVzVDSzk5WFZLei82dXUrN0I5bFFZdTFteVNCdHh0dkhGeFhmcm9LZXM2UmJKaytOckJYMVZPeWVaTG5JWnVicXlUUG1pQUJHVVdIN3F4OElqU1NOd1p1a0xsWVNtZjhVc3poYWhUL2I4VEtjRnM2TXJMTXZPS3F4OEJpcEFiclhoZUdaQmJYZmQ0V0daTGI0ZDlweGN3THg0aFNXSnFMclREVnFkd2g5dTNrUnJhSW1TZUlLdHZ6MjBPZ2xuWDdUcnR2aFlPeFZBVzg0WGZBVlJXa3lVU0x3OHIxRWkyeElxamF0QXp1Z3VsTDJNMEZGenE2NGxoV3QweXlndGlrNUxoNFMyWDlVUHdlT2xhSGNJenNVdTJPOWdIQ0lPczRhU1RSdHllbERKRVp1R0tJMlJVL3AwTzI3ZDRNcVRKclVTMVB6b0Fib3cwKzVxeWVxSkVXT3hCTzEvN0tId25yYVdUNkVwZHdSdmxyMkZEdVlGM0I2eElTdHFlc05VYnV4THFpVUdKZ2VsaFErNENZai9wbWhYZjhsSkJ4UFhqZWZiNFpvdFpzK2lkdW4xdGtkM1E2UndwM3Q4THFuaFRnVHdrTGtxa0tLSUVLRDM1S3c4TnhMNGhja2ltVittNDVDTjlFMk0yY2p6bi9IcjhmUlNSV2JRdWl4cjlySEgrVXZOOUI1ZlZva2xXZXZBWHptZEdoQlhZM081ME5ySEtMbjg2Ty95ZnFhMjc5ZXI3VjRhbVd2VldRYnRxOHFrM0JYWi9TS09wY1ZRaUlvT1ZyZm9PQjVOR2docFc5bHVnSFIyb3R5RS8rczR3OUpwcVFwQWNnc01ZTTZOcmREcFRQb0oyMStXbEx5SG0zOEo4OTlsSUIzS1FUaWpRZ0d4WUNCT2FxUTBHamZlL2VuV09KcFZPT3BtM1l4ZFZGNEtFNEl1Y1Z1N1ZyV0NMYkxzNlJmbjYwOWlKQ3dield0bXNVY01GTzRwMWVCdVNYajR4aUtzdXNoMmhMU2x5Z3lrcmtGR0VQWFdBcXc2dXY2TzNvYU1ROWVFNEZoSXNhNGl3L2NLemd1N2VlSDNiNGxtZXFFUTJRNTlQOTIxZGw0eENINU5Wa3I4Q2xWd0h6REMxdVphVnB6QktjNWxZR1o1YjZKbVFRYU5YYjRZSEpDOXNWZDIzemZHZ3o2T2NJRFBiMmUzQUo3d1BLZVdsbkh5WWNjZFFSRGQ4WjhDS3JsYjh0THlmd21KUXRESTJGVEk3SG43RkszRWVodml5UU5uVXlyNUlITFpqYnV3cHBBNkY2U2RMQXFxT2lGNDdUVkREQmp6RVpJb3A1cmxidHo5Y3hoNjVNZTUvaWNYQ1NaNm1VdWZjZVZCdGRWcVo0NEJJS2xFMUdoMGsrVDl4S0Z1UnJjZy9zWm55ZjhLZithRDZXamNYUngwSkRObWpwUGdIRVlOYlB1b1Z1TFNrZzBzRzdQTE42T1I2Vis2S0hUZTZWaWQ4TGpkcXlIZGxnbnY4TGJ4RXkzQmlncUpDODdGNUlGdEE4aG9uSjVreXlITWpnL1VFNzQraXZ4a0tvYWxKekxiMXk4WGtHYzRFd21Qdll1dlV1Ym81ZUhRRHNHYjNXU0hNVVFka0FMOE14QjFTNk9qRVFYRmszbml5K3BDWVkyT1d0N2NFRG5vZk9rdVo1cVVrazBGVThuRitpUzRCK2FsaU9ZQ3dodmtlWWRGUFRrRjQvNElEV2RrVnZWMVoyckIyTnFPZHJOc0hrc1NFQ3h1SWVnWDF6WnZJM2gyQ0kxNDJSbytHMFN5M0xHbEpIRjJBL0FneHhLbjltUHhNZFIyWmwyUXJ1MlVrdkc4ZCtWQUc4U1JrT1RXdDBzWXB2UXpNeFF0M0c4M1ZTMUI2OTVwcW1ITDJ0QzZWYzFvRXBFL0lXU3pOYkgvNWNGWWhES0ptU3JEd1BRenNuRDNneElDWUhDVU12TDdtOUlFdlU5a3ZmOGRwMEtDOGFDZ3BhdmNwZUUvNTljSldOdjhWK0JpcXRVRXZZOWc0ZFNhU1VIdWh1UlAwN3EzQU1ZcUtYaXlZYVVYcjNjNk92Z3J5dkppZHlQeWpVNGpxKzJqZXNUcGVyRXF0aENFS0VmNWpDUmZ6dXJpa0VGOTh1S01GcW5sQmdWVWtsWHhVcUlwMjNJdW1QdktaVkJ5dUxPYTM1ZEtHdkpWbjlvYUV5VGtJVldPNVA4N3BuU2tZcWE1dThkcHhuVktNc1E0SHVpQ2lwazhFazhPMVlNZHY0bWo3WjJkd2xEU1JLb2Y2YWZiNDBXc1poc0RMMlJacU4xNTlEaVJTK0RTNmxRUzQ3KzNVY0hJRXdYY2NreVh5L2g1RHBRejA3REx6SkdaMjR0L1lWTXpHckVLU3Q1V2tXWE9DWnhsL3E4SCszRG12cmJqRFZyRGdsK2VVZ0s5bXp5a0tieHRrQXhtM0tZTmFyMUpBQ0pTNTlJZTJVSHVGZWxVOVpOVUY1OUlxS1hkQXJKSy91WDYxZGE3ZHhoWDhnNzMzK2RQRFVheUF1N01BSGtaOTlmWExwU3pwcUw3MkJJcWdjK1pDUkk4YjhKS3RicTh2MFpyaFBOSlkxZDZ4UGZhKzJyMVRtZjJKWlFuSjJneGppUm1TWEFTNFVhb3BRVWhVMmxSV3JnNDEzMGw5SzM3RUdEME5pbzRkV04rb0NuSXZsQzBrQndJRm5wVDNocDFSakZrVVgrTm5zT1JrelBXbVFTd01ySnFXRHFSaCtmSFVoL00zVlFpUHJaaVUrNEprWWJjSnAxM3RRVGpXQkcxeE9laC85RUtNazBuOFJMR09Ya2JQS3VVL2t6WENYUlJ0WXRpVjUwMWFZbHJHbmI1R2daZmEyTERWUDgyVTl0WVVMbzhOWWRseC92bEVCVVg0NlZrSk0yaWxyTnliMGZ6VUNQZjc5R3RJVVJ5d0hiblg1czM4Mnh3RkRwTmpNQUhvUGJVTkRxMzFMcVZ1Umh5R0lrUTcveDRUUkZpY0puQ2tFZDhKSlBROVV5c084Zy84bEdJSVVxS3E1enlaL2hsektZK1pULzVuZU1EaSt5aVY4L3FkaXRpRzZVT2xQVHR5Mm5UTysrS0F1ZmhjMnhBQ1QrNG15OFVPRC9QNVA3bjlJNFdLZGh3aktZUTRZMmJqMGRXQlFwOFQvNlZLU1ljY1J5RXVDVTRzbVpwNm5CNWVmSVloOXVBQVh1RlZaT09kYldDSE9Gck9ydGVQTlJqY0g2RkJKdHNaM3haTDZqVk1jenAyNUVRVTFlelQyQU1PMTVXSW5NUHBmbERkakI0SWx3ZExzWjNnUGN6Tnoxa080RldpVlZVVmY5WkNYazVaVnA2dXJNWTdTWXJHNkYxNkJ2Q21KZjRkeUtSMGE0amhzT1RsbVV2UzQ4UXcrOVgwNkNadlE1SWlFeXhBK0o3S2djdjk4SWN4a1ordjdqaWI4ZDU2TmZLYUFtRUtsOFUyY0I2NXJmRVpkK0pZRHBXSHQ2bWRaa3pkb0o3eDlZUjJzeWE0U1JpbTNjMW84d1pnemJrSHRWYUhNMTc2MSszbnN1UWQrUE1WNXRUOVBGYkVxMGlMdkFPUzJ0R1poK0VVT0hXaVlncEt6UnE3VURjaGpjc0laSU9aR1p2UnFSbnZNQlRIUWxoekdQMkVPdW9zemZ0VTY1akw1Y01ScUxkdld6bkJuYXN1OTZuVSsxNkJLbzU1dHhDcEZxeTFWaktvVDVuNXgzVmw5YzJKc3g4U2xLNFA1aWpDa3I4Z1FraVVneDhvdDJzci8xbHZjbHoreXVnSGxjZFNDVUJpTzJmTi9FRDEwU3NMNUtrci9FYkJ6K0pha3dHTHhzVnMrNmhRcmhoTTJXRTZNMDJmWDVyQWlEbzZoN1VWc29XeGVhc0VETlcrbkliZjBhV0NUcXZrZ2ZQODJpenJxR2dLcHBBRDdsMnE1MmplamR3MEYybnMwbWtRSHdwNVFxQWxBK2IxSzI5OXFZSTBkVElrelBEdXIzU0dnOU9uSHpNaEJJWGtvSUUzN2o2OUJaaHZWK1crK0ord0RxOThiL0kzVWZIdnY3VWxvcUl4aUJ5RUhLZUxPODMyTUZkaW1zT1c3S1h3cll2NHV6QU5xaitDRzZLM0kwa0UrRmw0aEU1Nm5rMXlXR2VORVVCcmtLSjl3SzFRS3plTWhhZ3BiWWVWR3FKZ0xRTGZ3RStwdmNVMDBpNlllQ3hJSWIyTDlWMGRWRnZyNVhsK3pmK1ZhWlZpR1JQL05IZmRyQ20welZUQUFEaVFWNEY0Q29ZdGJPdVRKWDNoaElHKzQrdG9PQmozckdySTJJOE1vVDF2NU1Za3dUVlpPdDZ6Vnk4enM1T2tqMmFhTGxUSGpPMHowdVFyb3QxRk9hZWlLUjlCWkx2QnlkOE1KZjFNbVorQkhJV3hUQ2lWaEk4WC9uVHlleHFjS3dRbXJ4d2lzSlFLOEIwUU1PeW5lRTE3ZDRVUlBuYWJCZXpRcnp2WmlEakFGQVVZc2xzclpBUDRQNG01ZU1TT1U0RnMxQ2NHUU9vT2tQcW1pb0xPK0sxakNWeWh2Z3MydTRTODY0U2Q0T3ZUbmR3bUp1dkdmdWZmQzk3Uk4xMDkrY2pMTVZxMDV0YjNCbTRsVFlsWFVidnlINnRVcUgxMUx4N3dNMkhqT3BUNTBBUWVNeWtWMFVpTTdKOVVvd0pyeGN5cUREQ2hzSlJzS3l6S2VmdERFNUdRK0lQSUVOdDFvelp1TXBFV3dDMDgydGx2WlBzeHovWWlRUURycFRZc2pEdUV5RXRoWUxzVUNFcVlndXN5SXlhZEd6R2UralM0a0kwUlNZbnQ2aEx1SXF0OU5pVld6SGtoNExsMWdVYk5aUmgzdWRpNTAydG1xbkYzYklrMGFLa3BRbkFMUjZnMFlReTEyTWpMUkt4WEJJNFBUUjZuVno0bi94YmFzOHFwb1pOSWxDMyt6cE1jL3ZzMWxRTDAxMjExdXBPazJObzRPYWFOclhlTG10WGdCeFd4MDF2dS80WWF6QXlncTVKa01FV3lmLzk3bkxaNlJvcXVYVXJhRHU5MzcvN3pzbEdRSlBGNnJxdjNJalZQbkJ2RG1nOSt5MmdXTXYzYnNhcDd6NDJFV2piblYwZmYya2hVV01Cc3RKUDBLS1crVWFTMmFkR2cyUjI4azAxMEVYQmd0YURzUHdqbmlxVldMSFY2aHQvWThQUGVWUCtJendDUmNtUG94YjB0OWtRZ2NZd282RVFLQWpvazFaeTFEMnBRTWhGUGNNSTEyaVNzS1ZMMERMRktqclRxdkhxSVR1V3FYUVdnbWNSbWF3b3RHeC9JQVY2c09OTjB6bUIzWGVGT0k4L1pKdGRSNDVkSk9KM3JlN0tncjU2NGJpSDBPNW5HSmpTTmc4YzVzeE8wK0FDRGYzK1k4Sk9TM0hhdWJtVnJTeUhXQkFpVU9tdVVoWUZIM1pUWGpsYlpGdDQwZEYrTkFRNGNlZ1RxTVhuUi9qalJSdDE3Zi9wT095Z3Z1VFBMUU4yNzMvNktSUkZoVTF2RktNcG1CS0U1UEVSRlpaS0dMajFmSytnVXZOcmthQ3NjTm94eDBXV05MbnpXSDZuNzEwOXFlM3RjU2tWcmpYRGczWnpIS0MzM0FZdFJjOWJUZkVMd2Myc0JQSTNLNjh3Y1c5NURhTU1nMWFodXBrSmRZQTNPSTAwK251aDQ0NkZKQlkwTGszRVpmSlVWdUY3UG9CQlFIbmdNV2xOaFNUTUdIUDBmYzdpS2F2NEt3dFNwaUphM3NTK0tlVm52UENLSGN3TGFseDI4b3RWUjhadFVCbTQ1VE93WXJmMUczby9KU3dZc3hsTnQ3RVJ1YWV3VVJZV05FenRRUlRwQnljTWtFSzdyQ2ZSVEhTNGRIZ0gxMzU1dTZXL0ZBUFU0R1pmV1BKdUlRSXVHQTVDMFVycU5JbnpvVmZKSW42K3pBTnFPQmJoYmdDRlA4SUhFVEdhcmJqdVFHLzI5R2lwNjRxRk9nT01YaHRoOVdEeEFZMnhUUndyTnNDbyswMmM3SnAvUUJqY0dsM3RVc3JqYis0WFV5aDFDaXQrVEl5dktGNzBnMytTc3dDOE9RTFZBZk9EZWhnU0EyVjBqZHp5S0JZTFhkWTlma0QzQitsOFZGazlSaFRpbXgwaGUxdW5JQXpleGY0bWU0VlJSVXFqZ1dWeWYrRGQyRTFjUnEzSEpRd3ZUMEZhbW1LclQ4NUpWR3VySkdROXhsUjlQNDI5eWEzSnpmQUd3MnpCcnNiYU82SFdqRzBGUTFJWGg5NjVkdURUV3U0bkpyc2ZlZlZxemFqalJZeWZZNkJrMWpqQTFPRGNrV1BGRk1qOTQxb3FxMVpMa29zSEZtY205eVhDYTF0WWVlSXlld2s2Q0RJQnZGWjBUUHNoWVdNcnVJVHA3S2VKWHlDb3hJRDB2RHdWRVFLWmFSRm13VnYyUmhTdFVJS3phYjV3eFFkOHlEOHNMV2ZZTE1aUEhoMkN0U3o5ZzJWbzNyVFJCNVpKWTVBNC9mbWhzeEtzZzFKL2NrSWUvMTdiSi9ldVo1VjhPUzR2N2k1QUtWNWl1U1hGclpONjd1UWVweDNNcTlOdzN6NnlUQmM2UjhGZGNvMTZna04wRkpOVG9pSzl5Y1JnY1NZZk51S0hsQ3pqOTlGaFk2azdRWVFmUVpRZEtGVmwyMDVHR3JqWjhoYkJOckxLVVJwUHRGZG1LaFVDWVFCRFJYN08wWXQxK0pkZUpON091bUdpVk8yYTZJYVFsNHZscXA5aStTVHJTa3lJOXhTeWNuY28yUHMvZnhYOGdtMi9DNEZvbkw1ODhBZ0JDZnExTW5HV2NrendSWExYRGF3ZEl3UDZxakF4M3htMHNyV1FnM29sTFhSekhIZ1RQTHVXR0lxTWswOWduUDhUb3lxSlpnV1VmVkIvWDU0QXpkTE0zR2VuUXJYekI5K3l6K0xhZ3FPRTVUazhXNU8vcFRialdTR1lhYm5pblF3NHNBVmZ0QnZNY0JLNnp6MU1GTWZ4ZWZINFFCVmFGZDFIS2tFWkNUZGZyS0tnbFhqNUtCUmhrMDJDYlVibkZvbUFmMUcxbXB3b0hqM1REWTh0b1QzRS9ZN0FDcmNXYkdyK1Q0OGR3dzN6S3R1RWFCMGwxcGVVNlZtZUdZK1ZMTWNVK21uby9yZTNwV0I3N2U4ejFVa0x1ZS9MSTBndDE1eEhSaWZMelFrb3QyQk02NXZDTk4wZkJXdVltTGQ2cW05Zmo1NEM1U2pSVzlnODJxMklKdjJIU0dsVm1HeGl5Uk5oSE9YWnlROUR1NGFmS05qOFVzRUZFOWhPY3pUTGlMTHhXVFBUdldKc3YxcVVQQ2VHMVRmOUEwRmIxWHJkRnJVWm9zNUx1U3gzeHR2TEFvdFBBT1VVZ2pYR2ZtZWU2N0tXRzBVbUtyNW5kNHV1dFp4WjJBUktVdURXVmpHQWQ5dWMzaUVrZ2Y2NDNRajBCbU5zVzlMbXoxcTJCc0JNa0FXNlRWcER1c1QrOTZKRFk0b2pqQTZ2cFJ4Z3RKcmRJOTJObXQvSzFVdzdodG8yc1BmWmhBUTVYRnNrRlNOdklHR1dWTVNPZndzRXFEZjBuK0lzVnhPUldVRVQwSjN2bnhWRWdNWU10MlBpUHlORWRlbXlyTHhXejNGanVBYlN5cWk2UEdORU8yemFUOGRWSmRpdlZkQVFSNlppZ0ozZWhYc0FmZy9Kang5cHZONHIrRnBaMFo4WVJxMGgyb3FEN0hVNkNDWitud1FSOWtEcjcrWDVRRENzWmcxQjFNNWtMdURQdTBJRUwwSUVoa0Q3bE5iRnhoQ0hmbnUyVnA3ZWcrZVhuZWtiWTEyWGZVMmhGRlhPcVhDZzlVYXVHcG80STU5cDF4a05vODYzWFlDd0hvUDZCZGoxZFNMWUpjZ0ZwcHRLSVZBTDJlQkZ5ZFhVYU4xSm5Lb1NwWWR2eFZEc0d2WG5HclJZZHd2WXRTS3N0WTFaYkJ5REtoYXh1Zks2a2F6MXVIWjUxdStjZE5SSk1WTnZiOTlkenl6OWprWUpHaWRLUUExdHcvZ09xeTkrQXB4cXA5Q0NzRlJ6WUM3WDFrck9qeElvYU8xaFFJYkJQWmdWMVZTNVRaczhzQ0xUYTZRREJmU2ZNaUlReXBSdGVBWktGZ0FiNTJxWElybjRmR1daVjViZUZNbXBvdmlXdkxqZzkwQzlRcTlEaWlFSDdPYTA4SzdqUnIzZmpDb2VWUmM4bm1NQnlwaVFHYktrck0zZGRmeS9vUFFUVDRYMzlNMnJxQXJKS2VpOHlVdy9vd1BPRi9zZnpSWW9mNC9MRkluNEkvRE9jeEx4aXVTUVlwV2R3ZStKblU4NlpEZ0xCU1hvYTBzWThoWW1hR1NCV3M0RGNvN0VtNEVXSVY3MUR3MXQ0blNHTXVEcjZCK2crV2YrQ0ovSnUvOXpjK2lZTGlZanY4SGFOanQ0U2tRV05nNUVUNzRReXArSGUydkMvb3hJK1ZCVGJSV2VwTDZlbmNTdnhCWkFGTC9kREFZVFNVd1FDank0cmtVMmdpa0ZRVnRjZGZ6bFl4cHBTeExUTy9wdEw5M09xRTU3UTdHVGQ1WHZmaUxDS3JmUXU4bG1lWnhiMXhnekhzbEQ4UGRrVWhXVXJOTzByTXlsQWNycXAxMEVzeUlNbnRWYzc3RHZkUCtkNmp6T2RHSkZPVlovaC9STVV6a2lJZTVYUHpScnpvQ0xNRDZuUmg1TEJrbUl0TWJQK1UrNDdGUUcveVhld0I5cTNYQTkzQnFpWlovdVlWSnlUejlaOHp3V2NVcng2eUVwb25jZEZZQStVTGNMR3pBMjBrekJvRUZZMFJwbWU2eThnQTZteC9uQWpIVkxHNm5SUE9QRDdJSTJHY3VYdHdMdzdWbk55NVluWVJSNTlwMXFrWmZJM2VsOUNkWXBEZXdnK09DZ05iaGdRMWNKeGJsc2pDOUE2UHl4TDhVU0ZVV3NwaStvc1ZNWkJXbkVZTUVGZ3FwR3dZWlNYVElyMEtpT1U3L1dOWDhjS1hvSEVOUXhVRnIyQ1Z5dHJ3dU5ET3hxQ1BVMEFFc1Q4T01leEVRbnFPQkY1OVYwbHdGSWdkNEhobUVvMUE5Y2kyazlkZzFTcnNEV2ljdUQvVUdDMmFGNi9RdUJGZmgrYTFPRnRZMlEwcjZ3czkrMnJmRU5HUVU5UUVDeitCNkl2K0JRL2sxc284dlhycFQ4eERxME54aTE2YjZQUUJyL3dKYS9vN0lQWU9XUmNuZU01Vmc5NFN1QjdvVER5ZXM2UW1vV3VTMmZqRHpJdFVRa214cG1TWnlCS2FqckJUWnppbktCNnZSbkU3S3IrbXdFTGltWGQ2aTRNOUl1Qk9pYjJUOHVIbGk4bUFGdlcwSklsUUYwcDd2VThjbmp1YmRSekhBb2U1aGRqTjQwZWRoM3dON0UzYm9ZMWcxMjRkd2duR3lLOHNpQkc0UitZbW9FOERqdHJkN2J1a1B0R2tUamo3TXh5b0t4cWhLSUJycmpSd0JzdC93UlJQaGV6cVVTUnM0alNEb3ZHWnJyMEg3RUd1dkY1cVBXRjFoOUxQZTE3RlFySU9XaEZFeXZRQ24zNmFnZWdzayt4NkRvdzFyOUpXK29GNFM2WUNkV2RQQWdnQUdNR0dCa2VmU0JRVEdUVXJiNmsrL3VjbGx4SG5XRi9sVzVpa09tTmU5d1ZYZ3FZTWJCZE1ObzJNTE1RNERtQlNFYzByU3U2REdsUWM0VDhJUnh2ZlRWY0k3UHZLMmk1Zkd1dE9CaTZicmtNdFcrbFVYS20zemk0NzE3aFhsazRLZ3I2VDBzMWJWYXZ2SEVQMEFralVZdGtIc1lpRVU2ckJCNlZsVEZkS09wVy90bWo3TitoVVNqelIyRUhVc0FiWkpxRXdWRHFiaExMc2krSEJheEw2Z1E0T3NhWDhkaWNjNEI1RGdOZ0pZVTFTcXF0V1ZlSE9ybk5YTU50UktTcHo1ZFVRZjdLcFdCUmsybVdSNkhFbzZVWlJjZitwS0NueVk1emt2VHhYZEhjamdoZXo3aVFHNmFOZDBTRS9xbmtVRkJzU3NnOHVBMGhDNnRRZ2VkY2RMa0Q1UkZSV2FQc216VitWd1hZOUt2c1kyQWw0OUJvYU55TEU5R3FERUUrRTloVDJiWktETzBLMUlNM0ZXYXdKa3lQTC9DVW5oYzZEN1BGQjEvWWswK1g3Yk1uM0JlWUUxRWQzU3V4YjhBclBkVkFvUGFocHp4aEJwV2xISnpJL2RjQVMvWVluM1BmSUxWSlBlaTdyWDdrSEcva3p0WFlGMlhwOUV0aExkcGpNcHVnbmNwNU9aYUNmSmtmaGZjL0R6MWY0UlVKYVNCdXRKV1lOcTJvT3d5cmxhd0lieFBOVW5zb3dQcU9mVzhNWDZvQ2VSZXJiQ1lEMXFLVExoVDc5UVZjTTlNRlNrZzlnWWpIT0NrbTVpTzIxelh4UHlobDhHNFEzZGlxdjJ1dTZYbDg5SGt2V0ViZW1XY1NYM0l1UHBJMDN3RGNCb3psaktYRkRndE9SNkpJVmpZQ2xaSWZ6dXVUVm9yclBwbXJWL3MxZERDbklZWGhENkxpTzlOY2hIMDR4SVZLUjlzazdCdURBOTBKOWxxMS9uVVptNGxzaTN0akI5a1RqQS9EbUNyS1pYOU5ycGdNbU5xcllRZlJjc2JoMlNDUjJNZGIvMUxMZWs2Q3lMa1NUdGJ2aCtXaEg0RmF2ekJkbkt1QjIwdDg5MXovMk1uaWtka3NrTDlTU0kzMUVJbVFXdDUzVmVaenJqaHZwYmM3UEdXL2ZSNk1FY2ZKNk4zTVpnd2lXQS9LbDdZcHNtR2lPcTN1OWt2Nzc5eEpVUUV6Ti9NR0t2ajZrN2RQVDNhUHFJTHJKeDRud2lSQXVwOEN3TzJ0ZEZveTQ5RktRUk9FMnhPdnFtR2NqYU92dEVrelc5SGo4KzVCNXFEaXVQUFRCdVdOMmMrS1VMczNqNXVlbXJWSzVIdkZXZUE2Rmg2YTlKQncxVXcvRTQ2RWIyaDlPd251bTlidTJYVUsxd3BxOU9xbytRRDZlRGh0Rnhla3VTa0hxckdqK1lJQXVYdVMyQnVSTDVhenFCRFRFTEViZ2FsNTVpTkthS1gzTVZUQzhJOXVVL3k5SXA3NDM5RjFNdkpmQkpDNFk5TXZFWHk5N0tGTjZpeGdkVFNwbVhNRXdDQXY2eHF2ZGd2bndHbm9jcTROQjJmd09mWDJ2NS84YkxmQmJEVzlVR1p3VUdPMkZTRG5YbFNkZ1RlZmIybzBkOE1BWlorZ2ZyVDJFbC9kYm5HL3ZRL1JXYVhNMFl5RVFIUzIxRDd6TWJTbjdaU21nUWRCVlc5QTFNd2toR3l5aEdMc2pReG9FUXdyQTk0QytnUFMydDBhNVhrSlVHU1MxdGZsclcvdjg2bUZkamNHK1E5YU5vYWZLY0VQMEp4TmQwWUtubW5QemFnaTcvMUhTdlZEVGF0MWNFbGQxeHZGU25iV0Z2VzZvK0ovMmxuTVFCWWt3Y3JZeGU3dGhzbVk5UXZEcVJCSU1oU1hycnZxNHhiODF2M2toem80Y1ZLSUx1Q25jbzNqLzZIUzA0ejdtM1RDYWhSdzVHSTJ5Vmh4dWZWMUV2QlJzZk4rQWhDcG9PQzkxU0FqYXJ3b1V0U0Q0V1lleThid1AyLzQ4ak5ySXdZVlROMmsxc3hBcXppRm1XcU4rQk5kNThWVTdnUmNvZ2FTQ01oNWFCemJSYTkxZ1UwTTgySjNuWEpleEk1WVVRekxYRldSMnZNZ3dwVzQ2bkRpR2lZQ0QreGp2MTEzRTNRdXR3Wk1Fc1lzenZjWHNGbFlmQVYxR2EzRk1oZmFVUmdOTFN4V1B4QjVkV2VBNVlMaDVxdzlMQU00aCs5UGxjVVVjbWhNUy9KMHZDdlQvcG8vWTlGVkc5VVRPYjVLTUlVYkVkODljckhEc1N1K09wWCthVjd0UkR4aHFMSVorQzJiZVNRY3lCd1RnSUtESTVCQXhQV09hUWxWTVhXMDZDZU1KSlJBS0FWREhPRG9Vc3doTUJ5N3A5VjYwR3hrVU56NFNEZkVIRGVkL2NEUjhxQTVaL1NnWWJUekEvOXYwUmhuQ3FZMTFiUnRndTlaeVZVaGtZS3ZDaFVmbnFabUU0UmVGY1BwSTM4NTlJbzhyVGkyY1ZLRk1vT0FEdVl2TVdJWkhFQ1FPSWdCam9rL2J0WEcyYUJlSDVDNHA5YmZqdGxjQU1ZQlV1blB3Q29TeFFnSGNDTjR6emJjakYwZ1BIN28wc09DZGo0OXU2SGt1Y1hMcWZVVEl2K1pFZ0VkcXVnc0FUUkdOaTA1VFlwNXlzclZ0NlZrMWRCUzR1T3paQ09GN041dnZsZlc5U0NVenJpMmU4QnlqQTBFUWRvY21WZmxaanpQYnNwYUxRYmFnaEt6N1NDODB5TmJFSlF6WU52cnlKNDU3SFdJSXNnb05GSm0xNERLRk9FSFRNSU1rd1lZNXNrVG9xK3JHdXg3NFhac1pJc1c5aDlJUkh3ajduakNJVi9QRjI2VjlHWTBNZFN0MW9JbXE1cWVZY0M5VWhQcmVDVXJscmQ0cCtDWno0amdUa1lpUDdjemJUM3hPY01RRzZ4U1lGWC9DVUl4SmMzZ1RyaUJma3dQcjRYN0J4KzhOaUhaU0RMM1ZCVEtWbndjWFdvSlp0dVZSbVFFeFZjSlR5WFg0dFgwb2k4cU4rRTZXMXF4TC9ReldIYlRtOUlVSW5jU1c2YVo4L3d2cnYrRWVYYjRWWisraUlYUWFacGdjL3c1SXpvR0tMUVNoSjh0WDRoNjd0ZFdKZDgydFZucTFkWmhVa1M2MGozUHNmM2lnTno0cGdDMEd5YVI3RnMwU0VmY0s4Kzc3SWFocGE3RlRDdE9XeTBIaDNONVBtTW9vRVFlSU1yZGthMmxuMnRjK3pGMHI1Q3NCL000MHlkNUd5YzFiWWM3QmtDQ1dyNTR5QkdRUEx4enoxSHgveEVwbUtaYUVJM3QraDdLMVJZU0FvelJISXBSeFFWbW1VcE0yaUlDbk1GWnZaNnNJU0Y0Tkk4VkFZeWV4VkRqS3Jhdmg0ZEpWTDRvMGlydWJwOUdHd2hxL3NjU2JYT0NQa3IvL25pN3FiM1l4TEtNbGRmR2VZRUkybVBMWWgvcytIRk83QTYyR0R5UHB6SHFVQi9WN0pXeTJlNnJTVUFncnhPckRRUHI2c2dKck9LWnY0b250WGNPNkJNbk1sN2hISXhrZXZIcDJ5TW50c1BhU2lCVDJCbkFHSFU3ZjhuTTMxNzJMVzVaeWtKZ3lCem1KVTBhZUxaUjduYnZ6Qk9pVVJmcHFWNDJEbUNieFRhdDdCQ3NLb2tCSWVPUGhxallOdmtaMWJVckxtbEJFTTNZYTY3ckF5dlZKMjBWd3NMT0pvcTBpRjl3b2o3RG9TelFJWlFGWVB5YUpLSHFuelhzWDF5cXZ0SHVtcHZGN0FIK0Y5aDZnVmdEbG53bTA1Z0czamJsYnNTcll2a0hybmV0V2ZDR2NISVBUZlhxaXU1UWhhand0cys4aVh0L0NRQUJFUG16UW4zU0JURVY0YXFZMlNQamJBVzIzK0xrWFJVdkYzdU5ZQ0ZZbDJBU1MzR1ZmOU9XTHRtUElCU0IySEFLdTQ4ZXZwTmQ3T3NYOGFwazRuMjJkVlFZM2tNWnJlWTg2T2IyYlR6bWZDbUJFS1FVQytyT0k1Sjh6bkV2RzBDMk9hY2ZHcWdpQnI0eXJzd0xMUU5MZU5XWGhBSlNTelhzSXJ6bmpKdzZIOUZWeXlPd2o4WnZZUG5PenVDSzlRK0txVGpONy9sY1VoNFUwZk9qYUE2OTB6ZllvZ2xadWZaZnlaT05OR1dtem9mM3dSUW5pbVk1eEt1THJxdjdGR0lIOGk0d1dBNDN1ZWp3aXRyZUZLRnZRRkwzbnMwcHRhbk4xZkVoVEtmUEpxMng3QURkTVZvbE9IellMUkFheVlPMERqWll6VCtwb0w4eUwrYTAyWE1FblR3NGkyUUdJQXhzRTZHMnMrUFdFaU9xUXdRNS9JWTNTeE92TXhtOTQrRjhCR1pCSkVKVmZVZEFKeGZ5NThHNnNhZnFwRnBzaEQyT045eHlBckwyaWNkYjNrUnZHdGdBSzVuM1l2R2RsYW1GdkM0UmF3b3k3VjRwamxlMUxHbWZ3SnlySUJRZ3ZwUng1RE5JcDdVY29EQkV4MThya3p0SXgvQlpDNFFKWXBzRXN6cWhWWTJpMldKM1FnN1J4ZEtIOERrQjlRb3VOaFR2bTJrS2h1b3ZkaUpXWWMzYTViSkxyM1NTNkxPSGhUZXh3a0JBVEt5Yy9OQ2VuRlBhMXMwSlYzb0xnQjNBWkJnVmVSQWxRZFFsUWtrTzRmM0RCZW5ZZzN2Rjh6d2RZY1k1L3dkZnBPNnlMem5yRjNwanBTajZ4RkpVYmdHSkZPdkxQQWlPV2VmaFd2WmZzYVUvUm0xdGRRMy95aFZVREl5MmVidjNQNFRqckY1QlNGOTRkMEduZ3ZRNU1KaHN3elV3bjJCVk1abzJuZjh1VE9PWXJJYzZNWlYwM0pMOFFMOHdMZkhLZi9WK0tOVkFrV09BNENGQTZJOFVSNzZxMTdLZ01pQmR2Y1oxc0QweEtGZ1FFOXMyNWxNenV5RDZOSFlaZzVKODJPSTJQNzZ0bVlMTlZIQkt2N3Yxb1JiQ2VGS2srL0JubFJ0WEt2UHVmUHdZYTNJRzhoby8yRWlCeklNaGkza0dDTU1TMi9HSm9qd1dSWDF1VnNYRHRRaUdJeVZHbDEyVGdHNlBCd3o5ek1JMUxGcmJmTVZ3SVo5YW81czU5R2w1bnRMNW1mSUdNVXkvd05seW5STm9POHVnVjZ0ak5IZVJISVVGYzVkK0hqYkNTa05RMHhTMlBRUTdqeXQ2Vjc2akxZdG1xUk5nZVNiMHo0K0lEVjVEbVVuRlFCaURFbXdIRUc0ZmR1UTNWby9pdkZ3ZDFrRmJiWTRGSkFMRTl6QkNRbTBUaDMxQXU3RGYxaVpEdWIxODhQVVljd1E2RDcvNm50bWxzWXZDeE93dVF6ZzJJekphSGc0Mkt1a0pCZEJMRk5IT2p2SDAzdHNGR3d4S3FBSWNJWmZMc2l3cUo0MDBUMFQyektVNytLODVQQjcxRFp6ZGdnNGRTSmdXbW9HRUVScG9mTThQY3NPWnJYV1I5VGxNbjdtekU2dCsrQUlBcncvSi9talNrVjBBaDVoQVh0eW1yb0RmV2VxQXRnOVBoc3Y4alA3UUlYTFBCeEhBK0xUL0dxVERlS1E0aGlDNG1JUnczeGVMQVRyTjdObHY1ck81Z21pY2RJSGo3WEs3c2lwc3NDNnZkMUlGQS9keVpDOFNjWnB4OHk2b2txV1dNRUl0YW9QS1QydDdQN3B6elRpT2c0VFN4ZHNxeHhEd1NNaWJhTG12dWo3TlJYNTdUcFBaNHJZU0hYVk9ndDZRU0M0eE9TMnV0bXlZVHUzVTYybHRYVDlXZVJUNkJ6UTlBQUp6bHBLQlArSTB6RFkvZTNBUXpveGprMUVJbFlteFV5SUtjN1VoRU9lSndHZ0RYeXRTTGx2MHd4dEFRV0lKUUJ5WEh5cjV0S3NJcFVjV1E5Sm9Ic0NmcWltOFdLaVN1RHVvS2ZGY0dDaGlSeDN6WnBOMUM4Z1JVdHFsanUxSWJSZFdQaXh5K0pMV1BSdmxjZC94cUh1VDM5ME1ZUzFjR2o0dldLTUhhcWI1Unc1NWp4dmxBVDFSN2g2MEhtNFJ0K2p4Mk16UGhKa3kveFEwemIrbHFDV1Jod0hicHRqM0huR1BMVXdDV0VVd2p3d3p3dFB1YS91TEp3NnMwQXczWGxxWVRwWnhvR0lwOWNHU3p2U3hLcEtIREhQV2FXZ2JaVVBkR0IrMC8vWVRIV2ZmU0pYOHBvczVCaTdKbVlhNGF3dnFlcHZoUEhqMURqcDRFMnZ1bVZrL20zdG5Jd2FmcUVrWVRmRWE2WGVjT3UrSW9rT1UxSFdlWE4xMmVyS1M3WDNFWWs3eUF4UFRMblhLR3hNOGVmZWtYOXVNQ1JPU2NOWkUyOE5ueEErR1B4YTh0ME0zZUhsaDlSZUJpQ1luSEJiY1NXaVhLQm12Y0tpRUFiQTd3NHZUN0ZJamMwRVFaQmdPNGRIeTllSWxYelNRdVhEY1A5RUViaTlRRlVEcUZKdHZKR01iOFNMcG9Cb29XQTUxblR6bXVJV3l6cmtyWmVSUHk2VXdlK1ZpTnIweXhLREZqU2pscGF1MktXMTVCdnRRbUtBWHBDSHhldmtLeENjQmI2elFCb00vK2JYSHBhODZGUCtFRkdIVkFMbjhnQStIQWpIcEFvWk9JNTREdXYrbVdGQS9GbDZwd0xlSmI4c2w1b0h1QW8rWW5iNnFYQkEzcXQ1dGtSR0x1a1A3TE94b2I3MTRzWW4wSnhXUDF5NHJMQmdMUGwzOEVCWjE4SEtQcXMvVEJ6RE9NMmJsTDgremY3bk5VU1pSZTZHaHpXZU1BMGsvZ0ZiZHB4QncvbjZkNGVldCt2a21GRCt1ckEwTS9DYnRkZlpWRkFnNWRaUllINTZaM0l1dW0wZzlMaGxXTzhSTnhtTlR5VTg4N2JVSDhuSjVrdmJ6T2VZTHhmWkdEbHBnSUU0UUhva0d6ck1GemZJazNZYVBVaWdhamkyYi9EMXVsR1Y5NXFsYnJFUzdtWU5DVCtiSkp5ZFpWODRLUHNvWmMvUW42MlhPS1lubCt6Zkl3MWdrd2F4STJVN3pzU1hjQ01RQnMzYzFteTRZdUs1WHd2eG9EL3psSUNXUXMxalFINXV6Q2hMTkZkNlFZRU1pQnN4dkFLNVVIK20rSWZrOUxYVkhibk1lRGRDRWFGWXVNT0tvNkExODRRcjRXMGVyR0M5dGxQME94MS9ZT1RoTDBHeFFXQzE0L2N6dThnRENXRW12a0JwK3pBUTJTMzNlMkc1V2djVmJmdFpiZ2pjT1J4RkV2QXN5N05BTXNVdkJBbEY3SVpHUkszc0swRnlPVVlwTCtJNjhNZlVZRDdTVnY4clA4RVFWQ2VVQW41ZTVoK0RVNDJFd0JTNDJJSkUrREFHOGdRcC9CR3p1cmt2b2ZtclBVY0dVaUMvTGFYZWNJdlBwYlhvUmNzQ3lwT2VwRDZQQVI5R2JoZGJBMjhLays0MWJtc3VwT0JuZnArWVBWWGtZZTBVUTUvc3ZwNDFvcVl4emFiZFgxVmRadGdmOHpwd2NzY0lRZ0ZEcGNNRG1HaXFrMWFNWmhscDIycVhtcGdLNHpjUEZtTTY2ejZldzY1ZDJlVm54OTF4c3RwSGprRmsvZ2NqOHErc3h2T0Y2NFlxWmdrNWtOTndFSGR0Z0pSejNSWWwxeXRZRnRSUHJpMlltcTVwemdwcUJIazdxUXlOUVBoMXBqb1ZRZ1ZiVm1kRjg1Q2k0ZDBTeGV4NllJR3dzSXpEUEozUDh2M2YzaUpZaDJOZlExd2NQYzhKeDlWeCtxVzB1QWpjQzE4dm5uSGhjWkZENTRVZTZTMjdieWdsNEJzU1JBY2dZc041VWY5TXJOckhSa1FoZ29LR1oxUi9TdjVpTkVIVlUxMU91bWpJNEczUDFDd3lKSE5rMjE0NXJaK0VWQnlKL1QwUzVIS2ptaDJRMUhkTzJWalNReFhUeExncmUzNkYwZmZuUUl2eHNXYSthSWdYOWxxc2ZhQ3BLbWZNbkdwWjFBbFBkbENkSmlqc1VYdHA1SUNlc3IvMkpDdW1wSDVhK3JJQWZBNC9RK3BNNVMwVnk3b3ljbWxGZjBlRlduZi9PSy81Wlo3dXBlU0w0ZjdqaWJpd0pva0lndXRTU0tzTEYzT1BLWjFTU3M3OE1uMEc3MHBGeG8rVFVWUVEyWVNwdCtESDc4L0RWYlAyNHoreE1BOTcyc096ZjE4L2t0dnlrOHV5a2JyelZHOU5GV0w0L1o1RmpNc2FHcE1WbXcvbE0zd3diQ1RCa3N5MVVITi9YZTQxYXIrSm9RdlNlcEFPWGFXcjlpbHFlSDlpZVVyRy9qMlc0bzFYa3NUb2FaM0hzUHJLNTJET3o4VHZTVGlnc2l2MEJwdW1QeStFZ0ZzR3J3OU5aVW9UYldPdGlQUEVkOGdkNlh1d0xRMUxibFVndzdKK055bVU3bzBidCtkbDVyQ2YrVm55ajViRlBLQzExVGhTdmNmRTlOaW4vVEJPL09ZSktkcjB4NUxOQ2tFQXlkK0lNRktRNk1LSHpGQTN0VzJZS2U5blUzbWF1SlJkVEtTM2FXZXVZL0luMWl0Y3A0ZXRyeEdqdll5M0J0ZXZpbngrbmZkd1Bjei84WURia0JQTzlKUGlCUmtsL1R5T1BCWWNNTWwvbCtIZEVURFdBcUNpQ1NCT2ZzR2lsaTN2QjJYRHJsdXZVYzhMZ0t0bDRyN0pDZCt0UlBONHFPRG5icWdDZENSRUU3Q09DbVhFVzZhZzFRKzdJNno2aFlENkRUV2YxMEI3VVZBdGxqZEtOZU5keGliTmdMZmtkbVpsK0JON0JFQ3lySTUvK3k2bTJ5QUNqVWI1c05oYWNlRjRRNTRpM0hsNS9JNE54NXQzT3NwdUtoWG41ZW5KOEV1bWRNRDZDRnU1Z3gxTklsTG5IOHpCQThOb1JWanlJak9UTW02cXFzWFRDNkd3TTBTM3lUQjZ5cnJyQVpxQU1ab1JxTWdkZXRVL0lrek1KMkdTek5tV09Xa3hEWEtXUkRSUTJ2alQ0Z3VFbVhpRVZZU29LdUZUbitkZU9RZ04xL1h5VWRCQzR4MkxhREVSMlppanpVaTdPQkptUCtVTktKRTZnMXJEK1E1WGJmYy8vNTdMWlVncVdMT2xoQU5lMmlVVkdBVzlXc0N0NitNS29KdG0xK3hJbXlqbUF0VEx1RjBRK2daVTVhdmJCR0RQSFJMcmtHNkFoeEx6eUZuSy9CQWJ5Ulg4d3lpSndKZCtRcTBOWVB6YlZjaXlTWGowVWhVdDNLZDhFdmYwK1krUWhtMVMyR1JOM3ZLMEU2K3h1NUphWWpzZVcyU3VtUmVuU2l0OHN3Q0VhSmtILzhhOTlla2R3elpMVEZHRUYvNG5aem5lUEVSUEpZa0dpbWgyT1ZXYmIxQ1lidFZlRTYrb0pkS0VocVdjcHNtMXYrUUxjSUNqbWtlclpLTTFXbUNqUmIyZHF6QXJRbjBrUWFvVWhWUk5laTRvT1Mza1h4cU5JL1dZclBrZjF4SEs2dXZoUVVBL2JSOFJTS1VOKytwellZK21nRVZOdk03bHppVGJBdkJOenM1QUc2OWlhckoycE5Pdy96YUgyR05peHY0Q0lCVzl3K0NDd1M4eGYxalgyZmxPbmhaV1VaRFYzc0tEMFJ0MlhrZFpnbWdNR3F4Tlp2Y2JVelB6YVhxN0pDUzBGNEhXelVyb2ZIcUxDQk5VckdsZkZXWjJJaTlaNFJDbStFMjVOWVZpWEdDVHhGejdlUzR3YXMxNWdQVkJ6S20rOThnamNYV1c5Yis2RDdKTWVkc04zVTVLaEd4NktGM3pldG4rZ0RJUVBrV1p6bGpHc1dqT1ZyUFFwZ3h6UlZaRmNrQjVrbTFjR0xsU0JGQzZaV2l1SEVlNjZTTGxzVndpcUNIYmRaa3ZheHlaV1lubEUxdjduK0svckZ4S1U5SXNFcGNzRFV3VlpUNW1Dbnd2ZnJjeVVOR3Q2NEpQYU9kSTlWYk54djRUZTcrS2RBMW9KdFQxVVdNMVQxbVliVVdIUlA5RGNDU2F6dzhLWk5XSnEvTUEyUEN3MDR5ejNCU2tJSXpKZGFKN0Q2RmFReXE4S0dxQndQdzJveEMydTlzSjFET1RzZ1FkWFpLc1ROd2g4WUJzOXAxbVMxTThOdUhzS09uK0tSdWtnNkZwSTFBSG8rTzhlWUFFc3FsOXhVa3ZsVlBDWU1YWkRyMnJJam14L2o2NFVVNXIzNk5sVERIM0pTTFF6QlBTYy80ZGIvRmdHdGZDa2tad1h2alZJbVMrWVRHQW1SNEN6NklsaWdvS1lLZHBZRmE4aDNmUHFoWTBORWNGVTdYSUlINHlrcjNMdjlLSTVtMUREUVJyNkZuRDNsTis0cndVYy9LQ25hbXV4eHo1SGt6M05xZzlHN29SYk5kWHRtVGovNUJybjFMNWFmc2hpbGZxNlFMdTZRWTVwOHVtMUk1TWtlRjlMNXRkUDJmb0VBa1Znc3BmNU5zckJSTlpJL2U4U3hTZEJ3citib0RmSThjdFF1U3Ribm0wdWJYTDc3aWRUOU5aWHRnQmJpQ0FqUnRYcHhxc2ZEZDBYOXFZaDZaNUpKVUN0ZThCYys5d1pHcTE5SUErb0JvbE1QNlREZDhwM0V0KytkMkhjcWhsa1JNS2VWNHNKbTZCSFRDQXR0eTYwaUNUcXZpd2FFMzZ2YjAwZzVhRVdYYUozVDNlQmg5dXFIVHZIUzE0aDYzR3pMdlpHZDIyWS94bHptOWRiODVtbTd5akJ4VEI3SHB6VCtPS0tlbGJDSnRuQjJZWnJ0ZUFyKzgxMnR3MUd5UnBYcW9HTTdXaFJxN2d1eHhiZ0VrR0syTWYrdGQwQm1lRUswcU54cjNEcVlBSFEzNENpUTZFdFhFcER1Q1ZsV0lOaHgrR1FPa0xrcFhtT25ISlZNYnRNc1VWNVNObmREeVRPdkh5ZUEvWWQrZklhTnpOYVl5NWlNc010c0g1MWR3enlNNkxvNm5ndmI2MHRrcmFOZUgyU1JCWHlJNGNGa0xIYzNIak9rV05PaXRCWEhZTnVQYllKME01K091S1hKN2MwQ29XYmhoeEZTeGRPODRrYmxFTUh1TWY2TEhPQUp4YzZXMmp1ZUIwZmRWdE5wTzJNVDA1VkxEOUlFaXlkUlNkZEcydG5haS9FcE1jaDJydHRwN3J3aWVrT1lVbVdmaWlmTzNuTlpLTTl5M2xtWDRlQUY2NG1mKzNRcVRUbzRkS3pXYWlyVXFwL1cvWlFzd0hTNzlYRXpDU1I2R01oU1JsSmlUdjk1M25LdWJ1akVsSXNWN211TWhOZEFyZk5JZFhvTmxEMUgxTkFpbjdQRWswak9TT2Z4d1VKdmVSaHd2QlNjS2R0N2dNRmpqdENrVVNpd2pLd1Bna3l3bFh4UEZSZVM2ZHk5dlNRK2h4NDVJR3d1c2hINnlWY0w5NFpVbU5uT1R5VWluUUVBRGVvU0d6QTk1cWdoZUNRQ3ZMNndXWEdWYmorQlZZek5BVWxrQW9zWVFUWmFjcFFJMEQ0ck5vUVZyVTRrZjcrcFRVMUcxR2k5eGlpd0JEUElPWDNCY3p0U2JTMDBROTBwMkZXcDRnQWxpWUJmNlIyMDJoUm5UMU0zemlDeGd1c001S01CMmZzWlBSTHFHRTNlcWN0M25LRzFEVVF3d1Z4RENyYkFNTmV2bG53Nll2MVd1amovZGJZVHNGSWo4VWdWaEtHWEJWcm1xYWxCMFVMQnI1dE42MTFVc1pSQzBiYW1KTWh0RmlDVjNSbHhOY3JYajVVZ2lpVG92TDZ2dWtJYjVBaFdybGZVcFNmUUJIRUZQcW5lUkUxSkFSY1RMcjNueVBpUC81Vk12SzJLOUlJUVJBd3BpejFOZ1hiM2ZyU2NuTjFEWWI2NEVFbXcybzJqbTBlY0hOV2lJQUV3V3dNdTJIczlDQWlUWEpjT0dFVHptREQ2RG1XRjU1NFVXWmtHUDRLck10QnVoakpiMlI4MVFQb3BhdXNscUwvcUhQa2gxV0Z6Z3pQazJoUkUxVkdIblIyVERDb1RHOExJTVcveVNiRmlqaFh5VnYwZVA1c2t4N1FBYk5vNS8yNXQxc0pSQ1gwekZSRHgzTS9YUnVGeGhQaFk0TmhKc09jalNZUks2dmxBdk1OZExUanlicHg2UG1jU2h4T0NkeWk2WFdSK3JTWUtRMi9Tb25raDJXMCsxSmFVS3YvTjdkRVQ3OHd2SWNGK0tVdTM4b0RMa3hJOEhpcUFBczA2UG11eUpVUWc4d3pCeFBUOThZSWxJNXRLcTB1d0NzUStMSDNscy9xUk1pQTY4Wk5SbXNSTTlaYkNTdXI4aURyVVBVMGk2N1NSUFV2aHArU2FaTUtnTDc0YkYvVTFnNUxCL2N0ZEpSSEFyMFRjaHVNY1hsMjArM0JkLysxemczSUswUDUreWdhb21KdEJ4OTcrNUNKUTZDVkpyNDRSeExBMUZQTnZqV0tsQXpnc3QySG5NS3NQNklXMVRtTWlUMDhKNmRuVlhab1FLM2tUdnZNTDFIWDhYM0VOMXJCY3hxbWRIY3NjS1Nya29wcGI5em84TVhaeEhEYnpGTHRnRm9wWG5CRU13b3hlZ3lsREhxdWdFUkJRNkpaWGhkWVpaOUhSVnAzcHZ2bWppeUZjNDdBeWllOURsd2VzVkxhbExKQUZacFo1UjQ2YlIrY2E0VTRRNkNYV0k5UFA3NHV3TWdaRmNuckpIRHd2blozTkVkWHpTMDMzY1NIc28zRXNuTnNTU3Zpb2V0NGo5eXJRY0oxTlZjMHQ0c2ZCRGUyMGt0b3VtMmZuUjZ3UENTZnVFWmhjQndCTHJTeC9UN01BdFB0NndmWVVsTkFuVUhjSmxFdG44TVpCQitkMHpXV1RncU1LZEFLMzdWN0VPVmpsaUs2bGc3em5zYlFDWE5NRVNSSFlZTUtQRTJIY0daa1ZXT3diRzk5YU9IK0JOL00rMHpwRlltemRyeHRDNVRkQmFBQ3lwYXg2aEVZVG9pbVJyZXIvU3ZYbk1PY01ZZmNURi9zSGo0R2lVL1FIajlPRDZwV1B6QUNqRmJzS1NoVVV4UWdJR2NGV0pzV0lXa0hNdjVlK2xsN1JkZVRNTjRITU9NUy9nVVYraFN6N204V1RQSkUyUkdzTlhJek9qSUJuTDluMTFCS2luZGY3TWw3emVnc2JwRStocERxTDNSOVNuL3NBc0xhRkZxUkJ0cDVVNmgvcHcxbzBJMkRtM21JaTlZSFQ5TDBhemU1bis1OEJrL05nMmVqeEJhcGJQSnlxSVpIOXVYeUs3QUY1YzBHOS9kRFdweFNhVStJck1wKzdrM3d5SlJrajZmc3VSZVdFZS9oSXJVMXArcGxWSVZWN1ZHU3drR3FpenArb3VqRnNNS0xydHdaaFdBZG9IVTUydzJmN2FWc2g3S2twQXBoU2g0TXU3Y25YbUY0VnZJeU5ZZGtlVkUyYnUrUmp1ZGVsWmlpd2p4N2Jsa090Z3pmU21jb2k2SjBPS3crUGtWZTUxMC9YaVMvQkRscWVJbHFxN2ZXeHN3bWhXUlNuSTN3MDk1azlxcXFsaDNva1l3cmY1T281aEZYbDJlN3B3Y09IQUI1SDFpbk5uV2dBc090U3lkejM3aUo2Zkt4QWZPVld2OHpseHFSMGRhYThTUmhrOHZGelNEOWkvTXNqZWV0VkltZTdtYmpQSDU1RWxFVkFiN1ZnaVFCaTlXMVNOZHJ2QThhS0JJZG9KYW9HQnRKUWViRHJzZEk5cjc3Z1JEc0NWdjBtMGEvNk85NTZiMjB6dm05YUxCSG1LRGZmbnFPQzMySWVpUmdZc1YzZXN0Zjh2Q05zbWZQMXZNWmJsWkhHUEtBZm5jMjNNTG1PbHdTMy9VTjJiODdRK0dqOHB3WlhtOUo2S09nSjlkc05iWk1qQWV1TWlqdUFkeWswSFlRZWRaaHM1QVQzbEdtNzJIclczV2prT0txSEhhVkZ3NDY5MzFrZXFxZldNYjl0THgxdW5saWtMbVdEQ3VOMWtIa2RvRW14UEJvSzdlbFAvdjFpbWpxTUNYa1hLMmsvekN3aHpnQ1VqTXRsVzc0dGtTQ05vRjIwd1phd3A3dGlVRnF1WnUxOXBkWkRDRU1BMEtXTTFWR0NnbzVwMVkyZTNhQTJjWFVjd3AzeE14S3dMcjBIOWU5UHA0R05FM25oRkNDSHpTLzQ4eEJ5WmRjWU4zT2d5dHlpYXR2VWx0YWtxcTlNb2l5UW01cDc5cm5tQnFsTXBXb0hJQVV2d0NXZmR5M3R6dG50eWxUN1lTa0N2ZXJUM05wUlo0UFVPc1dISFpBMGJDb1FuaE5Ya1p0dkFybksyVFE4U3NFbVBabDNPUkJ0b0pEMGdZZ3hIWW53QlZDck5wZm82S2t2MmV5QllSei9QQ09lNGUySUJHUEpxd1lxb282d0pxY1ZTOENQYnYxR1lLZSszbzZiV2w3R05odFdpRzRURHpmNk54SXdVdkV2S0o3RW5CRG51UGFxYUNBc1VrcEVnOW5ER0lta2I0dlBrcEgvZDhSYUhIaHNqOE1KUC9Ed1JSdW8zSUxLODZvUFdRZXU3WmFRd1NrbnhVTzR1UHlFSUU5ajVmTS80OSt5TVVlNEkxc25MTzJlak0yMmttNzBSQmlURTVhZkhaOGZJS0ZMNGM2WjBoanJVZEZxT292OVJDKzM5L2dtU2paSGVCeGZmeDRMakptOTlvUms5bm5vR2JnTlNQbWs4NmtldXpZYlJQdjd6SGxVM3hkaXdsRmJXMWlvekZlZlFZMEZ3WERoQ29VdmRCY21HRmF4YWlZeE5hY2I5QW5QbDF5bFArcHMvTDd3OVZ5bHUxMjF5bEkzMHhOMmpkbkVWR3BOOHZxYjFnZ0NRcEg1LytpSzE3clQreDVZRHZYL0hGQTlIY1lqWVVJRjZZWlBKUkxTazdPVEUyN3VQVld5OWkrZEk5eEtmdE5PTzdOQ0ZTNjVza2ljRHQvOGQ3WXlJNmVDWHBpQmxOWkdjNWR4RzhZZmNraGRpbGhGNFh0Wm9tWWkxKzRjTWJsWXpPUHVxSGxHYU5hcWpYSENoNEdXbVdQNjhwRnhKYlVLV1YxOGpXWlpTVVBhZ2E0a0hCcWp2blhLMnRRU1AwU0J5NzhHWm84NlY5cDRnWCtWZVYrWXdRN0p1d0JlVXZ3Wm54b041cUUwbm03WVVsWnhocEtIaW4rUm8yM2UzM1N3YTBZeWJjTmxBTitpNTNxeG1taHJyclBHQ1pBcVJzU0xuOTNmY2g3TVBIdDRVYWFNNDBvb3h6Y2VCMHBEUHkwaWlWamYxSXVWak94R2VXKzhIK25WNzJ5ejZyYVVnQ1J1V21qT0VNZFFTRHBPaWRhcFlnN1pIRm1wd1VCbzJUNGgyMXNuZWZOdGtWNG5XRVBrUTUxQlhrLzR2NFc2MkJtaGIzbGtNcnNrRUt6RnU0SlJtNXdNeHRPWHg2aTJOekVUNmtWRFVBc3pWSDR3QkRHTkNzYittUFdjL0t4bXpqbElSd2Q4R2ZsUmw4d1dOZjFTQ05tZ0RNMzhFRVExSDk2MkNKdXFtUDczVC9nMVRackFzT2I3SExwa0dMaEpzakhxakR5M2FRKzBHclRMd2JpbmRJVjdGaWllclB1M1c3TGVwQURiSlM0TkYwYUR2WmpDbWduQzR5VTRnZUM0ZmJzenQwWHJGY05ucytSbUdvc2E5VlNxMmhiM1h6a1o2OU5LRjRMREwrTkR1U09aK1h5NnNHSi9laE9SNGI1OHFFUWFoWFJzTkphV1FmTERjSjlaenV1amhySFdrK08rcEtlVWdNZ3o0aDFiaHR5YXoxVVdodjNxN1BjWmR1bDlSRmJaQUthUUNzSHNGVTlyRkphTGs4REYxTFRPekxUODNBWXZNYXhmSFQyME9pbXJSNk9TSkd5K0NsV2s4WE1XcmRPWkFuQ05lS0gzdUU1emJTVkNYUEFiM0tzYXYwZWN3NHFYYmdmbDFzZ01QQ25GclFiSHI3QUxWQVpUMURQTldDd09MVzNVMnRNYXFlbHZvcWk2MFZWQnZRdllIbS9SMHBzakZ3bENYcThjbXhUWXN1ZFM1STJBQ3U3WVdYUC9pS0ZVbGduMlhpejU5MDNqdmI0YitaeFI3YlRpVmZPbnRDWEhaNDFrYjFBcmwrNVNLeUp4WkdLb3NpS2F3elllb0NPWHEvT05IRk1wUGE0cDNGUEJJdkFISzBqZTBjM0E0R3pQc2krcTZwREFCa1kvZGRVT0JJUlMxN2ZKZGpIOWZBcW9KWWk2VllQdDJQbU95bUhqK0MwU1hwUWZPWXVaMHN0UWVqMFlnMWVHL3VmaVJycmFvU0Q3T1hnaU9KejRtUkhxVnhBeE9MTm9MMW14SnJMMHZvRW50K3JjTDNkWlpxZUJhZU1IbGhwVFY0Wmo1eHNDd0hOT2dOZmlnR0lNYjNidDlhMCtMQXFtK2VYMS84K1RvOXdodzd2dTZLbGk2NXFkUHVVNnY0M2Vac09FWTM5ek9WVnNpSlphRWpORlNlQUR6KzBFdkVGcW85VjVDWEJ5a3R6SFVMRXBCU0FqalkzZVNzbEJ6OU5ldS8xOFA0Yi9JSFV3UzA0MWFGWXU0QmpDemRrN3F2WjNkNk10S3lMUXEwWjVTOFZCd2owaHFEdEV3aTQzNno0aklpZTJXK0Q0aGdsS0Rva3ZIQlVOTVJCOEN3R1ZsT1E3LzNNQmlLOGNsamFpQzVpdWg4NUc3S2FBSkg5M3dKUCtpYk42R2NIeWxOZ3YwaU9IUFRmeEhoUVBTS2VIa2xSWUJ1SW9xS3FyTlR4SHcyY1N4bFA1Q1V6WVl3RE5pTmJPaFJuNExqcDBFNGswL1lSd1ZnQzMzSVVJN3UwVE9wbHZIckFxSXdGc1MzblVsYUFCVjIyNkNObzN1OG4yczR0OTV3ZDNPc3hmdjZqQ1FYWWM3MjZnNFF1Z1JpYlk4NFVWQTB0dDIxeHB6YnhDOW1jWWVFaFZ0RTJvUGdNaHRsSFZ4WGIrbEV4djJvTnYvYnZ1NUVwb0F0QXd0M3Y4dkd3VGg5NUJ2UEMxdGJmSDFnaHhCMk9nY0pzNXFET1N4MEFNMzM0RVZlWE56VlVld0NMdmY1RDBCR1hMS0laUlZDdndjTUl3eGQwcEt5aFh6b0JoajI5NzdNR3NsQWh0VnFkb2VBNUxSRnlFakJWcUVTTC83MitEbFE2aSt4S3NYQ2pYcVJpVmtwNzBWemdNMHFDcUJGQXMxbWsrc1Z3SlNEOTFlVXE5d1FOeURPK1MwRGYyYjI3UWpmNWFrR053WHk5WWRQNGl3M1RpeTF6Szd4d056R29TNFM4ZkRpd1ZIdmM1YjZLY3pNZ0toV2xqR3ArNmJGcnJrMVp5aGhJcmlQZTlWQUozRGM1ZDZNUWNjUkplZmZkd0RaNDVIVDFhRHluZmxmM2FUN3hObVRJZE5hNGJ2bWVhRzU0TEQvaWRzc2RhU3JjRzRtc1V2RmhYeGF1dmlRa1QyY3NQNVNFZlVFQ3VrUkY5NDBHZ3AzOXo1YXM5WXQwVkk4TmJqTWFnL0VzNUowOVJ0QTVIQ2RUNmFUd2NzTkZoanF6MWRxN0hGMXZOTjRZOVBSVE0wWEMvUElqMUUwL3hwZkY0d0p3K0cyVTh3THVndWt6OTJvSWFIeXlaVlY0WXB0bjlaQlZkRWxadTZUVDYwSGNNckJHemt0TzhlclBwR0JuRlRCbFk4QnVsdWtxdnd1VDRkUUt0dDFlTzd0YzV6V1dadEZIV0haSGExc0ViK2RaRVNMbHhGWGNKRHNyb2hmRzNTZURkSFd0anMzWjVEYWRpdU03TTA0U00zWC9ZTlkzb2U5S2RYYkswTzlYaGZta3lnWm5GNnBpYTRPYTNYbVRuUXd5b1B3TDdoN0JWbGJLVk0reGVMekxETG1vc29MYkVqY3djMDV3NU9wWlJXdE1JUTlNb3FHRHVVMElHbFo1YmhsU2tKa0tRcERBa3dtTExzWkx2NFdtUjdNRkhQUnNvRnVZSjQrS21rdTJmd3J0LzFKREIxTTJiYUxZWW5TdXF2eE1IaE1ia09PTnFST2NaOFhXNUlBWVpWQTN4OVNHZ2UyRU5jWFhieHlVSElxcHFHT2hhRDVBZEdMais0NWVCbk43b1haOEFTdkU3WHF4KzJUWnN0WDJFM2JReFg4REtlZEFRdU5QT09MczYyckxuQVhkK0cyVDUrTExpcE1rOEJRUXVpWW1hZHIyNDhpM21SN3hkVko2dHNrbzExWnJVbWdwbUlLVEhRTkRsV2R4Znk2SnRmZml1YWhDcVN6Z3NKNng5UVZNbThvM3lkLzdkN3pRS0ZxQURvWElNQTZEaTFGT1hia3FnS0tNRXo1TUo2cjBTZVhyT0RLMmtlcnNTRnR4MDJzSkNaVnlwc1ZqUGorNTBQdGM0TGZXRFF4R2dsYTVjQThLamREOGV0S1hiYmprSmFNaDQ3MkdpbzZ0eFRNMUdmNjkwNjJQQnUwR203eHU5UXJjbThEU051amZzMUhsSnJtSFp0NGNHeXhheUFvYlZta3k2UE1tT0h3elF6aVdmMXFOUmZxNUlsQnVPcGRLVjR5WnBDN3hJTEVlejllaC90RW4yVmdVdEMydXFFcURNMjE2NE1nK09OYzJXcFQzOWVtY2VGME9aT1NnVm4xQ0FHclc1SEdnWmZEMWZUdzBFbHNqbHlwZ3MzMEtWRzlFdllLNlZoK1hIaXZZbHRLeUJBbHd2OFdEc0w5N0tySzBWWE9lQjVRQXY2TTAwd3pZKzNwdVN4dWpDTXhZVHpsYmJucFFnVERaMnorVm5tYWFsOGJ6ZS9SOWFPeVRmOSt5YTRyUWw3NW1EeFRiamJVSTRmTWlZWWg5dzZsOHBCakx3VnNtbnhraHZValpKVGc3S0V6RXVua0pPajBIZUtNTFpnbk5qd2JOQVJkR3RxRHdWLzdEM24rUkMybzVXN3A1Z2NtdnBvNEVjbGtsSURlVmlSWmNWdnd3bTk0RlhKckJ6Ukwvb0syMUZxcHgvZm4wMDNXZFNsL0JjMzRhQStQT2lvUEdFbHcrdENlMVZ3R05CNXFZNG1EQU9EZFgzV0tObXdULzNSZ2tVaG5uMHdHUWJiSDBWQU1iYXJOZUJMV0M3a0RCUE45UjR4b3NJZ1ZzVjZIbGIxUmwycmtqQm1vOUdRYndwbXNBK0h5ZTNndXNzWmpiVTNRaFRYT3dWaVpQR2ZURXVPV2VQNEN2aUhmWEw4aml5MXZZek5SaDI0Y2RjMHdGSnA0RklpUVJWekh5amdFMXdrRXdSdzBhajVNVGRsS3NzS2VhWE4zVXEyekszZk9xTTJxZGZCU2VZY0NPd2tQRlhUZlNGSGZCam1zUnBZdXVZcjRPWkNZcFpoZ0FUY2F2Y0tjS3FERlRqQk9nMENCU0oza0hwVFpkRE1hWDU3aTJQVlpHdjF1dDRTck1IM09IWmFLczEwYTRYREZNcUZsM25UL0tJSERFNzBlYlJDOHZkOVV0cW52L3p2K2p1ZkhPMWNaVVQ1M3JEZWp5bDUxdFU2RlpSb21Dbk5ycjJ1Si9ZV0dWVUdDWittZUR1ay9iWHJ1R1lPRUlnS0Q1VEtmOXlLOGlVOHl3V25qN05RazFjc0I3MUNvc1ZVQk5PNUZHaEFPanJQcERJbk91Z1Zyb2xXMmtZbTRXOXp5VkNyaStvdndEVkc0ektlb2oyL1BybVRoLytUbWRxNk1YbVFNRm0xbnZ3RmF0eElrbkFoMFh6Z1YvM2RLODVrVit0eHhxaTY2cUxUUjZQSHJ3c3R1TjdlVnpCemhYY3Z3TVA1N1BMZ2hXWlV2bnFpM0pzZUhMZjBuVGVnRFFYcGJGTUhuUnM2ZExVM0gvQ1dGMVFtUlNGdks1Qk4wbmR1cmVBRmloUmx5YnFJcGlUOEExTERScFF2bHJiYmRRMUZ6Y0luWG82MmVNVkMrWWJuMjFpNUp4dGRUMnlTSTVvdnUvUm5BRHAzQ3pVKzR3dE9TNk1rdUkyVnphUU1wNnBlbUx3cXpUSXNaeEVxK1V0ell6dEE4YU1FNW45czdVVUpZc0labXllcms5UWhBeVJnejRtREppMkNsL2VLT3BrWGZCMGVqY0NtU0o3UXgvMG8zL293NWNURXRCOGVBa1RKVldXbFMvYXpSUnlyOHdlNHVSV21YK2x3Q3BTdVZqak9KSk9KdUZaME9nZTBUMUtoUmRJUzAxK21VRWpmR1crOWdjRGZrNERJWFBYU2hlc1QxU1RYcHM1TE5GRkVWMHFoZEZLcU1oNDRTU3U0ZWRaY2xkUG9vY1JreWRUdjJRRE9EUisrblBLQ3pvZ0VudVNueHN2Y1JDUTRUcFJnOWp2UEpSMHVlczJ2Q3BQcXlGMGN6MGlLYmNtOTg2aWxMR1lkS0s2Wklmeld3WmFWeGpzSlFSUXhMYXFOZHhTaDBPTXo5ajQxSGtkaTl2WSsrVDIraFl0a3Q3T0JYdm9FTkZCMWFZUWFiTndXbjFPeXBML25FSHplR0VLbnJMYWdtM0ZzUHRxMVN5TWtTZW5ndmFwdXdtaTVKT0Q1TUtla0RCaWtCVzNwSDJpUjlQQ0dlR3RMUEZidGFtdFBHcjdFaDNZdG1KR3NZNDl6U2w0V01lbExwbXplN2dzN250YU5iMVFpWFMxaE5OaUtKVGxhcUFWNUhQQmR5ZnhRQjFuMzRxYVlDMHQ2TkJvaDhLTDVSV3BHcW5ENlc3ZlJFNXhqZkVKSW9KYWFBSzEwQVp6N1cwRXphS1VVZDI0dWtKVHVtRmlmS0VwM0RXZXovVGYxaWJCNjJsS1FBRkwxa21OeEhDOEdEakNBYm9nWERISS9FUkNoYWQ0RnhNV1FKaE5HcUljb3lkdnVTaVVKeHRuK3p3bHI2U3ZWeHlaRXpEODdFcUlUMlFlclA5YW5SdlhGUURMYk0yMWNMdGkrYzJzMkh5RE50aE56bjc1QjhFTjJsR3phS2hNaEVrVDF5ckkzR0puQkZzSmZrYytMU1Jhc2ZDQmhhTS95WUt6a1FDaDlBUFJRTElkY3Fuam81U3ZmbjlUb1dESkI1NmlqWXBod1VCY0pBZ3I4b3I3bDU2S2Vjek52Y29Kc2U2cEZCS0Z0aG1FTnZaT24xbWRYQ2Npbi9rQXZWNVIrQk95UXhXZzZzbUJvWFhnRVBCNlhpeUJkeklkdXZsTERGVEJJS1JGeXZpeHR2QzNTMTVIc1RFNklCQndMTm9Nays4ZFZtL1djTk1nSXllOEs4ZnE3RGljMmNIWHRzNElPazN1WmF6VHRXdkh1YWNqTktSZUcxZXlsRXlUMEN5Q25aazRwMkY5eFlnWDZlWFQ3Z3M3ZjdVZytHMnRNQmpEcWxuRG5yS3g0Z2hORjZoTjFCZ3BjY29EMS8vVDhPM0FsTzdBUmE0L0JnaXNnMWs0QUROaXk2bXNwWWtiYVpNNDM1TUdpbWN0TnBCSlQzWHgyZ3NqNDRFaGxGT0swNzM4SE82eTZNMFo4S0xDTkdIYWZWbGpMRXdlUHFBWERRVklBUWRGUXl1c3lxSnZaSEtHcEE3UVVqSGJHMURpT29wSTVVbWRqbjN0OVpubVNyK1kwSmdVY0R6ZUpaNWcvZlZ6WEJncVFvUW5pdUpIa2hlSjlYb3JJck5BZk55NGtxbko3NzdUR0xJSmJrSzVFZm93dy90eDFnWE1kUk1heCtWeWgzRnMxc3NEb0ppRW1PNGZ2VUFieWdHUFdjNmFsb01rUXdDYUVhZXFYS1dpalprWDVPemttelNxcis1WUoxM0NIUXpDc0NZS09JcU5nTkgwamRrTm10azBIYmc1UzlsUTRrVDlVK2ZRcXdQZmFNRGREaWY5d0JWVkJoZmNtT0xQZmpKbG5xVnE2ajR3cEZBYTVYd2s4alhTck5NMCtyYkhzYy9HcWltR1N5V2wxTUxQbDBjanZtWXlwMEkySDdDcnNiWWRFSHNiMWgveThHK3c3NXhva2ticzNncFVDaVpQaW0rTEdRR1huTzVrV1pJcDM0K0lsNGVHeGdPOFlkQ2hIcUxTeG81cUU1U2NTVFdwWHdzcDFhdXQySVNqMW16NTdCaGJ4QnllQ2p1THFSRHNuZ3NFQkVBL2lHQ29jaGlQY01sN0taOXEvL3J5cXByNzBqODZkUmIzeUNZc21TR0lZVWo5RitxTmI3R0lWT005TDBCREtDeWh5dm5LdUNvcGJGTWo0Ny9FRGNiR0tnZkpvckhnUkl1Q3JjN1RpYU80bTBSTUxoQ0pTMnJhRW1LelEyZzFBWjlWaSswa291VmJLS1VmUzVSNHQyN0tLSlNsSEF0M0pScFBWdzBWdW9nZDdqUHZtc2pwOGRhTTJZT1g1dTYvZEIwN25ITzBybVlWczRmeTRUY2hsL0NWUUprdHF0K2dCR2w4dmFlUzkzdGNmZUNoemxmcTVESmNDaitTZi9LSzRBdDNTVUhVRll4eWZ1d1hpTnRBUlZTMkpEWVRJNm9acUhQK0V5S3AvbHkzNCswRzdaVmFHUTZTY1VXREkzZ0kwcUs3SVhERWFuUXpYNWpwU3dSZDhNQXdQRUMxS3JXM2wyaXZWOE1NNXRZQUFRMEVtUVVPejB5RmlCczBiSEViT04xUjJ6TEY0emdCR0xibEJsS2ZKa1M4bGtvdEVjSVFlaWJ6YzhYZVNvQmFQa2RsekUrVjFMRVpOZTNmUmRXaTFONjBjUHREd1lKc29zSE80TXFLNm01T0NTYVUydExmWCtOSmtVamROZkVwY1FDOWxIK3NodjBtL0tHeXFnYVlxcmJ1cjM1VmRkRmpsUUhxYjV0TW5tb3pBUzh1UkZPMnNCMWpCQW9vL3BQQURhYTFzdlQyT1p0KzlETk0xVlhJdnZGbDFMbDNsa0ZSZzRXVWxIVjFCbWpjWVRXb0dyVTRGZXV4cFp3eWx5T2hEeVBpdkdjQkVCeUJlZDg5dTg4SW9MU0Z3eE5KKzZjaUJmNlZhcE4yL3hzOHBNRXVLMVZtQW9FM1dmMFFoYndETDBoNkNEVisrYi8yS1FEZ0RsTFdqc1praDNYeDZnQ1EraEVEVFEzUXlkYWR4YldnOWVHVCtFNmh1czlGOGJaSUlNY280Z3V4TzRwWlRwWDVPVHpMWVU4UktZdXp1aEVBWVE0K0Q1TXN0TGxaaU1nVUlKajR2N0ZUTm5wdGVoVTJyUW10bDJWRlVOYk5VcGVaNGo2czNXdXRkTm9TbDBrc0xtR0w0ZjJZczhpS1k3SnVPdlFpMEl5M3N3U2lEOXdSWmdNM2puUXJWSk9ldTQwd3p1eXNPa0FoT2k5R0FBOUIxWm14RmJvYjlsQ2xwSVpvN0ovZ3VydytvR1N4clJ4ZG9vL2sxcGtDQ21LS1pwKzZsdEg2ZlVhTlpLNE84YXdwcjQzeTYwdWdxWkc1a1hUcHNpTzJFVWxXOGg5bVM1Y1dQenlsWjZIdXo0NUdxb3RvMnZXaG9VSGtYdTNLY3JoWHlEOC9qUkRyR25odC9nYytlcEdqZGtaMmlkcXduc3lsVnI5SXNOYkRqTHBBTkJlTG1mdnFoQmI0YmxIZjQrVFROcnpZWm1iQlI4MzI3cE13SFhPaUxzNVdSWlBuLzRITWp5U2M3akVJUUUvTWdIRTduS0VBMGk2eWlsYnJMNGtyR0hUSEE0dklxMkhhZVdLMW9nZTZtU2hHZmx5NEs3cFhINjJGZG55WGx0UmRoRVN1OEtWOXpZcjlCZzZ5U0hyaDFFbnMrWlFFYTd2ZDloRnpLSHAwMjh3aWFtQnRUa0JKUzJ5aWNlRmxnNW5pQnRxTDFzcGdpdjRnQUFkWk1PNmNVdGh4V1FjMFB1TG5IamxSOUpDSERsSDJSSEhWNXRwNkFCUEF0ZHRSeDNBb2d2SkhiOWtzMXFRRDNjajZrZkoxbWdUUTliRTNxMU8yTTVGajFJQWpxU29HVEErTksvRm0xS3kvTDA2Y3h5cHVZUFczN0NNMHB5OXN1TXF6OE5VNWlxSHhWK2NMcUVzRVNPM0wvRDB6OEpidTRhWjJhVlRnWWoxWWE1am1XNFZnTzVzUlhsV2VnUEdhVW5OREI1cElzY2NTQm9YckZqUVdCNCtJeTdZbmM5QmxhWVdvNlh0ZitSZG9TMFR5UWVBZVRLN0tqMmZudHFEVnVZU0M4YlM5aG4rNkkzdnBjQ2IweVBsOXB4YlhVNjB0NEtuaVlFTVNCcEJ0cnFUMFk1amRCQkNJekE3VE9iMVorYlRCQlZvdElUY0lEcTNxRGM4bFJxdndwMEM4ZDJRM3F4RWhQTVV6NFpWQWkzaisySGtaaFRhMkJQN2xnL3A5Y281YnNKOFpMeTc1WENtQ2szNkxOZzRjT1k0MjQwM0ZjV1dKR1hKV3RxbkxpNWRkTnZGSEgvcCt0eWlwRi9OWWhGN1puc0ova1diSHppK1lNeFZqeGNNdldERUdZMTVEbUlLMXBWZ2xKQ3V0ejBxM1JiK2ZhQWQ3cXJmRlJEUTdPbkcySGdZdnNXUTZiNXRpS0JHeFlCcXBMWlNVM082QXdRUTNFUFZzMFArRXRJWkR3M2treWNMN2VHcHhQdE5PYVorNzEvYTZoNlZ0ZEtZOTQ5Z2NWbnVOZjhTM1MyWlJaOG5OS1JIMjJ6ZXowLzBuSlJCQ0RxaGdlWkF6YVlTZ05JYjkrbCtVbW9oN1RZdXpseFUvMDU1TVJYbTh5NnAvMlNtZG5ZNDFEaU9ubVZkbkpVZW8xRExaelUrUmZ0WmlDUGh1eGhZZzZsN0ExSTFPdTRlUitNMFNGaThSaXRhMXpuQXZiOG9NZG5NNytGN24ydzBGemt6NkI4aS82SUgvcVBOMjQ3N1Z0RGU3MXZ4ZUE5Z2lLKzE1MUdxSldVNG1GdjVwOEM4QVFaVnNHMC8vOUZJODdGNnM5bllqTlpsVTE2V1k2dEp2cEpWR0kxZS94UTMwbEpNVXNiS3hKWlhNeGZmM1Q1SkFZZ2ZWcVo1YzdKVnBLa3lOMjltTE1lMlpoYkJwRkRCRDljalgxbmFoMVAyTldRb0ZxK1h4REdIYWZtaGpvL3F4bTlpSm1NMngxVS9zVzM3U3dyZkNScldnU25FTi9uZnlMdE5CL0tac2ZHdWJLa1RKRUlubUltaGp6SkVVbXZYZkhONWxHQTRNYkZPVTEvcUJnSzZHME85bC92MnZweVU3OEpocWdNcjB4Q2xkWkNPOTBmSGoyR2FYUG91NzNJa1BIK1NBMERmZWJ3RU53NUc3Ym05MWNzMjhpMndCS212Z2RnM093SUFJSXZUZThSRzQrWnJCSi9JY2h5bTM0d0NGUzJ0dUdXRXVvNzVQR01xUHZISTlMVVVVaHFpTkd0aTNEbkg2ZHJZQmhiQzJDdVpxRmFQWjFEeldmUy9IQzJGb2VXVjNEMTNDQTlYZWdLTEQ2MTNONGdHak5DdVpjMVprTGFuLzBJMTJHNFhZRG5yU1pJNjVhamJqaXIwREdxSjY5R29RMlJqTzkwSkNpUkJXQkJsK3ZLdE5NcjZBVDRJZFJoUkpmNlhrRGRpYUNLKzd6RGhPNkhwdThYR05DWk15NnBDakMrSlJvM1ZVY2RnMk92SFBTWm5WT0pXbGNvUG0wMC95aUFHRExYU1VHUnM0bm4zdkJ0SWFpSlRwa2Rka0R0eGxRK0xPWXoxdVJ3OTZnVE5ZcE5nNFV6b1gyQWpIbGpJUk53b01ybWwydit4ektPUXlvQUJzeW1EcGJXOTJwK2MxeXZYcmcwc24xZUJDWC9QSVJnYzdLcVh3MGZhclN4bWJva0ZiQnZKV3N5TEJ3cTdnb21KcGpSQ1F6R3hkckV0cStZaTlMM2tQWjVLakZKemM5Q0d4SnRyaEdBYkNmbzI0ZkVrZGVBNHUwV3NpV25iUmpiMEI5ZzJieCtXQnFBb2pSV0hUdUw5eWp3SjBZRldNQTVYbUlHSUVDbFhEZUpSWHFzN1kvS0M0OUovYzdaNG9waStPT29QaklpRWZ5QzhXd0ZiZUlkcUpoY0duV2wzOGJQZC9aS3JrZWU0c2lUbFh6YXNaVHhKSVBzNFNlZ3hnT01Va0NWU2JzMFU0a3NJYzR1eTRkeDB1UGdKd0FRYkZvd2V3dDA1cVRlbit2bEowZEtnSFAzcGVzYUVURkFJYlhlL3RLaUFPcis1R0ltQWgzdmw2anlJZDhBaE1vUTNHV05PcFB5eVRZa3I2U2VHQi84ZTJZTHExMkp1eHRrRnI4STlqQ0MyYnVuWU9pbEMrZkkycWpyUGJXb093amx0RkpENGFVc1ZxQi9WcE1oUnhEY0JMdEROZDUrWll3V3dvNmVVNENsUWM0SHRNU3JSU0ZONXE3ZlJBdnlGWXp6bmtxdGpmbkdtQ3NHTWVVL0g5ZEhXL0dxeVFJODFmYmhOTmdWenNSTHBCM2xLUDJXL0t3UnN1eEFRRzhTbXVBU0NkdW1xWjNuWUhKZjkzVmdsSG81MDRmaDIraUxJclBYNGZUczZjRFFmdnhjTWx2c3A0cVNLNE5sSHYzR252Rm1EbWUvZlkzYjBPbHh2L3A1V3VNNGtuMUNxcjZjZDJpWGhDK3V1R0R0SW1lN2VTM3U2b0x1Y1l6ckhTcExYTE1jUUUvMW5CQTJXYVA5SHlEbStYQkNobGJFbnM0NU9IblQyT3BSMGQ1OTdFclJUakRkNURlNVk0dWc0UDlPMCtnYnhCMThDZ3c2Rkt3WnNGZGYxUUoxSzcxUTYxSnRPMnA0Q0JuZU15N1lYTTJtMnpNdnJoQUlHaEtqT1RjNHVDNzhSTHZOVVcvbnZuUlJsT0RkUSt0NUsyMTBUdksrd20yNlVoTU9KSUNIRGdzNXhVT1p6U2I5SG5RdXIvR2h6Ri9wTXRQS1B1a2w5aTlidjVqeEU4Q04rUWJlNkJRNEJmODRNNjR5Rk1nTDA4dHhsQ0NOR1Z1aVBPRmVjWWttQlFhUmJ0SWMwaHRNeW1FVGNzdXBVUTBBai90aTlLWDhRdUNTcDJJeUI3anQxRlhXNVg5ZHROaWtDaWtRMzFMbG1YRnBSaFEyMWZNQWxwZVRPVkdLUDlGaEpKQjVGQyt2ZElRcDFzYkJFNHFQaUxoZEtpbDBjL3UyUTJTb09rcjFNSGI3TFhYN1BWUXg3dlJNQUVnL0xPTHRpVFhkR2lQVFdDM2R6Rzhob0VWMWovQVhrM2dXVHMrZXZ4dVA2MiszanN1OCtSaFpmd3o2eERVWUg5bGdQSnpud0RBR1lSVjlOZ3UzVG9hRmUwSEZOSUNpNjNXT3lSWHQxZ3JwWGlLOHQxbE14M3BwNWZDZXF0aVpqdWs2VDJLZ29MYUx1UXV2ZXB2Q3VtdUNqMHBDelZVUGM0bnZ5clNhV1c0R1NGeGU4WWd5eEhIVVVEWmoveVlUV3h0M2tXa2tqMWlKVkMrWkNZdDVwUUY2TlNMT215ZExuQTlsYy84K3hmWHRFakNod01XT1owbmJ5YTg1SkRWWEpaektUblBCblVWTzdrMzRvSlRUSkZwUVNxS0hXSjdORnhKQ1Y5bWdiUk4xdHNibVNIKy85SThnN0w1bWJNTEJkbkt0a04vWWZNRUg4SW10bHVud1FXODMxdVlKVStFU0hYYlZpalhhWFZtTENJeEJ0RXE3VUNseWJKeXJpM25rdFE3VVJORm1sMWlLdmlNR0g1eGhSREJ2VWFrOTYxY3g4M1JKZjV4d3pUNjZHWnIxYmt5UDNFbTFDQnZuVmp0elIyVlR3aHMxT0phWkxHejZRRjMySi9neXJsUU1uMDJHV1NHdWhSNVp0cHRiSDdvVHpwN2FDakcwY0ZwQzZEOXpZUlBKRmVmU0Y1cGx6ZWFwRHYzMkd2Y1plRTNvVTdpMFBLbU5EaWI5MDUrRkVHQWd0VDhhSWlPZUpEdFFMY1p0OFd5T3FremdrQUZnYlZRTkc4ZHBTWS9BNjNJTjJ2RmdvZlhKWW1yRDNLOXRrUkRvb0cwV2QyWUxhM1UwMEdFSTZxamtxRVRQZFJoVFV3RXEyTGc5UWR1SkVjajdROFV3dWFJelE0TzJ5OXBZSVJzWVBRUjhKWTJLRGRXRUs5WEQvUlE3WnpzdFBabkM1d1RmRDlMbm84OEZoQU1PVGpRTWZWUjAyYzk0dVhjWG00Z2hqNkUzcW5iaHgvWHJJem0yNnMyOWJUY0g0RGdVdEhRdHVUUERTOGRMSEw5ZlpDRzQ4SDBXT01hVCtBaDFZK3FsQnVsUFpQT05PTkdsTk9PeDZicVdlWXlUR0kvTmlpa05ySUdMOUpJRTVXR2RLdHp4L1lRcDEwVGdXZFVCRGxNWXptSmhZUTNtbWZXMUx5bHdRYzgzcGFiaXgwZXlMa3pDZ2lNb2F4aTZhTGRaTUVsd1ZOc3JyTDRWN3o0N3R4NXA5VURhUlc1SDJUaFBTSmk2RUsxWTdGdzdrTFV6bkZlMGtObHBpTVFhdW1NTzNnS2hmUFV2T0FKMWVpOVg4bzVlZDkwb043dkRBNnpZNENjNGl1MDcxQUlhV28wcUVPZmJIazhFdUdlaUUzNWx3bkliSkZnRXYwVTJ3NXdTQjZBU2crdFJTWjVJN3dXdTBabWRRcnpER3RJeTlJS3E4RFEvaVZtTk5wS3V6YTJENEJvSVR3UzJrd1VGQ2tIa1lxMG1ScHgxRzhmZ2x6OW5wMTdWaWU1TmlNL0t2SVpVNm1PMFZLZkZXMG5qanpYUUc2NWNXNXk0SUZ2aHlOam5tcjc2Y3RwSlQrMWtrSlZJTHNSaHNKeXJLMU5JUnJ1elpjNTRUcUNYVmtYNlhsTnNyeTBEdlV0RTBTd2Y4N0RPdnBDajR4bEFCV1FvTHZsVHBpbHkvb2dFakFrVEdVZEhhVnVISldycGd0VkZZLzB1SUNDOUpkcy9Udi9sMWpSdzg5bFhLZkVyQXFGa0RYSFZ6ZTRqRXp1ZFBBM2I0UkdSU2hpY3h1SmRJWVRGR0pSRkMvM01lT1NMaGl6Yy9OV2VLVkZ6SDZxYldCQjJleEJBRVorY2JQYlFvdkJLcEUxQ3hlZk1RMEN1VGVkS1BCeHF3MVMzNkhHelRaWDlhOU0ycG9ZaWZGb01yOHdlWWphMzFhSUJReU9sNklUUnBOYkV2OFYzSEdiRWh2VDFlMllNTGxIZnlMZW1BRWNIb0pJR04xVXowTkJ2MnBJdFpQcTFjZmVXcHMvVUMxMGh5cTh0OG5pWTMyVFVTQ2xOQzF1bUl5Um1UUHBwQ1c0bDl5SzZ1cHpHZm9yTzFwYnZkdzlWSklYQ0xsaTJVZXBYdjhsQjNUdzg2NXdzUnI0RnBoUmtBYnBvaWlUamRyU2p6TTRsZkk5R2pKYm5BenVYa2diclQ0aWVLemRVMVh4QWlheVNwdUZYRk55YmlSY3h3UitQYnFsT2JWL3Y1aWkycjQwQ3JoS3lvTDV3VUlzOE9FbVJuSHVwTFFBVjJpcjRmS3BGVHFwOUc5a2xKM095MHY5c3JQNTBOUkc4cVJ6N01lUFdyTzViZ00vdDcrYVNuU3NIUjNGUENWZkhCcTZPQjJLTDZsZ2d0SEFBUjRieXkyekE5QjEwcTVlNGE2dXRFNE9nODR3MTdVOTFPZ3BKL3A4dFdGOTVKUFA2MHJnRXY1TG1FeHAwa3JIdTZ4U3k1d0dCVFZyZGplamd2anM5dHNYeXBtaWNKeXp0ZHBPWU5weEk2eWhpZ2kzY2cyQWpHTGpjZDBYQlpYSmJGc1k2eGpOUVBnVnJLWlFHZnJ4b2gxKzJkUmZGT2ZDNllqeEpJMTZaMVZBVHFYaVR1c1hBbVBqZG1CWGlNYTQ3MEIrcEVVUHpyY1AvcVNCYUNmQmpjSU51MUlVUXZjYjdmdWkxTU1IWEJ2UlZHT2VVWjkxZFFBNW5MSG1NNGJmbjZPbmsycnBDTWhNUEg5TjZUc3Exd3dCQjJKcVBSVVZyZ3F5REZQUW16TFR1WElCbTNqdGFJaCsycGoxSUhJZ1lLT3FiQloyekhjSzhNK0hMV3lwalpvNC94aEpLSXBQeXpGaUh2MU5Fby9BSWpNSEUraTFzUVZxWFh6VTFsZ0twRnJPWVNDWTFGZ2ZwRjRCR2E4bmhlYk11WEJ2R1VLRE9YTWNvSjVaTHB3ME01QjRtVUFuOXJMakJITXU3Vld2L2hGNDBETmZLdUhUai9jYnpMWkxnRHU1M0xNRGlQNUROQWZKd3FGWHNTMVZxRmY5NERZVjc0bzg0T1lpbWJ5OXlxSzkyRlAwSG0vbkJJSXRubnp0L0pPWHZldEQzODU2UW1DT2NqMHNPQ1NHZkxhUUpNamNxM0tKdEU4QUNZUzJ5UHdXak5WeVBadU94eUpUWjdpNnpRdERyZEhzalFibkRQOWx1YW5PQkJtblN4QmhjMDdtODFuZEgweGI3THY5VW9QNTRoS2RmemxoSUpxUlNmNTQ1eG5ka0tMaFpONWZNZ0pGTjRvcmVCczZoaElVSjhNNXhRdnVLaG50ZXNGN3FuR0MvOW43ejB2UFRFTkN4ZVBkNnIxUW1UVkJhVjZacEV1Q0tFWHcvT0dSSkwxQVJndTVPbmo0WnM1ZzJmSEpHSU9iNFpkNDFYeW9LdWZmRXUvL1pSNUdLT2xJWStJbUN1TFcrSHpPSVdSbGRuQmV3anlRdDNyaVRmVnppNHBsUUw3Z1MxZGJVaXYrTjhQZk9TNTY4WGE3blZLN0lncFE5WUhHT09HeHo4emxuZFo5M0tkMHVIUlp0T0FCMk00STltTEpMaHp1bWdEYzM3dnZYQ0VKdVJkZnFEN1JUNjFjb3J6em4rU1gwcTFGRStkRkxzdU9WN0dGV1ZnV3NRU1NGVUZ4QVJYb3N3U1RIN3NaazBObTVLTjJSU2ZBZ0NNcXVsRE95MFpoVnNUVm9WUkVMOCtpNG1OWDEvUE1RZllnRW1idkxPSTFZRGJ5dVBnUVRtNXQ2OGdBTFVBbkQzcDloNm1lUVplSzg4cC9kN1FsWmI2elRNMUc2eUg4UDhpMzFDcFowV0xWa1p1eGljQkRQRjFGVWZoQVVMbDFHK3VnQkF1SDF5b1g0OEtKMmI1VUdxRTVHQjhUdmpQUXdvRmtFdXFXd2RSVVNkN2oxK1Z3RnNBblZ3WjdnY0JCMzl2ak1yN0ZCSGRUQUp4QVNZWG02WkR5eiszSlZ6ZWZZTjlPQ0RtSUlnOWo2L3NBVHZ6TUwzRlpnbzcybjU2TzM1VXV5anN0Mlg1VkNqaFNETDVGYTlOVlZkMXZyd2xUV3p3a3dFNmZ1VGIzVVVoWEw4V3E1YVJ1eU5DY2FpUlR3OTE5blZXRjRYZWZZZ0hFK3c4Q0FTS3BoKzlSNGFLdS9Td0Y0N3NNaHdqRHFPUyswRllNbkg1TXhNSHBJZ0ZNVzhWbmNaRWR2NG45UFZOTmplUFhOWHJUSng0SThndWhUaUx0aUo4TE56emVoSjFVS1FLQVh6bGRLRlRuczNhN2xHczdjYjZUTE8vRmtGTVZiaWl3OFgvNFVSN2pUZU9zQ2NWcHVQQ3dMYWxzOUJuWTNVOEJ6TDEzSXF5MUdFd21oTXZRTUlYSkpETE9FWjZvQkwxMU9UTUhFNFBURnVGMlJUWS9SL1FtT3RvSVpxakc2eWZ4SjZjdCtwdFo3Qm1ENkp3M01CVlB2WEhnNXhvSG9uYjBtSERRTkVNZzlHSHQ0U0t4ZTlJeGlmT1VVMVJHd0J6bWpjS0RPekUwekJRcE9yYWp0VUdEdkpuOWE5SVdqNVQyUUloZXcvQVF4eUtiOUl6bFB6amplN1RUU0c0eFJ1RlU1ZGR2aWVxNmJZWWdwdUcxT3c3QWZ5UmZBekNOWVUrbENZc1ZQaDN5cm5leDk5enQ2aXVIamlNTWxINTduNldLOVpzMnRTOTFpaUdPaWtZYzJ6Y3NSYm01WFlPa0lmdHdKYTQ2ZHJXQkhNQzhQQUVYZjQ3M09yYmY5ZStRblZwMklqTVM0NzN3YitZTE9GZnFkWUt6NjhOS0lvM1JiaUNlMFpvWWxSL1RLeFZsZVp2cThTWDBJYVd6d3YvVjlWeDVDejI0bzZtZzNxeGZ5b1VTVk1yRXlia1dOMXFsd2pKWmdsK05UMU9oZlpmaWNUTENpemlaZFo0SEI4K21TbldvcktzMkNXREFhYlJ6US9xamZYOUo0YzhkZmhoQThzZUl3bm04TzJITExFRDRTS3lWV0NYUi9zZGNTMTA0Nmp2TVV2SmNzVjdVSkJtWFdaaUNmcWZ4TjlTK0krOWZpUlNEM0VuOXA3aDlzMVo4enR6T3o0VW1LbjJrL1JoaFN3QzNzNU5uTGIzbkZrS3ZUbk9VU2M4RU5YMWxZWTlOZWdjcVhBcHM2NlZUSnNQN3RVeUZWSkhnWlFJZDBBckJYeWR0ZUJIek5sUUh5a25LbjZuQ2x6YjNiMzFTdHN5azV3ZlNHTHg1dUtVdE5Kc1hpbVVSOG5tTlFLWXpDZHVjMlE0SWIzU2JRelJVSmhYbGZFdlhsWkpLSkRNelcrM2UxTkFUNURmejJzVVRkbVZTNVh5VEZYcGp1Mi9mdU42alIzbFh0TUY0WmY1N3E2ZFM3cFJGZGlXZExlVUovckI2djd6bkxqOHhPZ1FFYVJmTHpMaXBPVGIzcWZ1cjgwUGtCdVV3U0lXc2F5U082NTV6ZFArV0Jjc3RVM3pFMzJKQm5pM2tTOFkwMlYxNTZDTFN0K1ljWGp4MzJkMHk2VCtHcmU4blpOTjBxY1NoR1pZdDBCTFNCNmpoVklsV2pDVEswc0t3ZVB3MC9yM0crcSs0amtkY1NjcWhRTXB2RXdqbWtlWEd1ajVzcTFqcnQ5K0pXcTZsTHpqMGRMazI4TGJQZnBiOFFFZUp4R2RFUG96YVhleVAxZXlndG9tVzZ3S25ucVI1NCt2SDFqWnh6Q1hleHkyQTRHRlhuTWVFbG12TStYMTN4dXNnMFZ3blJ5d0JHUVhqZkI2Vml6NTU3Z3JRa0cydkFPbEpkTzBtYkZ5QmhSc0FzQ2l4K3loZHNJZDc5K25xZTVBcEpmU05sTTZ5a0ZTZkYwS3g5QkM3dE5ZV2x3UDhBWWFyRkpBcERHWmpDUFEvZVVNT0lQSmpOdmhyWWxpckpHcDBGQ3VwL3JuRWl5QjdvREFiMXVWc2hHMU9DWW5pc1ozMVpoTXYvS244N0ZLcFFKdlVMTFBDYUtrUmhYYjkrUkhJSXZLMTQyK2ExN2tNRW9najN1UVh1ejNiOTdUTUZlZFhQbDFvK0l3VU13cmxqOWJsVENuZ0trMENIS3hLNjFYZFVCSGFQdXpKVi9HaTZQY21HbXl0eHV0RXV6N1BUY2NEaUtNT0M2bGFWcG9FbG9nVTEvY0k3QktxTzdaSVowNzkyc2FsSHdrdVRNcFJsOWJISjV1NytaRGtlU0JNbmxqdXdMdmNQa3F0VmNGMllCb2NQdGtKU1VveFExazhTY2RQMFB6Q3A4STNySlc2SERBL2xEUnoySHNRcW1HNnRnUjlNTEpLVExWVHk1SjBTU2lRM2F4SldGYzhxRG5tdWFTWFczbnhlRy9UTEhDeXFydGkvQTdVMmFTeGVzN1BZb1hYVk1SYUNyZDdHMkJGSVFRNUk3aHNHMlhOTEcwRUxoK0FSZ05YQTRXS2dkRXJidWZQMXpJdlpaamJwdVdkY05xc29xTW8wSUhZZkV6aEZPTkJtSTFhdjBBZHB3akRjZHlydUlqTzZIMWpWcVVybWdheDVUTWdJV0tpcnpiRkJXT281K0NIWFZxejJmUUR4bWpia1phblRqa2tPbCt0aDZLWTcxZ2xreEZCYi9wbkY0RVFQMGo4YnZSTkJqN2pneTFSMmhNaXFySGRBbkRzaEhhbEVTT1RlbHBkSGRXa2R3RWx4RnIxMmVYNklEc2JySzR2K3BRSitmaGF0Z1R5L21ULzBsL0lrQTJYZm54UVZ1VGdtV212REJoYVNHanBDR1pWYXRrNTFzTVJJWEMyWGVjY1E3Q3NzVHFnRUhBL1pwOW85M0VvazdoQ0JBSU0xUDhzOXJQZzdwMkxFSDY1K0M0OWxzUlYrZ0lCWTNQaHlYUFFLQUI3am11cXZUT1ZSVmx2QnpNMzAxZUR4dDNZdVM5aTJjME9UUnZXY0hGQ2NNMStHM0l4bFoydExPSG9nVlFMZ0xNWXVNdHB5TTlGVTlzUEx0Ni8vRmRvbnBmRnRGN2lSemRycDh5RldxTHBNdWwvNFQ0ZG5qMThUbGhnQlF4a1ZKQVgrbzN1YWt6ZlZ3Ulg4V1E5dHhDTXVCb1FIUmNEYzUxRmJib2tZcEljZ0lYNzZoQzl6aVUxTE52eDExbnBodllwN3Q5azRZRUpmbWpCZ1JFcUtMdENCaWRMWXdTc1VlcjduSnJEWkZVVGxvcVpjQm8vbEdLaGQ0ekVDVTlkbGhqc0VBOEFqQTZ5QUVyNnFNMndRbTRRbWh4NStLdm5LSTRJTkh2dXh4VG50bHNPS3lkT3ZQUDA1UzA5ak5qM3B0TlUxTjI2dXJPck9ZOUl3c3M4U0o1amVtUVY4eW1xQnV5QTREVFpIVklpMWNOTVFxbmNYVlZzMkYvcitXUEtycHBHMDh0QytOL0VRMVdlM28vNzJqNEFaQjhLMUZGVWwyVFJLT1V1b044cUd0MWcvbGJQVTA3WjVIRTFRcDFFZTgxMGhiMlBzVy91eTdhdTBwSkNUSGFxZUpYRFcrUXNvNXpJNmRvbllycENZSCtwMmJNMjNmSlJhN1BzWXk5Q25TOXhBczNyd2VmTndxL1hDYlZrL3hNVFFZOUc3TkgraGE0akpQZ0ErUkk3czNyQ2V5anRKRVp3T1VyOFVPeWk2WTlDcERHVTZYelZwWTlNaGpvRFNFbnVCRXZoQmNZMGplbjlOd3NwVVJrNmpNSTFqRzRxaTZ5bmdQV2Z1Ny9DMjZ2Ukdnb2dyOXpBT3dRMjJobHhXWFdRR0k0WnVHK09Nek1HZWo3bmxML3dwYzVWRjc3WHNnY0YxeGJVNWIweXM5OThlVXZycEExQmJoZDA2SVYybzR4SWNsQXFteG0yMW56L3RiWUtvSlJZc3J0aGJDY0hyNGtKQmxnYVhkSHVxMy9KTHZlN0p6dXNoU3dqNStYZzdaL2tPM2dKTHgrckN1TDBRNUd6Mmx6ZW9EcGU4Z0h0ZTRLSW5BK0xuTzIrT0ozUzZtaU9XMHI1Vmo0OFd1bDErRVlMVXdJYklIQUNEUFVDbUVkRFNlWUZEbEdERW51Q01qVURCTnpocDQ2Nm8rcmo0VFNIV25xZXIveWJlMS9MdDFGRk1FVktYZy95eGE5Y00yZjJxdnZrQzJTZnU4NEdaeVhIaXZTc1FOQ3BJRVpyWVd5VlNGdlJlT3RlNTJmUVFjYlJvTjg0Q3Q5V1BERGduUGFvRkIvY21GbDlTa0h1aFY3TkxXSXdsWkdyOXg3Z3hVVk8yaU5yajJVdHpDK081SGNDNFFQNW1PeFZMUXovNFg0cDZ0Zlg2dnJRTUR0dHhCVGY3dWZpWE9Ib0VKdGI5dE91anBjVXdxS01PNFJhRTJCaDNtU1FhMmpYSVNHdjYwZGp0Rzg4bEl2cXhCWjkzOW1heGFUZ1ZzRUU2K3U4VXlEYWU3aEZHYy9tR25ycXo1Z0FQdk9oSFJCWDJ3SUVhS2N6TkYwcWZWTFBoaUIzRGYvNTcwTUpqN2hiWVpYbS9LVTNDaGszY2QzOU9oKzJIQkRxNitXWGtFbHp5MUo3dUxXdWczakpYcVpwNXRTRzkyRzVFeFlXa1BsQk9yUzAvcGZCNzRHTXp5VEsybmhuNVgxWWdEUmloaTFFN3UzVVhNTXd1VTdOenhHZC9PV2lrYVhEM2g2dGNyRHpNSzJEY0xjWEM3aXFmVDkrUEFGbFFMTk1ldHZNcDUrTG9penNyaVJuVzljakNxRmN4VTNtVllGU3dyNTFjWm9ESi9QdUN1RSs5N1pQYWJWUlpjTEVZbmg4NnU5V3pFU0FYNmdlL291NTBLUnpPUWQ3ZVlCYnNhY0ttK0UzUldZb1pFYnJYa0p5UG1sc0JBeVI4QmIrdWRQRE85aFRzWlkrcU5TSThTa1JLenRHQzFJUkV6K0hic1VUY2djVkZhK3dCdGF6S2Qzb3FxOEg1UjY2d1pqV01FVDA4ZEMvZDhNRy9hazEveTlhbmZzQ2tTdkpEaEtqV0VpY0g5emc1RFNEOXFFdjFpakY3dzhNOVRFMHM1d0YrS0FJNU0rd1QrM0pQalU0RVpYQkdPZi9Lb21FUk1iU0dWNGs5aWl1UktEVnhOTUYxL2k0a3IzbFMvNVlRTWRsS3kwWUJjWjMrOVk0ZzJueVRKdzZqWll2OW1IdE5EcHNPOG95ajdIQjNNck5ucFdTdXZDbVJPY2pUSEhiZmV6dytMMVhBNW02aGQ3aG5ETzlFUEwydk94enZGdytnTTlsaWwxM1MreVYrSUpQSml0TEJORHoyVlJDTUsxRW9DcGhXSDd2RDl5N1c5Z3dTcVV5Y2xzaU9TY29mc1dIUGk0Ym8yTkY5cnpXZXY2cm9HdnY3UEpiTWdYMVdiQjNhaFNFbVlNT3JabVJEOGQzWXpQcDNZZ2lpV3VycENucVMwazVVYVhybFZiajkzSlVidFRyRGVDQXRTQy93WWk4WFFHcitTRXhFV3lCV2lIck1RWjNmYXRtQ1VqRmFMbStQM3J5L2JJWmhsSzJxL09jZDY2Q0FmUHlmcExLdkpLT3hXSWVEZTRVVDdvQ0Zlb3p3NTZxb1dEMnNCSHNjK0QvL3A3bno4blNKOG1aNkZCNEN0cjhHTzRuS0o5M1UySXY0ZGtjVTJMdElycmJlUkl6V1lPTFRXajd4dFFCQjM3OEN4bVU5MXNYSEhzTFNQL3d0K09DUjFvRGFSY3pSeHJSaVhRaUF4bHFPckQ1aHFMSm5NT1lWWWhvMGlTV3RpSmhibjBGWEYwY05ZNVlvU29IVjI5SURySnJLaGFHMmFNQmRJUWQwRkxGeDZxZGx3bnFxZEpKT01BU3RWT1ZRUGtVdktwaEhUamFhWW93M3JvOTZkR20rKzhoQlA5eGhzeFB5VWFuWEdkbWh5Tjg3UzJTVmU1S04yd3h6SGo0UnVMMFJxUmZKN3RvclFla09oZ0QraWsrcHNGa0JINFJ2ZzBBbjVGOHBmRmY0MzUzYnAvbE5LNnhRb0ZaTzJRWkFJUlpibmw1MkVPYkZZaFF3eHRqSlZZRlZrRjQvRjBMVDYzSlJxVWUzcFg4cUgvWUxkSjFEMi9lbVpsNjc4UmR4ekNFeHJpaUdIMjBVVWs2UmovZlBBajUyZTQrS0daeVVWem5SclJzMkJxSkdqTU8reVd5d2swZWVZZ1U4SjNONDROL3VWVmFpQ1pEdnpjak9QUXdaWG5ibEFLL1AzQTU0VmdyTjUzZmZXSjdqM3BxRHVoaTJRZm9xSThDek5OSTQzbjNLU1A3SndZZUNZK2JSVWcrWkhZMGZYa0xWR0ZpZWF5bklNekNVWktSWVVHZDJZY09GUFp6SFQ0UDlBYnJPV1IwS2R3V1g5dDgwMWMrdmUxZzN3UkNzRE5sbERBazhucnpVQm50SWc0MVRoc3VwWi8yUzVWb0lwUW1WbWQwZzRYSmNpQTVCVWh1c3d4dXlCd05INyt6RzBQMWF2VndlZVJQMnlZakwwdkxOQ2NSZ1VHWkZ6ejNueGhyTms4bVo5U2NvTWpnR2k4aGlGY2haUnZBcmpHSmpvUTZuRFE5WUJsRFlWa0ZWdk9nTXQzQzFydDl2Q2VGajlPRU8ySnUyUjZWQTlBc3BzK3lROWRoVWluZlk2U003RElob1ppdXRVSXU3WGk4Sy9BSmJ3OUxuaUl6b1FVK1Q5cDk4S2EyK0NFZUxnNGJSWXEzSFdONlZ1TVN2V3h2VVpFSWFIcTVYTkVEUllvOHAyaW5BWDR2OFI4cE5uZEpqazlqeXo1WkhkV2RiSlZUWnNKdTgwd2Z4TmZHN2RqMmVBdSs2NWg0QVcxdWhEZmFQM3Nia1RHVlVHa0wrdUhMQ1puWStpTlpUT1NYUS9zYVhuSFN4OUVCUHB5VUViR3VIZVc0YjdEdytQY0UzZ09GL3ZNOHRTQTU1eTFQczg4dWkrWXNiYTBLeTFwcmlEUnZPTUxsSGMya2lTMVhsMUZzeWNXbXhxMXMyaGNMU201ZGpoRW5jU3djaU5jMHV1N1RPdHFrdlVVNmR6ZmdxKytJTXlrUVNLRGxvZ0l2YXJHNUtzODVOc0cwV1JyTGJNWUUwYW50KzJKMWtkRzJsTm5nTmNZdUhYMzdGbW4zSldWa2h4b0RnWFFIbnpIbVpnWDBXWWpkemIySTF3WTVLMG8yYkpJVmhnbDdZWDNEQlo1SElQMXhqRWhzR094VmJzM1pnVUlnNmRzZ3VLdTdsRVMxZjkvQlBrWmlpU0cxMVNKR1VWeThzMFdxUFhBN0pEMWYwajNFbldub3duSDlWUmVFZEVZL1c4NTl1WktITjkvSStLNEVZcFBldTJnVFczT2ZVK3pzU1hWTU1BNHJraFgvekhySWhacFdFYTZaV1ZsQngzd3lPc0ZVSGM5dkhUVVQ5bVlTRFBkZkJaQkpkaG51andHa3dWWUdtUjRjZmk4TkRhTE1TaERENjR6WmJsVXhzUHhBUER2L2NNbG9xMi9PMjhEdGlhWXVLMTNWRFh0Nk9Uc1BndjRPdjR2RWlQSmhDUEdWZ3RMTEpJczRDaEF3ODlEaVc5MFlaSEhMY2RBNGVIM2g4dldwZ2djcWxDcnVWdmFRKzZHREU1ZjVOUjNzR2phSHN3dlNDM0JrQzdhMkxuNUNzQm9aZXh0b2YxZlB1bjJFMFVTQnBma3g3eWZxenYzaW04WGkvR1NYSDZpZ1VIQWlwVmxxNlZPVXBQcTdOZ2pXd3AzdjJ4WnhNSUo3YUVIY29mT3VmL3lzbXpEbitvUmRUTytURXNucUtJcEJxdEpVandyMlFxT1lLZjE1MXVQcXRyY0FqZW5BQ0ZWV2ljc2h3U0FTdWFRYld2TXZ2Z01NcWorcVFGVGdqSXcrNENvSjVoUXlYWWV0YjhUZW0zYnE3V1l2eFRvWXo2Mi9tZVYxRmVWYnpZMjZYQmZXZzRoRzFLMGJUU2RTem5yZzh6TlBONkcxNHVSZUc2WUhTRXFESVhnWWpYMjdQZTV0M3J5dG5WK0RtYUttdnZMZkJodFlxTXExR3ViWFNPd2JwU3JyM2NHb3djcWxaWkVxK1ZvTFFNNTZaUmI3dWU4SFBIZWMrV2w1RzdFeFZuSytaQWlxTWdEclZaQWdpS1hvUTFDTVUxTk56Mjh3cGw4cXNLaWRtbEt5U2VjcU9pL2hYc3kvUUU1SVNyTk5xc0dQdmEzdDRpYndXOFFVOHlRMVVOVXVEOHlmS0RFSWQwb1pPVVR0ZmFyOVhROFF1TVhUWXgvV0R0QnEzQlJVQ2xGY0NMTW5Bd3EwTTRJUi93R2F3VHhuMVFlVmxoaGtmUDNCRXAxVS8rbmFCS2twcDFrRUFVb1NLYloxSkhpMTlFZlkvR1liTEdmUmx3WGJHKytINkFWNWJrQW1DL1ZZZVAvMUJadTUxSHI3bExOK2NOaFF3Ymd6ejBmbmxac2hRYkZrcWhJdzNiVW5maHozMFdFSWRDald6UmhJUHpnckdld0hzaXA5Z0JsbU41aDdyaHFwN0VDUSt0ZXFnM2EvWFI3Q3NVQVlpZEluVXk2SytwRWYyeUlXd3h6TjI0V2poRTlaZnhBa2ZicTRXRzl6SEdSSTJLa3pUNzVEcDN5NXg2TjJ6bmxNZG9mSmRLYnJWc0t0VG84YmpRQXRER0sxNzFJVDBFNis4WU1Xd29FZ01mUGNUZVI3bG1uMlo5Qy9lOXVzdFlCZVBreGJneFB4RE1zWjAwdEV2Nkw5SWJGdmRIUDRBRGhuMmx4WFJtNzBpZzQ2VW1SdG5XdGdIcmNaaFcyOHBLekVxTXN0cndzeTBOU1FQVEVuNTk2S1ZJWUlOU2pxWWpxSlhIbUZyMUsyTW1RZVU4S3dPWTFWcWlSQ1haMmZieURJVzBHQlZzN2JXMFk0ckZISG5Fd29rRlUrWWdxS0thV20yRjdKbVB5U0ZFSWk5NmdtSVN4b2EzYklaV1hicHdEanFwTk5JeUN3dkNSU2s2TDY5YWtIVFF4b3JTZHprTzFndTVzS0R3QnFNKzZuc1NCSXhaaU1RRjlYdHRFeG5hTnNtRVQ5NWZ1U0ErSk56ZGJwRmpSc2k3VFFmSUg3a0JxUFIyNVZZV3lJOVZEZENVMHV1aGlPU3JmeDZIV2xHQ2FTeWprczBFcTZhTFcxS2lBNy91TEo1V3hpcDlvb3RieTJGSGRObG1mZ1dXM0pac01kN1M1RUVrclBHSTQwSGRqazBaOThLTkswdnRLcFEwd3ZIQ2h1emdZZWgwSGhPRjh3b0NnSG1KTHQ1c0pCdWNIaTcwaFdsOUJ3eWpVZklGQm4zbFZjTWtSdlJOZjVZaXduSTlVY293ak9WMjZIK2d4Y2R2blBjNFdiM1BqYWdMV2RIOWNzZ01vWHBpb3NzemNyOU85d1FnSG14a1ByRVJVb0dLYllrWHh4ck5pMyszQUtmamM4Y2F4alhHaHFVaWFFOFFrMUpSYStIaTZ3UjUzTjB0L01laWtsemVqc2p1cy9kZEQ3K08zYUZvRWFXL2FUbzBBdWhzK0FiUlJFdk8zVEl3aFphbWRjZ3I4QzRMaXpoVHFSTUZEQTkvZWpVOTZJSTcrV0xjWkVQNVZna05sODlUZXBPNTZsdFIvZkRTcE9TME5BMEhTOVFlN2o4ZFdQOEdYbERmRXV3VldpVE1aVDg3U0dqRi9XSmY1dTQrRG9iT2VVQXFQNWI4Z0wyamNZVUE4cm9uM0lSd2hXMk5KQ2lUY1lnVUlyS05Dek56aFNWVEh5WEJpa0JMRUg2ZS8yVExRV3BVNUYrNVhRZUlMWHh4SWcwaWJpSFZOOTRNeFRVTThCMFZsZU9VbHFJcmhHMnF5SWowcmRjd0JLdWxqZ3ZsTW1GM2NzMFJiSHg1TGZkNm4rOEE3Yi9sSHI0QktQYTNYWWI4TTJ5Tm9SVjl2clJJY1N6ZDRkWDRtanZ3bnp2WVZxc20rZGVvK2h0a2N0QzlBM2dXVjl4YzNSdU9aeG4xU2tSem1ZN0VPbWR5RE5KVE9abkp3akJuQzVMTWMrZHhTUk9SUEg0cGkzcFl0eFhhTDhoMzY2NDhXdW50bHhVVEhRbWttWmU5Q21Nb3dNOXpPdHpkWklhcnpKN1hkNzcrUVB1OStkVFdLWjBqZ3kxaklJZE01WUwyUjlYR3hLVkJ0djh0SEk1ZmlMSTJWb0hTMmk2VHdydmV0ZVhsQ2VVZ2Y1dHJSdURSd01tS2J1VjRkYWppNnVkOGx4dDJGc3pOYmlJd3NNQWIvb29YK3RzRG92L1UxOS9UcUpLNWFkWENWSFFYOUw5TG9kanJtcmFWV1l1bmNEMlFLaHNkdmNDN0xROUdROC9rNjQwcFY2SHZQM3poOUtaZTN2YVRkcjFETlU3dytGVzhldzgyZlRlMGI4TmZiZnlPMGNIQVk5aEZ2RG51cUF0YWVKMkZLenNQajlnZFNYK0d4eVJYRUhLdk9nS0Q5d2Zrc1RobWpGT1oxUTlQaEtXZThKOTEzZW43QWs2SXVONWFjVlZvWWtsdERQZXdCeVhWUzFPZVpsSlNqVEtoNXYxYWNYYTVSKys4MDc0Q1Q4RWFic3QvSWZQZ0p3VkhWTjlML29ZaDE0WjhlaWZGUlV0dVBHbTVRalhITkQyeGRlejNuZGVSYUhJV2FoRmcrV1RUWlRrMTd1bVlIWEJDMzRTRzNJVndDbDkzQ29yQk1QUUYzRW9ZMHU5Q1JkRGQveHRZNWZBd1lyTHJwNHVWUkxxb2JDaUFwVDRYVDhhaEpIN0NiRE5SNm1id3BHbDN4M0lkQk1xaWNPWGtSMzlpTEdJQ0NCajA4Ly94ZjJ5N1VWOERHUlc2QjJ4YlgxWk1ueWFSc2ZrMnZRVVYrNHR3T2FWRDlQZFVzSHd2TXg4aHdiVkRkMC9ac0prRlpFV3F5djk2Wlk5dUo5alRQRFduT1ZHUFdDRkY2Qlp3V29UZUl0bXJEeEhRL0lIY3F6K1RxY2hzWUk1clRvWUE4NzcrK3oxOWFwcS93aHlYVm5TcVMwVk5qTVdBd3h6SDFhaGsxZ0dnTE1PSCtKWVVPTndEeC9SeldrZGk1OHp4UmlTV1UwWW1MYitkSzJ3MGtjNW5pcEVtZFJWNVh0amxOV2ZzOVk4UCtBRlVQYWR6cWhFcWZIWEJ3b1FIY2NESCs3TFZNRHFMb2JrbUVpRm8zNTZYbElJUmwxV2RlZWNvVVFsaWlvUDJ0R0Z1aWNXdjFiUmlKRlFCM1RDVFVQZTdqcXlXTDR5VEQvYmhUTndtWjk4T3I1ZWQxRC9GVlp3QWVLWHdzNEpNdnRhTGJJNkNKR1NTS3lkZC9sMFZCTXk3NUtMVFExRXZEU3N0UG5Sd3FhM2RzUm9ETWRyVmNRQ091eUlyQUNZaVlTS2xzV1VvWnFMWmNZY0paS29qZU5hODdoRXdmVkRVaDByRTUyN0sxYm5yYVphVmJYbWczWStUT2wraFNSYW1lTEJWSzZpMkQ5YXNKS3FqUGg2eTJuN3hZeTFLWWJJR2NIZWxKbFBWR1k4REhldEtwajhtMVpDbHZWdk84L1F5YXdsUVZUVlB6UDF0WktPQW1ZT1ZLSGc0ZHVDNTRMMUYraDZDMHdWaGhhd3c1dmRaeU1XUERtYmVkMDJMUVZ1WGlRNU55TFQyOUtiNGFSTXF2T3BMeFQ4MXZGN1Bmakp2TngxaGpzaEx0OUdvT0hBMDJLVmNJQ3N2cnFVZXUxakxJSVFxTHplVHNPbVk3bVFGQmxma25hcEU0clN6NUdjN0xNVUFoMHVtQmRZTzAyZDUyY3ltaE16MkUxY05CYlFpbjc5K0JabTlJM25lUjVJMDI1SGYrVGprQXlqVnVoODBtMWlQRnM4SVZJY2JQQzFjdXNtWUhUU3hGTWpzbGV3WWY5VUoySTc2YUlPVVBtbW4xd0pxQzl2K0VDb1pKOHhGK2NBRVUwZS9DdlBseW9LT0FJQnBRMEgwZUJncGlubTNjQ1E0YUh4Wm5ReWVuWUNKM2EvRWJUdXhCS1BwMWcyd0FiZjFMQUFDQmRuL2N3cDRlYm42VmhBbG1GSExocUZOSTdzY1ZxYmtGV2NUaWxpNVJjUERYdE43TnlxSTVCampUNmNod3NhcVRsK0V3cUt5bVpjdjlpZ2xKOTBtY1dMdjhWZ0xncGxNUTlFaUo0V25iZ25rcG50bEIyb1FKY3dUMWYzTTFwQ1UzYVBCRFpyeFdoRDZSckF3R0RFcEJka1dxczljQVkzY2pLSEw2KzBPSERUM25yaTBVSnRSYS9KMWZCOUliN29PNjB6YXNQeUw2aUJzUEZmTk5HTUx0Yzk3S2pKTE54Y0NVNkk2d0U1SzlnMjJtaTFQRHYzVEtPT2t2UEIxRVVHbXJtSnJzSzQwU2pCa2pGb09WMzk1THc3Z0tCMnFzOEhTcU05eGVMa2xOVWxWNmcrdWp2Qzd2UG93QTJQOS9ZdUQyWXk2ZkRzZ2ZSU3A3aTR6OG9HUTZlYmF1NGh2bStSKzRaTWxMUWZTOFhDM0R5bkRMaC9HVVpXSDBWVEU3bkw3V2hva3NNRmo0dlk2UmlRZ2F3SGI3T21hYUdrZWN1RXBTRm9rQ0hiVVJndXZaVVEwcUplWVZXcmpweldRcU9kY3p1WklMYytnK2E1VjNoTFBseTZPSHNrclJVM3ljQStjVnJpbWIvZEVkS2FsWU5qczdzV1NhMGN6ZkVlUzU0TXhWTFptb2o0a2JPVzJBRC9xUE5JaFVjWlhFTGkxY1R6emxOTnlqNkk3Wm11ZEpyL1REQ3MyR3dhWWFWMkFpTFZLSW1RczBKVE12dlJOTFNOeGZObGQ1bTlsMzlrdE8rYWFGVW1HL01qZ1JyZlU2TXlFNlp6Z0RqMGJRa3JVRURTNmVFOVZjWWFtelg5OUN0YlF5R0hxak5BZlcxWXVaUnZ2Q2VtNDFXMXVKSUZqZHowck01bTg2U3lJcS8wNHhlUTV2S05LYlFRTTE3TGVKdHJWQVNUUUdiOUhIekdoa1owWjVjM0pWeWxlTmh2M1FheGQyaHFIdzh2U3UzaFk4cGhwUXRWUTZQRTNmNnprUjNJeGN0ZzJkbEZMZXlRSnh3Q21xd3pUTTVyeGQ3dGpUQXBrNzBQdEx5eFpqVEF2NHhwck1yMzBrTmlPbFFVQUprS1lTY1RGcVJJblZnQnNCcWo2YVhtMDZHYzBIOVJDSDZXOW5XeVBHNjlTUFk0bGtnOHIrQ1VCYWRjbmhIaCttSWxjUExoUjRxZk56b3pBbVNqeS9yUjZDd1NTaVgzTHdpMWMxZmM3ZVBpbVhiV09FRUd2d2dvdWhEYkZjSWl2dDVnZVhjSFdGTktHbzFIcjA3b3lOeVMrS0xQc2JXM0w0dHo0bWFrY05XMVh0WTE0RitZWWlUZ2hiY3dVNjQ0cDNSMVdhTHYwMFdBOXVLWEVObkFWR2dUSmlLdlBXQW9tclcyQldFa2hBOE1sMmFPVUFzWW9kUTk1VmZ0YUFBaitwQ1lmVVM5WWRFSHhqVTNzclN4S1RMU2ZRejcvUGdzQkxvaGY2bGVseXBObEVQMTBBTldDZ2lyTW0xR1FvTVBiNjNMKzFiQTdTYWdPRTkrckljWmNTYXBIWmNHL0s2dkhpa1NWZlF3QTVtYW8zdG9lSTdHQVIzZnFCY1hrMVJEdWd5RG80OW8zdTgzejhqaXNGc2JTR1g3WmM2a2hvZ0dnM09QblpvMjhpZGo4YmJZVHBTaUZmMzFEZU9pRTRrK0NkMGZnWkpwUlRvRHpOSWI0aVo0SWZpMjZGS2Y5Y3YrcmtGbWNtUjNiblhYWU9id0VkWkZpNUFET3Axd2ppcjFKYk8vNXR6am1HV1hyUlZnN0R5SndZOTRmMFdhdFVSZzhSeENrL1BsbW5CTm5qazhCcFdjOVJnYTFsQ25nazdrcTZRUktkYSt2WUdFMTRNMnJSU1JuYk51NmJOUnB3VTdvUHdxSmFSMEZmcndYUkZ5U0UyTlBwbUxOVkVueEhHSzlTNUJ1WC85RGY5dGFheFZMa0FXUzVQY25wZTJOdGtJOUNVcmI4cENGRGF0NDI5WE5DMHc4NXEyS3ZJWFEvb1I5R3ZDRWlZU1ZWVVB4YnBmbzRKbHl5TFAydmtkSFdLSU55aUxLZ3lsSEZEdk1oS0orNmRKclhiaFhZaEFSaHNGOW9EN0Mza0E1WU9hc1hSZWR6Y2NhZlNLMW4zczY2TVNsYURlZDUrazJCa3gySmtUNHhXQ2NoY1ZLREFlUm9lUy9TRmZwclE0bXBpa21lUGFTb3F4NEg0Y2FDYmhzSG1NY1EvYUd4cWZVVFNRdXVueGROMm1YUE5LMXlwbFAyNWZ4Z2wxU1BQRmg1ZitkaUdXdGVlc1dNZ1J2VEZtYytkN1UxT0wxVHJCZWFBTkpUazNYdVVWRlRYQU1KZkdvbGExZi9MMmhzbUN2OXZGNlBWVk5mQlFHZWpWV3p2dEJNTjJEbXBhbEhtQU16U3hPVWhUUWtPK1c5Q01XN3prNFAvMDJReGp1VktKSkRaMGJkd2JzbkdtU3BhREJBcHJ5cmlFc0NSNndwSXE4RDZseGI2L0ZUMHBsMjcvdVJvL082WGh6eWp4em9PU1k1cEJqeitBWWNRakM1RHZ3M1lpRzlhd1F4QmR0WlJNTldubEhuWGEvQ0s2QWd4TlE3RHdjN24wczhhK2VKWDhYSyt6VVZZZFQ1bTNwY1FTakpVSE9LZExpVjR4dTBCb25JV2dyTGVRNkZWVk0zeDlLV1pDUWNyK0R1Ym9LNXpGSzJrOWJRUXNjZWdaMmh6U0ZSeSs0MUcxQ2lObmZ4a1UweTliOEFJSFpNdmhSNG5ZK2V2STZCZGpTRU9pWnRMczhSR3p0TW9yRVRSQ1psOUV0YXJjekZ2b0pTdU9ucGpJL2VFVWF3TFhHZjI1MnZMVVFjWEoxTUVSK2pOeW01M1ZoNnBCNXlBejF1aGNqaFloRGl1LytXeW45N1MrZGE0aGxzUllITlk1ZXNEMkduK2RXKzNVUXUvNUFjTHkwZlVrbUQ3RStKaGQ2ZmZlYWRMdE1YeEVYSENaRUZld1czWnNTa1FEbGRGRHF6aXJjUVg4UVhadSttaTRYUk1kQ0VUV1lrcE5KOHBCVm5VS25MbXlDK2RmeVRVTUJGam9Wczg2M21nSThuQUsxTk5JdTRlMTQ0Wk5GZFE4aEFOa3NQaE9zQkk1bHRUV2lseEpXSERKTGR4WVpsSVFYNzJBRllFN05SdFRWRFZ3aFhhNzl3MUtqc2xyODYvdlM5ZWpxTndVUmFwY1g3aG16eXNuankzZi8yaW5INkFKT0NsZlIvMkJ0L213K1hOS1c5QUNRQy81aUx3TndCNHV6Wks4YnYwT3RVbTQ1L3QzbEZ1R1RQN1B3SEVoWjZuZ0I4WWtIb040dWZiUGlURlJvMG1wMUJsVWJkcTRrOWcyZ2hIZG50Rml1UFNNSEpncTlyYW00UElGTExqV3JHZHQ3a0hzS1JqQWxGdEZYdmhtS1g1WERvKzEyL2hqNWxnWUlOQjhLNGFiU202bzE4eGFoelZNYnRJMHhqZ0l4dVUwQ1pXOEtFTWc0SU9rTjJDU0oydUhyUWFKQVpOaUVEVGhLV3g5RWFvNGR3a00rL05obDd2eXVQK3o1TGFwSmFaSWIyVyt6UVRXT1pnY3BtRVdMRHR3TTFEV2hOcEJGNHNPcWtaNXZOWjhFenZnRVZiaWpDSExQc2hQSDhoeE1TYTNPbm5CZ0RqMnVZbVF6bWNSSE5QSGZ5TDY1U0NtRCtvYkRuQlZBaFhiOVFyRU5qMGo1T0VwOEIzTWNlaUkwcXVjNzZTeFYzSTJaZFdMNEUzL3k4ZW8wckt0emNOS0lzQ3E1UjlGOWJVczhwRi9KSS9SRzdrZFNjWGtSY0FNTVJ1YkRkcThOR25ycnNySmJpY3hWd1NlM2ZnbXdPNlNvbHQzTTBlMHF5SUF5cFlqKzlON0tXWWE2QytIMkM1aFZmZDd3dnI3OHVHVTdLZ3psbWZVL3JJUlVQYUZGNWwrTlNBRmR5YVlwYmFyM25HYmVGNWpYRW1BZVU0V1pyQUV4UldhZDJ1TjlidFVGNlRBVkhnL2tKczRnSzlPK3NtbytmKzVYQzNuUWJjeklmNWpVUGtOUXd2bDc2VzA2U1hHRjBFQmwrQ2VlaVZKNFl6OTNabE1JdUI2SGtBQ2Jhc3RUL3lBbUhxN2hYK1p6SGE0NStQNWlkcEJGNjk2ZjMvU2lqdnpOUTcvVjRKcExIeGcrTUhGTnNwMlNIMEwwUm04Yi9aRlYzY1hqbjBxdllSdTVGMVJDSHFFOVpKcDZKeFc4SWhoUVFmUVpSbmdTNHRPTEw0V2QyTWZQWUVvRXh5NEcyS3JrZmRRTk1zRGxCN21YMVBqaFVPS2d0SlJScWxYNDBkZUgvQ01jZG5FNW0vRktqdnMrc25qZ0NwaDRxelo1TTF2ZFBMREdMbWx5VzVnVXE3S0lQcU42b0FjOExmSVUvQVNyVjVFREtML2Z4bWpDdWU0SDltQlQ0aW4zQXI2eWk0UDBkR29uTWJ1eHpjMGgxS2hDYnh1Um5sK3RVRC9WV2M5UHhPdFVWbzk3UUZYZ0dLWjJSYkZRRWEzR2RENHQxTHNMd2RPSWhHYXVEbFZRWmw2V2lndVZTaVJnMEU4akpjM2FsQ2pscTdMdzJ6OG9FM3h1blR1RWw2SHlhYmViNjV5MnVBZ1BRZXVjOW12MFZTZU9HbnROQTZ3WnVETGh5em8yTmFGYmhnMFMvQmo0bmhzK3BlbkVEVDAwdG9yWHJxaDFScmhpNUlEM1RuZUxOQ0xVVklwc3FQaTNsUWJZTnRLVE1pa3doaXV2WTFiQzVvTFdlcWU5U0Y1RTNWMkZhTGhwM09kbmUyd0Q4bkhPRVRJanRIcmxNK0JPVTF1dngvVFlZRmpTNXhlaEhBcWhhZ1JKTGw5S3IxWEZDS1N3bFFkR3VDTW1NdFRSMEhibkMvOEoxTk9peTBUb0xvdWFLVGU1Ymc5eVNsZ2dnSkJ3ZHlSTTFNTzJuVjRlc081bWszZXFaOHpqSVdVblZ6MTBnTjBrWXorUFM5WHd2TDU1Si9Ra2NyOFhqMWtqZ3h6NGI1MDdaeldnWENxOEpJNC9wTU1kWHk0Yzg1V0FwR1VHcldaR0ZIK2lHMkFZRGZEYTNFK0EwclZ6dDdnZ2pNeS9qZTVBWlp2c1R6cDE1am0wVXpncGJhbHpFSVFLUDlEMkt5WEdCY3I1YWwycmRzeUM3SmpyZHhPdGQrdGdJNmIvYlZwNFdhRHpZVnhEWDFwMFlFaUtXTmlSa0p4Mm45OE9yUVZBQTdXRCtMUWF2MitQOVQybU9HSWtCUm01RUJNayt6b0dxV2thbHdIeXZITnBVL3JtZk1reEZKZDd2NmZYMUQ2WWpJZFcyVXRHWXpWOHhmN0JBakZUV2FIYTd0MkNZb1YrMFU4Mzl4aHBHSFd5blM1NG11ZjR4Y1Ruc2tpb2FwN2c0bWxOTVUvM0plMXI2NTJ1cWhLbHlrVythcm5mbk52OFZKY2xZdW11eXBhSmRlR3Y2aE9USmMrRGFoOUtBT3hnNDhyemJDR2RBcmRFM1dMc0I0UDdRcS9nbEVETjRSOWFPQlZJTXhvb2xzUjFwUzRPdklOamZLeGFjcjFFYm9FMmdqZTYwRVBQeEJiUGozNyt4bnRoYncrSzNSamVVUjBGNElpWG5TaGR0Z0xKRnUwK0VwSmxTaFk3SXhQSS80NE9SZ01GbjBTZkwvNVMyem82RnNwWFVnbFlBK1ovT09MR2svbUVlVGxkTURtYm1QaVNBRkxId0R2eERIU3hKb1ZyRThqYzg2YndsUkd2QnRQdkFIOVd2VklZdnpNYWxwc0NkYlo0ZG96N1lJb21FbkFXUEt1aWZYeWRrT3RDRmM2azl2K0EzM0NVbTZ2YURCQStPd2lnRnR0emdOSTNteHRtd3RoN3YwRDMyTWZscFl1ZGdIRHRhdFlxb1lTaEs5ZHM5VUtkSXFKMXBaSFBySDl4QUliTlQ1YytVNkxSemZJV3RmZUFXakMyRm9tSzM1ODNuNzlFTjU5WWdTbmxocWxNeGJzRTd3MmlXbzkxZHF4OW12Tk1RVmF1YzgrS2RMTlBQMGQ3UDcvenppZGs2UG96ZlUzTjlWclN1Y05rZmN3TDZ6cFlpUmNjaW5EQ1o5N0lrSUJmbjZlREpDUDYvSyt5QmxIblRPb0JZNndLUXpmaEZuRncxamNYYUFzUGZrOWRTLytheWlPcElER0xkWkVnYzY2QXZKbEFocVBiekFqYTBhWEY3cEV2VzhuU3B5SWQxdEUrZGxybXNQL0RXdjRSUlZ2ZWd6Vmd3UGJTc250YzZlNGhnWVZrT1VZd1RScWxaSjZTOEhZY0dmOFhzZXRpYThmQ3ltWEN6dG1XZUJ1N1RMRTFuUEJEb0h2YTVKd2ZiTGY5bUFBZ0xDTG5JeXNkWms3MHJUT1ZRdEpIK3RtM0MrSUhuQnhuek5ob29uYjJsWlY0T3JFR2tBSXArcUFYQkFpa1pmRVlyTys2SEh5aHZuWUJCSkpDTFFJVDVHejY0OE1jVkZOQi8vUi9pOEw5NzFaV1dhMkl2bTdRYkdGQXQrTmY5bEtXWGlHM0hBRm4xV2g2NVZLNkd6RkY0a0VqQ3puc1J2eXdVOWpyUUlycWZvcEJYKzl4ellPTzc0ZS81enJoczZ1S1ZwK05DWFlLVUc0ZnFuaDZtdmVXTEs5cm5FZjk0c2s5QlAvQnNZQWVVbG94dVVCS2dFNWR4TmJXdlBhK2wyTGVsa2swNUZBdWRUTW5MaVhnZXVITHNqKzYrNTkxQmJ1S1ZlTlowY2llSHRoam42UWxadEdjeXJXTkQ0Ym0zMW1tdlQwQzE1WVphd0t5MHR5Rmk2UldWRmUybFZKaERvOWdrdlgveUhjU2N2Y2VjSVk0bnNiWUkzNFZQTHFPRUFRT0lXdENtUW5WVy9uVjBwTGZWSzBNUVpaNHppeUIwRDNyZTVhcFpCTGhmYmM0b2NJNHppMWZvclA2TWVNSmk2VEhRYmVoczhrZjV6WFlPRjBVTW5ISVBlTkdJeStZd3loRnlNNFpvd2JTbG1SL25qQkU0WGFLWXVuUThMYXU5dE9qdzNzTGYxT3Rqb1ovNlhyOWVXRk9RNUZUZk92YjBSSFAwKzN2dS9wMkwwYmlhWnlQVWk2RkwycTJkYjNuSW1MamRpTGlPUGh0UnpVam56cklNRVhZQkpTV2FXbmJmanhKZWFkUFEvMjJWNnZ5YUFZZ0hnQldKYU53VTZTZU1WeHFBZHo3cGdEdHFhSzRxdzlobDhZcXlDblNmUm5SUFhWWHFTenpTcGN1YmpQV3FiL2JsVmdqd3cvTnp1TmtHRlVwaGoyZTR5L243M1FCVzNyWDI0ZUpKOTBpVkQwMTV5UitTQTBaUnk4b2RDLy9IVHJrVFpJV0V1NkR5OGJNQUtQZ1cyU09tU3NWdC8rS3RiYXJOcjFrckpmYnRTQkdvMWJKbGQwdGJ6bzZJbnI2VTBZdlNycW03TUMwQnRzZXVURWYxOHN2YXE5dkFma0FGWnF5bXZBcGdkNGw0Y3lCakYxb2RocXl1TWVwTUZ3VXgrbXJhbXZIbU4xZWkyb3RlVHNsbHVtalNJZGxsbVQ5VHBNOEZXcTQyMitCdlNvVTkrQnpISEVXQjJYc2oyM21nRzE0VGhIalcyQ3NPU1JzVHJFRVZoeVRjOGxYcWQwdER4NWx3aW9tTGIyK2hPdGNMSlVNSFR1bHV0c1NzbXlCS0lFUlczRi9WclJ1UFB0aDhSVnE2Unc1TE1ZL0p3TmpVWG94SmNSeHhVbXN5ZVNCVDlNYi9vRERqaDZlYVVhSVN3ODFoWTFkZkIwbGcxTFdlelhDNzBNUUZobTBDRDFJL2tUOUY3anEwaDNDSlZwcWxQNHJOOE5DdDlvZXBVMkxIamJEK0ZGWm1PRSt5L2pQZS9pa251UjZhbzhtL01VMUxYRHdVUUMxak1HSmdDUklHL0srUjNsUkRXOG4zVUh6Z1Bqclowam80UjRWVStOTk9TcjYrWFdyb29lcnpMQk1FTUgyTGZrM2VBejRmUzFIOGZGZlVHTmsrZElnUFcwOW9vbUxVYjZSanpDUzFQUW4rdUxJdWMvWEdZZk92a1pLZ3lGUDlYb0J3SkZoMW1FdGNKT1B2aHN4UHN4YSsrM0xGdms0YVNxUkQxZjdoT214QUJvKzFHREpuUlpYZWhPMlc2UkJRN3lIdHFkcGdpMnFhaFo0L3VoM2ozc3JITTl1M1RIK0hHVVNyTXNQclRFandzYWg2dTZRS3RaQkJ5TkdhWUJWaU1ZcVowODJjU3g3NGVVdGwzN1krWGxjek5FUm1xclZmMHIxY1ZidW12RjNxNm5kQ2dEZmxHUUFLQVNQK1J6T3lvY09qZ2thSlR6ZmRXd1d3eDFpUjVpUXE5anJVekVEc0RKdDRrSFlmWlFEdENINmxKUjNZajQzdkdmRXQ0YzFCVU1ZNkJ0OFd5d3crd0hUZ2RqYjBpcmdweUFtQ25jdk5MalM4Z3JOMUFvZGU2R3gybEQ5KzV5bW45blMrakNqMU5UZkhBVVFCcG0vcGloN2Y2dVFqdDFGWVFuRkg3b0JEYlBkaTJoaWhjV1RDbFF0azhiU0NjbHRVS2p4b25MN1BDeDc0clZBTU1ybFprcXlSYXJBOWVicjRFaDdSZGRzV0pnZU8wbDZNaGhla0RjZ0JveXdWS0VpdS92S3BQeTBVZmpjT3ZONUZNTkNoMDZ2T3VYRE9GdmFSdDQ5M2R4bEVCSWliMTZ0MkNwVzZDY1pHNi9tWEQzNHkyNzliKytNTzdhR3VTdm9mdFRKWE8zalN3RkFjaXp3Y2lDenJsOS95OCtiVUFFdHpiNUhseEViTElDZFBSNW1yZ1BUc3FkNDh6Z0Rkc2xtOUdRUDhqZnV4WFBibUlRODNGdGl4eS9paHVZWHV6TmNDanNXMkxoZFNTVW52L1lZUWtTR09JenRJYUs5ZXFaWnNyVnN6TXdtaUw5WnU0QUMwSndRSU9lRFZQUEF0Nmc0R0RxdjZLaGQ1TW0veXg0TnUraExuRUNKNFh5UFBjeXlMYjNpSThWdWpkS1RCaXNUMW1XRHgxZXRNL1BFeml1TktBVUdSdStURzdVSS90cFJSTVZlbWZVVFZobTVjWFpydGNEMUl3cTFScjNMOWhyVThDUkM5clZTanBZemJJbEgvT0U1NDljTTRaRGtvSlBSYllVOHdseWVkZ1FvK05VVHkvMkQ4bDl3WFJqc3BKbUhLKzJXM3pJQ0JheEhnQUdVbVI5dExqaWlHcGUvSUl1S0hrRkh1MHZuZXlvUVM3VjBTaHQyMExFQWY4dDhNeHR6VDJRY1k3L0ZUN3FUYm94aVdlQURHUGorL2hRWnB1d2lsSGM5MGVtR0hFUnVvb1ZVOXBKUml5VGJGcDFiKzFhV21relhNYWg3K2NOdG9RZjBZVWdlU1lvYzY5Rko4Q3hWcGpGZWNKSHhvemEvV1YvbUhBT3lMdnhCQmZkei9WSGdTOXkzZG9KVHlBa1F4akxwaGJySENBK3dkemNDSW01MlBPbThkcHZMcGNlZGh0NWtmUWlDVm9zaWJwNW5ibzJzYzBpOG5iT0JYcUtZRC9VaGFUdmJtUHo1TVJRWERPWFlVR0lIdWpGVzZUZmlDRkhQbWVNRXJUK1hBb0U5c24yZ2J0bWJlanZrQm95aDYyRXpselpLbkRVZ0dXR2hqUUdOYXExNm1xME9EUlhpVkYrVG5ZU2hUWkFwSS8rL1dIR2RFZXBGRGZWSGxweUdidDRtd0pMLy93SVljWEdBNXFzMWs3MEZrU3V2V0Uyalk2dFZJNXEwYk5TanUwMUVsVVhySk42UXBzS3V3QUYzRlBMOXdnektZdzBWK3h6NHkwdWFXUGROMldobkU0VG5vaDBiR0xrbC9UbGQwZFhvVXJ3T1NSMFdjRThOUVBJUnBaLzMvSTMvQ0FMem5na3E2aTJCZE1ickRPM0hyZTVya1h3YWd5dk1iQ1Vhc2xoZ0tUNU1XUHlqaFI5U2xrYitFMjhzdkZZOUU3K3preVAxeXQzR3ZMRTFIQnVkSXQxSmFFSjFEQ2g0Qi8yVWxOUlpyOGJNWVhHNXVzNWpOdTVwWUFnOHpoK2lqZy8yc3hPTFVLclU1OGlnZ0JJRkh2MWl1dHUzTzVYQjAvTXBGMWlEZTIwMnBhNWwrQlQ4ekd4ZTFYYnNzR3JVcUoyaUZQNHlpRjQrVHdiVlYxMzdlaGNQTFRLRnhpZHhJVUxZLzNBQnk3TkpKQW5jSGsxOFBNeTVrTm5sS2d1anZ5MnJwcnRMWjhJbkh2OW1zSUV3ZXRTcnd4N25XMHp2UUlCOFhNWG5WM001VDF3MkdESUVXdndiVzVFY2Y5NU1GMVIwSUFyTDRMejVUblZTaEpETW1tWGJPRDZyRDBSOHdkMnE0UDM3b09uSjk4YjdlSXFWemJsUDBkZTYxaUM2QjkrRllxaVRQbnoxQ2pmcWV6ZW5TbDZEMnk2MnVwN042ajE0Wm1aVW02WmppcXZwNzN1d09NYjJ2WVJzcU9kbm44b1BoVVdSakJOTktDZGVsZUtIUWpabzUzTUl6OEZkUk9YTXJoWEZWQlkxNGdlbGwzQ1ZIdDIwRHA2cVNyWjRIdWRzL3JsL3RsUjhkR1FVVno2dXVxcGNhRUZpbjV6OTVCZk9yY0JMd0lmUEhVcW85VmFmUTFUMjIza0lMakFPTFpMdHRuaGZMWTdKZDFiU21TaW9KdHpBajRQNWJaT3Mza0RGUXBERTBmWmRJNHBGcC9zZHYxWXdsUXBMZVhKSkk0RUczazFKeXBmK1JyQUdoaTY2VkNhbjFzSGMra1ZaNmVWMW9QVVpmcEJ1ejZBMnhZUmZQTDRzdHJSNWtlZnhvRGhnY3U5R1k5VndvMjF5MHd0RC9YOWZqRUlwNUtVdlM0aUoreXdKT3c1WmJvNk9vK0hLYUM2ZUthZXkvb1lKcVl0UzBLemVRcW5VTVNkdnMvYTBBWmNHVWhQd1RyOUtPWmM0elJVZWlIZzNWeCtuTGpoSFh2UHo1NGYrbDkxZ3B1S0gzdVQvT3hSKzdzZU9ucEo3eGZ6QlBIb1A5UFZIdlkwNWVaUGZBNUNnZ2tXYzMycnVwaE5TZm56cGo1akU2VGZGd25ibFFKT2gzYk5GcmlPYks2NG1ZNmJxT0xVRDJUdndpSVEvT0tEc2hvb2lvZDVyckV0d0NuQ2tzUWQ2Zm14dVRaVVBrV2hnTW56eFUwZUhRSXp4cmg4a3crekc2MExURi8wbUVhYmJtVjRJc0xnd21xVlg5dlk1U2VWUkJQbkJmQ041WGFEZ3NneXZNVmp4ZnVMbWgyWmRiRFpJc2NCL0NBS3U5TmhRc3JZSTFxL2lEUGVCbzJ6UUpDb3VPV2tPSzByV0FTQWgxbHZLVmo1VnFIQXVqbk0yb2lrZDVwYmJRQjVJUWtSWmJFaHltWjRST0U4NWlqRGpSek9QTVQyVWZ3cXZTUzhTVEllUkpha2tYZFZjSkNnRkpiRHNMbktUTnJmMHBOcTdvM0lBTGZudzdIQ2laVGdaWlF2cjI3cGVHQjBFSXl4QWYvM0pPWGJCZ3ArUENsbFBzNG5ESTJDSzBKblJGcWtsMkh5aXFvU0FsMnFCS2hsSTVhRFZ5RjFxM2xhaldIanpxSXcrWHpnMi9QNzNlODR3T0tyakpUVGxqaDluSGNGVHdhRFl3a2JsbVRlVy9vRmRWWmJtKzVzMUxabTFXYUd6bFI5Ykl0UG8wNzVVRkNIdHdlUy80M0haVzhSMkJyWXZHMnArVzRrRXAwcllqUHB6M3UvY0RUVEQ3OWZXV2U0SmtLbzEyZ1I4ellRaG5BdlQrQ21ReU84RUhqaytBTlJuRGFJd0xnYjhYakY2My9CNW50NmhXbC8zZEZKNCtad1hSRDVIaGJDT3JsNzc4ZWJFNHJEZWNPa2p6UDd0WFdFd1liMlRoUjU0RGZwcFZ1QjJ6bjRxOGFpS2ROMnBFa1NHbHpKU01GbHNYaUNvcXlhYmx6SXJ1bjRyc1EvRkc2YzBTNkdhTy9SeXBrUVN2UnR0amFnZFBQdTcyQlFxZUNxZlhuVHRXcHVNQldyTDVkbHM0VmlUN0tGVzluOHVKVElSR3EwemkrdXkycDhNYWd2RjdzN2xlamVFMktjM3Q2eFdZYjFLaXM1N3RaOGorb2Rsa2RaYkxiZ3pIWHhnSjhvckMyNENUdy9yVFNDek1lY1JyeFdUcDNFYUwrRzJOOE9vWGNOWFdsd3JzL0tEeitqYXo1bXpmWnB5dFU0T3ZDMHFPYm56N2ZRUUZFdkJNMFR5NDlBcnAySzJTOFlpZHpQSzVEbE1PU28vR3Q4cExuc29qbHI2THdUdHZLR2d3Q1BidU4wVHpYR1dhR0tpVUdUL3BMNks4OU8vbEZKTTFQdHl6NXRXS1BvMis4M0NSMVd3WkFkb0l1NWE0bjV0aWRERnk4RDc4N05Md0pPcG9acGpoc1h4dzBmczVOQXY3TnJjRm1OZitjd21veHk2TkxIMDZ6MTVPNURGbDVCNG8waFg5eGhFVVY0YldlTVJMZ2Fwci9ST0gvUjFNcGVLeWt6emFXSndad0VreUVCTDRRaEkrdjFxOUwxcS9GbVVNMWZUMVpDWTE4V1UydlRMUmpZUmZ4VlJsdlhCOFN1cFBDMTJjSnJnRzd5SFRyQUU5R09uTXE5SUdOczZ4NlZ3dmVsOHRyZVRLVytrd3JPb1dyR1RBbEs3RDRadTdEcENSZWNvclNiNkFSdjNNa1BjbFpkVGdsdDkxSUtWMndpN0NBMlg4WWMrQW1rWjkxT2d0YXBhWXF5Z1daR21TTVo4MDU3Qmk3YjdmamVTK1hqOVRpcUplYllkY3RkK0JId2dDeEI4MXh1aDE2ZVcydzk1YmhUdjF5VmJ0QTVYb1ZTWGpUanhvVVY2a1Bzd3N4enQzS1dEeDFwYU9PUlNwV0dBdHRMeWkzYU8xL1J0Ly9lSkhNL1VVMzQ2TlBTRmNIL2I1VGptcmtsczZ2MTQ2cXZ0YVprUExKOUtNWDNRYmZIOVprdjBJT2d6UXJPWUZGVUJCTHZyWm5vREZ6RGUwQWFXcmF2cFN0ZDNiRFVydXhOWTNEWElXdWRjUlZvQ3JCa1phcTM1dWxsbkg5MGEzcHAwUC9mV0NrN3BpNjFhclV1T2g1MDdoenA2c2R1M3E5dHY5ME9EdHlDU3AzY3JhRE1MamxzMW9oMENIZFpSU1dKVDgxek0zbFdod2t6R2c0ekRRSDN1ZUhjZDNHSnNaQ3RlTFlXbG50dk56dnN1UTdrclRFNk9hVmN2a0dLZlVQajBQVWZmd1BUdVd1VzRvSkZZdjhZa0RjRDhZUk9nM3pIcmZ4LzFqSzBob0kyaCs3OWZyM2U2alBlREE0Zzd0eGpQeUllK0tjazBFWUtqWGxtRU9UeGQxcXIxSlVaN05GNHgwa1I4V1VhTXJtZEpWejgrc0pDZGRqdXVFWGovZG9YZXVhdEFCTysrdUJ6d1NQTm94dFFlZWttYXhlWEx1QWN6Y0FGY0NzY3daSytFN2RVS2MxcEc0SjE5Q3NjRnVmRlZzR2VJcXI1NlpWSy9xU2R2VkIyWnFBMlMyNFdzTFNybklKOWZzQnY2SnJnVVBsUmFrUWd0czJyUTlpZnNvenBzaFc2bVZLeElJSzdEUUhXS0ZKWU5XNDVOL2pSbTIvQVdiNWRRRXBkZUtjU0tJVGVsZXdKMmlaMjE4TVlLS2UzTXZyYUxXY2tyNUJhbE5NK0lJcTNWR0ZOcjg5OXJPVUhLZ285RmdnTEkvd0N1TUpXdmpXZFoveURlTzRiSG9yVnJRMkZrQjM0YUdjdkxDaE5OZ2RhMHVyYmFDanZrTFV0Z3BHdlV3WTRFTFUrU0lrdXAxcjYrSkpVOWg2NWlhcXFFU3hIdXJRa2dsN0hsYlJ4enY2UVNoZVBnVzVQeTAwN0lzc0ZWL0gwZ0dmSGtqaGFQT1FzOG9wUlU1ODN0VWkyQU5FV01NSEJQZFVicW45WGgyell3TEwzd1ZJQ2NqYy9uc1FFdE1UVFhHZmFsU2I1bGQ2V3d0L3loZjk4cWo3Q0R0bG9HS011ci9tNHR3U0hQb1JYRU5iZnNBSURzYTNSQmYzSExtb0xZS09SKy9kaWdScVlzb0pyVUpnZmtuZGFzcmNHaktBVzNFUlBEOVRWTXZTWjRJNkZmYWxuL2FHUDgrK0g0Y0RXcXcrSHRqT1ZhaVNGdHk1ZVlieWFvKzVBbDlQMHNCck1CeHNvOU5vOFdpYXlFeDRQblRiL3YzOGJRVzlseEhGUDAzZ24zMkNLZEsrN1o1UjFNNTZQeWNYL0s5aDM4MzlqMjNXUjhHL28xTUxHQTFaeVpabzJuUzMzMGd4dTBQUjd4TjlRQ09Rd1VMYXJtT0JrMUk1TDlDNDNhR1hIUC8xdlBZMFRwMS9XeWVmbUt2ckR5bElETURYQlFkZzFvaHJSaWNZdmNqTVdoSE83azBJU1VYQ1QvL01Lb3dvY0Z5dG9NUnVxZEs4M0lXQmZBUnBxTG1XcjJxdDBNSlo3MUZTVThBdGNNR25KREtKamlVa3JVV1ZDUFBralJWQXBuUGJvWUgxNWdLZzdsREdsWFdGQThtdW5nWUQyclF3aisyaTVwOFhwMXRlNEh2a04zeTRRSjhpUEJrNXZHbDhjV01GbkRKMXlsN21qZk1md2NpMnlma0FncHFTZ2xSdXF2MnZHYXNPaTRJZ2s3dnpuWkJ3cm5BRXVhS1liNlZKZmdpbnRCTGJ5Uno1U1gvYUU5WE1Za1Q0OGp2Unk5dVRMT0hGSzRSMWxLNldINzA3dVNIY01vdnJKWTZLT0pXUUZKMnEycGtkWjFINTR4cFRBeVpoNWIvMXJIdTJUQnVvZXJzcnk4azdEdUYrMlVYVm0vbndMcXJQV1k2NVA4UURzQm83dkk1STgvY05aS2NMZDRFNEc5dzd2T1hxS2ZlL2YxeHB1ZkE5OWxxNHJ5bUltaEhTa3JEM2ZRaGRxcEp3WGp4cEd1MjhJMm9pK0I5U1NzR3VTcHBTUWVWbmRzWnpDeW9TVnVNcEJCdXlER2Z5T0duVnJ2TjZjQ2JTUnB6Nkx5YVlZTUUzUGlRS3FISk1sd24ybGoycU14VlBXVXRNa2lPWlZiS2JpUFJnb0JRT3QzRlpIV29lOHVwc1BHN2pNeHJJeEpDYVhiQUxEOC9uRVNpVldxV1FNdVFYQVlqc21tbXNBL1c1UWdvMkcybFU3UzBHK29vTXFINjZQQzFJa3RtYUJuNitZMkplU1Y5b2pYUGJJYlJQa2MzcEt3T3gybXBRRGN5czF2RGZPeDhabGdDS24xMUlVZ2E5cVNKbHQ3cEw2M0QyZ1Zkbyt5U1RWT2FmZCtMc05uZkFocVVZbEJYa1QrUktRN0NsRjF2K0NvZWtnSVdtaCtKTVZ3enVIM2N5U0lpbk9XVGVIVlpCd0ErWjRVa0VVak9YeVRNSDZ0dzVwZUF2WE5uM2VNbk9wc29KcmtTck5LNE1FR1YvSzdxdWhnM3pkN0tLNjBVR0NXekNqTkZNNjRmeklNMFZsb1R3VUxmY0orczNhdXNJdDdyeWswV0Rkcm00eVpxZTMwK2RpSGFJOGFFcGZWWTJBTUZWSStVbHFrYkR4Q0hMd1RkRnY3N2o1ckdCNnM4VEM1c05IaWJRbUZQNFYrdjZSZE5wVitRMTFSdUpDRTZ5L2Z0Z1I1UG1CbDd3dXVPRFNSbGxZRm9mMDNCZ3NDci9nYXFLbXhlTWlPclZQM2crVGR4M01ibG9Dc1JGK3pXQ2FDN1RjVytaaC8zNGpqK0xUaVpnUXQwSjZrb3FKdmtZSkhnRlp1OFp4QzFJU0lTSUZPWll0RlY5ZHNUYjZ2eUYwN1I3bWhrZXcyU25SSkc2U3pQOFZEQkd1Q05tczZSemhNbnhHY3pad1JiME1FenRXMnZNSlh1QzV0Tnd2Y1J6MjlReHFncnFKNjArQWFkUEpjaTh4UUd5MGNvUUNyd3paczdya0xkR3hMYnpTN2NaNkZtZmNueUNIUm4xM05FTEVZRkp1QUM4Z05jZlRKdVpKamphanA0dFFpNzV0N0pna1krNW5qWG5UWTR4RUErMTd6Wkw5bTRRaTNpU1hoQmpjMHArWE41YVVKQlY5aW85RUZiaE9PY0czYyt4RklYeGs3KytlU1RKbmFUakRYLzB6SXdVRDl3MFVPY2d5ZVBMY3JXZDhrRGRkWTU1Z1p1NFg1TjVNQ09OblppNm5kRE9RQm1sSGdvOTlRYWIveFhXNXFhODF5V3dwZjdtaDI2TkZYNmZNKzZpdmdKaDZXTUFoMVF1SnYydlhhbTlpWnhoOHdBbm4wYXNlTGFUNzdPZWNIWVJaNVVNR3FCOU9VTThYcGg4WTRzSzF3My92czBOTzFtazZ2b1VEQjhkOFYrMTVZelFEK2RCcDhoOUZ1RGVocUpqdDZWd1JKTjVPVGdoeHZyK0dnWlI2bC9zMWxiWURkbXlBRnd4RG51a1FFTDIrSzRUWWdmYkpjTXdyUmtMazVGUjlSTVhIMEVoYzdjdGpRdXliZjNMcFlxeS81UmRHdExETmFCV0E2bXdwNWFrYk9SNDhheUNKdlEvY2pjdHhySHJ4TDBieS9mMVVsVzBMOHllQ243UFU3S0wrNkpoRG1Db20zUlRPeEVBTVlrNWwwNVQ4M0FsZENRMXRUUGhKSzkrQ0N3NmhJb0ZhR2NIYnE1aHE2RUlrVWs4eGc1b2NDczJtdkFTemxkanM0RkMxcVRXSFllYTN1RWpIQm1vY3d4S2xydjQ0TGZYM2RxdFVTbXJQRzFaRVJvbUdrLzA5TG9vbzV5TEdFaDIySElIRDZZVC81aFpadXk0c3ZXekk0SHVYV3QzTU9kckh2RE15alBINy9RYVBDYUJNZjdKaDBtcWhCWHlqZTBtbCtqMnhVbUpJUWlocVB2RHJNNEtVbHgzYnpyM3grN0IyL2VVUVpiOTJHNDQwYjM1bCtROXREdURtQlJFZFdpT24wMGRBUTNrM2pWcXhZS29GQ1J0TUxJTkV2R3d3dXFlQVZObW9oSGUxVTZPempTNkczY2tpOEcxU01hODlFWWo3RThBYTNnTm9kNHB5M0pBWWVvV2lrR0VNY0JpTUVSNEYvekNHQ2NRbEtOSVZxQkdiQm5sbFVNMy9aR1lzajJjNXF1TkY3Tm1EWHU1S1IwT0NkU2N6eVhrNW1TNEFBSHlJaStVRHpJcVdDVTE0S0FQVE9wdlZZRFBUL1M3a1NqTkErUE15WCs2aXJwQnQzTGUyVXk0ZTQvNjFmUS9vdTkwRklPZzhkS1VoTDdTWGswRzZSV1o4aXhPZEY2VG5jTHpTTFYxemE4eXZTYXIrNmF6R3BndHVGZHBoeWltUVdTSk5IYUJydWtkZlVFUTBjL08wYkNReEpZUklSMHltWVIzd1J4dGVDT1ltVVN1Rkd2NkErUXg1RTByanQwUDdUdGl6NlNEQjFJeCs1UzhXR2trcnJ4aGwzcDFUT2xCZ1JNYjhidkkraE4rdjdKRk94U3pJQUE2ZXluSmpZWnlVMDVOSm9rR3dOLzBuTHJUMTFPbk90bFYwQnVDRmRrZjZnaGpMbW95RDhJazdvM0d6bXFIV1NXdjVxcDh5dmlDdjB6REJVQTVwUzErL3lZTk5IeExTRkVFOVY2ZTZDUFBlQ0JoRldoUVk4R242VktPcnp6Y1NVYWlQcEQ1V2c2eTY5NWxuK3plbElXSHdPODV0MmFqZ09LSVlwSW15K0REMXlXUU1SOE5nQnFYWVNVWi9TL1NmTnNaRmpjZDFXSWMwK3p5RmhWZzU0V0M0dmtGYVY5QkhWaUw4YUVpcFA4bUQ2WExqMUY5S010a0U4aXdjaVhXbjJFZWJxRk1YQzg1SmZUWldwT040NHcrZTZIaElSTXhwWGtkUDcvTzlscDVKVkEvVWxydXFLVnNULzdSYUpoNUpWMzZoM1lKNXYwdjVUNHZuRnBtRGN0NUhYS2pEZFhVVUhNa2VpbzFlK0RpcENLVEk1MTRqZ2p2UWowTGZPM3lXOCtYVmlNdlBESVNLVjRYTXkwU293MVI1NzlaMGczdTN4NzQxMnJLMmFXcGRxWXJGTmxLM2oyRVcvNk40TWptcEtPZXBDNDhiRkRDaEx2cnFUZ3RuT3RtM3laMHBDRjIvTjRMYkQxb3B1djg4N3JIeHRScnFSZThLc25qbi8zeTFWZVoyaktvcWR5ZXRyWWI1aXVFS2o5RW81OE5EekxBb0lBWHdUU2FrZ1ZXQ0JPYmVCUWFsZXJvaDlxRWNtaE4waWpwZkIyNUExV2JKeS93VGNwbk5PSTBEOVh6UWd0VWdpRmRnMk44VSsyQmVVVlR2blo1OUNWR291cWZDYjVNNkducTgzZ3VjWXV3Mm9qVW5PQStHeW8wK1h5WXNaSUozaTNIOWV1OTRtc2duZFBHSXVGWWtSMW1ha3BnSUloeW1WeTc4V05sVGRZb1gzTVhSR0ZRUG0rMUg0czZvNDd4Y0U1c241L1JDZXRDOE1iNXFCU2VLL2dkcjBqRGxpV3J5RjhuU1AzLzVoSU5sbDEyQyt6L3lNbk90cm9oTnVoMDNqUXVndXBraDdlOGxEaFNQdU5HTEpaei8zWkR1UlhMb09xeUZyTE1SS0NESDNyUm0wbkV3NVFneU1CcVVxT3hxd2hUTUxwMXlNdUxaY2xRblVjOGdncWY0RG9QdHY1a2FuczBpUGNTOU5ZVC9najZ2cHdEalp5by96dXBWZlU5UjNjWTg3SmZscHRDdnlXM3dDWW1HQlZlSUlHVUZaaEEwY0JXNTZhYUVpMWpxOWd5aWwyaHVVUjdiYVZ1QlVWZTdnTDlQVFlOOGRGT213UmlZa3dndEtZR2NsNXd3YVdwa2Zrc3VmVVF0QVQyTDU0ZDBiWTFPeitJRHNuZ3luYzhtb05ydm1kRDFYb2tEQlJ1a0huMisxdmE3T2RLS1grZTNROHlOaklNTG9iYUNBRWd3dXRXWk1GbFE1dFhDd2dzaTBuOWJ4dDU5Y3R1aEdGWWtRUFhzdmdCWXM3RlZRV1U5SDFDMnlsMnZqMkxRUDk4Ylh2bmp5V2YzdTBsa2V4UkdCVzhkRC9YallQUHdCYVROKzRxc1ZsR0VXaEdITFc0bVNZb00wVmVnOHpwcExlTEFDT1JlckV2dmhnR2M4cjhqQjBvMTZVZlhKelFJRlZNZ1lBVU1wbGI2SDEzekJjQkVtRDlXQXI3KzVMKzVpQmVzdXU1NlJXeGRIZ2FpdEJvRkNPUkFiM1hQV25DL0pncEFzdzBPdlJjdjgrVW4yb240M0djb0pkc0ZhejlXRlgwMnBPS2lUc3pmN08wWE5PZ2Y1RUdmQXF4dmtXZkFVZ01DT2Frci9wbXFzcFlGd3Ezc21BSk8xTEp5QjIzMGpEY3hQTUNOUDBtcVFMMTVsdHFWbzZLMHVHY1JOZnJ4WktjOTVNWE9sblpXQ1A4eXYxci9VbU5jNnJsTTZNcjdrQjBzaDA0UStuZ0hXSWdpWU5Bc0xsNkRac2gyb2U2b3ZpdjlMRXdWczJKYU9HcXdiMnZqVDV2YkZHMkdWeXgrSWtOdXkyTUkyb3FEalM0STRGTFlGbER4b3M4dDJ6ck9kc045cVM2aXpWNE5aWFNuWHRJaFIyWkdoUDF2RmMrZG1VUEd1T016ZkhRajQzNHdqckVBWnMvTWpURUV1cUtXOEhXNnZGZTdPL2lzRnpvMGpnSi85MVFHaWNOaG9zVG1sbmVzQ0liMi94Vml3SWNZWDh3eXNEZXZwbFpQVzRMWnRlSVNaeDBCT1lOMGp1Y3h4SE92ZnM3cy9HeW5XSm9NMEJwUXI1MnVmaGtBSE9Xc3dGcUVFemZkbHVhczlsVFdYTlU5aENubkZoN3FVcHR5K2Q0S1ptUklrUFpqeGo5dXJEZ1JVNW5wczhpVTYxRUhWRGllelM3RkdqRUZMVVNQV3NQV0l1WUdFNS9rcmZlVHZmUysxOGdxMVFYZ0toc01QR1d0N2trVGR2djhnUVAxeXNndTZZRkY5OTJwOGQwbm10MEhwSVdZMXJMeWF4bm9YdDRTSFd4dDRma2hJSGhFa0w1UE40YmFGOG9OL3EvUTBxNVdtSmRRanY2WmMzc1dGTVlrYXg3cVFiL1hyV1Q5SituamNUTU1CTVkyZUtVN244Q1ZrTEFHRm0xQ05rbkdRand2Z2RSVEVTK2NtcHc5Nk5uRHhWcStWQi9iU2xzRXgxZ3ppbmFkRmNHQ1dZY21YY1dJaCtncUVjaW43ZjdsbWh0ZzBJWFg0bFl4d25PcWxRY1dCTm85ZmlJdHRMNjNhc0E3VW1rVlNQdjdyaVZ6TXp3ZC9FVzQ3WjAxN1NYNkJZaVJROUdrSTh2RnNlVjVtcXltYlZ6YzBpelladUE4Vm9QbjJpSzUrY0FydFhzeC8wRDdtSkZ3Q2psNDc2K0hrdVN3QlJ2ekp5b205azVtc21RME1LdEpDbXJUaUdwWERPcXQ3UEd0bUMwZ3FobU5kdjF6Z0c0ekZNR0JsM0NDZHd3dzB4STdrR2FveDB1My9vS1l3L2RkanR5NXpQOGdIMnljWjRsQmgxeHAzeStVdTJKSm8vallpSmh0NU04bzVwdG83K0NXcXcvU2VUZyt1QzRLMkJjVVBKcnBzMDlrR3NkTjVDMVNaQ0xnRWVQRXdQYW9YOGZXY1RoM1ZpUkh1bVlyTndhVGhpQjBrV3JNZ3RMVy9kZU9yTXE3UVphWUd0amFOMGtaNEVRMVZkSG00Z2hyc1BZbmdybUNBdmZRTWlGZWE5Yzcxb29tVGE3aDFTdjQyYkhtNkRDaWJza0FhTU1tWng3ME9JUFhYazdkRVFkdk5JdWpYMnZ1UStqQjRaSTdqSnpjSk1OUzFkWXhzK0JFK2xDMEp6L243KzROV3Z6WHRZQlVvcTZjcWxxSm9XWjhGcTFmSTlnd2xtaHlGWENURis4ZzZjM09HQldWTVpyUE1rODJDS0ZJbFpoczJQcysrREVKbEdFNFV2ZWpPQzcvaE0wZVVHaCtBR2JiVWRrc3ZaWWUxNkpMVnU0b1ZVd0JSN0RIMjA2RU44amlJSDhMUE5Sd0I0Vi9oTHJXc3RXd0R4TWJtVVRtaDFzY3dyeFAzMGxiTVJGSklIWkNHQ2ZsQS81bHhBeUJVYWVsaXpyVW9TZkl6aG5nZGZneUFydU44UCt2ZFJXZW95MWdDd0dnZ1FNTDNIRHBsRTFuWmdmODJZZGhlYUYzUGpDKzlMMVNyZllUeGJLLzJzNnkvTS9CZWRaU3J3Wkt4U09taHI1VVlPRlpRYmRaR2czNWZsVHZKMXRxNWtXc0NheW1hKzFGdk4wUkYwZGhjeDlCKzN5Y09Yb3RnUWFzMXBiSlk2VEtyNzc1TmhQcWg4UStCZis5WGp0dlhuV0RqajFzaFg0ajZEZE9wakRnbkNEczF6OHRFa2FWT2ZjSDl2NTNZcTFkeVJTbjN0WU1Nc29QV2xvSVpSYVhUeXRQNDlrWS9PUGoxL2pMRVBKTytjZWZYdFRwTUdFZVdsTTZOdUFJcnNucmVDNWtrd3NtK3NmNlp5Nk5UeU0zZVZLMUwyU0MvbzhxR244VWx3N09OeVA3d0VSUTF1RTk2ZWtFZVZWUGNDNU9hYXRhQzVtZmtnS1YwZjgydnRPL0RpTmJNTlYzUG1ucnpsd3AyWTY5TFhnd2M2a3Jva21KS2lOT2JTZHlMU0c4c1N0R0xkbjE3azlyTGkyR0RrOERMV2lOdnljK3hTZWxWMzQ2VVo1U1NpNGJ0ZHlEZnVxVitWUFR3eWliVE1nZ3ZEQ1lBN1NSZS9kTHhnWnB6aXFZYjRBa1FIelVjVkd0MnRDL2d4eUZWaVIxZkRSKzcxTWY2RWZSenl1Y29XRldyeTIwUXFBWnV0Wm00VEFlL1dISlViOTkrcFFPalpoS3pIQU5OTW1JZmYrSnhkMExBYlI4VU1DNWdyVCt1alpOdFFNZUs5RGw4QmxvK2JNeFhhNFRReW5pQXl0UDNIbDJGcmNreHpCY3JnMUhrRTV2OWtYMHFyKzh0NHR4azlDNThqeXpmVWZMV2hXbFlGbit6SXhVTm50MnQ3ZDM1Q2pmVGFkSlFFdXlXcWJ3bDIrNUVtOG5UM2o5OFFHK3VmTTZJNnRFUnYwWklCY1ljeU9EaEdQZmJEd1k2b3FCTGQ1MFpuNXdGcEFRdTFpM0g5RTh1dm1qZ3pyN2tHQ2lrWWgzVng3VEhDVHdpYlM1NGNxd3ozNHBRRUhOUEhOengyZmJjRENmdTd2dHJyVmtOcjBDeWdiUU12dGRxZEpudWtoREFvN0g3SVhrV0RzRktOdXdPQnJmL2x6VHFZMWpxSTUwNENrQ0VkdVRrQUc1Ynk2Z1lYM2pqR0FuOEtLWjdGamw1N2U1bHN1b2kvQWpqdHlUeno2SE16T3pZZ25HcC9FSGRabytKK2czMk1MZDlpTmFXcDlBcmJwdklLc09xRktUYTMySzZiakdLRnZEbkwyL2RaQ3FXY3NVUHI4TWxpdmlpOGg4OFhsRlhxaW1WRTNmNTBMbTgzOU10cHgwajI3QUorYkZZZFFVTTgvZWVyUmNzNjBXWkl1Qi9WaFlKSjlYeGpuaC8rTkRmUUp0WE9PM1ZhSGlFVnRuS3g5THAwWjRoNUVWOWNKUWhITUM5QmtwdGMySExPTGV3MnljQnFrMHQ5WnF5OTh3VVFVZFpFSElvSGFXMHdVZi9kalhvaGJPNTVPam8rWFd1anN1THMrelZ2ek9jbVhJYXlXQVkraDlwM3RqQlNYRFBMci91V21WUXliVmRhbm52eUh2T0Q0elJEaGJTNVRYZlVMQWlYQ004clRzanVzenI1MTQxSndUcituUkVVSXA5UFNkM2dZODVyMWl0RnJIWGJGU090d1dLZG10d244YUVNY29vMVVaYlRMN0tWaTQ0YzRXYjZKNkc3WHRwZlkwMU1rTlF4VGIybFZaQjRBMTNhMnNWT25CVkNwVGhoc3h1TUh0V0N3Nk41RU5vVi9CVVc1dEZZTUZDU2ZqRE16TGkvMmhaTmxQd3RTSEVNWkFkZkQ1T0I2VjBXM0piWWdtekt2QjhWWExXWE1vYkt2L1R5SzFjbUJWYVh2NytkZU9yN3RrK1ZXcEdVbWZFaEdMQkdlUlB2bWJlcUV1S2F1djRTWFpZUGMvRy9ETk1qTER0YkdtRVJGVTgwMkIrR0ltdTVZZC9VNGtId0J1dnM1d0lJQXpMUWJKQi83THlDZlNJZXU1REkzVTZ0Z1ljaEpXSVZ0a2tKK1ozbkM5M3J4V0hKQ0V5NGJJd05JalBIZDZ2NnJHSmcxVnFDVE9QMTI3Q1FOYTB3Mk5BejFIWVNvRWFUTkhES0FUamZHNGVHMUlFRWNuUGlUREpDVFB1dThPZnlPdW90TjdzaWlQT1BrcWtDMzh2TDN3M28wWjBxS1hVa3FUdndQK2lSVmJwbmZFblhrb2JkQjJod1NFbjh6dStmM3I0ZmFuQlFWM2liSUpCa204Vk9aNUFSd0Y2aU1DbGo3TVpmQTJQWGdwZ3FQUzMyNlU1SXM3b1Y3ZXNLMnlPc2U1cmZKU21GNHBuakZteXRPRFpLeU5NQThKMC9mbldYSm96ODBMeUQ1U3RXUnV6WnFGRUlwbjNsQ205WHdFQ3VnRy9nVXp1Ni9iKzhEb3J5VW1mNnBZcXczRnFRU0JlYnVZMzlRYnNrR2M5MVBlWTc0L2k1by9CS0o1YVc2ZXJaLzc0R3BxQmkyQitNcTRld3JndzFqNFVMb3Rhbzc4RCtSeGtIZ21SdlJEZmlkdkZpUDhidTkzME94NHMwNW9EU0JwTFhGRkx0Z080a1crc09XdGZJaC94TmE5R0Y5NVN3akg1ZnVXYXVwUlZaRGJidTdsQkxrSytxalBONUVEcmJwKzNXdFd5Qk02STFNZ3BlT2pJQjdjcER3NW9GQTEzWjlaQWdjaHVpb0VxaUk2TlIvbk43QmIxU0ZYUHRjaERGaWJXZHREWk9EV1I1TGdVTDY4SmUvWmdacXYrSURmcVhGU3F6eEkxY0tSTDhGK3lITHp5VU03Qm12eXM3MXJFRDZHWUNaUXhxaFlaQjRmVkR4Z2ttcmhJdThNcmRFOGVzMjhEUVVldFkxamw4SkFQVnZmYVU4Szh6ajJNbUh4MzVDRFI4czY2aWhic3JqUE56ZDJMNmxpb3NBTjhaTkVVditrbHM3OFhGa1VWcTJEMGdPTmlra3drUGpMM2dDVzBWVndUeERPMkdtS3c0dldiR0Q3NUo1Tk1yQlE2K2dNYitac2hJamZoTGtBemNvSGNqQlJVaWZVU2p2aGU5MDFFYnN5UWRLZ05WR2N6bVpGUU01cE10VFcvTkZwQ0tkdkYwWldoMW8zTjlheW5pOW96Uk1OQmdUYzVoeldrUXplYjMxRE9FbVdpa1psZTRhcDRQN1BzeFdYZVJ6d2ZXQ0xBUTQrNit4MTBJOERueFUrVXJOQVBoWnNaR2cxYXFVNGlTNzFNbkttZEFoSURjNG0xU3ZoSytZa1hCMWdURkMwOWVab0MzWVJUQWhQOXdLaHpGeTJyWTNGRVYySkdFV1Y3SkVSN1ViTzFXWUhFU1hlU3dyY0Rzcnkwc2JSbUFnVUpxeHRVeFVLdVZrSHlBUGFVTUNhd3B4WG5QeE9HTGUwUmY0YXRSRGhRRDlGZjdIb3hnTlU2WFRid1kxNk9Nb1JZK0EzZHU5S1haOG5oTkEzSmxiR0ZkK2Q1VzdOZXlUR0Fya0VmU0NadllJRmI3T2pITmM4MFNOaDVyVGdVM1RjTkMrcDZRaWFlelNBMVBUVjcvQ1J3QWF0SEtTM0xxOTJpa0ExWmxsdGlETVUrTVE4VTY3VFBhalNjUEhtbzNLbjBvQVJ4UkhHSDRTdTFPazBGVmFNblBNdW5aK3ZLSGwzZ21LRElJUm5vMHZONWlwS2hmY1hZSTBaNUEzbGhuenFwbFhxQW9GdXVuVEh2cXNZeUVoSW8veVI5RFdOOEQ0NUpIR1NkOWV3NWNOdUh1UjlCWVZOaHV4VTdpK1MxQ3lPSjlIaTRKVVRYSkhLc01vZEEzN2dUQ2d5Z2tpdFdkSHZBOUNERWkvVVVWM1ZhMGxJWnB1K0ZiVEh6QlQ5ZW9pZTBkV1Fxa2Vrc0ZBbEpwMUN5YmQ5dlBrWEpXdmNpdXVqbFpHSWRtbzJyNUs5NCtGZU1QZ0h2Ui8rL1lOaW5yVmcwdTRPWUlxalhpUHZLdXI4TE5lZE9RZU9hb2l0S2MvMWxyZUppeXBvYnplZDlhVFltSDBqOThBY2p1TytqREN3bnJIdXNRZXc4WTlrQTQ5VlRhUXRxVmVvVXB3dDNPMlNGWEVKSy9MK1pDaVorRzkxamFtUk1Dakc5dXdzR3ZUODF1dlY2ZEIvRWZueGpxVXIwTklkb0dBdlN2TzBxSW4wdUVoOHBOd2tDR1VwTHNzZVhrdDJTUVRpWk04bHpMV0QyazJ5Sk4ydFcrWlU3bEVTRlF2aERhVElldDI0Rnk0cFBIcnVwTWtIOVhyUkpRZVRvazQ1ZEZEUkRHOWFOSktwbkZITVkwUTU0U0dXOXBYMWxqcjhCbFlwSmVYdTU2MVR1b2dxcnFrUzNyZzdwUEtSQnNwVHI2ckprM0FXNXZUWHZDQzRuK0c1dVIyZzZHZDRERWFEQWlkUzROc2ZROXZjZGlSR2lJYVUxTGRDNU9aU2E2U1BuVW9mbitRSUw1RG1rOWo5N2o5RVdPYktVLzI1SVgvRGM4WHhzYXpXTkNqb1Bzdk1ETTJNTHVRcWV3QW5kWk1WYjNOUmJXQkFHRnVucEo5UURGS3VDckRTRHY1K0hvYWRyVkNZczk0UzVDaHg2ZU5tbGViaUNLWmdtQXJGVCtxbUF1ZytxeWtpNWZoa0YzdWE4Sm1DTXpGNWo0bkxjL1kxNUhhek1sNnB2TDE2TTVlQmN2Y0NaRVRIL3JCWWZPZ1REUEdEanE1YUp1L1VvQjRJNmRaaG8vdWtrS0tkYmtoM2o4cE5SbVYvd2t4azFYd1M1dWU2VmtjYVJHNUpLZ0ZIdFJIT2M3Yks4QXo2YkxoSzhiNVpUUEJSRWFLRS91QmZ0UTM5NlVYbGtQMGpqcWJXeG1ITk9IaUUyOEo3MkhSUWVhd3crTlZkU2Nnd01vVzNjVDM3YzVyanZWK1VnWnRaNy9sSzYvR3pnK0VuR2dzWXRpc1lhMy9XVHduWm9PTXo2ZDZSd0dkWWZiRTZSemE4eW0reEI4LzF1dldmZmNaVFkrZmY5eGozclorc2x6c2dCSnRQMTVHYjY2VUtIMlVQNzhkR0FqZ1NTaW9wMDVhMk1wK1B5c1A1TndBMld6eUpXS1pyV1dQT2p0UVVHQ0YwdnBnMFpyOEYzZnNBNjMrbllTcE1aZUJ4dlozbXV6Z1dDTldaTmdiQ3BLMmkyOVBSMCtlZzlSYlBiY2orbDlkUFJSZ2YyUHdCTDR0MlZ3dlZ4ZmliL1ovaE9LSlQvQjJNT01PS0RubytZTzZFclJOYi95enRjaEoxWlJ2b3hycEZUbHQzNkN1cU1VT2o5bGVPdHZ2cEV1cnRQNXh4K2JReXF0dVVncWcwYk0wcWNpQk9UcnpQdjRSYlIrZXZHN3JKNmhVMFM4NGFEdmVOcVJzdEJ2SFQzWHJLL2xKQmJwVUhVbExjNUJKOE1GMmFqUlJVU0xxZ1RFUEFnVG9yY2RMWDhhU2JqazAyTkU3Y1h6d3dveTlMUm9rVGJadFFtY2c5dk45YnQ2a3RLcFpIeUh5Q3pjcG9oU2ovVlp4U1ZLckRRa1RaMVJCRm1YR0Y5cUZXVkZMT3ZwVGlHMUo2eU51ZmFVOXhSVDUzaHN5UWtiWXlOa01WdG4veGkwbjdBNUUzN0dtRzFXVWJyUm4yZFZSTWRkUWR4ejdMWWdGQmxvY1BxQzVPS1QralEwT29YaEMzU1BZc1NLcmZ6NDgrcGI3b3JDdld4QVg1THBUa1BlbW13WGtpQlJobEJUWitteG9pb1l4eGFEZzZ3eVV1bE1WNm5TRU9heE5WTUJuR01KbXNvLzI3QmJSSDZ1NS9jd3FUZmllRk4zN0d0Zno3SzA1aDhwWFhJNkJIbDJOOGZHMG9hMnI0RnJhY2tCd2Q5eURBSmN5ZExxbndxajFzVFZJT1I2Y1did0RSSjJzSEVpRjZacFF4UGJhdkRxWjVYd0F4eG9vTG9Mc0RJZFVUMUMwWEVPVWx3NUlkZklRRkk1a05ST3NiazRJV2FwNkt4Y2haRmNpQng2Uy9qQXdUTzNkMitCUSt6TnZyblB3S0RKbU1ZZzBSNEcxMXBJUG1JTnlxZndNTWwrSnFsVC9NUElmWHhzZ0wyeGR1ZzZ4ZlZsLzJ4TTNjc2Z2YllVb0dGOUV6dGhFblMrUjJIMjdvait1cC9vMTdMWjFIYXdxcCtHZHc3UUJCb2IwUld5SzNIUFgvMlUyRmowbCs0T0lFZzhZWlZGRUlWNlFRZTR2cENDSXBiZEYwS2x5V014UFRFVEg3ajhIMHlCQWJvVnE3Rk9QV1lLQVA3YXk2dUl2TmZkTzZiditZZmZhalYrU2IyMVpNN21ldWlTb21jV2REdlYvN1VUT0xaaEVWZTR6akFIRDRObURiRXo3RGVSZm9ORERsNWR5UEZOWVU0T3FnU1VWMmp0MlhkMVlabVZZbklDZmYrU05nMmRZNklUYlYxR1JVaE50WmVnMjNuWUpMdktvMkV6MWhqckc2cjJhUWNsNWZucFZVS25kdVlaZ3FpallzdnZrQnJ1OFpBQzVCOW9MenFOdW1SQlI1K1JsV0ZESVg2eHY4cmhWRlRuWVl3WXlqS1hlMXdKTEI3Y1BEREU2aFF6TTVDRytpSC85NUpBNUFqRHdySUZCZE91REVOY0UvMWJqdjJ5Zm1sL1FwakVYZXhXV1lDOHc4OGpkbUdCQ0pCS1crRWF0VThYVS84YU5LYStnTkxKMU13NkRON1hubWd4cFVUNUFtVU4rS056THR5Y1ZsWVhwQjc2UmNLc2xYQTFXZTdmQ21xMnMxdnV4R0V3QUpCWGc0aE9TbFgyNUp5Q3VYcXJJK3l3OGJWYlc1Y2piSlV0NHQyUFFza0o3Y3R4T0pZZjZaRWU0TldvOHZ5SXRaa0R3cDJ2L0EvVndZLzNrUjB0Y242RXg0SHhxa0xjcFd3UnVsUGZLMjNGelRmRzhqckJKYnZJNzVRY0Q4R3lmSDRYVWtranhZRmFaNnZ2L2xROWk3b29kWkJiSm5uWnFPVkMyRlhVZFoyL0VPRzZHQUhnNnpLTTU1MWRmZnhPbE5sU1JuRVhxNzZvY1RVdkVyK0pZZGc1TXdlZmJBT0tua0VadVVZVzJzRk9VQUR0WTlnTmpPRUE3MGRjQzZybjJFMmx2Q25rR2I2MEVKMWpISTNUcEMyOGRLM1dRN1VmWGJKK20wQklubmFFZ1VLajNZeTJDV0hPQ3lvNFJPNXVNR3IvQjQvT3NldU96V3Q1QmZOVWFJUnF2ZkNFWCsxWU1FN1d1ZWgyYzllMFdFSW5XTHQzdmxrRHIxaWJWcE1SeE1aREViNHJFaW05YzUzMjkxTXFPbDMybDk4cG84WDdEWVZnbTdnc015QXNZL1ZSams1Qk84VENSTXpQc2I5VUo1aCtYdHc2UDkvT1dXd29ZUmRUWHN4Mjg3WXo4dWRCdzFvU3g1Z2twVXpsd2p5eW5FZzQ0S1hDMm94TEJldGhqZkdkWU44ckZsRlBxT0p2TXdLdGZYSllMeFdFWWpIdndYM09laW5JYk5nU2M2K1VjMnZmVGUvYm1JOWFnb2I4UHh3dWs1RVF5YUtOc3l1QzRmdmRyTGwraG1NNWlkUGRjYjZiWUk1OVdZdlJqRDg5NGN3dHRLYmRCSUZsQ3pibjFuVGd2b0JEcUxra2M3MElxeDVaZGRHZnp1ZEpkeDRITUdpenFQdTllOFk2a3Y4eUZ3MEdNRUZObGU1M00xeFVlazhPY1VwN3BDOGdxWlBjdnJ1eWVMVXRvdHIxL3gxT3AwWE5aaWFtWkFQaWZzVGR5TThQTVUrS25nNVZzN0hUYjgwN2t2NGVzL3hlRnZpZ0QzVElZcEVKdS8ydkQ0L3RzSk9tQUlHVkFXVkJjNDFlQWJhWmtUQndsa2Z4RENxeGg5bkVEQU55T25PUTZ6Titibm9SZlVGNDljWXV3RzAwaGw5c28vREVCa1RQd0xZN0JkZTNzQ1JQNEMrTnVPSERjMzZ6SzZ2YVVwU0I1WWJuQ0FLL3l0c3grdEoySVJrUHpaenZkVVJuOHlLTW5rYjR6K3NvKzRIbndiVDFjcDBSQ2dwQ0hOamxOb0dZSkZKNTl1NHBwUlR5TzVIdk1jaUYvbU52WkNQdkpuQlNNWER0d3NKWkpaeG9FaTc2REtibUZ6b2hhamoveVVVQ0o4bzZRM1FIdG44cTlLTGx6NjNCcTYxS28vQTh1VDFSU0M3bmYxR0dnd05pT1lkZzE1Rm9DQlFFMHJ0bU9relBXM0NaZ2d6aGl6L0pQa200OUV0bU1XOEZQVkQ2bTR3MklMYWhZUVlCdnRJblc2TDNFV2gyY3Q1MFNuQzU4anJoWkxqeWNOTUx2Z2RkdHN5R3hzTnVZSm53NjRLTGNUYmFQNGJYS29TTzh2N1pwdWdRUUszeTNHMUk1N015OWkySXQ5djhvLzZDeHhKMjZETytkWm0wNHNTblA4U0NCNXpJd2hFR0VuQ2FYUVBQRzNkdnhpRHBxUkx5WkM5U2JjeThoZFo4N0ZiaXBFK2hTUUVlZk5XcjNoaXhWS2ZvUHVUcURWbjQrZ1pTMUJEa2xTa2Jac1YwL3RFTEJiVk1nUlhQYkJQdU1ZdVc4Wk1lQitRaFBHSGVRS2x5S2VYQnFQcXN3SDNhRUJWOVZONEp4bTl4K2liRmFRcUdSWmdTbWpyQVpvVlErTytVa0FtUG1sZFBXYUVVMVFXWVJVMmMyRVB3VTg4T1hKY0RRd01BVHd4OW9QMEQ1V0dvM3l3bnZtZHI1ZkNNZVd4bEJSak01OUtvbEFEZEpyaW5CR3ZjTjI0ZGtKb1RjWWJiT0VzdXhUN0k5ME8reVFDcGRNM3JETWlOak95M1N1RzFzTERyUDlKd3VGWlJYRzEwRklsMzRqR1B3a2JXUWtjRUVzdVRGRjM3MitOTWMvbXRZZlkwZU5XamwxQXdLc1dFVDE3MXNaaTdvUFEzSUNnWTRPTmg5ZmdRK0plQWVSYU1QQUVxUG5seGhIakJ6V1RqVFBoVFVyMzRLeTBtODN1bXhFWEVzZWRrRXI2djBkNlozd29wVys5amVvcEd6dDBJc0djY3NONlJwaUN5RFk0d240OFZLQUo0em96S0RyMnVaUkdubDdhTWwvV1c1VTRNNGhRSy9jWjNhaytvVnNqbW03bUs0QmFxQ3hUM1ZWeWNCUlFwNDM0WUhobGNSTENOdHUxTUVvRW1Zc0NuU1h0U1hPVzdPelFJeTVXRVNLMlpNeVgvR1k2QUFYNEJUaHp2RnlhL3FjbGNCOFRkajFyaVBqUXRQRXpvcTVScjVBeWxUU29hU0FGTm4zYUdIUmJBY0QxOGxqWXAyWXV1SzJHVE5KZGRYckRzRlZpekJtaVhBRnBWeXZGUlhPcWplNmFmTWszaSttbjYrOTVMNmd1TWhDSDBVMEROdVNta0JpT2h1NUZvdkpzK21XbmVDc0Z3TXI5MjR5UmxJYWhYR2o0U0VGM3lDVkJnSS84UVg1YWtwTWcvMmRXaUhpN1l5bWdNY3BrVi9keVJKTXlnU3BXbEFTdEl0M3Bhd1JteXBnVFFpZS8yRElwS2ZqaU5GNTBycVpDNEhOU25NUTFOajJUTFBsckI0UFVBWkppa212d0JoV3JndjlSK283dTBmaHdkbElIZEhWSFJoMGZFREpGUlQ1SVByNkdDZ3ZEckk5dzNjeGRwZkl3TG01TjNxM0VuL2FZMlpLcWovaFFXcHJYbGJJTjF3UWE0eDZIOG5vWkR5YnEzREVHNWk0MmlMRHl4KzE4WDVmVWI0bG9yRWF4NDJUTlpMbCtkWDcxbUgrRHVpbEFjT2lScHR4dXdPTEI1bUd0eXlWb25CRFMybVBIVm9ZRUozVnEzV0lJK2FBaDc5bHE4aWJhVk50TkF6Z1orUjBiLzZqR1lSV2hPT3VzVS9iVUY3dm5ocnc0ck9ERkVzcHNvMElub3lHNjVQSTRPR3ova3lBdlBYbE4xdW4yangwMDJqUU10RXlVaVlRYVlUZDVaMUFuaGZXeWZWNStqcksxb09iQ3NMVGJpTGsvNWFBSlB0Z2tra0RHRFFlRGt1OSt0SDhWQXJJNVV1ejA1MlNQQnltOGtKVHhPRVFyWThlcXR3S3RTYW9xRS9PUGMxZXl1dExPTXdsNlFVMlJsb3RHbXUrRko4MVVTNUJMVG1BbHZtVklJQlV4QUpPaWJncG9kYmZmczNzWG1mSGtwMS84YURuNGs4cHRGb2ErUUR0UUNDZVUzb0hoM0hJNXc0R0J0anh2QXpla1drQ1NUMHB0Q0t3MXBqcVB4SUZaVGszeUxwaC9LN1BwZER3TDNRbVVmMXpOWmdiL2czcTNIK3hHNW1FOXlKRVpVek9NSWp3UmpyS3ljNldZcWdHUHdiTzRWZmZYSWhYMHRuOWUzRjJ4UUk3MitnaG9KWDdQWG5MZ3lDQXJXbFYzb0Uybm1LOHd6Y3VabXZ5MGhhcEgxM2M0VDhReUJMSEdEdURZTXJFVjNqTXE1ZENHT0FUUytxYVl3RTBMa0ZVN1JkVWZCYW5Na3hOcXZiWnZEVWdMeE9FSWJlU010VXgrWWUvUWZCT3ZvbldVV0JkeDFiczNwdUtYQ05WM3dYL2Z0dDRWbEJrVnRYN0JLdFdvWEJ0clhGcSswMjR5L1JibGFmNjZpcGgwVFVjVHgxNlRrM3B3V1BzOHEwSVBld211Nm9hN1VwNE9RZXZvbFVKOTlqQVdHazdhZ0E2dXhjNytSWERuV2RhQ25mVW56a2lOTUJ0L0dJNldZeTFtdTRCZVhPdnhVSGxCYUNnU1FLa0hYYStYSUJxdmRzdlZaRWJHcEFvS2pndnhSR3ZjRVoxYzNsU2dLcmdGQUVaZlpiL0RZWXZtSjN3VlNLcjhKdm1YUjBxSnBtUXZkYjQ3bnNQQ0t1dVlzb2JjbGk4b21JeUlWNXYzY3ZqSkc1WVMwZmVhQ0s5cUNMZTJ0cUtYOWUzNzF4a0pXczBsU2ZCWVNXTDVuS0c3YmI1bC9LSERrNlRnR0o0cnZWN1RpSmJyQzJ0ejA1SVFySUxoUVNsbkYzanMyVWdxN3cvZUNFdkR3QW5EMTlJSTRNWlRBQzJTSE1zb0ovdW85bnBuQnIzWUdkUlM1aFB3TzhOeGVXb1poK2ZYTGhxUDM1OTBRNkFDUk1oald4cS9WRmVPdXlCOWw2akNDcXZBT1NhY05PY1BvSStLbnUvc0tYY3R4dFpycXozNEJwemo1aDhrQUtVcEo0aGY2UFBqc1lZa1NyNXhKMTEzdEVXek1DVjU0VENQOU9PK2VlRlA4clZqWHYxdDdvZlhTb1d5R1E1TE9PSHVJYWdsY1g3K2JaSW9LOXJZL3djSHBGQVpFTnF1RUFhMnZRZ3p0WjdwWENDSXZCMXhHb3RRWkZuaGh2Q2E1QmYxRHJlRjdUWFkvRi91anhPcG1JOWlIU1dxSTVrYTB3NE5ZdkhjZG1rRXFYbWNEN1ZUQ3R6RUE5SHFQVWNRekdXRERZZUZkVit0d2dRd2RWYldWY0tVL2pQQXpjZjY3ZTljZ1RGWGZwUUJvWWtZakw1aTM4YldOeTNyZXhQVEhIbGZSYk5nRFVXRFJsUXBpbzRxMXdPSmxCY2luYzVGWVdhMzJULzB4QVZmVUZiemVZWUczT3FKd1hnVkhhSjJnM1c4UDZzakdTZ3RjQm9wUG5sNmJSdkp2VlFOUEtTOXNrUGVMSjh2RGNLYXprSk5DNE5oODNvUVpKdmY1L3BNWC8wdWNnOHJTbWJXLzdIUzJGMHozSWRvVENVNC9XYTBLVEFSeEw3TTd2cHFuWUZyeldVd2l2WGliSkkyUEtNeEVlRERDcFZSVm1yM2VxZjNob0Qza3crakFKTnM4TXFONGRaV2tFNzErRU5OMjFsK1pyZFlkcWtlWHkvMkZkeUp6cGNWaTF2RkkyYWhLaUNJTklnWXpaTm00eGtzRUEyYkl5VW5VSTJpOUVCT0NLYmRsR3VtbGw1QWU5SFFBeWd1a2lGYjVqdFhCYUpOaEs2MFdHUHJZRjVqNlV3elIwTFlCL2pNQ0ZtUmduSVlOY2MwZVZxQ1pnR1pZSC9sZ3JiU1JWSWt4c3FJV3p1aVJzOFRXRGtkUUUycEVzTUw0bjdmMHhkbFZQdjkvc3NoS040bGZCd2NxWnozRUlyUlhsYXk4M3YrSUdaYUJoOW1CK2NxUHp1MnlnU2pUUWpWdGZZSFVXd1FjMjNpeG9FL3puaUYwMGJQQ2dVOWJLRzVvNzRIcHFQTU5rSTV6UkxYdjJxSC9XUTBEQ1hWSEswZ0F1MGtkZDcxNzVnMXZWRGQvWlBpejdhN3JNZi9jQWtUbWNaZDFxQkVxMjdFK2hTMDM5QmNSa2czWFNyR3NPSEY0NDU5OTl1ZGZaTElLTGlSMnpERlVvaHREMjZiZTh5TnRkNDdyQWVEeVZ2bXZqeDdhUUUxcXZMeXVwODlWT2pmR1lCQis4cUJWSUhvd29tQ2RzaGtWc3RXU3N4bEdMRTdGK3lHeUNXTDgrQnZmMkVoR0QrNVRLS0ZyTWROZUMxYUtlU2hSaFJndXp6cG55YStQY1JXQUluN0gxK2dSRHB6RTRPd2RKV0c5M2dsRTFYcnovWGdleU1UaDR2dkhIOXFvVGdpdVJmWm1vQWZ4YTNGN2JMemF3bnpVemEzS3QvNUFkcWVNbTY5NXR4SncyMDBGOHNneEhtSUhzTUQrWmdJekhuWnJGYWh5QnYwQ0FhWFpPRVJJdGp6UW5jUmxkZFM1QWtBc0RQdzQ0V2hXSUllNm9HdjZGSFBzdzRNWmd1WE1tZHpKMStKa2NGd1EwR0dzcGZ4NG4yOUFrblBmL1NxRGdwRy8vYmttelRpdWR0S0FOamo2ZyttZ0hFNGhSZlUvdTM4a040N1pLVVNJQlA4VVFNTTJKNmRjaG5tak9XNjBiT2hUREFaTGpub3ByRnJxKzhvcHJtZk5Zb1dRWlhlR0hrazBwTGpseDVaV1FoUmZ3TU8rV2s3NGUxdzJQclRuWTlmamUvSU5taFpXUnVFY3lsVGpxRm13Qnl6U0JCdDFCaTJZSTYwYjZab3IwVnJqdnBUZTducEV5ZWh0dDVWVVFUYVJFbFJ1TGF5TVhqc1RCenR0SC9hZ0NuQ0hXdUtld1ArRVoyK1pPVzdxZ0JKK1BKbXdudE5QNmlXbUlablZ6UlBJeDZ1S0lzN3BPNUpCcS91dnV1TGRmSWdhTnlrcTQ4ajlhYWVOWHNFMGRKVHRhdSsvbzhvVi92TWpOYXNoaC9DLzFsLzNjd2UzbmtvRlNKUlk0VU9POU1PRlFDSjVCd1VodFJmbEMrUDBSS01jNmtURE45QTFVd0tYQjlTbEhKMTdmdWdMd2h0cVJ1YjY1aHdqSmxxaE5qYWdkS2s0cXIraDVWWXZqTS9lWW4wbjNDOE1Majg3cHFpb2lSVHhqdFpEZnA0TGRKdzIvblArTVZLS0hsczlYVTFjZkx1eS9XTmZ2L2JkWmhXNzNkN1dQZktUWVhjVmErT3NqVXprNzVtdG5abS9LTlR5dG1iendGU2pGT200cmZPSFFRamhmWnNwd1JXWjB4b0tiQXRLRTdFWWpQVVdFa2FQTlpzQU9Bb3EyNUhWT1p0NENrREQvcWJjLzhYRTdBejg3aG8yWE1MSTZaK05VVEdrZU80M2JRR0hGR0FGMlFDYjNQajBzYXdsWkdOY1AwbS8rZjV4ZVg2bGl1b1VyWVM4eFhWU0JTYnZxQWI1VnFoK2VxV3ZCdFJIMnJmWVJWWWhmOTA3VHpJalBuTGRaUGJES1BPMG96R1E3RkhuSzZidFNSRlVmV2FMeFo2VjBVaWIzQSsxRk9iTVBmNzYzaWQvdDN2MjVQdDRqWk0ybjcxaXdRZ0VueklrNVZqNU9ocGtwd3o4S3hRNzVYQXQ2c0EvYXhZYnFKWXZhbUI0UjB6U2ZDbDlPRndqeThQMDl2UDNtNGRWK0o4NlNIY1ltaTd3MU0xeXFBclQ4VnhFYnBSOFZWOTRuQjRLRjBmNDdPM2NRc2RjczFlUFlCYzhLU3YwWG9aSHFYWUw5d2pNYnF0QTFKZ0pzWEZaQmNETFM5aFFpdlFoMjJncEhDT0RBOXJrOVg2OTdJanc5Q3ZSclAwMGcxVmlXY2NDbTZodFc3WXVUb2dweFp4bmhJOHB0VmpNUnYyTTBQMnJFdGpJaVp3cm4zZEVUTmt0QnIwU2h6L2gzbW8yaGhPc1Y2bzEyVWw0OVMramIwOFIyeWhzeC9neVJhTHlCdHgzbVJWLys0b3FBYm0xa2pseHlZaWJ6cWRuSkFxTGhiTU83aC9sa1g5eUhDREsyWFZwVCtWVm5HY1RzTUxKcm9Ua2NqdEt3RVFYZnI5aEdSbUVmUDQyeWNCUXhSWnRmdSt3MVNEVGRpTUFRYzZzVWJDczNKM1g2eXpWb0k5aHV6NVdodlNiWFdZRS9Camp4SmdPcU01ejNWY1Jidm9WTEg0R044anBTWEVMd0R6aDIwWWpidUhhYjRlSUUxOTc5RHdaMUpIQmJtT01oWWV4WHBtRGVZa3B5NlBGSzJ4TkRuODlGR3k3YWUyb2drbldhcmFVYzIxVGVkR2ZkNFlOK0dDVWlnQzBwOWpldC85ZjVrV0VBU282bjZqaHI0Q2d0SjZHRVppT1YrN05MdVcwdjZQMEs0MWZQclU1dHJtdWtBcXNTYTNRamw4dHNCNm5sZEpMVVlORkwyTXc2VkpzTnMwRDBJaGxjTGE0N21iRlpqQWtLbXhhWGJGTzBEVlRQY3BNNzl6aTNHVm1oZ3luUm85bVU1V2k0WnZOWDJVTkpoS2VLekZuNnY5aEl3ZGpDZGw0UG40ejZsdmF5SThiWmkwbU9jb28vN21JTFJNemw0QVplbGhwQmlOb0ZOems5K0JyNzVPNUcyNGlDVkZBc2JUNHRHRHJtWmEzSnQxNkg3UGFjQ1E0bEpOV29TdGlhWTBjb3MyU0pFeVV4M1c0czZMK0hYaEcwVVV1bnBUandqOVRKdnB4VUtHdnhSODVvVkpXdFdDMmROZHUvWW0vcUcvU1pSRUJvWXp4cmNrS3JVZVAxMjBmbzZqb2tkb2ZNeFVVNW50b0xITmJ2T0RiNmtReEM1R2JlZ29DKzRiVTQ2QzVtbkhnRStKTStGVGlQTEhuR016N2M2WThRRnlFWksxeWFibk1IQkpUeks2TTFneEd2YmM0c05FbFBOTzZMWUs3R0FGTldRdmgrbzV6QjhwNnVUM2R1QmkxU3BDS2dzWHN5Wkw1cklSd3lBMURDRUovejlTT1BYbjVYamRNQXVLVnhyRTlIOVZCUXM0bTcyMG1SQ2ZEQXN4OE1lSlN3UUFpR2RKa2NKbjFuOHBmdXVrRkl0YlZEUERrbFFOcjhVNElEdWlCOTNnWGdDdXZRdXFtWXh3aWhxUXNMaWNvUUtGWk95MHFadmVHZmZVR28xT3dabzBSZjJyK0Y2K3JsRThEdmlCOXFLQ2dBTkxGL25BcHFyOW9XT0ZVZ2V4ZmQ1ZllyT2ZvSnA2NmN6TUgyY1RDbW5SZUJhTjRvMGR0L3lreGNjWXp0M21QOEFsWFRMQXVNallKYk5rYW9obXFqTUlzUnptR2s0N1czU3R5cklmams3Qmk4RzFZREorT2c0TnB6RHgvdEVWYUdWU3dMMlZlRURkd0dQNFdMRzBtTEJjK1FTUlBtT1RkUVA4ZXdkUENiZHJpSXJ2aGZzcEN0czdra1B2VTFucmErSGpMRlAzcUxEb1c4eVBpU0hkRmNYU1JTcFp2bEh1VTM1VDhtNXZid094MXd1dkUxcGtob0pTbFFCdVlLcnRkMm1PV01DM3N1cVJ6bkF2bzFDUzdsdjd1dHI4YyszR1pHZFJualZ1QmpIMENUOTZPQTJBMi92aUJjYnBTRllaQUJQQ2ZuS2hObWZsM1J3bEpXNVZyS01LbVFVNnI5WjgrTzdBS29ONU1uYnZTa0N4UTJNdlF3dmlHU2RucVQvYWlXRjZmUnJQVHZIT1F2bjRWakNZS1hkZkNKbEQxekoyY0ZkV2daNmwvZnNYZTI2bVpYUW5jWnJOczdIbGszb01tZ3gvTHB0c2h1WldCeFA2ZU92b1p1YnlUczlSNlZHU0plYTlXTWg3Yk9scEVjdTgzTm96SkFSR1pYNXJUM3RoRlBzVmlsYXREa3lWdWtwOW5PYkxLVEhtYmUwS05GdFBpQ1dLZ2V2d3pLaUptandIRXRHU2JHSmNCeGJVY1Noc3hWOHVDdGVQRDhCKzdnK1QvWHhYLytPMDcrZ0hBRHFiRjNwYXF5NGtlMWI5MmVzMlJQb3g0Qk91Z2FqOG9GaHpqdE9UTWR2NWtkSVRaakZmaDVxTXhtcnFsK1FDQXhrL0dUQ1RoS3I4ZWJrQ3hrOVprS3YxOXBMVFhob1ZhWGhxRUFodVF3ZTZpOXZCejJEd283UUlkbHpPYW5YM3F0Nm5qUVdpc2tIZWNCOE5GMGVackt2ZXUwSVV4TFRHMWJ4ZnhFS1lUeWM4cmloTEx5Y2RRbFdTQkpJbFA3YkROZDhHYmNTcWxhd3BycVBlalZmSFphYjllOXd5SnRUT1pacEh1NWhHd0tJN1NDKzVRMHViV0M3MitXdmhJNjM4Qyt0UGRKQVAzTEZFR293N1FIeE9xMitYNEtNUVhHaG4rUlFZaTk3WXNhVEh2US9pN0srTmh5NGxYMXNod1FxdjJNVnRYQjlsN0JEWkpFRXUyaXA1MGlkTjZPSzI0YmxldjRIaDBaenFmS1J1RkMrRVhHV2cxQWhSV1I2ekVIUk13VjJCY2JJTEhFclRLN2JiNC9XbXVML1kzbHFjZTQ5S3VkSUVUVEx6ajNZb3R4cVI1bWdEUFZIbEZwdHBFYnd2Zm5xZUVabHVYeVBzc0NDbVNSNVJXSG1zR3IvWUs2bjNGajk3eDNJajE1Y3dxblZBN1NwQXZ5YTJXOUpYVStuaFBjZXdqZEJiR1JpblhpU1dIYVNYU0dhYmxZbHkzS25KZHZlWG4vYnB5L3BzUVI5bmRORHB5Y3ArQ3d3OExnL3pNYTQrVlZnMitxMWViK293VmdQNjBHS09sd2paUHR2T2FEdHZJZVB6My8wRDQyQzFhOE9nOC9pSnY2MnJ5QnBiMlV3ZXI1Z25lMjhBNkFnYURoL1hBVHhRVzFJODNNdHQzeHpFRmorZzV3Mnh1WVFYODZyR3FwL1ZiaDN0bHBZM2lDNHI2R2hLbWZsNnhLNXQwZG1iTUF2c1hDcmhJMUlndldGRzBlc3hxYzVQNmQrVyszSkQ5ZGxYSW01TXBqN3VGT0JYZTF0NWRaTTBzTVFPN2hOSitTV2VXMkExQjZLRFNKRnJYN1FuSk5rT2dhNS9GOEFIQVpvWWk3TDBnY1R2cUtxU0RQZzAxelliVFZrNXh5ODBiYVJQY3d2YTQ2N2U4d1ovRGQ1V1E1NHZvVll3RmxDVTI2WlBwTXhueExuQnk2WTZmSFh5aTdvRjRyaUdPZWZ3b3ZQaitvcnNaWXQ1Y3g1cDRHdDJHVnRJZmd1d05Md0htcTN4QmFXQ3kvUGthRjFBRnkvUHZhUjdEbjBLaEtMOG9QcFdSQ3pMTWlxVFRlMFc0T09oUC8zMHRnWDVtUENjY3o1QTlmQ0R5NU1UM0lIaHdFY2NFWlNLUmR3eWdLaFZhWmhYM2NhdGFpYnBBRVlkZC9pZnFDaytWMHhvYmR3S2tINkJLWFp4T3BCaU5kVWxtYzhaZ3ZQbkU0WVZzcGo4ODk1eUFpV3VVWXpaTFdwc0N4WkJGbENsajdNWHpGZTJRMzZjMWZDeC9LWUZ0R0dwd3ZNYmJxdVdQSDVRWmgvUFNWVk9oL2ZRUnBFOEN2VGdsQk85RnVFbDBpUlFEeGpQeWdySkZNQmJLYm9udFR5V2lXMGIyY1BJVmtIcUF2YldtQUVnK2NXVE5WaHYyaEtHMk1pQjVNRTdSdW91RXFCZmN5QjVlbkNaSTVjcjhHMmpvTHQ1RGVYeGp3WUNrLzJqZnJmN29tZmNrQmVaOHhFZE5JNzdIVzJOb3R5SWJGVFh4UlRwdjl2NlhUbWs3ODI1ajNVc3BNaTMzYzFwREdwTDZmT0NDK1AvWkd6QlZySFBrTTk3cE1acmFQOUd1Qm9HYWk4MTdaWnA2RDljRzhFaHV4ckZOd1BlUWJ5MFF0eW05dURoL3JKOGxuN0c4bHhrM2dPUWFLdnhraGVTMHNwcEJhSDZKVXFHSHBXRngzbUczbHFiSE05cmxHTDE2QW9XL0pxcno4OWRrU21yY3hXMW5Rek1uVTNaaFVmNzFEWEw0YnhQT2M4SjNKVksxSE5EWUdKb3NFblE3dnBNeS9NU2FGRHBzaU5KSXBIY2RFcVpnYnVocFVjaU5FQy9PNjFib2ZpUmpNWlVBM09kYkFIQ25oOE5hUDcycENxYkFpak1jVG5zVWk1WnhMa1BRVUhIeUlTa3kvMmU1UzlHdzlheXUrbHY1UDY4U0pqOFNSM3pkTkNna0lWditxd0gxTFY3ODZaYVcxZ0ZQNHFsUVNFWHc2dm5ISlZ6Z3A5L1VKSFRPNlRJd1czejU4OWR4SERDRTZ2TlUzTEVjSDFTbFEvT2l1bmYrQTh4SGJEbVJ5NklZUjVMaXo4TmdqZlBnbVZRMkFOaFYxTWxRTVlXZmdYTDVEVE1lYVNvVVJ6YmlpWmxUZ0NRZ3A4TEhJY21NQXQybDhKQ29hamJSdWticWtsbjhIbnUrb0Zma1FRYTBIWnpxV1NsK2ZrTWxCQis5ZkNUSDJjTmNBS3hNVjVRc2gzMGlEL2ozZnZzL2UrSWtqWjBaZDhmT2hZMy95TkdUT2NaQUxleHAvT3FzRzlLL3BiTnpUUG1WZHUzOXA1b1NQOUUvaWlSTWlENHc1RjdFSzRPcHBndStBYnQ0MUxmMnZKOVJ5VjJBZjZ5a0JMRWxFSFlYVER6ZXlnYkNYaG9UQVd6WVJyMGRGK2lQYmxPckI5MUFCbTVUQm9WdlgxMlJoVHhnZ2o4enZXOGJMNnZrSGduNFNYSHZEUWlKQko1bVpKNDVOWkpxMEt0MW4yM2VCaDVsUjE4ZTRNUGgxa0lUNmJydU0vdGpBci9tc3QzWWpDdXI0V3k3SWlpWDhOZGcxZUlGSHU4YldkWHpLbjlaMG00c1NnWFJFK1g4bVFOcUVpakhXRjlYWWRnMTRsYlh3dTVIUENjOWdoQmZ2L0ZuL3VLdlZxaUhDL2xYWTdQSmh1RE5qd1VtSnk5ZWVaTjA4MUYxOWR5YzdFL0V6dVJqMC9pYkQwODE4K3lCbmZxcmc3Yi80b3F2ems4YVNPa3crYThabUl2bHNiRjRyZDJ2djVvMDJyRDkzM0JsVDNFb3ZmUC9QQzNjOEJnQVoxVHNPanpwMnUzU3ZXL3JGQ3AraHlIUjUxdlIvSVN1M3FNcEtGNnZXNTM5VlpUYjNyeVZESiswQVVHMDNMVkJxd0dUTldKRWR2TDBUYnRGcTdqUzBLUEEzWGY2b21KczAxVHcrWHI5RXRuaVBmaGJOVVo2MU1USjhNYlBFY0ZQTHJTSUgreUNxaTg2dWtudy9BZ1hoR2RUMk9PNGxLRHZLTzlkcjdOaW1aaUNtNStzTnlLRWtRUGs1bjF3NE45NitjV2g4YXdYVXhvOGR0NXNrUmVXcG9JdGVDSUZTOHVEUFFwNmxYN0N1eXZGUkhYUU16NG5oWDJWYWdrMXpOVERlNTVCdXlTM1J2VllRUVRGVWxxOVRib2FzY0dGallEZEEzZWFjZ29BMFYyZHNnRzl3bVh1U0lIVWJiNm1Sd1JNQkJmS2F4QXVnVWlnWEJZbGkwM0F6dkxCbm82Qy9yRFJYZkgwQjdDYkhkNGk3T214Szd6aUVzU3JBdDRkdXlTS3lIZER2VDBVaVhsZ1U3U0VNSkk2WVRNNlZiYnRvVzFRanpDUTh2dFRsMlVTWXdMejF0KzZPaUpJei9qMERWZXFaZDRoWkc1QzRxSHVaY3RvY2JIL0Ztd2pWMGVXMjVLMEJpaDBLYWdNVXRsWVZubjVKZVVMdjcySWtVbGNQZ1ltTmtBQU80bVcwQVdYU1A2WUI0cnhScnFuZlljNm5mb1FZK2k0NWtyOGZVT3VJZDRPN1V4ekhhSHI3Mjc2SzhibUw0OUR2cEdTRERBOXVVQ1FzWjFxM01oUjU2dUR5aXNDd29uV0prcjM0TnFueisrWHBoRTkrVmh4T1FmOWRJOTEydUFjQTNoZHQwZWFCdG9IcUMrQ25naThheGt0bkhDT3hUeUtXNjBmeFBPZERZRGpaWEZZUGcvRVE5RVlSV3RoNmQrNXVtZ3RlWVRrZlZUZXA1akI2U1JhZEw0UVhKSFEyeXRpcy9VZ21aTzBFdytDemRrK2hkMkNaaGU1TDZ4cmJLcGNpOUpycjBTSkczM1h1anNSbFhrSGhFSkp5RlM3WWdNMEtIREl0M1ZXNXBETEJMdituUzc1b295cExyQ0JmS0FVK28yVW1LaUpEWklheHovamZZbk1DeFZ4YmxEMWtja2oyT2lXVUFzbkd2WXdFcTJQZXJnYUZKYVI5eTJ2TUFFRk56M0czR3c3Y2s3VVJ2WDRXekZDRE9sT0RFVDRCY3VIWXdYOVMvVWVmMjNyOWxNMEJDSVZGWkZYaVRWRGdYRmJyZVBsaXErMmI4M1Jibk5yTFkvK0xyK1o4MEx4d0RDc0VtVzE1cmZqeVYwY3JhTkJua0MxeCs3Q3RyT2ptYzAyOW82OS9jZSszcHNKdHNUbnBNQ0hoY0Y1alcveHhCajh1S0dleVNmc1dVQ3VaVVpsMXlkQ3pHdnVjc0ZycUo4aThhUEh4WGlCSlpLOWY3bnh0ZUo5OVRlVW5qUS8zTVlSYU5xS3N0c0hpL0tROVF3U3ZaNHdzaHpVN1JvclQrZDB1QWk3MFFDdzhEUytiMEttUm4rTzM1NlByMFFsRTUxemJSNExzc1NNRnFTYkdZc1VhUm53M2NPOXVVQ1htSnpPS0Q0cVZVdUwyL08yaXpvcUJzNjVvU09YTURrUDN6Y0hmUVE5S2xROE5BZWRkdGgxK1pjZjFDaVFqKythWVhFRDJYNzErMVVJaTNkVVhSTEVwRE1Bc2NSanhyQ0RNV25GU0pTd2FuL05WTzRQdXovckc4RWtDNlE1MWxCU1VhK2h2NUwvRzJqMnRib0RjNkZVUjdrTCtJaFJFcnlobnZqbWRPSEtFSkZzWWp0cEQ4aVl4eEFINC8xOHA1cXlVRjhlZ2sxbDlaOGkwY2xDMGREZEZlckRvc2srYXMrRkQ0QmVsdUNYbS9FRGxseE95QWszMEtDNVBvdjFUYTJ3amJvNmFnQnBnTmFCcHVjMFEwb2p3UzhldFZ2bGs5TldmWG1kdmlLdjJyTHptdlV6QS9uT1p2b2ZCeVNDZmVUZjJJNG4xWGxJK1FBOUc3M3V3cDFHM3k0ajRLUG0yRG14VGovYzJ5eHVnR1VsOW1CckhobnZkbGhjSlVQdDdRR2hUZ1pQVElpWUVrODlGYnNMdDBtRy9MeEcxMXBLVEt6cDFvK2kwVjE5enh6ZVpYUnVJempvK0pVYVk3NE1vT0xuQ1lSOFduWTl4Zm11cTlDNWY0QVdQVmlBbWpCK2VzYjJtWm5rc3FVSFM5bmZ2emQySDFkRXArMXNrSG1DTFRSazZuKzFqSmNSTXNkNlp0RzltWlpxaDNERUZib1Z0OUZLYWVxYnJ3V1RURW82QVNBZHJvd0U1U1lBRGhBN1lrNmthM0JPUjVpbkQ4NW4zRS8yVEE3V0ZBVTlSR3FSZmxTbXRRL3ZxK3ozdXZDNmVhemlXeUtJUHlzNjhhMElEbFBYSzU5bzNsdXhLU2ZGdTlkaTU1LzdwY29IWWh0cXlCZ3cwK3haeGxRemdzenRLZTk4UzRmYWZNRG1yZm95d1REZVNYTmZvNmtWSFE4ajNXWTdzS1IyVzJQY1NRSmxSV1dBZHdTRXdkTlZ2alkxN1d3bjBBN0RoR3E0SkdZZTJuRktHZ0N3UjVlZGgwdXZXL1lqRzdZZC93S1F5SUxTZm1OVXBNWncxNlI2REUwZ1dhRjUrY29UbXVWMFVPazk3eG0rNG0vMWZyQXpidThwS0dORUFkNTZWaHlSTzh3NjNsVWpUeG9RcXZ1Z1BoUTQrTkVESGlSd1EzYStjWlcvNUVVSHNLM3prQ2NGdzNYSEFhdWZpWUZiNlcyY3Z6cHdWbWV1SUZ2T0dBbnZ6WTZpclU5UEZKM0ZpZEFBY3Z6WVEyblRhVHZBUmh0NzlmWWpLUFYxLzl6RDVKZVNzUFZ4ZkJjRGU2YnQzMENzc1lBZm0zbU52VjQ2dk4xS3VYRFNPazlnSVRZV1RTWmpldFkzeEQ0WmVNdU5LdFQrQm9DeTFyMjNZRzlCSkRzeWl5VW45WkVRMlkzSlpkell5VXN1Q3kwczJDazZUcUFvUXkwR1VaZzVaY0RiSGpsTzR1Rnp3WHdlZ1Y5K3VCVE9SeVFDWU1mOCs2dFFOYzZjRUdYQlo4UTBEaFlZZStXaWZwNUxBZkJ5anprcVJFaDhoczVLVzZ4SU5sL2V5bk15OUxnNStuNFdaVThBTE1pYmRaTUFZNC8yN3dFSXlMNGZUNytKdDNoSlhXdUIvY2pMNER0TUhnNzNZYThwN3E3TjczblpnMzFEUTlIUlA3SHhaWElLRVJVWTB5dzhZdE5qdFdvN1RyYnE3bTA5ak0wRE5GQjM3YkRNb2NwS1hCbE5sdUM5SWE4ZnN6RGQ0ZFh5VFErYnlUK1d2VThuLzZnbzhTWFhxaDE5RHNBRWhyalI2RFo3ZHFjQ3Z2VCtrZ1RmR0ZQVzNzbHZvRm0rK2ZDeFd0UWFZMjNRNWVRT0ZNaU5uZ2RQeVUrOVBlbWdRemhwQk11NFlTRW03M1VodWRCdmFCT3pGL1BpYWpaL2FPUUtSUlVtWDFGY2lNVk16QS9EczlXWW84eldvUzBYWVdGYzBmVHFMUlZEQ3kwRkJTVWlkazdxa3lUUHdqT29yVmZpUjJkUUtTK2s1OWxCWFA4cE1nNlRMcmJSWHR3MHdFQW9zUTNidnFRb1NYM09mSW12bWVNenhpY2FsMEpsMEVicjdkaGxHY0lIK0xRbGpiMEduMTdFRjdQTi9UbmxBYkE1TXlYNFUzZE1BaVhqWmtJTE5vS1FhcHZITVMvVS9rSGdSK2FuMW13d0g0enRaOU0wYmR3MHE1Yk5kUE5YaGNZUlVzOXdRcUZ1T29MOEJIZTZKQkVhaUpsemJ0bEhmM051ZVU4M2JJUWZoQWYxdStpb1dBNHZpR0RhRG9FZFJFcUZGa000RDJpdWJIMHNUbzNzQkk3NkZhRGVtbUJSbkswcE1uQkVTQThrQ3krc1lBZm4yZ2lFYUdLRUdKeHVzR256NVlrdEdPZFJFbGtWUEVhNC91NUdGT2ZsWnluaEVqTFJYS0MwYVorMURqYm1Rek5vYXpzaEdBa3JBaFRFNFpCKzc5dWtvNDJzdXhScWZxcC9zemNHdWhqUjFTQ1k5eDBaV3VpT01HN2xORThBVXIyNjltc2h0NTdubG9nZjRHOFBjSDJZczJhSTVXU0VVT3UwTWxwUkY1blVzOEJ6bnhtNE9zdkhMK3hzcHhXRi9PcXZPL3dsclVOblM3YmorZnB2d29ZRE5OSmp3aVBYeWd4TlRPdFhTRVlod1M5d051K2FpbG5yZkI0clBMVlN4cUh6N2FkU3NGUDFIcU1zSCtQNm5qNnNQYVlWYkFIZUo3ME5tUzQxYlVzN2hSUHJrZFpuMmdOS25xemtYdWJybHI3MnAvQ1MxaCtTT0RpZFpBUUs2VXJscXpvQjR2bWk3bzN5VDFMaSs0d3dCelNmZEV0dmU1SW5FRVgyMEpOcHdpN1FQSnFyYzRQQi9iVzkwc2ppeHBoRnlrY3BtK2Vvbkg0VHF1L25ZQ214L2h4TUQ1QlNJc2srT2FPS1BTamgwWkJHbXhTRDJaM0xqNWg3S285VCtkdlNhUjBEbGhpQ3hmeG1DMDJGTk1yY05kN1dJMFdaNmVhNFByNDRFZ3prTjh2MDJ4R1JqVXl3RCtwM0JiQ2dTNlhSZDY0VVVHc0cxQ2pXdlNkS1JiUmczd2d1WFI3QzdYZ2lnd1Q5bzZicTNrWkFrZTFmb25ZVStrQWNsQzhXeTZvdmxPbG90T3kzb0oveG5wRTZNZnYwQ3F4d1dxSUtHUDZYa1R5VldudHJya1F5WlRja1liMDZyUEhrK1ExYVpqOURUTjNvSFo1b09Pc2tKOFVjUzRLWTUyQU4xZU1pZis5Q1prNGVYMmNSS2J2SXhQT28yMUtZWStHLzE2TmNWUzVxVjZlRXBFeVFDdER3VS9vaXp4bS9qQVVuMkxCcXl0a3JJc1FtU2xwc3ZCQ20xYThCTC9hbWVOZmhuZVdVcWZIUEF4SnlIUW5ZRmt3TGhEQytmTm1wZVgwRGR6OWk2WEpDVndPeDBvSVdFbytmTkJlUDBPd1VXQWYwZkg5MXIwT0R2MndIUE5HVi9rMWpPUFdFWmt1dkNKeW9QbUZSS1F6R3IxWDV2U0t6Y1pWQ3R0eUxFVlhLaEpDOFBnZlBXVS9nczhzSEZlcURTOWRkSnBmK29FVHUvYXhpVzhha2JqOERQd2hwdjF3bEkvV2txcDBnaGt6K3NmMDE4SFU0d01aMmhTNnh3anZkcHdCdTkycTdXMVloMVovaHd1alRwN081VmpsSlRsYmRSL3ZwN0laZThxdFRTc3orQ1h5NmFyN1I3cFoxMW9IVW40bmxxaG1rZ1Q2Yk1yVUEwWnJoNDlpeG9wYlZQU3RtWnRjUnFXN2xYN1dTMDBQWEVSeit1RVVlaVZkRi9uakVHcEpScjJwdmZzQjBJc2xGanBRU1oyZ3VQZVpmN2NybGtGLzdHQ0h4aU9iTm9tNHJ1aXFlVnJnSUVtSlRsbmFQRWdCUDhZOE5Mdk1sRW5neFZBY29tVE9EeGpXVVdSS0NaWlN5OXFnZHN6ZWlra1VqTE1lL3RQa0ZXNHdIU2QwdW5SY20reEJwUkFFVUd3dzZTRm5IcFZMYWJUU3VKZG15ZEFxbkNiOXZMT0RhNTBISFBUcDV0aXNYVmdCT09wYThmVmhVV3c0VUpNZnVOSmJGQnJudjdUZWpLN0g1ZGR2Qmc4b2ovSGFsdGc1QU5qcGNTWEcwd2ZTMUMyM2FUNzlicHNFdTJTdXppWk9ZeU56ZEcxNzdBd2xwcE8zRXRxU0doM2VDV2tZZEJ4QXB6aksxbi9IK1hySjljM0lwdVBoOFNqK2dFb2gxWDdaLzlob0k5WjU1OHkrczRJQlowZTlURjB5NTE3YisyRFN1M2dNK0F4NmVGOTNOdVdYV3dCSUtETnRiempOeS9IS1RNSC9SbWpWRWdHd1hIRnZrSTgxYjEwSkE2bmxyOVdWUVd5RWtSMC9CaUxCSDVLQ3BOWVB4MXVSTGlvTVNxZU9zQVRVeWc2R0VWSktMVEN3ZysxcUp0YnR0NEkxSW8vQ1B5QUdYMnBacUszL1lmOVkvYmxTODVrWk9kOGdpSTc3Y21uSGdmanFrME5UYndlWWl1VklQSm83YkZzRGU0anhFM3VzalNXczZtL3kzbmc0bXpsSHc1UjNqckJPY1M1UDZIYVNENU5SUUw4K3FlZVhRRFJIUWRNNXVkalMvdG9vK3JDa1hBcWdzNnpjd2ljQ2ZSVmhkakJpVFltVEV1TGhVMzI2TnU1QjhYRFR6TjhkSVhBNUJKZEllQzBrd1FxRmY1b2hEQjA0a3B1UTNjTGNad1ZwTzdycXpWYWhWZHlnMHpaek9JQ25QNnczeitwN212Rmp5V1JiUXNvWWV1a2ppaTZCcDZTdFdtZ24yTGRMWVE4bmd4dmZPZHFlVG52WGZsUGdydExmSnlIekJHNElxREpzb1RITkt5cGEvWGVYS1BiaFVHWHp4a0lDMFQzSTZPQnlnQWp5d3ZjTnlCaTduaUFQNklkZzZEQjJSUnFKaS9RMTBxRkh2V1JLUVNvOGxETFo2Nm5FeU55MGRlQXIvSDhKalVqbVJFazg5VGE4RmpVWVZXZTV2eUxqZ0JYVnNKVzlqeHQwQnJzV3pLcjhpbk1xV1BhbGpwT2xEa2Q3NmFqNkczcEtPWHpGT056SlczNjRZTlEyd2Z4alRzUTZqK0R3VXoyZ3IzbjFIL1crV2ZUT3Z0NklkVElBQ0NnR2R6azMrKzNTMlVZbW90MUFZbXZUZURrMjdHTnBJbkhPeXJJNkZXakZqVkhxOVZncHlrcUkzQ0wyVXFCUE4wNWVGMUJCMnVKM3BDVVNsU0RrRVNGQURycjlkelpnTS84YUszRTVUdGtHbFRHWVdidnRjSXlub1BIM1VsTFVpekJtT01pdjFVNUd4Zi9jYWVMbDBYUHNuQWQxbTJtZUkxYUlGb1BndUpZbEpndlFrYnFadnczS2QxQ2RxZ2lNSE5qVENTYlJCYWFITXRpbUtmMytpZllqeTY2TERJVEV5cEl0bTBHcWQ0enlnemNwMEY0OWpkckRoQmJ5UXhWeXZGTC94LzIxNUlKSmtXZ01JZjZNVk5STFdtT1h1VHA1cjZ1RDhGMitHbUp4QWhUMG5DWksybXdpaWNhalU2R2ozMWxIbUcrMUYyR1FjYTNaeXYyOE41YWdDNkZnblVhUFN0V2ZWd004Y0tPTjVCY3YvMjhhcitMMS9Jc003THBRTlQ4S2xJSDlXV1hFNlUwaXJ0NGlDUkZlVkN4ZkxRRkhXVThweTErcDlLTWFzWEwzYUM3aWNLbjN3Nm9jSUNEWUw2V1B4aVVuQXg4Mks2MHRxN2piZmt5ZjBoYktQeVExR2RyWmNwQnZWWVBubTMyeGhwNU01cnNldE01TUphWEJvU3pXZUJram5jMmJnQWFmSktUazFnUnhKYVp0dnl3UTgvWnZFMVdkZnFtdzRrUXRyY3pVNXFEK2lreTU3cjJOZTREeWw2dVFqMUkrVTh2anl2blNZZFlOZlRXQUhWN2szRWNDVE5FR0c2Rk9lSzcxQ1hPUnlFM1RhUVozNjFteHFZVjZCaUdGelB0UWVxTzlTaGEzMVF0dHFMT3N1SWtRRVMvOUpmb3lWRlNQQjdBVlg3cXl0dm5lNjE2aEhHcmxEK1A2Wkp4Rnpwd2l0MS9JZXdGQkRTaEZvaXQyS3V2b29PaVN5QmMxcTNPU1RpRHhYcEdoZWhKdnA1NzBJdHB5Z3lWd0FBQmNpR1RUeGl3dTVwRkRIOGZzNzdXRDRQWk9UUUNlTkRnSXUxcjJyMWhjU0NqdmpMTlNJVWhkZUthT2gvemV5bG1MVGh5RXdYQmtvZGxvbWZPOExvS0kxZjgxUUhrekxtV0EvTWk5RENHbzl4RUszYzU4QVlZYW9tVmszc0FMU01yaU1yV1FOREpqaGprTVBaRElScTJCYnpIcHpyM0dYazRuMm5MNjF0QjV0UG5LOXFYcmhBdTE2djhTbVRMWmR3UE9mVjhkOG15dGJKUHR4OVJCNEJQYTRpM1B4ZHF4eWNmNEVMMDlxRUZwLzhycUZkSmc2K2ljSkZTMFFta0FmdlNxSDVsblBEMWY4Y3ZzNzJwK3ZiT3lNcHpVSi9aR0hydUFkcG1PUE5EZUVSVkRrTU9Fb09RZ2hhZldlNVJiUUU4aFRVSkMxaldDOUNTV0thSXFRWmV4dTdDM0dWYVhzTFp1MEVDM2FDT2UyTjR3UmVrNG9rVFE2YlFFSnQxRG9UM0VMUkFESkxoazJJY096Z3RqcDlhNUJOeUVrQUxMdmRxaW1SQTA0L1ZGcGpKblBUclRpSVVZSm5LbTIxem5pOENhYlNvbUlEWThlbHlSQzBFL2k3UHV5a0E1TGtpOHp4RFg2WDZ0WTFOWDZCeGFTMlM0cUNGVjA0b3F3dFJzc214dEgwTDArRVdjZUNTMWp5WW1BNUkrcHM4MkVIYStHQm9JemQ0T2NKOG0yYldpQ1dTWWZ6ZjhVcWwwWityUFpMdzIvc2pzWEQ2a0Jjem1HdVkvVTdOODhmRCthUVNXOERBbDlKRG1haUJ1REhyVnU2cGh4ekJzb3BZUHZ5T0k3ZitUQ1VFaXVRanYvOFpHT0FrMzUrRXVhRUgwQ3l4MUdvWFh4aFl5YUJvUVlxYkxHNVA1aEdvckEyL1JCWWZ4S0ZROUZZVU94SDBKcmd0amdwbDV2ZHR3dFhBbWlYdzVuYWFtcENLTEZUTm42eEEwMHhwamdMM3ZkeXdXMEp2WTVsTUlIV0hoT2FxVWR6S0dyN3ZZZXZHOGszMm95MStqdk5YMzRodGVpMzZRNDFjQjRhZWJVdFJGdWkyR2NZMFFTQzc2ZDVCY0NuSmRwS1dJM3poZzdoeWN2aFNrdHpPK1NtOGxPMVloNkFXbjBLNHVoSHZwcXc4elI3RUc2Y21tdXQ3dENWS05uYmNDb1UyZ2NIU1RraXd0MTdxZVowRkpJbEsySHdpY1NLUThyZnJZbmhGKzBvSmF3eDZkeWh6WmtYMjdkZ1hsaHN2RUJvM29aVjFyRTh1aDdXT0I0THRta1lKdHRlR3VRWFNEMFdDNFV4VStvSTkvZGM0WDJKb3dkaEhtVVpHRnJweVh2ZW9qTUh2bmdWakloRkZZbCtnK2czdnhlbkkyVkFrc0pFbzJGcGpGTWd0ODBMRnQvUitzcGVPUnNtb1Z1eks2MWVSc2R4alhHU1Z5eWp2c3BQOEFlb01uMzFLNldING1BcXk1eFcvbDlPRmNOcW45N1R5V29jOWFmbmF3ekphY2tYREpiZ2tmdmRjMXFzd21nVmFXVm8vVUdjVlhweGpPYWh3SVMwZWF3SktFcDd6eTlSK2RCWXJOSWoxa1NsaUkzeGtNUUZNeWgycU0vbTZOcHZVOHZZNzZQcFNvSEc3azlaS0VXN1NyVG9iYjg4SVRSbXZVb1JqMkVLQmJ5bHluVW9WWXhLcVhDYXNJTmlNTUhRMHJtMXZpTC9ndmdoK0VGd3d6MHBveEhpemVhVmVPT3FzWENZVlZIZ2UxOUd5WnJzMysxSmtneDZCcHpGWmZidkV2VXlSV1BQQmV2Qkh0UnIvb1B1NzJRTVN0dXQvTjVoSy9nanZwZGhtWldIUU9MMFBZZ1pSUVAzZDRZTnJYbjNIcnJJK0JROHN5R0tnYjZDd05xS2ZsQ2UrenRIcm95RnR5b3dobGx3aW9JT05Cd0pldytDYkgyaTZKNU5QTFIrb21HLzRvZ2NvQXF0bWdUMzZ2WFlHVHZYOWQ3Y0JXSjJla1Y1eDA3bVdrYlN3eHZvU3ZkRkpOdmlqcnBZWmo2aDB6VW5KaUU5bEZQMDFrUTRuaEUzVjJ0aU5RcUpVMWRoMTJTR2VQREJjK0xYNGk5cVRJTk5qYnZmV0pqWStYbGF5Yk5IQmpYUFRxT2d5dDZLeFpPVytQeGFQajZaU3hxblJ3cGZSaElTdGRnQWNDN0JQYVhPV3JTc2tKU2cyUDVFa0lWOGlqd3RWQ2h1TGROWWREZ2RrQlJ1b21od0R4UkFtVnpkYnZEcUQzaVE1MkwyVkRpRGhaMDlhZEF0U3JSTEVMT0t1MGVQK0pQdlhTT3huYUE1b1NncnNVVXVSeVhLV0MxbzkzdnJNWFFBUWx2YmNaMVdLZ1ZaWHRLaU9rVHE3YmgwU0JmOHE0Qi9hRXVyR3dwa21McEhyME0rL0RWZitabUJwaVJKOEJLTEJuWTJiRG5HTlVuSlZKMXdtaDlrY2dHeWtIUTdtaldTMlhuSGZDQjdBeDAzNEl3WCtkNjFjTCtkRWR4Wi94SmtYdlF0MWYxMFRJc3M4SFozOVB0bXNjaUtTVjFNTEpHZTQvNHNWcXVremlaK2FQNVZoeWloUElkYjJwTzZFNjhuSnNmK0hMQzhPdFdoSm9odEQ5QXpkb0RUVGNKWndIY29iTXJseWxuMG5TcnVtUGFUUzIvVzYyaUJhV2h4MUliM0k4MElONEhiOXFRZWFuc3VyVXBXTW1mU1hJd2oyR0VmZ2orLzU2RVFDQTBPM2FYdDlOQU8vRm94Y1JmRjZkUnhLdmZ3V1phU0UzTXFjOXpEZXB3TDI3Q0pTM3pHZ00ycUwzR2hIZ05NaU0yZDhyQjhUQnVKc1pQaWdmS29mRkpmREo0NGQwQ1FNU2pNdVhmT0FjRUc5QXNzN09uVlBHeWlyMVBzMFZUMkh3RTlWaXlWZW5FVG1iaWI5SVY0MjI0eVM0eENsNFpOT2hyY1FpTStubDVNQTMrZzR4dW1icU5HKy8zdjVaWU10U0NqdWlSMFFnMGR1Vm9kUFFReFRhVkJHWFpjRmtLQzBVaEdYSkpQN3FiZ21TeGN2aVl1M2lzL2crY3M0dk45ekxyUC8vTDZYaDA2WDlWaGJtQzN0TXFUT2JuaU50cTIyYUQ2eWMya3c4dnlxdVlzTzl2TzVlUVNDbHFXWmdGallvaGRnajFiQ21WT2ZiY1JZaFFwZ1YyYzJRc1daalpNdUhaZHlHeTdoM0NXZGpvNjk5RFI3VG1jMnpnbVRwZW5GZWdCb1RQM2drTEw1YUhBU3FtajlUNnFzbnJvbHVscG9yaTNkL1dxdWhPUVgrcSs2TmdFb2J0RkJiY09EQzNWWStPdG9mdUdaV3dtTmFHaFVyRXJHcDlxeWdOYzJSZlZiNTYzNlR3QjF1b3dwUmprem9CWlZ0M0QrOU5yS2tKcVhIMURROG5HZmVQNnFzeDZIK0lDRmFJYmp3T01UU1BudXlvTzR0T3N4L1k2T1EyWFNBZHVvSUFkV0trYkQwc0hWVVlISFBkTUROOTJ5MndwdHdmQ3ZwRmprT2I0WTJLQWRDcHlEaHRUNmZEQ3AvWFpkaDQ0QytIKzc4c1MwcENqcnFRV2prZWdkS2FZN0EzUjBWajBJZ04ySTFCVGxmQ3drQ3RmVmZsN09EYzAxWCtLVURyYWhhRGoxZ1M3dytUbm5XYVhWT1Vyb0M4ZzV0SWtWOXNQSzBoK2ZPaWZMdURsRHgrdS9FREFUSHFxT2xJdzVaTTVqTkNCL01Ic2RYNXloUnNiNVNGTGYwR1Q5VDRqdXh1eGUxdDJkdFR6TmZWWVgzWXlzenVqdUNJSngwY2dMMzI0SjN2dFBaOTgzTlNvM3RPUkQwRXFycVJBdlc3VEwrQ3pjRFM3VWVJNUF4ZDlHWXdBNHR0dzBuNVdtNGJQR213Slc4anRnajMzUFB1Y1R5MUJFWGhCbkZGTDM1YXV2MnJ6djRKM1UzNzU0bUx0Sm9uMnVJNzQvb1FpR2VxQmlIUWcxbFU5VXFobVNpMDd2bFZ1bTFwWTVOVFpIYWVaZi9GNzg5RFBtMXErNzRuSG50S1k5cTNWSDJtOHJxK2hIU2I2MTBzUWE0NGZJb01XVENWZmN2bFZVRlhFVUZPNGphK3QySmUzd3BGSnk3cUtvTnpySnFrb0JOaEI1eUNWZUhRalJyN3lreE85UE1YSCtzQzBPdlJDOTg5MDdvT2ZsSmp4c0pmUElYUW5lWWRTSWxRQkR3cmVMU2ZlWnpEZUhOZnY0UVpFMlBzQ3RaT1FlMEhTQ3lVNTQ4T1VUb1ZZSXNkdzhETTNxeDdhc0lYeDlCNkt6Z0JMblhwL2VESHJPOEFJMjBCNUZlcngrN0tUbC84TVJONXl4empGakJXcHRPQmxxc2k1cVhMdkZjeXZIbklsYkRuT1RiMmtQMlRJNjg1bmNXWktrTmRydnVYaUxNZ2NlVzNTRHVsMGFaTHBUYkJRaUduWXprQzg1QUxQNkx6VVlLY3pUUHY3VDNFc1AzSVJReUhtU3piZmF4NXdWZjdiQWFFRzlEQ2dPZHFRMXFZUDB3RWpoS2xJckM5ZGxRNnA5cUowczRDY0VReHYra1BZWFBXamlVT2pNcW9tbjBxRUJwTFdQeUdYckd1VE1KdlZSaU1qSkRTMDlpQ0puRE5uN1dzUTBJRURKR1JSMEpmMjRXc2pIN0FodG9mU0dKR2N6ajZPVncyQWRTZXlHdk1TVUVRS1J5c0NoTkRMTERmUmZKQUxnUDFyRHJxMUhEa2RLdXV4Z3JkanZoN3kvMFYySnJzNUZGVDZTSC9JekNaV3lPQ1JjeTR5dEdzM1UxRkZpL3RDOVltN0JjekxWYmtqQjdHNG4vR2hSZnFxa3MxTldMZ3dlNjhVZXB1eDRGbTJVa0ZzeVR5TXRwb1g3ZFpSU0ZXazg3UHhONEFjcjZEYitZSUMyZWg5WE1WdnUvWVh4cm81Y3BhTW1lLy9ZOXNhVHdwTUpuQXp2K0xQczNTS1h0Vndiek9pY1BSZGJIMFpkK05MQUFTL3RaV2p1ZjJkdVdYR2wydVEweFYzNzM1clgxaEtqR3lxZm0zS2hDU1U2ZDhzakp4OFlPWktqZjdzTkZRQUlTaGhuVnFVQnRQZnJJRnBSYzZoVzFSc2c5eE94eGF4VHQzTDhwb1RMS3VHK3Z0V28zZnlqbFUxaDVTUkh0bkRsRTJtQWxNWGtldHAvTkZwNGZURDZrMkliM3B0dWtWMFVTdkZXYUg1Y0lnbmc3dEEra2RKVkM1YTVSZ29GTWtQVlR6b2wzRStOT0VTQ3gwR1pLWkZwMS8yVGRSVExqZ2hpRUZ2S09OUmVJV0FwNVZ6U0dESi8yNDcwUFd0TkgxWENtVGxnc0hqZTNWYmkxSitWQ0RUSi90dGFFR1o3cU43c1BVTnBvV3BuRUo3WHVlWjVheUpsckYwQkczaDN6UHNlQ1lERGlaOStkR0E0RXNndmZJcUJqMkV1ODd5N0tMSlJwcGhWQVRzUTFxNXBoN1psSFpYM0N2azlXZGxoYk5KQjVNVSt0V3Rka3hBeFJxdW9Qd0xGcXFZb1ArWDhpdHFabnFSUWZyWEFGYnlUYXZEKzlWQWpiV0ltZkJKUlVrNU1XQU1DbEloMC90NW0xbmhFbGRYYVhkeGduOC9RVmliRzI2L2t3Q0dYbVgzdUk4czY5TFlPZGxvMmwvY0x0eUFYWVIvclJqK3BLcHl4ck10M1JkbENJVkJhOUpvdHNRK3RCT3RiYWJ2WVo5TENJd3lPOVN2SS9KTzFYcjZNMi9uTE50QU9ibmtLUFRvV01BeHNOcEkvNEZ6VGZXV0NZUm54eWxKenRXUENSVUR1c2VhNHhQUGJVSk0wYTV4clRCcGlGbW5CRjBhdjhyRGhDOTBOeTFlL3VsaVVTYTl2S0tSVGF6WVN4MEU2bm1Id3Njb0Q4dWViTmxIaHRDVGlMVzIzcWt2bTNJVjZZWlhuZWRlVFRKMjU3UkNGWUZPNno1UHRmRE9WYlRqRjUrUDM0UzFBOWh6Vjc0L3lhRTFiY0FlVjF6c0pEVEo1bkQ2emNkK1hUYUt2eURoblExOXVCc3J2Nk82eFhDN0JTazlMUHFwOUxsYy9mV0ZsOEZhK1hET0tVWTMwSDkrdzNDYnZaU0RKdTkvQjgzUjNTM3JZV085SVJibm5pekZmbDdRYzkybjRJYlBNODZWbWpZM2lQbElXTTRzVTFzN0RxOTBibHl5a3ZORDR0eVE2Y2lLci9mVEUyY1RnZjlCK05RL1lMdzdLMnVlYjVzamtPbFR5Ti9lZWtXaXdyQ1BFL0ZFQ0phMURxRGR4bGtJNDdVQ3RQcVlwRHZWZmZ2QkRDZ1orKzFoSjhoaGRMbXdUNmwrVXJrK21pc2dGUEhVeWphUVI4Tjd2cGZNNjRWY2JLWUoyNy9JOGQxdGtaaUR0M3VMc2srNjJvTEJNeHZ1a0dqRWs4S1dKaWR1KzdYVktJRjFtbTFUcm81T1J0b2NDU2JhSzdzTTREUDE3czMvNnYxOGlwMXo1WGFyZXJxYWhIRVI3STVaWFRYbG5FZXdrOXR4QWgwOUVZRkU5RTAvL0JhaHhaYXdibGl1clNqNFhwWFQrb1AwSUh4U1JPVkRackIvQmZiV09FWlpjT2hxUzBXdEJZQVlOMGF0QS8ra3JYcmZtdkErUWJLdW1uam8wYmtvTElVOGlFc1dYeVVnZzB3eWJ4NXdDQmZpWTd0MlcvRk92TzZ4YXZTSWVIMGsvMGxsT3RpT0dzVmt6QitiL2E4TURYWkZxZndqaVpHY0tMRHhzUjN5eUJXTDNDMnFYcWVrMThvYU5QMkFhWFJyMHVDUEQzR0JpRUJGa0N1OTEzczRIWFNOMXNjVFYxYUlPY01ta2QvcU9xcHBxQmxmRU5sTVVOVWNNNFVtVnUyL0tCd09YT1Y2S2FHSFBPanB2bXh0N1lFQ1ZIcnRLenJ0RHM1YVFJWUQ3RXY1OGc5U3ZOckc1VlM2cVdwQWptK0FLZnV3NnN2Z1AybitkcVg4dU9ubHVGTkZYK2hkaE55REQvdW9oRW4xMms2STRZWTFrQXIvSHhUekE4QlZCd1I3d1hHaXRBSDMyV0Z4UlJrU21PWlBFVjNZMjJNc21tTDNSY0RNMjAxRXpwckZaZlZBOXk2UXZPLzZ6K1BDR1RXNit5UkhQSzB0dE0wQ3VtZGs4YVI0UCtmaCtGWFZEMlJ6L1pCbzhBT0p5cWVhMXJ2Tmdnd0s0QzYzOVdOdHBBblBlL0h5bVFhc0VEbENrYlVlNkpKaGNqazNZYlJLVVB1RlM1d3AreUtNWDZacEFySElYK2dWc3FxWElUNDBEdGRJeFlEdXBUbi9KUXNHQWhtV1VaMncydHZrS2xjZXB0RXpPU3YxUXp1eDRZcVdwL2orOHJIbWRBdSt2ZnZZeFYxNHN2SW1kalplWFNoczViUU9VZXBWU3k1d0owVTllMzdBcVM3dXNkMU81c1drVnF6N3U5elkybVZTRmc5VU5lL013eWxNRkpkRjdYSDRIVFZZVEJjc0tjSkU2UkpKb1JsN0EzWmNwQ0ZvdDdwL0JYUmh6eFcyalVxc09UNVd3azZJVkQ5eHFvdTRVOTNDcG43WVhaVmdBYUlFVXIwM0N5Y0hnK0hvNFUxb0Y2Ni9iTDR2UkpwL1Bpc2pINTlWTlVwMlR3NVFxVDl5cFlheXpWOStUUWVFSWU2UGJjVDhpK0lWSVVLSTZFWnRZUEVMVWFicEszMThIZEtkUEoxdENRUkpFcnp3eGxHSEkyN0wxaEFZK3RuT3M5S3RuRy8vZWFXZkVkdEpod0tjQ2Mxa0hYQ2xRZVJ2SUY1R1NlMndWWFFLVWc1QVdteU9tN0xTczNoR0ZJOGFYZG8vS3NyWExyRGZlZG9UWHFNVU9HbXFXNnAxUVlocjBZRUduRWZKNXdDT0h4V3RmcUV0ZDNPeDlWQ2FFNEhOSVBOUkdaeUZQYzdOc3pYU0E2RTZSRVNia0w1K1F1L2RzRk9DUFpUSTFPK2Y5cUhWMm1SMnhtSWE5V0NoSzRsUGx4T3ljOUhhUW0rNE5BRWZGTEpPejNMMHFnS212eXllbC9ESk5XQkVDSlNsNTBTZ2VSVWJKM28wRWZmQXNvZGRJQXgxbkU5amthQmRUcmhTK1ZUL1ZPUitidzBicjdmWHc3RFVpOGNkZ21URHlqU2tZdkpLYlpGdVVDaXNDaVpJaHV2UGJ5L3dFd2tmb3ZvQi90SXJNenpuelVFQmQxUCtRS21ra2VLM215ZUtOTWpOTDFmWUZJb0REYlh2U09MNmlwYXNscExXOEJZcGVpdWo2cGI4REZRNmlpK0NNLzZOZUc2dXhScFY4cnl0czdVYUxnQUJ1T0k0aFR3Z3E5eTNpckZhQUNZVDIrS0UzNHBqTDBLdGtUYkpKMXRTeVFnWHRoelBTM2FZLzZ0MEtuZVFDT3poWmNLaDM1dXRlTjJBajdVcnhUaXMvU3dzQWRYaXQyM21JZ3phemZESStKWmdhSm1JbjU5OWVkeTNUL1lpdnIzUUdlNUw5andzRGZLMytqR1pLNXlSSjBUTmE5WS9CdjBpTkVyTXNUTzVGVkx0RzgvSDVpWGJ5QkY0a3RKMElxd3N6Tk9ueVk3SEwxaW1XWWpjVDR3WXloY3hhdFBYbStSZktoa3ZlTUFReEFpbkNEbFBzbThVb0xGaEFvWWEzbmdCZWZrdUpVcG5TMWIyVllKaTZzZzh6RXRISDV2M2k1Vk5qeFJObGtkYWUyM0RvZ2VJcmVXNHZQNzlHUEtWcFpvTjlhc2lZcjRzZ3hZQlRUelhHL1EvUU41K21NeEZJZlFFenU5alJjOFBuVnpTblU5T29xcGJNT3hZKzN6K2I1YTV5VnR4ZWgvc2RndCtRbG5YZjZkNGkzZFFMdm9KOXNrTlZGNXFDVkpGTHRSeTI3Y1Y1OHZQMG5od3BWUnc1anRIVTRyM1F1R0dBNmVENy85andJUng2QnVyZHBGV2o0OXVOMVd5aHdid1c2YlZBMTdWMjFMZC9XcXFKV2VpdnZIWlRaczdrem5tVlc4RXNWeWFKSkJOZ3Y0TldyTW5VOFJ3SVBBY0tVNFd1eXc1REZ4bUpzblhORjN0TzlWZWY2bFk2UjZCRTA4R2pnZ25nNG5zZWN3a0JIc0JhcEZ5ZUhVL003QjdtTGNRbmNBaFBMcWFaUjNPVEZJS21XcitVZGZyYUxacnhBd1kya3Q2T1dGNDBEQmtsaHcrdjQ1L3BuckR0c2pweVB1VkIxazVCdG9nMlA1QnFnUkZBWDBsdWxMb1ZIUzNXVEZwMnlpQy9VSGhpOU9jUW1Id3NqUFc5VTMzQVhrWStNcnM3VDY5RlBkRHoxQ0p4bFB0NXBjTWx3cXlOYTFQNnhnTHhQaDhhQm1sS1ZkY1RZTnFLV1pqbTgwWmsxekxBTnFsalRRTGV4UzV5dVdPVWwrYkd4Sm96NzF4RWY3OWZra2Q5Qjc2OExwbXBIY3hnWU1BYnVmS0NBWXlXRjJQUTE2S0ltTFhLZ3dldnRlWk9YaWZ3eHNhUFFzV1l1czRzczAxOUhqbUdVcjExV0YvVUVzYldzK0EyOXgyNzI4aEc5dlBvbEFoS1VOOXNJOG0rRWNxeWlJWmNWckpjaFRvWC9sL2lIbWNXaGVOM2JmSHRQZXF1aWUzakpvVWdGTUFXT1pOMWlyWjA5dUJLRmV4eWFMN0IydDRCMzJWWWIwaEJnUnE1YU41YXBBeXZKNkI3b3Vsb0RIZ2V1bm9tV0xueFkxVUdNZmh2MHBWb3hLTlF3UDhBUjNMMGhFS2hTeG1OcjJsc2wrWXBIU0lIcC9SRzZFQzc2eEdnVCt3dFZHbmlvM3JkVDdZMHFpdm1XcDJoS2VXeXlSUFI5RjFVRnBvc1hBazRPV2J6ZXZHeHdNUGpnNlVJVGp1Z0hsQWdxdTlIZUVNOGJRWmg3cnFkV2F1clpRalpvR2ZEcmVneWd1Q0dBcHVsZ0pvYUhVUG43UnppUHkzSG0yNlVpN0dnQmd3WG9qTFlLRzhVbUFXMlh2ckJaNmQrVzA1NFZYRzhxenI0NjVnMUR6SC93UjlZUjVyVW42OS9LeUZZQUtCdGdIcnhlb3R2SWJSeGhXVzJTbnZsVk5Ea1ZYUi9VUlptS3gya1UrNVQ1bXJTOTh1TFRzRmFSVkhnMEdQS1ZmdXFFVko5ZHFyYWYwU2Z6TmRUazhrWDE3bjU3bG56d3I5bGIrZUJoWXR4NnYyRkIrNzdvM05rM1lRaXpPQTV4SDJKQW1TWkV1bnFVMno2NGcvUHJsRmhvTVlrSmZmZzZ3S0dVT0diSytCR2dtWHFteXo3RWpYa0o5dGl5bGpEMTVuOXdSazRkcjVSaEFHQ0JOMUNPbDhwZEtldmlscnk0ZStLV1RTOHYzak9TZ3Z3RHFDV2Vua2Y1RWh4Ykl2QzZhSGtSV25pZTZJYkFTNm1TZ1lQN3JOSjFTY05FUzk2UVI1STNKWFVyNnRDTWRUSUFBUHQ3NG5tQmdFQ1llY3RTU3VBWWYzSFo4UGNvMW1PcnlaUFoyMDA3QUljR2tkQ1hVNTNXRUJIRmdjYkxWM2J0Qk1CYmpBTTVSeVYvV2xNUU5GQ2tlaFB6T0hKU2pROGNOWWs5Yk1vWEY2dlZ0ZmJCYmc0NmdYSnRrOFE4c3o5SE5NTWdSbVhUMldUaEd1SUJXQU5wbHkrY0V1UDFDbmVVckorYk1XYmk3bk5Vdm1pZ3RwVnhTcEJidDZTS1RKcXhOaUowRGJTc3JzQWFramFRbmRaUnpubzhYQ2dlQ2dHQzFtUnVQam04K1EwQXVkYmFNSUYzd3dIdDJkNzJkZkg5SmVVeTFWTmQ0cEJmeEdvSGk4WjVUcG9ubEhYVTFlU0kxZ1I3LzVjc2lSUCsxd3hGSlZMa2Jrd2pOcUh4UFRXZEIrSTNmZk5LdEdWRmE3MFFiUnBIa2tjK3NDU253bnNLVG9lc2VTc0ZBNEgwTGJpL3lPVVpqY0ZkY0kyaWZWeVBhQkRma25yNzAwaEl1Umo2Y1VFcWlDUFkwV2toVFd6SmFYczhpa0FOTzRRMHBobFg2Ti80UXhSMFNMdVJwMFRPcXdvVDd0N1JnekdscTl4OHNDRTVnRFV6YzNIdUwvdjZQVG41NmMxd24vVDBsWS9pRmlVazBHSEgyQmh4aVRETW5pLzB3RlZrR2F5UUI2VjFHem1SL3RURGFLYnNoWE1kbStwSGQxZ2FVVTBPc3E1Skl2eG9VNE5LVHo2VW9ERDJMbU0rRnU4Q01wd1BkbnBxMjFRbTBNczEzNDdmWFJtTVBScmhqUDdFcjJwVW4zQVhqZEQrMGxIeURkWFd2TFJTK1VXNTdtNmNmSEpRS2hNSDlkZEVnb2g1emJnMEl4Y3RQUjBLTFdlY01HL1NxelI5R2p2NlZVakIwc2k5SlVCc1FyMmozV3VJSDU5S3RndFZickNYbU5ZSGRhMFplZGJ6Y0lzTWRjR3BQQ0Z0V1AwbExXM3pDY1NPRWxmdnpYVk5OZkhvdHJtMnlabnNuRDZtSXdLY05ybHp4cnFkZGl5RkR1dEZjY0ZrS0RVVCtWYzJtZHJIZllNUDBiaE8rQWhoc29pRVAxajJaNlI5RDhDa3JFMTl0YjI2VGR0MGNBUFB2THErSHBHVWgrZnJ1TGxKemk1eCtCcGpTZGx1V0tuNHBCVlh0MmgzTkhmZE4xTGRrRVNOVDQ3MTVUSXJqRDM1SGlCWXRLNisyVXFWRTlaOUFvNEpkWnZQMHBZVnJORFJ3V09mZklCSEYzZWVoVkl0MmtqdzduZHlxbXVjN1cycmNUSyt0ckk3SlNqQkVuczlNUlRRL1gzWFp2ekhndmxUOWJtR0NPZ3FNZGN0WlpYa0JCWGFuazU3dG5VQTQ1R0NGWnZvaHdrQTR5dStDaGZhV0FHY3BxSnJVS1d2cHJDRUkwWlhZVjloSWpaS3NmUHdnanQ4RGtqcjdaTnlhSmVEUDgvdk1qcmJ0OHBxRmpRT0F3RFhPUXdHRHU5OUZjbW4zWlFVaC9mVG02N3hodHF2Y3I1Yk5uSlNWMXE3cUhDTlRzN3F0bkJ2OW1wWERBVDY0Y1ZxZ1VBVGx0dWlFaElPVUtlL2crYmIvcFJFVStDN3BWRCt5Y0dlb0Uxc2VKRnVZMkwvMGo2SWJqSmpOY2QrNUtsTklRd1lUYzN5MVZ4d0FIenZzdWtRSVBRRTFvL2hhVTBNZFZxcUYxcUswVzE0TDdNZG1JajJHSXgxdGlpeWNJUDBZSmo2MW16aWVGanBNeXF5RVdyTVVZSVJBbzlzZG9iMnRKL0piZUtqdXBudHc2NDhsWjRYNXVnR0RrZnFlaW80TDl1VkNKck1ZTno0RFRUbEdERm1USy9HcFdaYzBOQWJlemRQcWwyOWRCWFFjaCtDZDBJd1RyNDJCV203MUNKK1dMWXNEUTBuRzN2anNVLy9WeDJuZWdKUGlwQ0hNUUR4Nk9mYWx1WlNqdUpXSjZQWm1vRW5xaXBxcjJ1d3NzNjU5VFNSQjVBZi83VnI4ZFhJcmk4ZFJvWkpvOFFxbFI4Q21NUlcxU3E4N2RXYjd5RWI1VlV4dmpYQUVndFlKVnpYdUxmYVJYa1pmVml4VVRpNmUxbU5sS2xkU3BUaDJnc0pqVDNwa29IdlUvSUVyR2RhMXViM0RLKzBMSWw5RGIrNUlKRUZSTko0N214b2NXMXQ0V0NuS1ZKZlBkZG5mNjh3VklLYnJGWjF6UWxNUTg4NmJpOVpEaXppZnpmMVhUY1RkY2RJRlptczFjQ1p3SnZCYVdDakt6WThTRTJMVmNMYmo0OUJBRnYxVElLWGlaWjhaRmIva1dpeWkycHorSmdRTkZTT0M3MjhQZzNjRG5iQ2U3RWpVRi9UYWpucnVDOGlvRnlpYTJpSXlVbU00MGxRTVovWHE0ZE9XWDE1aFBrMkZXNXdKMTNKRFBsUG1aZVlEVm1hQ2U2YXBkaG1UUkpFK2xDcnZkUFQxamxqc0ZWbFZzcFErZGIxMTM0YnN3WnQyWGRNb2xEVEh2V3U0WGpDMTB1ZXNjTkhDUDRDR1ZlbnNkZDltS3YxTitGWDdYaXI5ZkNrTTdmbWo5UC9lWXo1aFpiZlNGRW05U0VFa205dGFKbDVoM0crYnVIVllqVXo1NjlIZEI5OHBnM2czU0VLb3AyK1NEQWdPWXExZTN2b01GMmVpY2YyMnBGSjdtdlNXeTBmamNIR0o1S3BxMDl6K1ppczhkTXVLWUgySnpmaUFXc2dMT1pXcncvcEZHZTZtSUtsRXZORnZaY1IvUzhXbGlWdE9YcmkrbVRXdVQ1OWJFTmYza1NicTFNZzkzYnBBdURIZnRBa2VaT3JWOUdvb1J0b3orRmFOMlNVWVF4YjdYK3luUGZkMDMzVmZmU2UrN1RObFBtaHdVd3I0NmVnQ1NaaEd6YU1TazFXampTS0xpTW5NOUhhSklVY1NCTU81OUFnRmxvR1k0ZDBaeHJUOStBU2JvK2M2dEdMdGUvVExBbTVyVSsrZnJTNjRxSWJ0OXRJbkVJY2lNeUNxZk5GNXFNLytwVitaSkFIUk5hMGFrRHRKOFhyTW1TWVFCK1JIWTRKYjRYdGNBVHJpbUljbkVTOFhPZGM5YVRoRHB4cnR6bDgzN0dQQmVoZm1saGZ4L2MvTVpyNm1BR0F1K1RmV0JWcklKNFBCa2o5K3pjRk02dnRjSm1vTC9IYnNZd3Z5cFpWMU9VYTNnMWsyZjY0ZGR2MVIrdkJlTEdtN2lpTHRqdDk3dXo5Rnd5RmhldXA5UlE2RVU0YUNUVkp1cmljeWZVbkZnOTV2RnZqT0dyQWxMeTNYOGNsbzZNMWRDaSt3azZNc2VXZkhHbEpLOWI3OVN0Mlh5ekFhaGpyVE51OHVKUGk0aUtNaFdSMFVabzJPRDlIQS9ES3dlMWlWV2xrUmVqeFBYUFl5YTFuRFFxOFlKcUxEbXlwN2h1YnN1dmVxdmlKaXVBUjE3c0NYdmNMQnVYV3hzVC8ybkJLSWFhbXZpV1RvcXZtVTBWU3c3Ukl5a2lUUXdGSGRLV3c2U0lMdTlHTHBrMlliWEliblBrR21wdHZrZ2IrZGJZNUJvR0JiOGNNdWJNSHlSNkVCSURyV0g5NUk2ajk1RzI4c21zOWxNUG45RWFjdlFIeGZtN3BJeVFnZ0d2Sm05RzUwUVAzdjFha2RhMGFlOWp6RCs1N3hOeVh4REdpKzVSd0ludlJxNHd1Z1c0TkxFOXdvQThnRTdwT25qK1I4MkoxekNtZHJyOHBxLzBGZTVyaE9uclVTeUZXYk1CMk5jVm1sS3lVSmIxWnB0MUlUMThzazB0LytDbWxPczJSM0x6WkVZdWFvUHl3NUphdzZFR1R6NGJKZEJFL0ZYSnFGZmc0czlEOGJ2YUxKY0pLOWlwb2ZsaXh6cjZDdDAzMG5kUCtDQno3b2NSQnZEdEJoT1kxNHFtUzF6Q1E4MFhLNytoMUZ5VW5GZ1h6UzZUd1JCR3l2UnV1ZG5Hek9aenNEUGdrT2dBeXNnOFIyQktRdlBpK0tGMGI3NHRNb0VsNGNyV0NrQ2F0VlJ1NDUvcWdFc0VtYzhPL3h5SFZ5Qi8xSVBYM2hMWVUzczhqQWV5WjA4QkFYdTN0TjdkOTB6d0xHK0g5eGo0d0tmTWRxQU1uZEFRMllHQXRzZndlbEUxbUtzNjZvaUpobDJnN2paeVlaOERObGVTVnVFSDBsa25CSms4RDdwSHozNU92UzQ0dytwQzhjZkU3NHErQlVNUCtZd21JTTd1aTgveDhjLzFnd3ZIT1BRR2cxTlZsb2JFTkZITHV6cHljWFFtbDBVRDNQSFVSUFBzMTBhdE5aM2NpVkFwY2RHcmJMbzZiRFN0VU9qZFl5bXFrbXBseHZyQzNzZmJBdFk0ZXN1ajVLWTZoY3h2UU16NGYwSXNtamZLZGh4T1dkTjRWT1o1amxUM0Y4Wkpab1pWUDFQdWdra3FvbTNBMTZPRlRqOEJOSkwzekp6T3ZGUkVyaklwdzlyL3EvT3V0dVBGVk9KWG5pNjlzNC9qYis5cHJ5TXpOZUtvUTFnZXdDWFBxNm1UbW01Vm9WdUltSFZnR3ZYY3AySXhGSHdjdkRBc0U5QW9mZkEreWd1MHlqampCcHByZzRhNjVvV2dpTWh1OGFreFhyVlhETXJCc1lmU2NkUlBJQTJpZ1NjS2NCamlobnFWTDk5bVFyajY1NldReFl0dTBodnFvMXQzZHlGQW1tV1FGSERscU1yclpzNlJOTnlBTFZ6blp3bjRhRHg5emlkdVJPQVpqdFVTUWRTekNMUTNpdWpGcDJiSlVRU0gwb3hPYUR5ZzhEV3ZTOXdaWTh0S0xuU3NSZUZXalVIUHZEQk5hNWY5MEJRYXh0L3EwZ3FMZ2xCb3pGUXVrblovdC85UHBjQnVONmU2TExoRG8veGIzQVlWYTRoWlRoNUU4WlRJeEZEZjUxb1g0aVRLa0xVY0VrZjFJdDd0aEVJNnNzL3JzS1lPMkZ5R2ZwMVJlV3UwZE11OG1ZUnBQUWM3UXZEVnJSUk9JS2FMS1Nodm85cFhzYktNV1VURjh6alFwdnFLb3VtT2ZISVVQM0I5VmF2WnNTbitVdUJnRjVpckltcWxXc0QzbEMvRVhsZWpXc2dFeDg0OGhzWVlGVnNYaXltRXdzTEkzbXpid1hOcUZtQWM5YWpXeEZEeHUxVnZHQmpKN0RBZTk2dm5KRGtsS3g0VDVWYUdHVU9xQ3F2bmVndkE4Zno3SlZuRXo5N2xUdXhCRHF2VXhqZGNoc2MwODIwTEVaajBtQVRsK1ROcENxbVEyVzRXdVcybXI0bW1wN3hKa1FMOWRaenV4M0c5cmRZYmJpMmJ1bHlDazRjQ3h4MXlnRUJOUGttL1JQdmZzYnJoaFJJOTVweU9ld0pHa2tMWlZTNXB2Ym45cEZNSFlMTmwyTkFJUythRVZEUHBJaS9JaUQ3a2hFTXhHV0lidXE5V0hTbVE5MFczc0N0bU5udG1JU3l1RUFabGRiVmMyZUUzNjJpeHJyVExHUFVtcVIwVWljcFBzRzVqS0xkQTZFTWFNTmdTeklvUjBsc3A2K1BXMm5ZNXIwVUJNSDhuSTdNd0RTZEdTbzQ0Z2kvVjNTeXRMUC9CVXd6L0puWFVLM2JNVXZxekVCaC9wNS9JcGpxbzhyQWxtYjBRRmZtZmwxTTg5SDFpaDNaazFNZk5RTU1PV2Vac2FZUWdXSmsveWxUWlJnQ2Zva2FVb3RzNzU0S3piM24vZVJRcmIvZnIrYyt2U1NvU0xnN0JDQk95eDNiUXQ3Q2RPSDNlajZrR3lJd1ZTSFFpVmRSY25SU3ArenpPQkZzWnVxUk1yV2t0OFZ6eHozc3VIQWpkVFp4QUlDWmV1QTRKZHoySXhvaW1wUHB2cStGMERWQUcyQkY5N09McUJmc3NpbUFtRnpFcWtlTFJvUWgzQW16am1pVWZKTjZBdDlGZ05GS2JFcUYvZ3BJa3hqZHJjKy9XZldOTE5iTktVOWhCenZmc2pxRUloMWFxTW5YelZmS3BJRmFQR2hJMHBJSTVPYjZhYnJBV2g5L1RlcUpvNG92NzZvZDlKZ0dpcWhCQTBlS3A5WDVoRDE4Y3JNd3dzSm1oMHZ5eFFtWWZURDQwY1hsdStjTGtxRUU4dDBMcjBXa2RDaXhYblQ0bGNSd0pmb2N1Ykp3M2VPTnVtZEU5SE9BcGY1YzQ4Z2ZSRmI2M0Y1a1BsdjZXbjBPUnpDS1hPT0IrUFBaUlVZM05LODZnQXdJUm5CS2Q0emt3anZpWU81MFNLcEE5VEpuMjdSV2R1OENRKzc2NW1vUlQ1bVZUUDhSeVJ5WHFIcEJ4azhUSUZRb253cE16MTZBNGZOd05oTnlBYkxPT01ZQURkd0pqeDdlRnVFVHpPa1pnS3V6cXduRURFK1UxN1VsOHUwWEN3Q3ZlcmtlUHRpVDBpZ3hoU09meDlTNmd4UnEwampvY2J4c3oxR0VEbEw3SXppa2lHaElSbGlLemRRa2MrOHFOdlN1VWN1c2NTRUpZU1R1YnAvb2FSdmJxMUl5SHdLMUVRUEM5SXVyK0owcXQ0TjI4Vys1SnpQcFoyUDJIU2hVVXdnLzJQaENDT2kzeHBBZHpzZnpqc1Y2R0VFcXVBZldLaHgxQ1c3UkVya1dnNFJodnRZa0x3OGhlVlExb1BNWkxER1pnemJMVTJOZk4vVFZRazRHdldYK3E4T2tMU0hPR2FkQUJFOEozYUovK3k0OVl4MmQ3OXQzQkZLNWFRZFNpVW5tWlVSSlBKb2JKVCtPT1MwaW5oZFgyWmttQ2pBaEQvU1VBb2R2SDFGenRIbldEaUdEcE55VmxFcVFUdHVtelhRNHZpVGk0RDUvb3hQQjBaQ3lESDI5MDNvbUtXVXo1OTQrL0JGS3M5TUwrbXVRT1F5WWE5OGJsSkl2QnhSWU5jazZPa0dLZy9OSG0yQzJqaCtZM3g1dkVGREVnaUEwS3pGMW1FRnp2SCs5MVd4eG5OK3UwaldYcnQ0dkY0M2dtWG9LMzFEWHpOQU9FMUNBWGdFSE5ZYWhyaFBBWmVGR0JIZUQxUWVCV2RlYnZWcHZlUWRHY1drNWkrNGdqdlJsaTFHYThjZlV5UjR0dUkvQ05aK0hyN1BhRkRMRmY5YlN0VWZ0TGJLM2NPUDlSTHZTQlFUSmI2ekdmVmRiZ0FqWVJxV1plc0UxbUVLd2wyTklNclE4Y0JJMlNYWmcxUzRJcGswZThmU1plbFZVM051VEs4akRsbUYyRHc0QjNaS1RXdFRxdGRXNDU2bDNkandXRGhzUFBsNUlGT1dvekUzUHpYazlBWkRGNC8xbWJ1MHhnSkJHb3cwandFMGdLR3BjWHpuTDU3RWRnbzZlWitEK0g3ZjlVejNNV2lPRkZuYWpmanNoeFljWCtYSnBDN1RWWGJLV1lOZ0VtQXJ4b2tvb0dvZmwxbVRzSVdNaUd5QStnSDdsV2VKQUkzTnUrSktVZEtUY0wvK2l3QmVVSWNBTFlINGZtNnlLaWxoMGt6NVZ5TGdtVmxRUVhZZWxUaXprREM2SW4yU3czOGhsUjNuTzJ2ZENpSjZKSXVEdEtMcTdLVnJEZWJVd1N4VzNJcjIzSE5FbUpCL3UwOTh2Mk5obk1RV2F4Q2Y4UUsyakt3USsxSW9JYWdpSzM0aUJiY2JjMUI5bFRwbWtxbVBQSlpNNlg5Z0dGanc2VmYvTFZNdXRvTnFtL2xyOGNEZWdzT1l5cnFGZ2FwL3QxOThvd2JNbXVLZ3lUWERGa1ZzalczUGRPM09EUkRFWmc2U29OUEZzam1VMHZWaTJ0KzNMVWFyUGdudUc2ek5YWldPN3gwemFCTkM3dUEzSFRyc044anRYK2p1UTdwNlBsN1JCbmRqVGRRM3NEZmF4cElXaWdlbHpZNENjbklRTWJmMHdBR0QwbENpaHM2UWJlVGZXejUzbGo4ODBIeGoyWk13bG9nYjgrc2NtNGZ1VUhBRlJNTnA4VXJQOXM0WHFLcjBzQmZOc1Y0RmpoZkUrRUFMdnN6dWVGajVMaFVxaXZtaEJtdGhQVU55V0J6anNsekVpZGpaZlJTYU5mdlhnQ240dUVhcGVJRGgxeEdhbHhValJaR2REWDJIQnEvaXpvT3ZmSTdJc21SNVFLVFRZSCt5eU13RTdGY09xUnU4WGZSWWczRGsrdDd5MjhUVDVPR25Mb3lOQTIvOGZDV2N5Nm1QdkQxVzZNellWQmFVcGFkT0xsdnIvVmlQN3FXdnVXSnRDSW5zWXZIY0IyL3h0alUzbWowOEpTWlJ4NkNucEcrOGFBRmN3c3VXR0hsc1ltbWRoUEhBcjBHdU5FVC9kQW1jbTc2citiV2RQSnowZGg2YzNYU0g4WDFpQ05oWWgwZ3V2NENGU2taTUM1ME1yeXVTT1RoVzVHcmZtUEViSXNHTkNIRVdkUGhSa2tOWkVtL3Z2TW03b0dzQ201NmRMcEdkUXAxRk52L2JONGZ4VHdYbTh1M3grTUtDOWIwbXgvSkJtenJUb1BiWTcwUGNveVpXTzV6YS90UEtEQlY0OVBQckdLNk5OTXgrSTRWbDBSQzh5akF4dkpMQldtMEE3S3Fwdjdjc2Ezb21xbGxsQXp1bGY4cm9SR0Q0UVE4dFFaREMvTWpDZnRjRE1mYUMwSFAramd6eUxuRjdJMy9QSit3bm56MGYyd1UwQmMyOVBpciszN3ZoM1RENTNhTU5FZ1pqajRieGdGbzZFejYyZGI4d0Z6WkdReGJ4VFl4WHdwbnNOTlI0ZC9kUmU2MHJ1bDlaaU1CSFZQbjlUdnVGelRyRDJLbWdjOGd6Q2N5VHdCN3MvYURUVk5VZ1VER0Q3blM4Qkg4MWdPckdsZUlFWWhYU2NyWnp6ZlNDS1kwdjdsUDJPRnNXekcvckZ0VEdlSUQycXZISjBKWDNiZElKRDl3Y1E4b0VjajdwYURBODZ1VDZZQno5UEwwUEQ3QmJRWkFFL21RSXNKZER3TlFnZE1mU0greS9vcXEyNlJ2ck5TbUN0d0RHRnRFaHhHeGdvRmV3ZUhCa1l2WWRNcnA0Y1ZrcHlwTXY3bllDSmgxaHV0Q1p0bGFCbzVTNW9TbEVVaWs2L3VVclh0R3FvZjQxN0c5ZDNoc3QySWFrcmNta1JLd0Z6NkF0VkgzWTFoQ1FjbWwrelE0U1NQUEJIVkRYeElNMkl6VHBPekJjb1BKWXh6aTBpWUNtVnI1dnJPN2k2aE8rVXk2UjkrVElPc0o2b2J0UkRDWklOd3NwWGY3N3ZVbzZhY2ZiN3V4ZGJDMVpuNjIvbDFxdFI0UFNjUFpsdWhDRFRJalNXVnFHSGQ3Q1YyYjZGQWtzRDc1K0gxMjVsZGN2UDNNeTI1R053cjlLMW8vdTBNRmZEUFh3eGMzWmVMM0hHTFZ0Q1BjakZwL05nTEluZzVVbTdTWHVWWVMrL1FRcDVTV0Z0bjZtVFpVY0h4dGUwU0t4a2UyZTZkcTR1NCtQNzQzRkdQaXV2MUxYUEpHZk94VXc5R0dnejlWUXdSb1NzZDBUcDVneXFVTmxLQnBYdzZQZlZ0c0lKNHAzbWFXQkE3M2hDc1RmZ1FaTWhVSlJYdXVmTmxsbjFrb2hMcmsxTW9VaStVU3h1RkFINjYxK3NRb3pXWGRqUEViWUJaMUJVMndzQWRhOG1aT0JLWjVicG92VHArMFR0M0pvVVVBZlB2K1lySStIWk1nNjFYSVBSYi9WTGxmZ2NvMkRlcjVlWE9kTDZIN0ovTTdJblNOdzRkd0FpY2V0U1JMakVnTEY5QVl4NnVuTms5NUZHSHQyenRIR1ZZakl0Q3dJTlgwVnViRnROSWtWcVFlU3dNR21lMDBvMUJXMkhkeVN4K3M5U3NrUHB1dEs3YjFlTlpuYTBCN0RZYUttRHpJajY0MTM5Z2FmS2RpSmR0ck1HTmRnRVdBYVhKWWpxWkpmQVBiTGsreVNyc2ZQcXVhb1piM2didEVvc0E0a0FpOGlsU3cxdTVJYVZvRXdlTHRXN0cyaXZnK1YwdmRCVS9GYUw1RzV1ZmlZNTB5V3dOMm5ySFVnUmtYbWNBcnBZUGJRUE5SUUw1djdCQlNxRDRSNE9MTnR5cHpxZXpIaXRpUldkTXVqMU1Dc0NHay9scHJXTStSSzRjRWk1eDBrWXczWnZhZ2s4cThUdml6TUZJajdmaGNPR1NyVENQRHl5NG1OYWwwQUFSbExZSDd5dldrV0p0MEhzd1MyWUpwRmJjNjNlTXNmK0w4bFlqMnp5dHppYTYySjF1QVFBNDM5U25WdWR5RE9kTzVxaWI3djY1WUR2Rk9pajdXdXpBWmFSazhjamFnNzBnVXRnWTRxYnNhUHhTaFltQ0lGV3cvZVZ4RzNLYWNGTS9ScDNIVlordU1WdFdBZVEzVmZZUWttWnc1cWJTMURsZlNYMlllTVJKaitreHhlRDQ3U3dxMXNDTjJmK0N0ZFNXanNHQ1QyWDFGaHNPZllqQ0ZnMDhobVRoVDdDOE1lMitrQ0NzWTZqWitGRi9LdmVYM1lDMWxuTGQ1NzdMZExlMXlKelNvVld2VEFsZitTVGJkSnBXdUJOam95ekYzK3I1T0NENVNtVlR4U05vMkE5aXNyMVd2bWlhVkgxcm1hWW5pN25KMXIreHFZTm5US3VjZG5yaDhiNDNYOXRzUnNvUzZmVUZveFRYZk5NK2hLdDRrak41TjNYYWM5ZFlaTWxkTURZTjdlc1BjVkJ5ZjFkd08yb1kwRUgzZTQ0V0tQWUFRbHZtZ0tLTUthUDVWSVViMEcxZHFPRWNWVDM3R3E4cDdSOFdoQ0NsdzBya1dmRFBBdnkvNzBXWmljMVRtem84T0JrNFdEbkhJbTdJejRMMkxHdmxoSWg3eVRZTk5VVGdXeXRlbHFyQ1VjMjdaUzJvRTd6d2NoL2JxVXlOanA2aGdBNElvSUY3YnQ4NXM2TlllT1ZscjlreDl2NHRyOWZ6UkZpbm9MNG00cUxqN2dydWQvckdaSWM1Uy9FWW5qek11LzJVMUQ5YlFJRS9mdDVSNFVncVZCWEFTd0JyL3hFVU5wZ3lWcXJjQWNYS05KeDlteTM3N01ORTllK25adnJSelhCSnNTM3ZKNHNCZm84bUJHM2QwVDBRM2t0UzllVFVrOWp6cTRNc2FRZDR2SWlSZUtOVWU1dUpvVTJkeHV5T0NWNEhxenJvb0VEdmNOSnJMUVZHUkxVUzBHclZBYllZTkg3aktraEpFTVFFYW51WGI2RVk4UHBBTnQ2bGJnTGRkTTg2NHJnSkNlRWJ2YVZXSkVZMmNYSUtQZzNxdytYNnN2UGxVYStYOTJkVkxhb0VZc1VMS0tVeDJwbnVpL2pWTzlFdS8ybkdLNkZZYTR2SmpVc2pZK3E0ZjV1RUErV2U3aWxGeFdFNVNERHhSMHE3R3AzNWxkNkQ1eU9ybjZuR2VsbHFYQ2NrVXZueFE2c3E4NUo0WDBOdWJaUU5ITU16SGJCbUNvNFZFRFhTbmVOaHNyL1Rzb1YxdDIwNE9DdUNQWXNOVmJ3RVU0NFhHay9UOEpGWHd5S05uZE1CNVlBOEhRT0RITnFuZWl6QnduN1YwcDlyMkZPUWZuSkYwaE1lUmNZVlp4dnUxQTJpaWh0RlQ3K1pUTnU3VHNTanZBZkhBODR3cXZ3aDR6Y0pmYVI5TUtNTkkzYnlYNEdSQ0xublNPZUw0aVQxMVIwMWJRNGh2OHZwbzRVUkFWZjUyOFhtaFNhUEFXTGQzM0F4cmdqR2E3RDQ2K2ozZWM3dll0YXgzTGMzOUxsbmlDQzBoU042VzJjY09IMDZObTk3SGtwcGlXM3lBdzBTSGdndVA0Zis2VGoyODErMXJidnRLYUhpVkJBNWl6MnY4OUY5bEZFN2tqV1FKNFA3WmM2ZEVRd2M0SDN1K205MGNqUytjaTZGM0RzUHRWRU9EWUNSNWJ5eUgvekQ2SHVXeDRwZzVuVlpCZ0pXTkZZS1pyQjVGdFpZdmVPUHorZTRoL3M5TW5DRnZwODhrYVR2Y0tsbjhETTVwOGpBVHVyMGpMWS9KWWRDalp4YS8wWk9zT1RUUDFmaHZqT1o5NlpySXBPaFpvK1BQaEhrZFdBT3dYSElIeUdZZm5DUnc0SC9rVVBSeFdHTER5L3FWYW1CNTEzVlg3VkZFQ3JUWEFhbFcwYWpZSXhjWVBmNktmdEpoVnpITGlJOEJFQThkMjFkMGp5VDEzRS9MM1YwMHJVdHV1cDlvVEpJbU1iV0hhem1abk9HTWt5OUV6R3FVZk5ZM1VxdUdIdm5JVGhsZFRNL3pyYUhQMXpEUkN4WXRjQ21iUWZEU05DRTJJempDZFB3ZVhOeXpzNU40cnhtR0d4aHY1QkxMdy9jb2VPWDY4cDRKTkxKOUlKUlZWcHE5TnFxOGhoeUpKK3UrL2JFeURoYmcwem5oZUlRTlZvNEkydnlmU0RLRDFxSm1KNG5lUjBwLzcwWmQwL1FiWG8xWEEvNFNMQkhkeDdjc3V4cUtVZFVQYTQ3c1ZIZ1ZWZXpEOFNMV1FWZFh3WUNWLzdSVVc2UmZrTGVpTmsraGR3eE9RM0krWjhWTk9zaitBN0toSkM3Q3JOaWNIL0N5WE1kWFBjbHhNMzZSdEdWY01kaGZjSFhEV3UxSmN1czZ3QStCSzNpQXBRZjgzNStVaENjeURlWXZ4ODBjZGFCT0tDZGQ4ZEVaOUJiSTJHOTEvb3E4S0tGbDM1QkZNOEFPM09kNnF2eGNya05CUDAxL2JmdElMQ21aMVdKWmdXVnpQVDRIUlA5L2RuQ2x5UmpBa05aL2QrUHFVclprb1owelZmbi8vemM4eEE3dnB2ZFFHcVA5M3Q2TnIvR0ZHM05Ma3RST2F2TzNOK2ZEYVVIdG1IUkMzYTA2OTFTNTJUSDRRZ1BOVytWOENrNGsrUG1aai9mbkY4eG45MVl1Nm5xZzhsNnRJbHJtdk5Ma1FGTXNnQ1ozTnVOSFJKaWg2a0plYlJXbDNiYnRSRXk3TDFwQXlTRWpNODQ1ZFg5cU9BeGRUK1o0SVVkS2RKZ044VXVEZFFOclQ5ajZBc0VrNC9BTlh5azZDeVdLZ3F4dFpQbkZUT3N0YXBNakpLUW9DaEoyMjdmNDd2cDBSbUd0QTk4YWhrbG5DekVKaUtobUpya0kyTE1CdWdFWUU2YmVKa1F2cXFzQzhpOXhnbTFxZEtjYmVjNkp5cGszYy9aNVl5Q1R5UW82NFBPVDNKRzZEK3lkUGtoUUJIaDJwdGhyTFFFTjluQVEvS1I2WVE3TGZFTkdHbVFFRnJrVjJEaGpOL2hDRHBveTB2SDdNNStpc1dIbjJmZGlteGduQlJkUnR2ejFJd3V4WGgra0ovMVZyNGRRdXh6SzN2K0xRNW9iTW9VMXhjbmJNS1V1U3ZvM1k5SktIV0dNREJCQTVjWnZSZmtJdnkyVEVhZ2VJR29QRDl2YURFQTZFZGpJMHNjZ0ZYTDJhalY2dmg2ZktmZHVnRFFPb1RiS080Qm4ya3pRUmhHTFlKcDl2b2RUSS85TXJWS2oxRGpjMm1xVzg4ckJMaVJQbTdnOVZqOHlwbnBXMW50NGx0ZU05d0dPaGNVVnFodHp6RFpuN2ZBRGZFYzQzWURwRDhXTUxVZnQ4VTNUVlo0R1ExN2NSUmN1TDBRYkZYcSs5V25hNUEwTDJ1bWJOMHVkTngwUEZ2NzZwS2JEYkh2VzdvWFZMczdlL211ZlUrNk1KWGVhM2tnRmFPdTVRVGYyZkJQbW40VGdDRnBkL2lhK1pmbm1MaXlMOXRTOSsyQ2dZTkxsc3Flb2hZQWdaQTE4cjUzNmYweU8yWStGdVBhNndLSktFd0pKK00yOWU5SWR3bjFZQ2lScHV3YnNDWGZFWFQ4K1ZOQ3p3cy9aZnZDZW16c3dYaXVmb3lYeFFnajRxSFNCNHl5bzUrcE1wQ2pMbVBNTTZjMWtTSFcxQ1ZDa3dkRktNYklxeGVvZkRqSnF1c0NPMTRCOHA4S0lDT2dPVVhRRDZJaTd2QURaUVArcnNQMVVBRWpOVG9LenpJdUk4MVByS0d5eDFDaUtWY3NWanpzK0dmd3RqR3dUM0R2S2l1RlRhbTA0TzMzOHdtN2QzL04rSW1aRzhzNDdyYlI0bXA3OTRvdDhpZlRoKzVUUm5FaHpMeCswdWhwL3pTSWVkUS9OWkE2c2Nia01OVTMzYUVNMEY3M3dvRzFpUTYxTFVxOW1OY1FRSkl5UzF0U1dtSktVZHViK1V5QWNyeDBjS2hUcmlscHpEdXR1UW4rR1dBSW1kR3RPazVUUmZSaWQ1SEVVVDJ1RDJvc0tSN01NUGtYMlI4WUs3U1hZRlBZYzR4cEswUC9VSi9UaUdkL0htZ0toQS9odTQ0aE9JcnJUYTI2UVpkUllHalErVGc3WUlGb1B5dkticnlyVG1GNVZvYkVTSFN2L29PVTV5VklZQ2VMczd3OG8xZWQxY3RDZGc0VnRKZ2RoSWdVK1lickx4MzVMdVVWQnNBY3hjNWkxVHVrUE9zQWRpMG55SXFEbFlja00rV0F3Umx2Z0YxK1ZtYkg1WnVMUEphZFE4dDVOTmdqZGp5OTUvbFcxSk9tbVUyL3RDMkYwWHZOM1NUZWhUZE9RNHRtSTloQjEvc2dZSjNXdVVWaHprc1pxaVJ1ZWcrVmVkaUErOEkxLzhxUXJ6dytWTTY0OUFqMzlSQ1ByU3E1cmVZc3BwbXc2S1V4VFFadXBCOWFjQzczMFpHV24zSm43eitqZnYybXlzRFk0YjE3by80czZ5VnZHOFhpVGprNGlpcW8wTExzYXdwRHk4R0YvUTZ0YzVlZ09paTNENldhdVZNejdqYk03RG5VcWNndnZKUStNclhqRXNsTjZ1UW5XNHVwd2tHcThnUnNkV2ltbXFXeStoeFdSZ2NRbU9WYjlhdTA1Nnl3bXhrODd3R09UbmwyS3hTUGxWc0QvZUt3T3NyZmo2RjRiZWExSTliMUlzNm14WmtMUjRWMGlOZGFKTG1ieWNPaXF0VmxFWURNRENuZHIxU0hFWVhlM0dHODAxUUpiODRUWlF2QmhVZWxmeTlrcmpRRzBQaENmbFpUL20ydkNMQTVXb3ZYc1NDUmNJSm1yc1hRUnRiUjhkZVd2UFcwSlA0c243US9ReHg0Sml5b0FiVXB2K2NuVjlkb0x2ZFpLaUN5YlV4bVlzTjZ5Q0UzdHpVNWllNE5sNytPcmVuSXNjVER4R090WWxVQmRvaExYSkJoQ05aL05tdUNNdUtBeVJGdWY4VERlZ3Rmd2pvVUFiUllDVVFoTDJHOVluWGlGdWpoQVhUUVdNY2JVd2g3b01LcWErMjBYL3ZWOG1DbW04c2k5SSsrZG9qb2FLL2pmYjl2VG5BT2JXYnZtU0pWVTR3dk5PZGN3UlpUb3ZDT2pZa0NDOWNhV2Yxc005bjBsZTlTRDVaclBmbVptSlYxTG4wbnZoWUhpRTdBMlN5S3VLZ0hQM2Q2R0VsZ0NHWkwxMmlVQ2JKOUhmM0E4Q1VMclJtL3Z3azRpbGlDL3ErNTFGaDBRdTh0ZGFoelRCVkxQMVQxdVF3aG1kNTE0VDhObUlsVHgwSW9oQVVZZkkzSlJJaUYyWkcvbmFwSlpvbEF4Z3Y1V0llYnJpcGFLUWJPU0FCeFNRcnhYSzdrSFQyeEpZaE1zMmliRllodEl3bmxBYVkyUGQ2b0dGdXN4a2NTWFpWckJDbzJoRU5UZnY1R1J2Y2VKTXpyZTZLNlJIaVA5MzJFWjRhUTVZRkk1YWlDYXVvNHY5QWg4d3VFZmcxeVg5UDhvMUpiNTArOE5yYjQvcFZVSU9JZ3VsUEYvUjZwOWM0THg0U2VtaEcyQjF4eDFWdDZ0enZ0QUxUeXhEaStxRWN1RGFERU9OSmZVTVVxSWxXYUJxNDNCemltbkdESnNtUWt3Q2hua3lnVHR2VHh3WHNwczZyd2owd2lZdy9leEliSkJON2NNRXJKbFVyNExkbjRhODJGc1ByY0MwVVoyL2VEdEZxb3BOUjl5ZlZNQ2NEZEJTZ2ZrTUFOMUd5ZTJuUldBMVlYdlhmL1pjdG5IUElBdWRQZnpaTk5SL2hiQWxydUhOcTlTaVp1T3AvVmxNaklrVEZxRWhwbG9hckppdDJjMWc1cXZJWFlmQmNoeFJFaS81a3JVekJ4MnN0bHdvVWFXUjllNUZxMjBCZUFjZVJQeGdTNnI4MlN5TE5HMGQ4N2toTnI0UXNnRkJQU09HOVlaaFVwa2hFS21MV2M3ZWx1UjJvUnEyUERqLzdBeFN2KzJpczk4ZkVTZm9UKzZ0NXo2Qm9pcXNYVGhGZ1BJeHlKRUhVSzcyY1ppczdFWm1lcnFhaTNaVGxETStNOC9yOEJKamR0Rk5nQVRQT2JRb0h5ZXRub0hjVXl4MjNnU0EvcDZyVkg5S3ExaXlTL0lBNDlHMlpJYUVhNFAyamZWdlNDbmZGbkl3dVRuSWQ5cTF5WkFZQ0VldmhmaTNyL3lvaDE1bnRSc3ZIQkJsbUJ3Q3JIaWIzanFGdzdVbTN0SENSUlRtUEZLdERDRmhyZlh1cTF4Y3ZRYTN4QnlseU53VzRJRS95K3dqYXg2TWVnemo2T1VzajRGQm9QNXd5cDZOVzNMTFpMMHhZRlNiUWpwak5hVDZSaUVUT2tZWmkra040ZU1DNDAwVzdSK2FPSGVYVTdWNjM5Q0pjQzJsQ2Y2c0NwcUd3bXhRTE9oenZBa2RzNDVsblFNNmVla3NoTHJmQUZZTnVUdHRKQ2pRdHEwVDFxSkRHY2VIeU9HSG12U0xneHF0WlhSazZzWmxFSlNtQlk3RTdNNUFiOXlkdTlybmZJVS9rdlQvdzhDclAwTlBHN0xtNlphczlpYnZhL00rRzdwT3F2aFhFVDR1NXdOTlRMR3hYbm9iVHBqVTRoSHJRUWZoaGhXekk0M2NYQnZSUEpqWTZwOW9ENUZVaUtiWWtUYitqRWRGS2NTdWFaLzlXZGx1aVBHamNpYW5haWcrVWJiZ2hvSHZvWHMzWnh3UGRpWEZEbDIrT2U5RmtzNzAwb0dBS2RsSkhzcE5SbndGVUd2bndMYjJhb0ZGT3ZGMk1uTUx5VHdPUHdNS1dvMWRCS2p0UlY0UHZGeXY0b1M5Wi9tSDVlMjVCT0htMkVKN2V3QlBxTUFmOHN5V2lrV0NoZjFBenlZS2Fhbkh2bmcxanRGNzNHRi9XYTFXK0ppRkJpRWtZc1h5TXUyL0lYZklUL0V2TXRBRE9FZU1WbWZoYTdYaXZhL3VvMml6V2VEVUZhY0tkbU91RVE3bEwvV3hBakQzQ1Y1UGcwNU5ZZE5iVkpLbUNvRERRa2xJbHR3RW55OXB5ekE2K004NFJqTDBTOHFhRDBGNU93RnNkU2pqN3l0c2pYRFNKWUc3QkEzaHFDRHhJMlJud0hlcEtYaDUrY2tMaHhnbmpacDU5T0g5bmZ3NU0ybjhXN0EyNU5jS1M0OXhtNlVWc2F3RDY1QXVpZkdNajRUbVo1bk96a0RhUDlWdHdZOUozdlFsZC83dnhwUm1XVzBjUVBHV0VxQWNUZjlaNUlKWFFNa0dRclB0N0IrTzJicVd3b2hJY3ZQY1FvVHdtQmdJdTBPVExqY1A2SUxKR0lMeHU3cWtrRFdaWURZS2w2dGM5bGpja0dXQmpaaDA2V2VWSWJvUFphQm9YUUFXTGJZa3piV2pKa1BZWDhlRjZ1R3RmaG16YnpsSWFXM1hOeXdhRW5CUmFNdTdZVE9pZTFyNmpaTC9UeXVKdmRKSW1nVUNvdWFNQUt5VTVFTzJldkh1dXhhTkhNeWxRRldhSzEzNGlTRS9YYWNmNjZBS0t1eWZZKzcrdEx1VVUvdW9XbEpWaFQ1UExidkg2eXRrK2pNYWYzY2k4aTg2eU0rcGxlWm5lbXRSK0JMVm8xa3c1V0xlQXJLbjFGTDJsUUR1TEpkUVFqSXZnbG9NbSs0NExtTmJOYjN0eXBybm5TM010OWd4bXp3QU9LekJESkJFd3VnK2tmMzRyVnk3NUQvNmY3dXZ3UUNvTTcrUitYRE5xMEJhZ01ubDdWUGJVaVU3N1AvTlhpMTNmYm51MXdqN0k4UzNWck4raGlzU1pYN2VkNDdqWCtJbklQMVN5dk5SS3k0UlN6SlI5QmRPQVptd1M0OCtJSnRqYlVkQi9FeUlIbXNkYXlUczd4ckxBUVlVY08yN2lLc1lRSjJVaHkyQUpMQ254NmFIU2piU0hZNWY1eWpFcHBzTzZSQWJUMEJycVVaR0NPdDJRcWVmdEo2VkJjVG9RM3U3ZWQ2TFozRktvdXJSMGgwVUlzemtIWFhVN3JTL1Naem00Rm1xQU5kUVJMWVdhMnBQcDNZMk4rMGJBTk5oMDBZczhFYVRZUUw5ZUpTbkp1M2FDMjdVSjRDblI5NGtnQndVSmJTNno1RU1rL0tGR2UwZ09LL0E3bjUrMGUxb0lsVjJtVWRuNkNaTkZXQmdHUkVsTGhPUFJJUG9mb1FQdm1xa09RUVk0UjBRSnVRWkhvOS9nak5keWZQTEgzc0xMaWYyS3BsNmxDSXBrZ0JLNllWS3EwTldqUStEMGovT3RBYXd4SklzaE1pdjJOYzF3RXdGTGpmRW1LUnBkZW9QREdtMFBQdlFac3NpUWNGZUs0VllLanRXNkVjajZzTWN2WWQ1ekVFcE5FdWlWdzJ3enI1Q0xDQ09FaTNMRnlpYkovTjdjL0ZFVnlYd2o5VlMyQ2NzQ2d6UUJISXFkL2toK2lnM0JTV3dqeGJlTGZueHMzQ1VkU1dmV3cremxoNEVwbWlCN2djemp5c09UblFLNnIzeHlyUkRBNmQvelpkTVkrUi9ZNzVKd29FUTEyRlBYZGYrZlpxdUxBMkVCQWdYdkw2d1hXWWZOQjhzTkFwQUdoYm5YaEdKcEl6M1pzd3RFV1ZIZytLcWVmbFE4Nk4vcEI4NnJJMW5hbFFDRGpQZVAyN3dlc1Q1VUgrMm42VXF4MVF1NlVqVGl5dE5TbnBRb05TYzhpcE52cjExVEVUMXJlcnVrZUQxb2tEeks5bVZCWlM2aWxHdVlSYnl5Z01wRVBLR2wrT2FmRmJPeEs0MEdMQ3FndUQrWW5wYW15bC8vV2VtTytocGEvbmZsOVRHb1dNbTZKUlNINUlxU2VIbDJydFBCWjdLcVFVNUdoVzdnTWVvV0UzRGthSi9FcEhYbVByZ083SU5CUzdjTlJjZEhTK1VIeFpiUDVZbzdESFliOVBGTXBCaExKY3NkWnVIMCtNSitnM3k4dEVjU0RXa0lOMnlqY0VSdTBNc2RzMFowWVpmSWR3VVhiVmlJKzVoaytWcGVhYWFORGJrcVpQblZMZXRIL0pRK1hLekQ3R21OQmY4dEwyenNkdUNGK244c0cycEl3bXVxVnMrV2NNU1FrVE5NV3NwdlJyS0lFSzhwNG03eVJpZ3k0azZHRHlWYzdGY2cwbllPT29tTTJDcHVFdTBRUW14YWs3NUdKYXhhelJVdzBhaEpEd1dGVzhwU1piWnYzYUQvK2FCd2NwZURXdmRGZWRzS3hNeTVybXpwTUlHd3ZGbHdGRDBkVjI1dXYzSDRsTzNGNVovRy95MjJXMHlhTlB6NEZpamxJelE2b1FYMVVMUGg2ME55Rjd5L0F3UGlRMm9iYkh0NHBEQTNJMWFzK0lraDcwb3Q0K0YrMXFDZWJ1R0NZM0ZoYlVIZTV4cGlVRjFLdWRKY1hWVnlnVTZMdjZyNk8wc1lNdmg2YkJmQ3JvajdPNnU1R0R0eFNWejRGR0EvcW0waWhVV1lRZEJqZXpCN1RYMDRDbGZoU2loU1dodEYxRTFOdUN6MGRPbmwzMGNEak0wMkliNlZvczlPWXh6S2dMcDVQdEkyNE9IbjRvS1R0YWVLM2t2Wjhod3VsQVQ1N0NqdnlpR1hnTnFadjNFbDF4U1FTZ3plYThlMCtKWUdTbE5aSlJOUDYwbzZVUHNVZGx3V0JjQ2cyTXo2aktMeGVFUFlHaWsxQm9GQ2cxRGZJSElTMktaeS83ZktzeTcwODNycnQ4ejJvWEZxUTg4RGpvRjJzMXdKWmV5dHpNbG1wdStteHJPbWJPQ0VMTmJMS3BWd2JqUFZwVEErNDJzU1dtZzhyc0ozUFhzMHd0NkhpYUprSUpIT2RIZnFYYW5WRTJmWVJpNmtKYXVzRDVNRWxkRnhIZWNLS05xcG1tTCsrZUdWN3V1bmV0RGkzUURicDNha25DN045T2hXT3lXMzZUM1RhNVhxbzc5N2xENVFPZW9ML1pEcDdLalUvOFdzLzNGQ2I1R3ZRSmZyTjlNY1pBR1RaKzNUYVZ0VVdyNmY4VnMxbHJCOXh5RXBxUkFDakd4b3h2bG1wYmNEUkxxYU83TzJheTRGQnlFUEZJRlZsOGtRUFlQN3BUNlAvazhSOWpTQWtxNnh6M25MY0hvRzRHV2grYTRSd0pGd1dUdjZvTDR2c3JTRUtFUFJZa3BLM1JlTnpJdkQzVk1UVE5WT0FpU0ZKOXJoWjB1cUpYSFdxN1hjUGJRMEQvekNZeUs5TDZhN2J5cExpT0NSaHBFL01Fbk1CMXByektNaGRabUg0cjcxTURCMWZEVHhxYXVwcDdUdVY0NVRoSGpEU0VJaEhoY05UckhhNVh6WXlIVVhSbmpFMGNsS3J3Wlk2Q0l4eXBZZDBtSk90Z1JZenlxYmRITDVLSkdPNFljQS9Qb2NIQ0NLSFdZMTdMQ2JRcFpqbFFidFhvS1lSTnNWMkhEMWVtRWI5WDJUNWpXZGVRYlVvSHNLaUZLbTJ3azJwNEZFSWpFdlk0Y2IvSHdqbUhab0ptYjF5MmRFeHNqUEMrNG5oTzlDcHNTNmxrMlhXWGpnS29KczdhQzlET3hBYWUrWkNDMWpFQnRGN25IMzdYVHRvQTJndFJHVkVMZkZxOWhvWUFnRksxemN0K0lxZHN3SmxiS1F3VTI2d1pRa0R6clc0L2g2c3BGYUhKOTlVbXpMdHJ3cHo5ZldzazNsekhiUUpyWkJFSTBzQzhSZEhRci8zenBJb0Z6UGxEMGFLNllyMVNzNUhmcFRHdG1RWDVZTG1FMXJOK0UvRTlUMDh5R2M0SkdTcCt1K1RIclJoQWw4ZjZlZHJGRWZOblhRNndKd3ZqbFlKQnRSN2Z5NXQwSUVlaDlRUEVaU1pnNGZVZGpMajltWDQydjl1eWNvOHUrZ3hpb0ZpdjREVlJ1T201eklWQ3I2WWxBbVZENzZPS0ZMOWREczV5WnBYVkxxeXBpZS9oL0YwaFRod0Y4WnF1SHJnUVpBREJReCsxSDZaNjVOZ1NTWHpLQzFYR1hxaHQySTRCZXhFMjRaZE1SMDNnbnhNRm5tR2xmVTZndW9HbjEyMW9ESEF1Y1JmVEhDMW1DUDNtRFpESlJyTmlnWUZLckhkUUpzRUwwU1YvRWt5dDg3UUYzaTd2cE5UdVh4U0hUU3J1aU1EdHZ2NkUrend3SzUrM3gzTXF6OUZLUjdpVUNwWnJRQkxPM21GQW5HN05GTkxFeTNzczNPS3V6RDQ1VDV4ZGVnbC9sMzZPYUtRclVPVE5sbFI5Z3RiVDNrQjBEM1lWN1FVUVB6K1Y5d2FlL0JwTGhnbU96Tnh5blUxclRnbk8zMkZKaG1vMUg1M1d2NWFNdzBubmZvU3JlV01GaEtTM2hvRExCNWF6a1ZNVXliMDIyaHhDTFpPQ1NlTU9VUExqbmdORmcvbFREMVpvSUppL04xaXZSd3BMSVVONzl4Q2F5VTBuMnVMSW5tcEd5YkttdHU5bFZvMWpXb1ZOKzI0WDVxTThSWjBrUzdPTWdqcXQxcUFBSW5nc2ptR1VzelBpRVFmTWxOTU91SGZGOVhaZHN1ZmE3RWFSVU1aSHRld2pNcTk2OTB1Ulk4NWQ5TzJ4ODZmd0V5bklJNzlPTGR2dlZOQW0zZjlhRVpORzJwRis0a0lsYlNXMEJVdHFFOVV6MThvL0c3RlFncWlOckxRTjUwR3hkNGpGb0FrMWEvUWZWdFN4S21pa3RkWXVpQUtHZkxzMXR3eVdZWVpxTGwwc3BiRzI2bEhMNTMzWE1IMzNoOG53ek5hNlVLU0liZ2xxTko5V2ZGekMrM2tkS3NONDBkQVNCa3JxMTA4NWxyZkFSYmlHQXFhUGFzQnJnaEh3bXBLUWl4VTdWOUh1eHVKQ0o1d09QZmM3c0xvaVprSjc3WE9QeUVzdFhFcWVPdEdVUTJLcDB6R0lGKy83d2NCd3NvaWlEN3BGUThEc1VDZFUvaGdEcXVKT2JWNVQrVDlYRi9CVjZMSVZGenYzTUxacUdpTCt4WTY2TTYvYlovajRGM0JpQzNhODVoOVFHb0J6dVZpTENBWFhaUEhHUDVVcU9LTmp4Si9WS244U2UxUkdYMG4rZjFheXN4WlA0c1EwT3NGYWZCVFlJVi9WTzJMS3hRWmpWaEo1T1lrRFVDYzFDU2Rtd0xoRDVkUUNIUHFHRHJzNDMvUTRodWZIVHRnK0gyVGxPQUZIVU84cGZEUDAraFV3cC9sMnhBMU5QNk0rbENpRG9HRjZIcDNQcXR1SEprWWNYRDIvZmhpZnFiOXhwdktYU1R5b0FXWkhGTFBoMDRlR1VQYzF6cVZkMjliVDByYTgvWHZlYVJac2FYUDdURnZUZjh3QzREdmQ5M1hlS3ZNbENzOVZZUlZUYWlNMkpscnVMZ2hUZDVwTFlMR09wNmppUGdxOUlDWWRISTBEQ2FQZzBFYm85bHRSM0NRVG9RR2ZQQmFEZklqSjhXMGYzUlNoL0lqSVlMWXRRRXZGRWtWNzhtdTlHci9OWHJMRzd5U0pyK29xVWxBVmlPS2EyN2xwenJ2U0xrbDNrR2VzWjA5UmpmWit3WEtTZkdQblk1WEtYaE5nRVdwYmlqbnpidkVVRVpqdHcxUzJDOEJjajhVWEhYY0Z1WTV0b1lEVzFvTlpaazUyb3Yrd0JiU1VkTVZpcUJrNS9PSGRJZDJJZytMeEZtT0VSOEJEQ2NIblJQV2pBa2Y2ZU5XMjBhOVF3WDlTY1djdmJVWDJhRGRicWwxR2tTSEJZU3pKU2NBOGZjcXFQLzVHU210Mk53NjVSUytBUmVQZnB6dE1URXR1TkdWeHlrWVZUYUlYbHh6UFM3dVN2NElDb2plOXFwU25IQ0c2YTRYYWxzVFpFZ01JK0hYNTEyWDFsbjBXaUUxVGFaNVhlUGgrOTRIRHJqTlZXd2pQNyt6eGJiRWlvSlgxZk03cmZ3b2pNUmhURFZhL2xTV0VxZTBWWlJmNlRZWEYzRjk5c3ErbVVsZkRUUWdST2RuY2hJbFRpZk8xWkZoRG1Jd2Q1Yi9MeStxR2F5M1UvWU5tMVZJbjFvQ0ZiRjVZc25sOHpwY3RVakhOZWRsVjBvRHlVRXU4aGRaTUhLK0JaY1ZNZ1BVNUd2MmFYVXY4dUt1eHRKRVBQZ29mNDZCenRDWXRpZjZPMGMxdFNFclNITmdCN3lKQzlXWGl0dFNiOGIvZHVvVXA3YmR3dUpPQUJlWWw1VEpuRjlyQ2FSa0h0ajFtZ1VaN1k3T0U0cVBMWFJNUjVuSkxFTm10emh5ZmwvcXRxMTY0VUF1QWUwbXQ4WFRvSHQ0NnZJbHNyVU9LOTE4bXVMQnh2VHRra2E2THgxSjFiMEFaUlYxMXNwS1JKMXd5MHBFVnJYYmN5Y25QN0Zzd21rQ20wOGQ1QThLdktpY0p1WjhBMlVicnVsQnNacENBeTJ1MUJjdndaQ3VnTDZiZWZnMzZ6LzNpRG5YUWFKQkozcWZTYXQwMkZzV253MDY3N3ZPdklHRXRrZFdMb1ZFcHBKTFZxUDlsRG9NQk8rb25LUEJlYW0xYURLZHQzZHF1c3VINGx2bVRIeHRlRW1YOS9yVG4vQ3cxWU1hK0JBTG5YamdBa2txTjREdEs3V2QzSnF3VUdRQjk1TmRFSDVLamkvcG9NVzB1bWVmTTNGejRsekYra0NnZWdDTCtHZytmZjFRZmNWbDByWXROa1VqRURYc0IybThSNjF3TUU1RmJzQlFiUStVM1ZWeElVcGkvZWdrYkx4YW1VSk5OOWkxWmRhZUFyZTc3KzRpZDNERFZHZGFNVnVONFpReU0wRWVOZng4dHNpUFA5eExtYUdrZEd2VnR3QW1QVWNsTEJlbjIzS29pZHVlb2QwT1BDUmxsbVpXN2l5Q3hqOGo3L1hrTkJvUXU3eEJuNkkzOXZHcnc2L2JCN0xsdmVHa3lCNU9ZMkNWOWYwK2xYK3JVRW1WZGswSjRvYlJOSy9iZGRYcVdhTjJ2cUtzdTkrOG5uRENuMENkNFNoNUNLeWRGM3dIcFBEWVc5WFhvT29YNExCZjViWXVEN0FVU2N3NTlESTVtNmFRVURWenNFZzQ1V2wwQkdBRkZTaVlJNUJ0aXBpS2N6TWQxOTZieC9XVDNWK1hZRTNEcGFaUkE4OEFpbWE1T2h3UEgwVFRDWmNGMXFzMkV3RGEydXRYTDk0SnZEdU1KUEdJZGJ2Q0dWRG9KVUJXQ3hmaForN1dKdlA3T2JBYjhHVnBpc0o3YlVWbFErcU5QRHFuR20ramhCRDJUbUx6NmtodFdySXZtWkFPanV4K1ZVMlV5djlzUVkwdVcxeXJVWGh3ZDV5Q2UrcHlYRmJqSW5LOFlIWGNQVEFDTTdsbkxmWEluY1YyTEhaUExYZmU1T1BZcVg4RDIxWTBwQWlOYmRVbm8yb3czcEw3dWovMjFnN0YzSWppOXFEelNHbkdTdmxGTzFTMVlhUlgxS1pKN3RqSVl2UnZ3WEozTXRwK3QzZ2NyQ2h0MXJaTlBCVkNjNWRZL2VIOWFHTWQ5aE1jdGYwUkhqYmFabUVNbnljL2ZyTmFkb0o1cjVTVEIzVjEwR0RtSmpZcjRHbWRwTmMvMCt1VjJvZVdSeGVKaWJxdjN1NVJsRlJnYk0vQkFKYmlVaE1OanJ6dnJsOGhCVCtEZ2dxZHk4VW1lLzAwYnpPM0tuRFl3M3hBUlZ6QVBKNXhNNEJKbE4wS1NwK2dPR3JhWTU3WjNVMkxXL054VldERFVnZEFPOG1KWVNMTTVoWUs0c2EwSGxnYVU5SzRLb1ROd1FJWDRZM083N0M2WWJEMzJJcFJ4SmpBdTU4ZEZETUFnOHEwQW5Fd1hob2Fta212YzhyTkFlR3YvNEpBemNLSFVMU3UrT0VLYUdEcVQ4ZFZlZDdNZHE4T3RNLzNEQzdiUS9LU2t6MG1DajhyeCtkWGFQcWVGYXFVc012TG4xaHFKSWw1aWhhRlFiaXhtZ3pIR05XT0hCSUx2SVNaZ1Ztb0JUbzNMWUpiWTROcForcUY5bXo0ZEdMb09aWjVBQXp4WXNWblVQZ2tOdTY0a3hpWHRKenorWkZpZWRQRkNkcHZuNVVRUkFOcEQrRHBKR0YzR3dnVUtQOWtCQm8yb2U3b2JkVlJWNzUwUG10eDBmcWZ6cVZaT01HNjhlYm9kbm1wbzBQVHhXTGhLR2E5Z1VJcTRCSzRraHQ2YVBVYUpsT2NVeDFsakpXOTVHWDFLeXNidWpOWVZFamR4elFmbWNndEVCdjlQT01tdW1tb2ExN05zbzdNUXpDMi9EZVNPTERkNTlUdnB0Z2pBcEJNaURrUDMvMFR2OEY0RDJwTEszNFFDei94Y0pkTWpWa29ONUIzNnRRRCtUVjBHditUOW5jMlV6VkNhWTlvTUd6Q3ZETGlueFhjblBNcEJZWmRrRDB0U1Q5VUIvbnY3VHBaVVhTN1JhS1h2ZXNILzkrd0M0dkZGaHF4VFY2dC9oUzBCUmFsTVJra25CTFRIYmlMbS9uR2pKR3VISjNVRWovZitrUzZ3SnRsd3cxL0NwTWQ3MnQ1YThqbm5TdDJrVXR0bDhiTDlNemp0WEdEUEZmYVlEUFpBMHVJa3hOTElnaG1KZmg3clFncWJmWnVYeXBxb1NmdWJ4bzc0KytSNzZpeEc4NU5LK3ZUK0J0d0J3dHZFbkJXMEpYcmdRNzhkakFUQk5ua3JDd0Z0V3owckxCVk9kaDVVLyt6L0F4UmdjMUFSTXZXcW1LWmZ6Umt1eFlSRm42dEo3RVVqWWNkNHk5RG5IL2FGQTY3VHJDUlVvYm9VQjUyYWdoV090U0Mvdjczay9DTWxhdkdocGQxMlppMHlud0RVc3BWcVhmVk9NZk9ZRk44dDJjTWdESHFrVDlpbXBmUWlhUU9NSlNwZzhXcW1oOUdScXVvRkw3bjBRcFNJRVFYV00vY1RuSXNFMTEwK1BNTEluWFZ5QWV2WnZqWnoxT0JhbzFGdnh0RnVmWGFQN0FkamVZMTBCbFlaOVdiSU5EcDQ5NC9TV2M4cmtkbGo4MDRpT3k1R2lXZUlham1tc0pvSzV2Y28xQjNDc2hXWjRXN3NHVWprS2ZMSEk2WUNZSGd2Yi9kNjlFSjNTRzRIV0grTlFrQjlsUityMlJJQ3VBaDFvSCt2am84Zkpad2xRWjRTRjkxaDlScTdQZFBYYVQxc1dPSTRDdE5IaklVMVIxb1RmVXpUSlFkTnlja3BkbGJJU3UraFdYNXphckFIN1kvbjBYMmIzNFNENHdUOU5IUEVqU3F4dVVieWVjNDZZd2Zhd2VDb1JFbitrdmxGZHB3SUx2Skg3b3diemxnNG1lODYvVTk4bnYwb3Y0SXZGNDBZMm9PN3RXSWw5Q2hZamlCRGhEcWdRTlF2cUQ3a3ZhMkZ2bzdabW0zQVp5VUNmK1JmRHNkeWI4eEZ4SFJsc2lUZm12Wks2VFF3KytUeUZ1WUZEWVN4VGNHRGRRSkpMT3BJZmFGRXZxL1VtaUZGNllUNHpRMkNzRFBLSHpVVWJPK3hGcVZma2xocWdadVZseURKZXVVUS9KNjd5d3JlemFOMFp2a0hwbnJtNjFkUVBDUkRERDNnUDlvdXZWSlFJang0cW9JTDZ1MnFxMkNVbjVIa3RuUWFRQjZVVDZ3dmF3SVdaVVFGdklJRHZRb0s1eUhKSmRGVkhaUDlubDF5MGU3YWhEeFBvN25PckxlRjhOSjdNWlV1MU5KY2tnbDhpTGlkQjdTUHZETXArZFJTdUc1WGlSeHd4NVFRZVJZa05MdGppM0ZwTDU1RCtEZVprV2JHOVlxSVQ2N3REL0kwR2I3a0hqb1lmbmQ4UGpGK0tmNlJXS2pROS9TcWhHcTlCS1NWL0EwSng1bVpIQ1E1RUlZQ0txTFFPZktydVU2dHNTazZiSC9xK3hYalNUTmlJVWc0amtSbmxCVHBNa3RTSUhESDlPRG1remNwT05URVp6REY2aUpmZDhVREtRRllIT2thMTMvMXd4Z3B6Q3dRak9rdk9KZmRrWE51dkFpNENEZ29SRXZEalNBa0VuejhTODQrbDQ0YmRERm1KS25STDZsUGJVWFFKSER6aExjWkFYWHpUU0dPNkJKNVcyR29NOEpncTV3R1VTb2lMQ2FYWUorUk1kYzYzL2F6dS8rd2lleUV3ZS9CeTZHWThJekF3M1puelF4ak82NEVSK2s3WU1YRTF0QjQrWmF3L21UMzZGV0JIVmJhb2E2U1dVQmZPTk5jNzNacUw4ZDBWWDlmNkkybjNCRlVHS3hVQ3djRU9jc3gzT21WUW1hSUZHOGhmNjFsTnNOWmU5R1gzT2k5akh6UVpuRVI4L1dwc3lhMGZ4U20xdDJzMG9HZng2OEk0MWw1NXMwVTM4RGhLamJNcjJ0Y3lIQnB2c3I3dFRPR0Z5S0ExczVCNWthYlpIVDJvQmxaV0FYZlJWM3dTZUl3cktvR05GTWJXYWMyNUhQZDM2eWFBd3VaNW5vZU0vbUViNU1CK29rQjloVURLOXBpb1NybGNGYXdCSlRxSzBGMjRWYzVvdm5yZVl3SkFBMy9KWmJWNkRLc3lFRVl5TmZsWEhOa3FCK25DZ0psUFVlQ1ZMWURpaEltQi95ZWE1UVV3ckFIdW9DSUhwZW9hc1Y4b215M3dwTGJ6Slh4K0F4NldsTHJwVlc4RHpDV1A1RTRNcDU5V2t4YWJ5VXR5a3hWcDA0WGV5MDZYTVVNbmdWRGFsTk9rbFl0dXRJWjZUUTZHSVJkbXVibm5rWVFiTXlta0NoblFia2pBTUNOb2l5ODNJd0pxMDdsUjltcDcwUWpOUk5jY1ZnSHJIMzlMV3Z2NUJGOEZYUldhU3pMWnBkSG1ud1Vlb2ZwajhYd1JlV0xBMDFhNldtcklMM0pFUDRjRW0rRjdTNGY0Um9yMjZDTlpsNCtlWFpUY3NaT2crd1k1OXdHOFQvYjR6WmJJSTFubVp6OGZoWG5rZjFvQmhjSTUrUXM2RVlrVUF4Z3BqU0h4SEs4Z285OXJrZE50YTBmcytKUk5ZZit4dGxaT0xlOGFhYXhVaFpQdkwwRGRFVyt5S25xME9hbDdGbnJ0TVFzVU1UN0dtNW5Eb2lyM0lqaG1EOGJjQUc1WFFZM1M4TjJuL2xwOVVJanMxdlYzSm9hMlEwc3pkRWJZSmVUTmFXdE8vc3JoeGM5L3JER2F6c1FIRjQ4TlUwaU9lWWlWVFNFV2VESnRJVnJuUk5tN2RLbXNFcFR5SlE2UDY5ZEszcEYrWkhWSlZYVFFPbnJLSWxwRzlwUVAzNGw4RWdoUjNqcGpRTWt6ejhIbEx2ZXRMbSthT1NZUEZsdkZYRm5USlF3aWl6c1BmL1F2TmcrTm91M1dMb3c5bmI2T3l6YkExMExONFVMMmlzeUc4QWJJU3BncUZKSEM3QWlZRnByZHBoY0ZxZjdvSyt3SlJXeGl2bWVOS0Z6eVRMLzhPVG9pRnNZbHppejlLbW0yVjVSWlFjcFRndU9NVldhZGtKbVAxRUdaa3pjRnFzWHdIcTBWbFdNV2R0Y2o4Ky9tbFJNQlJIYTdCWVQ1MWZPNlhJSFAwcFNFdEhqOEg0N1phejhNbFRIT0RNRHFWd1JXQ0RnbkFwTVhFaWlBMitpZTJkUnhuajMvRHhUMElPUGo2dDdVNkVOYWZ0SjZEOUFVNGJsNFcvaE4vcG81VHRYRFM5UlZuUFpLSXZpUHB3bHBObnUvRUI4alUzT29sa3lnelBneWxVRFV4WjUrNXUzeEdSMk9jRHZLYTMrMG9zeFd6YzVNMFFTTEdMWWp2UytKQm90bm1Cb1U0YUFUWjQzemZXdjErSGdmbHVJVGpvazRjV01vcmNpcUlVb1BwTTJJUlV2dm1GN09ZTmNYT211R1pUdGI1K0FGQkVEKzlKVE5lSlJMcXl3LzlYQWY3QnlQbDREZnBPamtQdGtTZVJTYkdSS1dOeWNvai9qMzl0cDBjQ0RGekU0bVNHNlp0aEU4R0lrL2svaVFleEp4cmtHTk9KREtNQklHRVV1bWNMeUhWRE85TUJHWnlaT21SQ1VoUGhLL3pVc00yU1k1Q2x2STBNOXJmWUZDTWdJNWhGMGNldTB6cXFFZlRTeXUvc0YxMHFrZDFvdTRUNGtSZldOa1FpVnJCbDN0UUZZRUFBeWJrVDFuL08wZzI5YmRlNlp6VVZhRVljQW5FVUVjeU5TZzFSckpyRjdrOUs3dmlaa1FveE9tMEc3U29ZbHFkeFZNR3hJcXFYblFpZ1lOWEJxY0E3b3FnSzhWZnFEaTNhSVJSeWVaMy9oeUV6QWVrZDVHcm8yaDB3akgxZmx4elNVdytBdmw1c3RyRmNUSWFnNitEZGNPWlhsMGRtMS9XMDU4MzhJN1kzSnREbnR2K3p5cExCeDNJNHhMc3dHWVF4cTdlQXdPTmNQT09QOUR4SWFyWCtCamxNYmJLSFJ5TmR4THRTQmU2T2xnQkhuR2g5dVZRTFFMM2xpOFNLMXhmUXlkc1NyRDR2ZnpUZkgzSTMreFlrUXVkSlgrZmpDOXhrMEQvNFg3TnBnR0hCUStTVTFuMHo2YTkxNjIrVnM4bU9EQnZjOWZoSnB5UWZoM0FjSllNbTJpcVNFb3c1NXFWd0tyTThoa3JIaXRlS3FydWROOXdRZlFKbUxSOFYxVEt5Mi8xZExzcDJQRWYwQkE1ZXI4SjNCR1I0MkUwb3FQR0VjcVlmUGRwYlJZQm1qNnI3RWpXdzVFbWtNeGNoOXdMVk83U3MyWTRNWXZsaW5VYmx3bEFWVlFDbFhIcmx6REU4aUNDRlVaUkRtR0JoUlR0TW4zWUttUkFOTGE0UUFUTHVETVBoTTlUNkxrcTFhSWRBNkgybGlhWTJLNytWV3F5alRZWHEva3NtMVZ3Mkp5aWNyTlJuWXpraW1ySjAvOGdHZFM2bGhwT2hwckN5ZU1DeFBZUEQ5MjJqM3FxK2pJbERzSy9RMmxLNTBnOFd1aGJVYmlTVlhMN09McmFDcUxZNXJTWk03Rm9iSi9uZXFjZWlkL245aXVmMDFaSVlBdGN0MVRTdTNjT2NSZW9SK2NETGdiU09uRlg4eU1Nc0N1azhuRWpkM0FES1VlRnBCQjNTd2lBZTNtUFl3a2VERGdvSEV4cTJyUFpqSHk3bWtlSDhZd2NwM3BuU2hRSHB4RjRNVmxUWi95TVVsNG9zZVIrTDhhWGxqU3luOXNxOWg0d2FsaTJNV25FZmdrMS9BTnQ3Y0pnbDZNeW80THlLK0s3NTRlK1N3dlBhRmdYRGJzRlh3TmNScThIUi8yM2FHU2pJZ3dUK25UNEFMNDRYZkwvZVVETWpneTJoOGc4cmFCYml1Z0VxQ3g2T1dkSFNWSDVCTS8vL0cxRTR5b2xYbTk0YldCc2orZThhNWwzQW40K3NuazZ0L0NEaEhuUlJBSEFuYndmY1hFRG40UGY0SXFrVm1Wc05GYjNodncxaTNVQThPTWZLTnFRYTdxVW4yYkpFVHNLcVNSWmpnOVdjQk9QUlVUeU5ZQW4zbmQrd3YybkdXbVNLa0w4Ymxlc1JkODV1dFQ2Q04ySHlUUzNLb1luN1VCME5xSkJwYVpmcnNPTFp1aEFaTWRTZDVRZmxqbWdTaTRyNDVLVE1QNkNCVFZyR201WFo5RWgwSndUNnkzU2pYQllGMkM5Tm5VZlhJekl3SHlyVUxRLzhROHhzNkQzNFVKNTZkTEc2TnAwcjdLYmwyVk44ZlN5Vms4RU05TjFHVmcrZXNycE02RnQ5T0VKSzEyTTZidTM2VnlKVWFFZlpXa0Zya0k5YmtQUWZUMndyb2JjTUVqSVR6T0EwMmhCVzZmc0J1TUdwMHRBWU42N0NHczBXbXJnTHA3OG84WmxIV0RaWFJXZDNhbzl6UUdPaXVCTzYydW43ZHY4QjVQLzU3TGtGRUc2bHV2YmovTXl1cjBOQnExNXV6ZW1CZ0FZdmdvbXdiSWc1YmRlR0ZrUU9wc0ZvVzVWa2RMbThtMjBzSkJzZDhjbXJkK3Y0ckRJNy9pTHVZa2FxaHhNUmd3SWQxcVc4S0xBL0NsdHY4aHNYdWpNcUNrM0JFV2RaL3JvZmJDdlBGb0hlNi9RUUE2c05YRzBZWVVjeTl4VklkQmxtRDRVUm5EOTkzSHQvU0ZpK0pnUThoYTZwb2Nkd0xVYVhpMDNNbHBJR0ttRTdDVjI4cXhnbXFMczZJWTZtQVhIaXRuQU9ETUVpMXd3eFB6M21aOU5FMlNBS014VkEyNkpTaVFWS0VKYXdmY2Q3a0Q4SEN3VmJCaG82cm5YOWdNaS9aa1g3dlJYeXl6a1dhdGd3ZG8wY0hXNVdIcGlCTjl5VkRUOTRvVE9wVjUvSTgweDgxa3BZT0p2SjZ4ejNQSG9meVplUHdOazgzVThvK1Z6UUdlVEhYdkRkOFJmMlZBT3ZSZ1ZkekV3NTZ4c3FHWmU2OTFMVVRFT2dGMG1HZzFmZDBrRTVnWUdZNDdHdWZWM3I3QnNDSndlenpPamFDZTRQM2JPWmlaT3JxTzNRNUJwaE9uRXNvdy9PcHZ4SUdid1FoMjhyTTNsSmlISkorUW9jbmovRVpMQTM0cm9yWVAvYVptWnRIOXFKQnlLODVLTGw4UEV4VStEQm05Y1R5NGJSWi96TGorYnVhU3FDNnQ4d21SUUtKSWQydEI2WHFUa2Rvd1IrUmFvNG85cGEzU29ISlMvdmZLUW9yZ1RwbGM4S0tJMUU4VjdybGEvcjFibDJ3MEpvNitmNnhUS0hjOHdveUtBMlplUFlSeGxZbUZXdXZnOHZSSkpJeHFYdnJzYUhKWGV2UzRoQndTU3pKdDBFR1J3RUZRTzkzNkROeFU1eVZMOVZjb0ZwQUxPTHFlbWlLSlRCRktWQy9USThsNjJPamlrLzJMekthQTNlWFcvSUhIRkpDWURvOFJVeHFaY0czTUk4SlVqelRDUDh5SExwY0Z4RWVyQzlTellEeGE0cUdkSmZCQ3VWNE1WL2l1bkRlNS9VSEpmd1I1dGNuUDhhMmxjRG9Ba0Z6UkJDOXlsUlk0cGtvQklaYU43QjFCS1BITkZYMlJKUFVabE9CTVV6aTFCVnFDY2NaRmtGVUZGMXEyTm04YW9wbTFZRHNMYzVvOUhDVlNIRWRUMWRGNUs5eWdSRUdzMUpPODhZU2JjTnMyZWJwc29kRXZ6UE9mbzF1Y0lQTVJjQkczQ3h6SERoNi91NkppaE5JRmhYOFp5anNXRFRNbVh1Q1lheEZTSjhVZ2l6VmdmSzZHNGJSa2hyYUpqRTloeEdyVVc0WVNJbHpCTTVwSVAzcGU3V3V5ODNDVzdYb0dPWTdnUnhDVHJWd05VVFYxS0JmdUdKRzFJTnhuaXJiS1FFdmw2ZWo5dWNwZkdHazhMczdNTHB4dlF0ejdmTS92anNtVzVPeklwQURXM2ZldWRjcXhDL1RMRHZsK0FBdmNmMllUQzJSUkNhQ1hIVGtpS1RRdjNnN2ZwUk1HTkZSSk40dklnZGd1RHBqSEV5NlA1Vmo3aVZ5bk9DRmhrTDdLbjNOMjkrWncxL2JyVEtPNUk2UGdReTFOOGozSGlueFRSVEhQSk1LZkUvZXQvT3dReW5LQWQ4YXZuanpRUDJINjNJMVhKSWNleFBvT2U2dEgxTkxKOFMyVWtZVUhYVWNwT0tIQVVPSXk3TUF0Tm9DVEtnY1NpNkc0Uzg0S203cXc4UWdhYVhwcVp0MkgwVk9kRVhzQXZLeXI2NGVkTmZRWHFTRkpwZWlGQ3hvZ3A4Yy9GQjJOTTdhNXhHWmNuYjl0TVZCc2I5S08xb08rUFBmMFhVRSt6S0tEK2hmVkxWa2MxaUhvMm5wQXFRS1VsTTJVWDJNZGQyNnN4bkRHTDM1amhWbVpUT1FTejR2Q1J5dCtMRldoN2pwNXY3NloxbGFYOG1FNHhwbTk0WXdVODQvUm1lWHNYd2VYTHF5Nmp5em1GVEl5YmViaTJ5Zy9nWmZ5cmtRSHErWWQwdzhDaXNxZnBNOENpMWVhdDF0Wm1ab0xqUkE3VzRHUjAzRURBVWdscFNWcllGT2VSS0UrZWNYWGFVWTlzNGNOWFkyQXlRTFFHTnhnclJpODF0S2tGempKR0g1clArVXJCeS85SExRWlcrY2Y5WWl0bVI3MXBISzNSVnNtb3duR3p4UWRxQytLS0k3cmNMZnJGVWYxSTIxN0ZCNTJzbExGMkh3RFBWTG1LYzZTSnpScDBlOXczNXZRVGw4aGMwcE45L1hiUmlQTURzbThKdE1KS0NZcDhUUlFJNDlPbjhZRklBcFJsd2FXTnNSWDgyWTVReTdvVzEyVjlneG0rVG5wY1BhZ2w0VVZOSmg0SlJqRjJRZXNEWHB2QjgwOThBWnVEUFNDdTNKcTBLRkZkbDlkZnJlVnZLdmdSMjBrbm51VDlRMzhnWk9OUVc4UmRTbER0RkxiV0VaMDlXZ2ZxNjgxaE5rQnNIK25DUHRGTkFSb2tzQjRYYWh2YnlYaEQ3aFVRbEM5SnkxUkZ3VXkwaFZGN01lTmlQSGt4amlZOEZ2STVVd3AzYTNzdlBlU2pvNzRiT0VSL0tua1BHNFlYckQ4QjM4c0d3ZThVbXZUdks0RDBQZTV6M29VK3R1QWNFNlU4NXE4K01vK25IVDE3RWx0T2ZYWlNwU2xqZFdLT05aN1p4cW96R2tsUlYvZzczNjd0UGR1dWZKeDBvYUIvUlVBTVgzdEJiWVl6QmZwR3AxNWt3eTZJcUtXZVk4UStzWng5UXg1V2t5VnduZVpYWW1pRkljbkJKTlJzQUV3eFZ5S0hYWUdRamxOazFOL3hKYlVtcklZWUlSMWpGOHFDSGJiUHEvbUFqdzJwbnZBSnBwN0tXeTZ2NVkwR0tBSDlJSW5KYms0aVVqc2hUeEdCV0VOSkFlRlFmclQzM2RDeXpDbkpLVFlxVzI4dmtnVWtYdituK1JEK0haSVhzZ1A2Uk9wSkxaS3RhQ3UzaW5XRHdiWEYrdXl6akYwdHVpZ01XZW9YVzhadXpiNURadmlDSUUza2hZZ0V0MlMwdkZlQlorRzhEUXc1bFdDSDU3bTIvU20wR0xyWjZmVm5nRzdCam94NWxXL09jY3dQM0lOcGJLTy9mT2tFanZsL0dPYU1rT0VTdUtFcXdDQmsrbU9jMW5hRGN3eFRCS0tJS1FKbElqZUZxeit5SFV0bjlVODlqMHdvbDdNaktEN0VJTnB4Wi9nTHhHNExZUzVnZG9zN2JzZ0U4K20zcXpTSGJrK2RVdG5jZVd3ck9UTXlhdlZLTzNpMkNkM2Q3R1JIWDlycGFoakp2VFpiT3BRNFNmb0lsajFpNlRkV0VvSXBlSWRVZ0lEa0pIc0Noek1qNzFDQnVyTUtTV0ZsODY1MWhBU2svOXFoR3FCNy91bHdKQ05TTDFibmZaU1ZOL2EyRjh4MFAvZ3FiamlvK3lOM0h4dTZ0aGxCRVlBZkwrREtnOHBVdkUyUlVNSUlWYmFKcXNpVFZJQ2MvbkNadWozaFJFZlR3R0FBV3NlOStkcGpoZm9raVdVaGlieldwYTNCVXp4MElkYlczd3ZKSHFwb1o0aXpUdXZwZlk4NEcrN2FxMkhPaEtJUGQ3WUZkaExobFo2S3ZPZmxzWEIrTGRoeVdSMEovejhJYUpwTVR2RW04aE0yb3c3c3BLRXZxenh3Zkx2MVN4d0grTUlRM2pWRFFGcUxPMTA2TVd5ZlU3SVJURFVYbVAxekhGR3BKSkVyN1pWQmY4VGplUW9vRHc1OEZ2Zm94TUdxOVdZeWY5WUZGNldUaTdVcWtkdFRsV0RQVEtKTjlXajBuMTRGdXdySmFYVU1rUFl0WU9BVDZlYTVqdkxoN0VQekZiMzlqNVBwWEhtZUJmRzJJQURyeUFjYTJndG1pdjM2UURnWjNTUytYNU94Zk1IbzhDWTA5cG5MWmhMSXNielVkZVdzNk1CTXR6R2tsN2R5cWxJaWtUL0N4cXRYQ2FkU2pOeEQzamgwVFZnQS9HQVVZZk9pVGRabzQrSVYyeHc2M1VEKzRFYjc4Mi9ydzRaRjRQSWY2Qlk4RWZDazh6SHFaeklndGpBSGt4U09MVk1ZbmlaYmVMRGQ1NWtaUkV4ZnAwbXBQcTlPQzZTMmV3emd5SUgxV053aUhXcHh4OWlmZUZPL1VlemxTUVB3Ukt4NDlSRXR4dFkxaDNxTHdpUFJrcEJ4VERpZXRNQ3gzN0xOWkx6UnhQNjJuc0NTY0lvK2I5RG5LUFljY3hVbDlFZkt4VHd1eFNzYi96U3Iram1NTGU3V0VxS1hYeDdoa0NYNkQ4QnpKWERsWTEvWTIra1BmRmt0MG92U2ZrY1VoUWwydHA5QWczckNiY0FzakY1MmpmTmR5UE1wWDhVSTU3anNldERHaCt0bG5JSUpldDBXR3J2SXVoWVlYWDRqK1FlTFJCeWl3Q1JTVkw1VjNSZ1NBSlN5bUcwQ3ZSTStVZjVsRmJUMmsxNGZrN0x2S1oxdFFuMHl6Y2d3Z1g4ZFdEQkxEUG5nTlVPeExxdk1TSktVZElFWnJUd21yV3dXL3A4b1J5Z0M4QzhaaXc1RXJHYnJ3NzhIeXp5NWN6YVZJQ2x2RWhCdUM2NDZoZ3RHd2dXd0luNzF5VzVTK3UxUW9icE9LdnBoMzZkdllYdmQ1R2t0Z2xHUE50djNHNkxjT0pTbjYxRjYydXN5SlNWNEk0U3BZRGJtUEViZVoxT1lTLzQ5V2xOY08zS1c4Q0IveDB6Tm1aWkorUm1BcHprcnVHSDM3YzdJY29LczNySWlwWjZURUxMSXBRUnFSVEo1eFhMRU05b2Z2cGh6Nm5IRWI3Tks1OFJMamU5OW96b0lLUTYxQWIvSHQySCtYeFJBelJ0VDFhUjZGTGZIc0xhbnFueW5lZmRETTNYNlNudnZWeUNTbkttdVNyOVM2S2pkbnZXMFdtZ1J5ZW5NWGNJV0xzaDR1RkdMM0lrYUtJdnYvUW1MYWFaVWJ1RUtxbnhVdTFIUW5Rb2lJWldpMkhxYVNDWDFaODUvSk01NENyTzlLL1o1NjhHQmRRVStnQVdySW5CK2xzTmlvKzk1azkzcUpOUUxOYVFGc0ljU1l2M2R0UklQbzlJSkE1anpBY0k5T20za3d5Vk9IbWVWWmdRQ3BQNENXZjBkRmZ1QWRXZkR4NEY1MXhpRGxVbndha1JkaS9BZmdkSmFMYjJwSXlLMHZDYkFHQUJLU3lTbXBCcUQvUnkrYnl5SWdGTzlMa2dTeCs4SUw4NlNWVHl2NXV4MlZlK1FFR0hXc2FrRVhTZFZDSGVJK0wxVlNkekdxc1VCRnE1YXZ6VElxOFRTeUIzYVNNc3F1WC82QUhkaDlPVE5FbXRUSW1pN1RNQ2QvQm5GaVdjYkQvUmQvZ0NpWkE4VEZCL1RhZFJ6WDNPdFo4SUcvTTdKS3RyZzM2dndDbXpZcXpYQmEwUjJQbndDL0lDNjhQWjJYN2F3UVBqQ1JEckViVmZxVGZuK0RGTExCcndRSjRqWHM5SjJZTG9Yd0toN3dvcTVUZStBeHErMkloZmNoUndadVhCYjFzZTVheUF0TC9FYkxFYTdjazdhVXJPYkcvV0NUSWFrNmZEelh2WSt1V2E2bnhSeXR0ZjRRcUlsYVdWWlNXT29ud0pxMnNEU1FiY053VzRCRld0cm0wN3Jmc1lFendrZFFJb21GMmtmemlsMTQzY29yMEFpaEliOVhndU5HSSs3RitrblRyb0xvbTZwaEpqM1BxNmpZdHNZcVErMkFyay9KT2c4b0laVnU1aDFZUHZUWXpZbHBiWHY4dXZmTEJPbk1zekNRMGw3TlplakhuUzhPdlpNU0IxbStWYUdHK2hsaGltYkg3V3FJQVBLbHplazhtdXZGZWExWjZHT3FMek41bDN5RklndlBjRTVmRFlQT3ZhSGJLd2p5T2N5anpEaXBhS3JYaTB1bW1qZFFYVGtMbWNKMWdxekpCc3dZOGt6cUVBcmJaN1dnSEtWOVEyWFpHSVgvR0hJTVozWUFvVG55S285TWtsOWd0U3FrUzF1bGZQZXJSKzV1T2ZMaEpYaGxiOGRENzFDM3ovbW5RT3UxbG9BZkt3d1VKdDNoSHphM0pGOHorWWF2cmV3c3B3WW9mL1dBQlpGTlhqdDdkaFBOTHd0V1JJNnBhbE5NaTdJdm42MHBXWmZPcnFrSWhsRithOTRteDBMcU1rbUd3eDk2TGhPTEtmdlVOQ0g3bjU3cXRoTktzL2pRK1Y2aWJMdzhrc3J1TDJpTEF5ZXo4R3VIak51Unc1TG90MStCRTY3M2F5ZEc3NnJvZkQwZzYyN2t4M1p3aWRtNFZVaUJyM0IxaUpuVkVEeHBRNTdGNlM4OFl1bEJsZWtodHh6NEMwN2cvWlJubVY3bDR6bWJxeHFpbXl6Q0JjUDJ3bjlHcTM0VkhFQklCa0xWZ20zK1N5V29RWmJ3WlM2elJaQTIxeVlQcnZ1aVVXVEdGV2t3YTVXUTgxMGFESnFoTk9sTW5INVB5OXY5R1F6REVuM01odnNmMCtOTHJlRUV5SnNTTzhZU1E0QzNYTUVOaFd3UDNnZnU4cnVPb0RWWHJYWHN6Qkh3RHc3VHRUbmdSUTZwYndvNEp2ZnZyKytPY2lncjhQcGRCV3ZKMERsSDhxaVI5K1ZnU0VFVmlHTXFIb2hVM0V5Ni9uZ3VJVHJBUzY3UDVQZnMzVFhvM2FxRTJieUpLOFpJNG9BYmZwN1lXM1doNWZFL2NKWDhFVGpMZXdPOFhzUFFiRi9ib3g0Qld6ekFWYUdGZG41MVhzejYyK2tYR29mQXE3VmdTeHYwR011V2NkbncxcW0xMzRaUVV0QmJGcEREa3EyZnNuck9tcHR6T3NxMkZNd0prbjErSit0L1dNeE1uSlFSK0I4eDVINkJIRnhESndadzRnNE44NXJXamlncFdva3MzVjVkbE9oZ3VLME5lZ2RPbGRlMnI0NkpKK0N2REdFYlowZnFrZ2Y0cEVRMmNRNzZIQXo5MzZUc295YUZ4SFY3VENlVXF4aytjTkYwc0FGTXAwcG16M3ErV2xOb1BoODlwQkEvV2tmTE02WUp5U3ZySzBqOGh1QTFoSG42Rm91RUNrZndjd0pSVSt6WHBGYllsY2F5MlJiaGdsR2tRZUZyWGZQblJsNmExd3h0VGZrRjhTWndqUWNxUFFWYVBHQzNmNzQ5NTVLV2VGc3ZwdW9OSnR2LytTTU8xclQ5Qm9KVndUcVNnSm1WSkFZS1hPTFUzbGhSOFpJTlkwdFJETVVxMDE4QUdJL1ZQc3JyTm43S1U4eXlYWnRaaW9KZDhqK0pjYjVHNVRHUWVMeHA3cHNZK0g5cGthcTFvdnBiRys4OHhrL2ZqUDVpQWdncC8vN2hSemN2Q3F5TzVPMHFFRXMyYTNacEk3bTFqNDd5UkxHbFROMW1lcmxyUW1aMHI3UVpZcmFvaUR5T205dmdzVDN5ODdhTkU3ZXBVUHZvLzVrNnNZY2M0cXpJaTFZazc4b1NTd1BwdGxYcnBudDJTRm5RWWQwM1RkeEtnSittWTVlWjhHWkNpcnpuQzhneFFKQUhnc05LLytHTXAvbnlENGFuc0ZralpUbU54NnN6WFY5aTJqc3dGYkg4Z0ZvWVJPbENtNU1wOFo1NjdFZVU3VlM4NDhGZzBwMFI4Q1REbE5zcWRPNXdBb1JBT2plZnh2UjhoQnFYZFYxOHBUdEY0WTNIeTI5d1VFREtEdjhDZHJYTXNyZ255aEJLVlJRYWlNaXVMUWtGUUFmQzA5SjJNQVFZRmNLeWsxMkZlZzNQMHNmaVQ5ZUg4VnhkUmRHRjNXUmZKWVVWcmlqWm5OVmlzS0ZnK3JwQ2R0SXh4UjhwMUhjT3ZNV2dMQUEza0hCQ0wwVWNaOHRiRGFYRkFUYm0xaUppY0pRYmFNditnaDF5eW9rYlJhNm9zbzRYWi9vR1djejkyaWpvenVtNjhEMFhLRCt6eWdydFRtTjFPRXVybzRpaGJiMEJWMUFlV05ZbU1hdnQ3L09LN1puSVV5UnNrWVZxYjU4dlhjQm1sbHdJak1QYnUwRkpqcnEvUHA2T1F4d0FlNmM2Q2JnV3V4OXdxUGVLWWZFWlZjTkdLYW42NjBYWWFiUWgxdTVsVWhZYURXUXNBazQwa05LUVR5dkV5N3RIN0JxRlY5R21FSkFMajRsZTNNM1YxZ2hKcW9IRmFiaUVnbk9lcHY2WkFlWWY1QjRIK1AxVWIva0t2c2k1d2JJOXU0Vnc4UXgzWFRGQW9zWjU4N0lDM2RIL0RPd3p0ZkVmbW0zWG1zcWxOSFplY1Z3UDhXbkFvMGlZYlZFRktKUHcyaDVpNkdIeWUwQzNxSjFTOHYxbUhtZGVHajJLRzdrYU4waW5EMGp4MlEzVVZrMUtualdwRVQ2eVRERk8wM3BlT25oZ2UwWnpvbFFWRWhsejZXKzdtSHNpTGtCSStCK1d6emZvVkZWZG5SSVQ5YWV5Q1BMN1JOQ01FOVI4ZisxczBaMktKZi9HL1AxbVhlVm9tUElNdm5wNDl3NmkzWmFtbzdZb3FldU9Ncm5iVnlzRFlqNjR0dXlTNGZLT0N0MXZuRHh2OVhtY1o5elZPVjB5R0tybWlETzlJUmhDUHJuTFV4Z2JqTzltakJjZWhlV2RqbzhsUXJPeWUwSXk5aUh2MC8xeEVYYTlxRW5OczZaUXpncGZpYzkyZDE2NzJhV09iVkNEYklSUFFDNHFyOXFqTmRMNnJaY0tnR2JXZlpzME0vZ3gxa1JaTGo4U3lkZlRqUGVDSW45RkcyWWJZcUJCWUt0YmVLR003bjZFWGYxQlJSYll3MWFwK0lld3BkMTAxdlRqdjJYVElBTWR1VTAzQXFBS3BiaDM1L2NhclBsc1Rqem1WaWNkQnNkRmVoVWU5UzBySnVsVWRnMDJCdTFtQm9ERUczZFl6OUVSUGhYSlJ2emg3YkxEUXNvVytQM0NsNEswVE56dndQUkhtUzFVZGJVdjBYUlNUYzA0czkvZGtGTXZCU0FLTzFYU2tnUEpTWkNGcG1scHJJTitCb1BtTGcrSTdqcEF6RFR2VXNQR2RiZXFYOHM5azdSOTludlVDVmlmQm9CSEt0bDRIbS9zL09qYzF5alFEUTRCNzlzemkwZldXWi8yK1R6WlVXWlQ2alpTYTBOSUZ5UmNJYUlDWEJ6K0xRSWRNTXBBTWtna0N2ajYwVHRtSGtyTU5xVDZpVVVrSW1lWWxsQ2pFNS9iMGxGNTduemdBOXYrWmVYNGRicUlEcVhzWXJtTm5wUjlraG9mdHI4U0ExMFFHV1ZYcUNaejI4dGUxSXhobTlEQjVzYUsybWk1MzFKRHdHbEpqQTd4L0dIa09ERGdrbDNTSzlHbUN6TFNEcGpyU2tDclpOZ0ZkTDJpM0F3WTVZd1IrTHVraHRDcUEwWHREQzNQMkVNZFRJTkZSRFdydWVHbk1UbU5CeWUxci9ySFlFVWNrbktFblNUT2JkTXozSDk5WDd5VnJTTk1xUzdLbUNDalJILzJKVUZBcTQ1TUF1WXBwb2dyUDFIclpVbmhOdzc5TUFiaHVmdktmdjFtVlhOR25OUTZYWDQ1SVZ6ZkFiWjlIeGpFVktXajZSUXlUZ2lEK0h2MS96cHRrRXZONXJtS0toSHBjNW5RSEMvL2hnYUNmUTh6RTBDMkNPWHBXMVZ3aWtMZHdnSzAvTU5GTmI2L0JJS1N5VHVaUWpkeEVidndIemR2RnZPS2tJNzVsZmlJZklYQTZwcU5TVWhkSmVnZGRYT2VqV0VRVmM2TS9HMW1WOVY0c21uVjI1d1Q2L1hray9hY0hCT3BSbFRtUFNEMWxnZmxHdzBVVGNHTFhMd0ZLbEhGbnFnTTBXeEhWYU9DMkIrN0NZTjdzTko0U25IMUtOK0x1Zzkya0l1QzA3OFBQQkNVMTBKR0dkVVdFVUtoMnFOU3lCcUNYK01oQ3VuMUV1SStlWUtNZm9QeHFiendxMi81Z3dDRmZjejF0VmM3TWJlM1VGVEF2bWRObHJRZFpaWEI5Yk50NHZnK3I1VjlsK0NrakhyM1pUSnk5ZlUzVVgyQUtGSXRmekZ5VFQ1TkZLbHZTZVp2V29IRGdud09uSHNyanhNVjI2V0N5Q2pBSGdLcW51NmkyL1l0cm1pbHhXd0crQ3Bja1ZHa3RDbCs4MW05bEQ0WFFFdW9VZU0vVml5anVXSjhjOEtGWmNzaTJtM2kvVnZiL2V6cDNSNlpLNHNYNTFZalFLNEhsUEJoZHRoRzBjcUxmZXFxb1VjMGhtS2RxUm0zMUdyb2ZiUUJyb3didllwaGpWaUViNnFEa1VpL0I5RnN6ZVVyckFBRWc3SXpBd1VTLzllZHNseG8zRW8xZWRmMTU0RmVnY1R3NUk0R1NNQWd1amtGSGtnRE9JREZCTFEreXM5V1hYbk5aeENZYWQyazZCTzRUbGtBY2hpQytzeHdMaER3bFR1TC92MnhpQS82NTBzMTNLTFRWMS9rRElHcTdXUTIrV2JWUlp5RStVRWZueEI4OVZ6R0RIOURnVjZDVHByU2dtUDNSZHpLVVNDRTIxY1JQcFkwMmI0cHNTZmtSTXlZNS9tZDloWDEvallVa3orNWhtSzRqOVk1M3hVaG5mcVhIb3hibnMzM0drVWlZL0pQdXpWaThmMGQwRzR6ZHAwL2RpTytMZi8rZEE1NzRUZHNacVhkVFBKc2RocERWYk5SdVR0aDhHNXBWb3dEM3VtdVZLNmI2UTFFK29kNkxIdlk5Zm4wZnh0QnJSMWkzQmpWUEc0STFpRDRwNklTTWk5Y0g0Wi83c3VBRk8zSzNONnY1Q2pJZHZEWE9OU2xhcHRIb2JrMEFHRjRqZGs5TG81a0kxUHlkMGxFdDNSaWVpNDlVbkw2US9MTUFDRjBzZU9weHV2eHhqMHJYQysyUWQ3dEMxR3hsMXV0dEVDZVFBMlg1Y2ZOZHFJbW1EM3A2YzdDWkdRNVlUQlpHNjg1Q0pyV202emd3VWU2MlJlZm1XRnpmb3NZSmFXTENDdkd6SVdIelZvdC9TOCtFMk9NUUtpUUdra3QwY1haMzZZNWhiZnZMUTNBWkVkRENIdUUyQWRmV2l0cFBsaGNmRHM5M3JrWlpCclcwTEtyRUxNQzZnRitJcTR2VGVCcFVkZjl5ODRqV2ZVdWNGenEzZlZBUXN0Rm5SVzZGQ2oydEppaW1TdE1hV1dva3dPS1FHZXFaWVZ4Ykh3ZHJwaW80SThIbzVMYkhWMFFtT2JIK1BGUnhEL2JBUnBxSjVrQzlOSEFNUmFqY0pRTlE5bUM5UE00VVo0SThZdytVYmJhcHplUVhHbmlneUZWVWhSWk91OTFMM0ZEeWRlWkVKYm4vUEdodmJvQTlxdjdRbjBiZDRVQjBneWJuZ0lkVUpZOC90TmI1U1ZPcENZa3lFQWc3SktmLzh5dXlTUWtHZENaOERySXI2SFFYZzhZS25jdHozSGJ6SDloelUyRGVFdUFXbkE1a2w0ZXV0WjRqQTc0bDROZ1BOTkl0QTRYL2RZMDJob3pBdkdrcTJyeklQM2hQcFFYYjh5cXVqeGdseUUxSlM1UlVZaFAydW5MUFM1RWVCZURQL3N2M3RoR1ZKZmZWYXBoOUNxYlRzV1JUQ3hvTExVQ0dzWS9Xd2c2Vll1NER1aTBORUlZeUlOV1pmT2RscUJYQVZBNWtHMlF6RU4vMU01c2JwN0k5M21NbHdDNE4rRE9rbzRqNkF3UCtkSkxqZTlpeGpUMEx1WUJTVUkvWXhFR1Zvb0N1cEhmajh4MWpmajBMWFJOaXRibDFpM29Tc2pFc1hkRTRmR0xwSVBwMk5FaWI1VmoyYUU3TmlOQ21UMU5NMGN1Z1lJUmpTZGVPMXlwdW9keWxYSEFPQk8vSnRtdWxNM2xCU0F5d0IzMXI2MkdtajUvYXQwb24rdWUxK3NFMitzK1hPdE5SZXZNZjBsN0pjMXYrYkhFdjdURWdXcE1MZ3VwMWJScDRqdnlQcGJKNWVFbjh4V05kZnFLOW5vQU9Zc1RwZkxuY1VSMmVkMG44cTFYK0RlN1JRR1htYURBcFNZOHZTeDB2RGZCVEdleHY1eW91U0VSS1hqWkJ2am9qdVJ3ZEVMTG5FYi9qV3JDTzZjbEhTKzFaaHYxZnptdzlDRDBOdDIyZ1pvUVdReDI5eVZPeGE0L2xqRlcrZnFZOXhuNm5VZGg0b001N1VWK2drYmpUbTMrMlFDRUZWaHdaR1VKK3N2N1I5dGdISDNieC9JR0F0amQyRTNpMzBVTUp1YVFReUVHemdLWUMvTlMxVGxaQ1RwOEd5a3dnZWNGQ1lOY3NBTnVZWjNnck5UeGV4Sm1vM3E2emx5UUVuMzhhemRVOEdwcktMbWNNSVdpVVhhRG95bFE5a1BmSEdPWjdFSEp0VnJWa0JRYUJFV2NNMEdBV1NORGhKNEFSa3plbUg0YTBoZGI5dTVyblBLdzgzTVBIQlhPOWs0THZ2aWw3MXQzKzRPQXhPb3E2R1pmRkpUTlJ3bDdac1JrbXhxaWF4UW1FdmV2UVgzMjBQSExGTzZ3eUlPMFlDbURRWFh2cWlKTjNVOGFnK2h6SDdaQ0ZkM3o0YTFMUjNya3EwTkw4Ujd5T1FtYTFleE5CVER2YWJVc3d4WlpyMGZKbjZjd0Z3L3JLZktKR0llWi8vWXNJd2xGaWZERzhqS084Tzg4SFdmM29WY256Q1BFMFBSUTNSUkt4Riszc29idFlHRUlkdURKZWNBQXQ0cTZIMGJ0Q0FGd2pTT1NRTlNFckQ1a0xKL1BTQURhVmEwTUxTV3RqWE1JQWZ3K2xKc2xURTNNMkNhUm51WS9xaWRlVXhSYnBRVXc3azgwdVN1anNzTXErTiszWjJWclYycCtIOFp3UFJaUW9VRVQ2SHo3NHlVbWVsdUdqNjAyTHd6QXFYdHhtZGFFUnF3WTR0cE5Qd0hTcVM3QnpRUlNvd1FYeXlNWXg2WkpaVHVpWkdJM3MyTmNtQlJQekJqTWVFSWtqTkczQXdOVmVQWEs2N2RiczAwUU1kYk96eEVEaWJsdUlrek03ZWwyeW1hRWxQbTlwdUtVbFkvT0kzMGlZSGU1WngxZjczWnp6TCtxYnU0YzNpYlZTUTNTM3BiWUsrcC9ZSmZWK2ZOZU9xUWkrSzRpU0ZnQm9POUw4ZEE2WUpiQlNMajVnL0FSaTBSZnc4cGhCZmNvM0VYTXVQcVNXdHlPR3FFKyt0aWNTSURXVWQ4WFh0RzN0bW4wVWtWOXpCczhnTFRNaWpYbEE1WFhPVDZ4cjVTWmV3WDlka2tseWV6eXVlcVhBRUE3MUdCRktKT0FpeTVXenpXS0g2ZVZTZjN1TkEvSzEyMFBjL0lCN011bExIQjhJZTAxQ0dBa2d4dmU0emNCZDhaeHpsdjNRRis4ajhMVXRGWDgzbnlpaUZtdFQxWURmeHRMVDl4Rmxxck5DSEJ1VDQ1Um03ZUhKVDZyS0ZIMTUwd3cyVEw0NTlJOGk1WStKaEtzU05DWWZNd3Z3TmpENU5Jdmc5UEVTY3Z4dTZQZHFqMkw5Y2hnQVlMckVxSVArZDFtZGFwa05KcFdSV0Nnd1BzVzhkSTJxb3NzMXdBY1k1dXNGbHhBUk93VkNQNndHYzBtQWxrWDJlQzJtZmR4dXd3b3dlSXlCdFFhVDA3SFdVOGt2Ujl2ZVFLbmxObGhWVTU5QWhlbDVBODREVllUeWV4V0FCMERqaHRXM1hiZTl5WGdFaE5mYkNrOVVsZWpneSt5MTVxcmZFQkJCNG5KamdiOGI4bmF1TjZrQVAyWFFwNGF2Q1hJN3ZWT2R0VXZUb1ZIcGxpZWdnR2VFdEM3VDBoaWRBenBIT09uNm8rUGR2ZW1OYjZWczJTNDVrVkl4YVF5TDdHWmtJaDZWN1R3c09CUWpkY2xpZXNvRzE5aDBwYUNMMVBzZTJ0cDFoSHhBY2FIM3ZON3QweCtzMml2eUlxeHlrUXFUYUhGeE5ZNUZwREloOC9NRmpOMDdqN0tEQUtOeUVSMndwZXBKamJSV0duZ0ZkYmQzcGxnN01xMi9IWkswM2dDYmUrcWdxMjRxTmFjd1hzWTFZMUlLaVRMcWFiT2NOSkZRQkVEREw0dzEwZWx4RkNGYkIrYjdxdC9kRlU1VlFWUEFRb3B3eklTNzJJNG5mQ3NFbGN3MEplaTFaWUFnbkgrMXcvMXI5SHphK0M0NW5ISWllVnFiak1TTldGa2pEMkJtUVpFM284Q1pWakN2N1pScnRBVXBOQVQrL3RsWTNSdFdOaXZ2ZmFJakx5a0puZVJDSTRRRWJuemUxQU55TDNrZi9LYytVTEZxZjBBaXplTm9OWkNjRytBQTdpYlR1UWkrcHBtdWNtdjRMdG9sbnlEd0F4bjJ4aHVRNUJ5aU1FV1NTSmZONkFTbkMzdDhXOVBsZTJ4cFplaVhiMHdHTWJQa2FROVhkaTdlZ0pManpQU3U3cXBkS2FVckRBZGwxR2JXaCthRHFSclBlRi8zdmRlSGxEbFB1TXM4aUx2N2Q4a1p6K1dHWWIyUU90bDU1M0pKOUlBN2xEc2YvYUVzUmRwd1hsK2p3OEdGTnI2elEwclhLZDJqWjIxaUhhSUVsbFdXejN0cmRsck5ueEszcXBURzFneEE3S0ZJKzVQZWxNSjJJMTExODZTU013V29HVjR4NnlRdFBtL2V5YmxlbGlFQVJzZkRLcjBXUk9NdDljZHZlM0FzNUw0VitINFExdC9FWE15NTNBU3huY3BKRkZ5STFDLzVTbmJuM3FaQVdnRUlDd2Flb1d3alAwOGRMaUpLYjJvNVhodU4vR05ONEFKdXlsQVV5TENMUWpwRzJRZ1BJdlgrVTEyalgza0RKZ2IvSHpnYWtMVkJGUE5FMEJMYzJkWWpyeDI5NVN1TzZZeS9DbVdIQTJCQWtnUCtmU3k1TEdZZVVjTFc0NGRrc1lXLythOW0reUdEdDdrNXl5emVSK0JyNXVsREF3QXBFemxmaENhSGpTRGJxN1NpYXNmRDJXTE44OGExYzVTYXpPVEwxWXNUamZYdVVSazdEZ0kyOFhyMytDL2lUanMzdlFpOFd3THJQU1VPelBjZ0Z4WXVOekRVTEVUZ2krVkdJRitiOFVld1dtTUlLRFdTZktzSVlSVkZKQ2M3MUcxN01aSmRPMG9ZTzBGRHZRU21vaGpyT0pUWk13cW5TZkxJMHgvQWFLaTcza2VFckR5KzN0aTdMMGRuUzlVdTUwNVJjRnhZUklWRmc2MFNybFpBUE9tbTZmOTcrQ3YwUm9iMm5UVy85VDM3ejVmMWxWV1Fib25OVFZaUmd4NXBhT2w0Uk1nQjFLcXZNSUlVMm02Q1AyMGxROXo5RVR3Y2Z4MjZhclJXVXN6bzJCYnJQR1UwcFNHNGU0OS9xWkVuYncwNzJrYlFtck9zc0x2aXBteWs4NEN4SlVxOFVKTVRCckR5M0FWMDA2SUlhUXdxQlNkRU5FRVM4b1JiWEMrM2hkbVdGcXlWMGorZld3RE5VVkpUS3c0OS9Qalk4dGk3bFR2TVQ3TzhQTTM3bEEwM2hMVlYrSHJBamdqY2dMUy90MzhtWVpGWFVmaE4wWmZPSUFrTUo3ZzBNcU1HWVlkcXIrK2orZUN4QUNZUUZJUDB3c2ZrR0I1OFN0bnZ5UHV2RGhTK1grS1pWQVQxVHRMRHBNNWRtSDNhWklzVjFJbXBmak5LRTJEN0d2Nk1MRDBscU9RQ3Jmall1aWNnZm1Kek04U0hKV0xzbXN1UVgyY1lYeS9xbkFJVytZanJZNHZSTmVXRVJ0cEcrUnhaK1BjNVF5QjNkNnVJYllNNGVIdDRDaTZnUGpvbEV0ZFVXS1RqNUwvQlVFdlRwS0tsUG1uMnJLbUtZTzY4Q1RVbG54YzVmNjlzdEpjcklscHZnc3FJY0Jvb25POGgyRDFvNFBUTlo3N2RNSUIvMmJaZldoc0dmYmpNQ2FoKzhWbWs0MUltVGtKTFlDTDExQmFDUW1lTTkzTGxRczNuZFBKK3ZvRk1hdkliNWNVRStLMnJBYTRianhNV2c1ZmJQWkVUZ212aHdWMFF5TEhORXhBcFhPeXBZdkdxcDJFUldvdFIzZHVKWVJnbExsQzdQeE1QaThsTDJQaDNaMFBqRTErYXJUZXh6TE5aWmQwN09UOTJETXQwTHNhRDZCNGVEOWNuRXNWbHV6akJKR0YxbS9KL2ZCMXpjZDRlMTE4MzFRK2xjT3ZtTERDejk4NUpKUDlyRFd2b3FuN1pESkFwZ1d2S25laXUxdXZseHJXS3Y4SmJDZFNPcUppdjlPZHZ6eFFrQTVKNWFWWUNtM3lCVkhzRzZyNXpkaC9OMDQxNm5JbTNGM05lcVJpU2JCODVRc2RWL1NPSUNoVHhZb2hIN29HOFB6VjVnVVdwVmVTRFlRUXFFbU1IRjFNT2dpWndoZ21MRGxncFdyUkRRYlFQSXd5bmwzUG5kMi9zMmNtN3UxVWNKMEc5Zm8rTzlyYlYyZjVORitqL1E1SEVzT0o1R0Znbmd0djFaVHpYNGc0WnIrT2JOTHJWeUNUcHlIZlUxc04xclE5c2JIV2dkazRjdmx2K09qYzdaZHIrTW0vcisrYnErUG82blFBVzNyMUl3VDFLaWp2ZW85d05SRlhSbjFzQTZBbm1nY3psQmJMUzJKUDVpTkVpNWY3cjV6VWlLaXVCbGErb2RRMlVQb0JFSlJXbU1nTHJUK3RkbHZscForNFBSaUFIKzRuYVFVaityV0MvdWxmZ2V2VHR0aVJQUTl3ckpPVzVyQThPbEpaa0pSTGFNVm9Bb0ZJbjQzNEV0M25hT3M1cDF0ekNyZVJTUWtEQnZJWnczK1lYWHl5OWR4aVdTcE9aVGdhNXRQNWVyQndudU5ZVE9pak9QanJVMnM5K2d6SGxCczRuVzhxRmZhdHB2djBsSmEyd3Fmem9XK2dJSU9mTlZOMXRsTmxRRFBMVVdWNGdPYy8xdFhQMllPY01xaVdhbk1jNFhOMm5WVWVkZ3M4Mmt4RUY3Vy9YWEdvdUxYVUJDdWIxeUZ2WTdRb09WUEs5bE82WE4rYVhld0NEWlRhYTBVYWxiQWFDazI3TmdsZUo0KzdqYzh2NVpuRGZQeUt2eHpjVzNUVWcxU05kTG05L2E0UmJOQ0xzQ0JsS3Q2VG5YOTlaK1RyU3Jja082ejB5bzZYeVhnelo1MkVOdStPMEtubDV1L25BeTZ5WFN0V3lrTElXWEZIUWovTWN6UnFjaVJRazVvRGlCVjBJdVJNeHQ4NS94aTVpa0lqVFEwbFBRNTBwK2tTMUJLY3I1akQ0bitFemYrVExEeC9rWjM5VXo1dFRTSDY3KzBDYlZrQXhhYllNL1UzUGI2aDZHR29RSE1BbnlkUmZ4c05rVGYxczREaEVRKzRxM1hPSnJlL3NUWmU5ckIzbkN0NlpaWHgvZlEyNGZXeUp2SGRNUUdiOXAvRk5JNzRJbXJhQnRvTWhKRjNmMXdnRDhFZXlXOFhFTXR3WG9qTGNvK1poMHpkMUVXMjdzeG9Nc05XL05heE9ocnpuNGpXUWFqQUtjOFRxYjZNdXRacERNNXMzei9ZR1crbmpLUkNCakdiTFFxZy85eG1GaWIwcDhTNnpoTitMaEZpWDUrWnVMK0lJZkRSczdSTFRPMW84T3BTMEFnME40bkM0WUVvbmtPZDJTNlVHTjVOa2tQVUFhZkdhUW40WWZUblAzZjI0T1NpTVpCbjdUYndza3RSbnVmczNpbU9BaG13V055SkJWcFVCNTNidWRjamtwTHUwWnUxQTk0VkZqUVZXN0twNTk1RGhkek1HSk1heFlOQ2xpWXhRaXhlQWxsMTFaakV6MnlLL2lDTDBBRnVpMzQ5WVBLbTlxTWcyWkxkRUFRaG01OW85Mm9zcUxpVi82clVUb0wwN0wvMnZaalUxZzZweUptdGFSNENaQWNhekUwV1J0enVRVkc0MlJiVVhWTmJlRzlTUDNnTzFEZzNxblRKS3FqR0dtZGhmYVJkbkk1SVVJZjVvVVJYREhiU3oyd0cwRGxPbHFSYVhteFM1alFOSFE3TjJ1RWRMaWJqd2loRlNlZHFTdXd3cWdUSDI0ODd1SmZWVWE3ckFGcFNhVW90aUU2TENrOGExTjJDRll4WUQwVXVCa2V3UWNiam5oUzFneUJpNVFwYkY5M3Ryamp6S1ZxcXZpUnhRU3JCZWtTNG5hMm5CZXJBZUhqWVZTa0NHcHRldCszTTJMeFdQYWY4cm1tdkdyeVE3SWovMjJrM0ZkalRzU1VlZUZmak16bS9saENPV1VndzMzMnRqQld3aldBa2xoTlVIRldvUDVDcHFRemlSMnFQRmVQVHlFdWg1Rk1sUFRreUR3c29GVVlnY25pMVNhSzRBcDVIaWNPTXFoTUV0NTk4Y3M4ZmtBQjJLT3M2a3ovTlhJT0Rqc0Q4R3JiWWJCaUpucTNXZ3l3ZzIxemJpU0lqM3E0Sm1kOGphemV1eWtlSGo2S0tmK1FlNFNGc3pMQXdZUElIeVp3MmVwanJWOXQzT2ZsWDY1RnZ2Tmh6emNkNVdLdDd0Q2lCdU9hKzE3TWNjUnNsc0xxYW1zYlkzbjVzdHhZZ0pldmcycG42Qk9MN2FtMW1BOUI1Y1lnSG5rdS9qTlF2Yit3Sm5KYXI2dDFTRGQzVHQ5VjlEVDlpV3poL1BXQ2RBSGlCMWxEUC9ZbzJiTVhjVytwTU9iaUVXSm9GTndqeDUyek4wZWJLV25zK3RmMnlXWm9Oa0U0WGJmL2VaMXdMNE1Lc1pjZlNRbW9ubEl3eFNkdWZjc3g2Mjl5S2xVRUxQNGhQNGt0SWNuUm0yWCtIMHc1MklXYmw0d3podGtDc01aRzh0VjdIRGNiZEthQzl4OFZKQVNWOFN5QVZlVGdFeGRMUFBxYTREMmlMRGhmemNnRWNOZEVxdTZLK0sxeERWK0lUWmRyQnFUNHdEbEpuYzIwbnpzVzRRc09CWmpKZWVCR0MyTytMZEhpeHMrQ3VDUldOdFUyajQzVGtIOTl3aGRIT0FhTFpScHd3SEdEYkNaL3BJc0g3Z1JOTkZkNDBzY2lUbnM4OTU4N3Y4T0pEYVpjUVBMdC8vV2hlenZUNW5qU3FkczVkUmludmY1SEdzeDQwTENlTUVXWHBza2FwNUxicjliMXMvOXV5MTdMS2Fsd0J0dS9XYU01VGVtbGVxK1EweHk0dldiUmE3SFBaMlkvbTZvcDZnemEwaERvaG5xUVFFUkt2Yi9vTzh5MlcwVXpVdzRtVG9Bamt2ZGVZKzNGSTZVZzdIbVlnTEh6UE0yNVgxbmFGT21MaUVmbXpnK0NpNTlXUWwwTUF4L3NSQldXUnpZWmp0ektSRTFSOVF4N1NpWUptY3J5aFliSk5waWZqMzdtYUliL08yUGg3czBZK2JxUjNrc3h3MDJRYnJZUS9ZUTJTaStpa1dBcmNrd05ySFNNVXdYa1lxc1NyR0NnVzB6QVFyZmhTMlFvUnpYTUpabjVKWU1kcVovVlNQS1BVRWltb21QbjVDZDZhSGtJL25hWUh1VVZjSTJLenkwUURmRjNJeElKaEhGUkt4eWhOZHhmWG9YeFRVRUVCVllOU21mM3hRM3c1NlZxNzg3L2NZbEk4V1dqRjdEV0ZmcHh5aXFWMTFFbFplTERwQm9LbVZpa1paS25UZ3JWNE1saC9vVDU0aHdPUDZ6enZMSlFlRHZFTVkxQ3RNTUtwWHdNRkRTazVPMldSQkw4V0RxQXlvNGJ4ZktCWGFKaFRpZHpCTW1wNkxoOEhUMEdFa3JuR2VWKytYMHN3MTN4aE5uVkpPTW1NZUtsVEs4NVdsMGpBVVdLOEY5QVZONGRXQUxMSHhOWmlURjcrOEFaVzZUZlYvenRBM0F0RXVpZURwU0xvMVMzSWM5Vll6K3lPT3A2U1J0NkpsNTBzcVdGejVrS1F4emExazVKYUpjQTYrS0ZnVitYVktHbWJ5YjJCT2tKcDJGZGJISjRSQTNiVFhCc1REUGg3WitUUzh4VDA3QmdZeUx0QnNtbS9sNUlVeXJGaVhlTDF1ZzJ3NytCNk1MUkY4WDhQL2ZnMjNHckQ1VkRONmwzbEtBNzdadUZtS1hYa3dHK3A5NDJWQ3FEVWszR2VsMHRrMTY4YTRpb3ptVDdESWg4bDhnTHdRSjVISUErWjErd2lncW5IbmFpTWdwVU5BUmprNTFKdmhCOGZVZUF4TThQRGN2M1ZnRlAvV0d0b29Hdmo0S0Z3ZlBUeGwrWVFMKzB1YjFrN2VVS3R0ZU1lTWIvNlBPV3hobGE5V295V3ExYWRqcUUxWlBNcG4xRExiR2liSkVnTVUrcFNrbHY0amJEUENNR1RqSWZnWjBub2NNbC9mcmdsMjJzUDRyN2J0c1ZPdytLODhObEx6c3kwWmMybGVYc1YzZEpuNDhnSkM1STZXeXVMRFV6d3pWRlNZMnppZHoyeldEOVlBMlhLTjhKeWRvRHk2NlVOb3JHaUpBYTEvUmpwc0I0S3U3YWs4dHNvQzZzcGp1dTZLdWlubFFTeU4rbnd3bTRJK3RWZ3kvRDg3T1lyb1R5bXZmTFVWS1dqalVPNENSeSs1M1duTEt0S3RQTkEvcDlxTVpweXhBbk1PMW00RWJDSHFrU2FjUlZnYVJLOEVEdGJZMUw3c0NDMDFqeStqaVpDNzlMUE9zVWNhU1Bqd2JoNkt6UW9PdEExbk02bnVlRmNPSkVVTTl4aXFQRHhYV1g4NURFb2lKc1J1VG8rSll2bGFQazRGVGh1OGVTdXF6Q0N5aW8vYkJORzIweDg1U0xFVWV0c3RpOVo2RFBlelRPUE9QZEdhZEVING5UZEpBalBNd2VOTkdRN3k2OGVDeWwrbFBKL1JxRUVmVklDZXFSTDE0d0V3NDBXWkJtamRtbm5Ca2Y4NndXZWNMdTJjV05XbmR5NVZNZ0RkM3J0Q2dLQUdqZlBORWlNU0JhTzBhWDdlK1I4R0hpcFNieGV5S0ZwZm9kYnNIdFgwMFVDczFQMjdSdk9zS0U5Vi8rLzVWZ3RkMHEzSEl6TGhpY0g1MlRJcnVnb1hyQmZQc1Nuek9jSGRwV3AramlLSVUyUVp5Mm15MFJ6c3BCb0VDczFZMDJhdzI3RGJDMEgwR20vZlhpVW1GYU1BN1Q4UjY2bDVaR2c0cUUyZmMxNHFXbjVDNkd1dG0vdFhUY0hQWVREemlIMnVTSGJoK3dDRzlUazhkMkpYdmRveGpCaFdyTHZDUDdQcG9QRWIzaVVPb3AzNWFoRzRxV2pMbEtDMWJnV2UraFNJMTd1Rkk5RGx1ZHZnaGtmVGF3RWZMdFlyTjM3cDh3V0U0NW9PMDlLZS9wc0d3NmNYS1R5L3dDTVNzSjl6QU0wWUhPcjZUeUpNZHpiYlY2eG8wM1d0d1pwOFdNeVl3M25hNWdFYXU0Mk85VXZXMk51Q1A5NzdvSW0vaXFzR1V4ZmZtaFc5czU5ZGhaTEh4WGxvanVCYWJoTjA1dGFaTlRPS3JrZGUza2xWU1BONk03aDNRTDhURzRjbDY2Z1RNQ2FlMHkwaDBwajY1TW41aEtBcjVMYVhoNzhpMlFtaW5Xbmwyb0pUSHJpWThZVUI4d1k4UWt5VlRGOVNyNWJDaWlHRVdsTHVBb29YSlhYTXZ3ZVp6dC9IQW1oMis5QkNEWmlOOXpjVnBsSEI2SytJY1NKcHF1YWQ4MmRUYUZObXdKVVp6RGNyOHduYUhvRUEvRmZnVlEzU1QrcStOWGp2NEFIYUFENW1IVDNXWWFDTHJnL0M5T0RwNDVvSUUxQWNxMG5MSnIrTWF1Z1dNbHA3bW5HaENrQnVKRmw5QTFsWXV6R1BpNXBlZmlzM0lYOU9TUHlZYmxYZk9VN1NRZTVITWl2eThVM1JJVEtCSTMweDJoMEtpQ1pQby9OMkx6eVBuUFQzaTdYRjc4WWxudDlyRnZIMVlHZnJVWHJweHczNXJWaEFhMFZZTlhMN05yci82Q1o5a29IYjhGOHNxeTV4ei9nenUyaVVSdWFHN0QrTVNEb1ZDZ21oSEZWeXBSVDhqNmN2VmhROG9HMlVhR0NaWktLYXI4R0syQVFJZTJPZmJGb0RQZEtJZDdBb3BDOTc0akY1NWlHd2V1WWp6YmNiZU16b3VDODk2WFNqWUE5Z0diRlFyb2xxMHJUYVAvTGVKdlExM3puc3hYcVkydlhuZHhDd0w0cDY3d2tCRUcvRldxYmp1WWpkbW4xOWhHQlpEVjhJQkxNRnBlSXQrZWRTS3pnTERVdkVqQ1IvME1KTURBRERwRU1nNlc3bU9jaUNXZU9HeGRJREZFZkJMUE5HM0lDanlQaVdKTXhZeW5GVjQ2VGVpRVZkaWEwTzRyNzFpcFJXbVpRWFRYZVhMVU5FM0RVN3FtZWxqZjY2Q3lxZGxxa0txQUt2RHVXUUpIcHNJL05JNWVVUmxta3lHaWtITjh4Y0JKand4Y29aNHNITlV0a0ozVDBWbmZaOE5xVlkvVnNIamlDbnhNSkRPNWF5RDdEVmdYdkRWQmpMZEM5RWhXeXMweGcrbGk4aUsraWt4a2pXTVllUWtBRVVSRkxOSDNudTFvNG1sWGVKNzVMZlJkRytmMlB6QzRzdkE3aXNjdzlGQmJIaW9sUkVPOTJjZ1hvQXcydkxDNWR1UG10NkJobTc1d2YxblA5eUlYLzlJalN5bzBBRW9YSERzb0s2T21PU1E4UWVnT0hKelBhN0RaSysySFd0VGdTc2ZFRnBPOGxGbnM3ckYvSUJoSFJiajY1RG5zZGNQT2tOMDY5YXpYb1Z2ejZ0dCt1NUl3aFJTVlcrRXIyZjRHV2lseG84WGU5YlVLVkJYVzk2TzhTaEJGQ0dHUmtwODNCWGNleCtrSng1WThVT0Ftb0IxRVdxWmN0Y2R2QjZ4SUNTekIveThhNTAycVB3RnpmVjRBM2FxTTBBOU9IMlh5RDhjdk5BOURVTzlZQ2l2d2Q0K0duekt6YWpEWlhXbkFFbUQ5ZzhIZldKQTNCUmlQTWwxOURYSnVsUmk1T2liN3lxVnlmazdZUmtlOTlDeUVjaUhNTGFZRGRjUEFoeGJzVjlOVDlCTDZLRDBBQ3g4b2laMkNBeWtBK0h2VG00OENhdEhBb2hkTmtUZVEzU3BqMkl6YmxIMk1wWDN2SmpFaVlSK09LTk1VVUliKzVMTkY1TmlhZlJMVERnNzRmT3hSQ3lRSXcyNGlTcmJIL3FjMW5wSUtDVU1XQjZidXlKZU9GY3owK0JXem1tRzB0SUhwUkxFdENURGpDdEpXL1Z0T1VQS1k1QzFVVEhlN2xsV3AwNno1cUZOckRRT1htNlFpQ0hNWGJodDEvVVp0UldiQ0dtaDVmUUZnYkdIZ21FNm5mQ3BtRXhRMjVucmIyR1VqZ2FjWjZpeHFQNHdKdS9VVUVjM2VwM1lZV25BNndyRk02alR4bGUyUm5FNWs3b1hRYU1nOW42VGFNeVBTYXVtVHNCYzR1MUJnZFJEQitHd3FscXRocDZxbGx0dDUyV1Z2Y0kwWTYxT3ZGZzY4WTQzNklxY0MzR1dCMkk0NDRtR3hkMWtEN0RNV0RQZHl3dmk3Q3VnZXRSdjhwNmFmK1FEN2o1TGxsTmxrVHUrMWxaR0ZmdlpETi84aDNFcUlsTGozK1N5R0NvV0gvZWpvRnNRbHJmTXdhNGpOcjRoaDNGUEIzcnJoSDZkVXlPRkE0SG01clF3Lzk0dVFtVUo1QkEwS0MwQnJ3c0JaMFVYQ3R2bjNpdldSMlQzWVdmRC85d2xjcWUvOUdaVFBicm5oQ3NKQ2R0RDNoQis4NmY3ZU1aTXRja2hzVkhYRWVrSGc4cGl5VnFHT3ZlM0JZT2N1ZmZWVFc4T25rQTFta01XUWt2RkVUUG8xSWhHR0pEcnBmais0VkNmQjQ1TGZGaFliVjRwTTJ1Q3Zub1FTZVlTUFNYcVlGREwxdlpZanRxeEMxZElqdlR5L1NvYzNnWEFaK1N6MC95aHRPdi9nK3RuTC9XMzducGpMMFVQbjhaNFg1dFM1K2FOT1cyNTlyMkY4L0ltT2JndHg5NGpMTHd0SnJaY1dhQnpWZjdWdlFMb05SSEdySkZuNFVhSzEycnhYMnA4bGpoWnJlT1dQaTh2dkxCa0ZVblNDT1ZMcnRITTdHTFF1bVdPTVZDWmVaYURMZ2twYzc1RlJ2OG85R1ljM2J5VVVDejE1NFl1VnBRYVUxdllGRTU3ZGR4UUhIb2pzYUwyVTNKM1JoMGI4NEpYODlFVnBybWJQT0EwRUtLaFdPdytCd2h3SFRmWkdiRE1MQm1tMEpQdTJoQ3U5NmxpNWpGb0NQdktOeFhYbWcyRkVIN0gweGNPUzRicGZwcVdCdjBSdk5NTi9aSXVsSWxhazl0czZiYll3RTAyNVl3Tkg4ZXBGOUNBMmZXTjBQY0x4NWFjTUZ4ZUsyUDBZRS95aWpIOVVSM3N6V2lqTDZhZzYvK0xIQ3JhQlE4OXl3cHU4NmpOVUUvYlVxZUdwdXBNRjUwQ3MrNnVSYUVneTF0MHZOS1gwV3IwQkFveXdsTllkbEh4d0FrNzBEOTVVMjdQTXZseTh2cmtpMldTeDNCQnI2MFlTY1NydWJlNVFLTTVFUDIvUE1EZlZBTFFRSW84alA2cmd1QmJJbWl1bkE4SFNkeHN5M1lrV1RabjBXY0ZvUnZLb000TmpJeFBaU21vZTJKNGNtWHYwaFRJcERmTmhteE1RQ01PSnpzWGsrMy9hTmE3Z1E2RGMyYkJWL3JmVmx5dHdsTWFmTStiVlRicDN6VWZocERueU8vNHF2cnM5ejV5ZURiQUNPOFpMMDREZTFHWm1odC9SUzI1clJWOTljckJ4R2MxTU5CZVhGeCtPOThwZ2k3SjJiV0xldERRalFjWXBiYlI4Tmw2b3dDanViTndWWFlic3NuSGlFZGZJd0JqV25YcnB4MUtESkJpb2hRaFduT2JJa2lvRm9vZFhMRGtQcitVWnNhRjdzZE13QkxaREhORFlDSi9TV1dHZzRhWWNYcGFMbE1HVnNhT091SHhyaGdyU01FQjlPdGxOaDlkQkVCL3BLcHB0ajhHTllyWUhBdm8zZUdlWktqYjljL0k5ZWZkQUJ0Vmp0THE4QkxOSjVEc1RMTmNUeFhrTkRuZUpDc0lSa3Nmc0tMVy83Z2dMOUxVdjJLaWMzejIyZlRlS25YNGZha1Q3WFRabTZIL2dtazBJcEhyNjh2ZkFGRlhxejJMYnJXMlFrclkrUVI5YUFaRWd6c3VCeTIrbWREU0RncE8rdkZXSnlwN1J2NjRTYlJuTW9Bdk0xVVRsYUFGS2xpUHFvbXFuMjRPV05nRU1kZ1RTQkgxeHphTENqVnVOckR1dzVOZURiR0dOSUJiZjlVZXpRdkNjdXNVY0pueE1YcnNDR3lxL1htNWJEb21MdlFpQU15UU9UZnc4djFHL0tQZHFvNE5Ec05VSHYrWFg0c2w0VEtsazhYZ0dDbmN0eHNpZDhPc2dHaUlOUjZVeVB6R3h6aXpackUra2tBSjYrcmpjVWNTT3lvUkhOcHA4RHV4WmpjV2hCeXhzUEl2UEdKZnB4MkFrYnJvRzErM054cVVtanE5YlJyb0MyRU5SSVhEVmVlRUJuOHArV1R5RXlEZnpGazFoMm90SHVJcFJZcGdXNTZwVDFwbm5KMTFsZEhUTExOSnhCVDNiZUcxdmZFcjQ4dlVtMnpiNVhuZy9ubUtteXozNko1UjUySzl2bmhQeTMzWjRncXd3bTVUUHJWcVRiOVZMOFh5Zk1Wc2hDVW5VcjNIbnk5ZmJWcTczVG5pRkRWMXZsRHFtSkpJclBCZVNOcFF1cFNQOE1UUDVFQzV5TG9YZ1plSjJub2dOaUhWZWtSWFNMMVFMN1RUMFV5cTdMWFozRmFFWXRXNFBpVlBJZ0xFNzM0SXFPc0lVN1FTNXZQQmNFWlhPb2ptSjhiaGppQVYyOGQrWHgyQjh3OEtUTzJva216WlRTR04wNU5NWWVvMmRyL1BtUEZWRVpRb01rL1hCekt3ZEdaTUx0U1QzUUV2YnBZcVJrM3hGUVdXS2k1MG92UnVveUpxNGZBa24vRmcvTmFlY1p4QWxnQzJzNmkxYUwyeHRqVWEzV2dxQWdzYndKM1B1ODhtOUJzWlBnS2dtQ1hBbVdkQWViMkRjZmc1RkpxNVJUcVZ1RHhDR2Z2M2RDKzRoVys1WVhxYjZDblB6WkkyOGdHbC91ZGZ0a3ZoS1J3SER2c3R3em9yNFI2ZFlaMTBpS3dqWmIzWnkxZGRKYjdZV0VNQ25PdWdueEZlU1FKamU4bTlUYkhkYVhvYXZ0M2dsK1A3M0NuY0QxemxZQ3JxK0Vzd0M4c1lmQU9qZ3BJN3VOT3dVRnlNL29pQUJvRmdUS1FxYlBUbys5WTMvN1Z3OCtTZmNwMmxneVdvWWFOQW5JTW9tT05oMmsvb3RoMlRZMlNYVmhYVVpQOUhwZU0yYVBTQ1hpa0xkNWx5eXFxYjJmZzc5VlhKUUhZNHNCcGErMHhkT1VEMGhYRkpWb25tdDYxcTl2KzlvbitVVUllWHlzRnZBWUM2UlpCSTZSOTQ3TTg0YUNUKzlzNms5ZzJZSjB0U01nRk56TkREbFFUN3ZYZkI0UzRDNFVaU3lsbHdBWDh6UXdTM3FhZDlmVEw5N3pSUXNQWWtIbGVIZGQ4TUhLMUJZZ3BSVjYwOVhZUmtFY2hXdVpXQkgvTnZFa2ljQzBkaUc2ZDY4ZC83NU5VbTZ5T0c2aDdrdjJjcXJ3T3l4c1NRYVpWMG0vQTdYNVgrc0pkZnZQNHowYjZYaFA1bzhEanhLYU0wRitEWmZ1YjZPR1FNdWhyb0tuVDRGbkQzVzAzaXgzR05qMjhoaGhsTUdEeGF3RjBublF5V1BueTdJZnNkRGthR0hGRCtBUmhYVTZYWS9aZ1MzSUZ5LzFwZEdPQ1NVd3dpWUp4TXQrRkhrYTBza3E2OU8xNzFsclJ6Qkg2MUQrcUJYUjQ4SWdCTFZNbnZ3MElxbGFCaHl4UXowMU1zUDVaSXN4ZzYzam1KQ0RCaGV6ZXBpeldNcnhXNWZ1bS96WEZwVWhDU0JyT1ZzZmtSVUpmamZ4MUdmOHo5YklCYU9lZ2xiZGlXVzE2TEg1STZNOHo1VVJGdkhRVFB0K05ESWo3YjFseXBqN0RpdFJnenJqV2RXSk1kVVh0UnlqMnJXWkh3K2lIZWlGL3ZJTzEwQ2pycjJGK0JhZGxtUDd0VkdwN2lZTVp4bmdLMlN0ZlZzSGFpOUJUTk8zTnl6cHpOOFJNZE1SZkhhc3ZMVkZwWnUzMGd6WjRUNEk0MU1PUkNWd2JRa01TamdxTGVTQWJjL09nMTlUNmptYnpub1I5cmx5SlY0M1lUQkR5VWExb0J3RW43T2tmZHUycVpGZnR6ZHFOQ294WFZFQTZWbXdtbXpNS3BQY2NVKy8yYnp6YWRUL3pETFhwdGVYY2RycllVb09oVjZ5Y2FGbjBqa0ZDYzY2TVNKbE9aSHhkeXpJNnpydjMyU1ZRUEVYUkhiZDhYVUFSYXRLcDlsMDd2aUh3M1cxdjZuc3QySUx6SkNsekxQdDlyVnRHUnF0bmtwNWx0b25MM2VUc2lvMElGcmEvTjlNeFh0cmw4bFdNN0ZESE5VQllsREp4cFNrczlGaEd3TDFSdThjVUZCOWV5TzFvQTJKazYwb0ZmQW50b3cvbFJyckhuV0dKOGJIaHR5Slorb3pRR0tpNTNycTEvalNjT095dDY1ekd2K0pRcTVXRkoybkJZL2pjMTNydUhVQ2FDalpTOWIzOHdudUQvWWJieFdqZUpYUjZvZkFzSGd2bFJnZXROeUdSd1NEWjZLMmpkbzlJQ3hSTmRRSTNEWDIzUHJYVWYyZm9lejFYQjFDazNKbjZ4MWF6OXFoU2FMd0NHMXlFK2xSMTdrVjJwbkVPdFVLbUJheE9jQ1kvTWZkNHFPK3hIV1J5NlJnTzZCMlB4VkswN2JqOG92aVNScUFkNlppMzEyMWNaUzFiQUE1RUpTUkxzZlcxUE1VNG1kK1pXeXppaG8wT0pCQWtrbUtsRlJrbVNrTGZsTEtReFRISkdhcjFhK0VZYnVxNFFmTmpDVmNDSGVyZ3c0Zm92QUxtRThvU2pVdS9MWEFydWwydi9GaHZEWUxBQjlMSVh2blJ5MVowdXVOMGdZU1BXbzBTY1RtQndCd211djg3UGcyUUFHeVpXOTRpWXZQMUE0LzEwTVFDMHpBMHQ1V1hpOFR0Vy93U1NGcm4wQ0dYR3BFYnVGRGZTY1VCVTlCNm56U3MvY2YxWGMvM1JJMjFJWlNIWUNwZ1g4QXRoa0JvWHJTWVdmclZTaW4zZUN6MGMrV1hKLzRSakE2b2dwY1lhcjNZNmJnZG52Lzd3eTVvZEJydnpLQ1RkQTQxN1ZwNzBWTXZjTWI5NEYyZ0lGaUNvcXYrYWFJTGhzSXFWR0d5ZTlBaWc0ekZUY25seWltTXBJaWFUYmdvV0ZRbFFyYWwySnZWcHM3eVVwQ1IreSsvbTZ4cXJSbVlqeDJzRnpQeUpVV1RTbUQ5c0ZrbEZ4UlVQcTVtZWFOVTFldTBrMkFkc2dKRFVNOGIvWllnQ0NocTJmNC9UUWJmcUlpdlh5b21GVVVBZHFiOXZwSUFvK1VhOERjZ05xVkFIaWtneWxWb3d3THVnc2xENTBQdnlwaXlKMkpCUUpkRWlCdjFXVk1VNU93TkJpZmFSLzM1NVhveUFlbHdYTmlvd0FheHlpTEhBV1pUUm04US9rQTZPNWRmU3VJbkhXUXRLUy9ab3E4djAvNmRyeTkya1NhR0JWbEtuK2NCaXFQdGpqVDZlNHNFZHdBWmlCclFhMjdjeUV6Q0RLYXFRV3ZzY3BPUXBkVWxaSHAxeGdoZk9WWndVeU5CUzg0cUxrSFFRc0UxVVBMNFAxYVFJMjVIN1FHZ1YwZlJnako5LzllM05odE1OOEV3Q0dMSWMyazIrSk1JeE9vQ0RydHZTaUpKTWtleG1JWjUxcDRrZG9JT2tXa25sWmZOUUhGT25qb1BXUjdpUm80dHUxVU10QkdZSFgvT3ZOT3psSzVESHpFUHJjckZnRlE4YkE5WEI2Q1BZdzRQeUpxRkJmbHZPVm95MkN5NG14U3U0SHp3VVl6SU43TXpmZHZlL0RHUmZTRGJFZy9ZWFNuTEdPL2IzeWdLdDhUODVzaVViN2hRZ2NIamlJSS9rSmJGbVZoUzloa045NmtrbUhlWWp1NjhkK0lkUCtHcXU0bDJ0cnJRWDlrejd5aVZOU3FQcHYvanVkN2JiOXc5Rnd1WXpqYWlZSjdEQldvS05UZDl1SlRETmViZXJ5NWw3OEJPbFQzT3FIQ1lMczROTGhlY3lXQ3A2RUJ6d2x1QXRFOW9SR0V2YWxxVmpQZXZnbVhVYXlxcFdFZmNBVTd5azluR1paWFlqVHYvNVB1WVZ4Mm94T2drMHhEdUNLY3UxRHEveG5rYjNvUlI0L1h6QnlRc3paWVFqbjl0anI0SUx4d0NtV2k4MDNLU0h3NmNlbXdNdzBCdU1PUTM5RGJiTXNXTGg4UlV1aVBiRjV1ZEswUGI0Nnd5aFY3YUJHRUp4TmJBM0ZQajg5OWsrTGU0VGhBS0tHeHBLdzVaelBwU3JNUTVHZzZZYjBWWHRlNmx1SU9uaWhOcXpaemM5WFhkTXZjdjNBNE41bkc3WGFmNi9nUC9KYXR3WUdMRlRsUThyTGpCTnU5R3BaMVdESWp1dUxmZ01EMVZMeEdMTGV5QVk3NjNqdXZJZjljOXNoSW9BdGVRYUlLR003NFZEb1Ixb0FZL2hZeHR5MEF0Y2pUUi9VeWtWL2txY3dyV0hYYzRrYTlxYmUvem41NGUxczV6ZnZCM0pWbEtKakF3dlV3dC8vRi90OHJuVVI0dVNXcmpNZ1FGUHhLUkxTOVZNdnE1Z05XWFFvN1JsSHVZa0pLMEVxdG5JbXJKUU9ncEYxOEkzbXd3WTUvdzRTZ2p6SHZLMW8wVE54dHV4Mi83UHI0SklaYVVGNlUvUXF0YmFPVmlYTmFUUjhDRUt3eE05N2JJeUJYQTkxdVhaRURvbjg4aEhjUjA0OENtN0N3MWZKT1BvMUJZdjJJbmJwa0E0M3ZGa2NzR0wzN1orY2VxV0liSE5PenBiRnFvWmRSV3lSVEVDMVBCbEdpbi9DNlRLMU9Hc2VwM0EyQ2tGOTZYOUJFOXlkOWxQS1RMcENnNGtmeDBXZ1o2bFZYNnRTOWs2eXVueWV6TGV5d0RWY0ZoRVpxd1czTVhNdHBFWklOY0tIWE1adHp6MmRBRXVSdmxTK3NxdHhOUFQ0ZExRaUpnS0FzM3oyditkQ3A0ZFlZaktDampDbUJLM0FTUis3VndhSmp2ZlVGbzVDZkNWVFROc3RoNVF1dU8vTHJKakk0bEswcUJ1Y1pIRk1DVDNTNTNxL2NHZ2VOdHd3VFdLMmp3VFovT3lpa011MGFZNVhVelBkMU5qQ25NVmZuK1d1Rm91UHNkb1p1RXFadldQTHVpcFNNZ1JNUVBtTHNyeEEvaHJsL1VHYkRWeG93azd6clZhQmV5ZSthUHVscDgzbnd0eU8xMUFrc2drendXaXdEQVh3QXRrM1BaM2hjWUJDNno4TjJwcWEyMFUwYyt0ckhHbVcrWWlOL0IzNzhXT3cvUDUycUFWM2tIZC84L0FkTVhkUU8wYVNIaFgvNEZhQ2F5SlZiRm0xS2pFSnU0ZlRvZG5IQzNWNFJ1S0FlQUIrL04wNHI3OHliWXFDTE5jdm5XSGZKQXhnT3pmSk1mOFFSVGlqZmRvNnovTGdlMzVOeXFkK1RiQnQyZ0VSS3lUOEFFc1owd3kvalhGU3g5TWJwNVA2TGVleU5uWm9QRi9JRFp2dmtSRXBzeVRVcUtDdUNhVDJQbkFTYlc1ZVJOaHZNVDdQMHRieWJSSEhqUTMxcnlUTS9ucDZnN01URXZVNnFzYUtlbHl5M0E2aGxySEpjSjhWZVpDWDc1UHBvU3BkMk54V3ZHYmlxbGlJZE15Ri8rcUdhcEdlVGs0SzZhdXlpMWZiNXQ5WWNhVk9oeEc2ZTNyc00xYXp3elRndWNYZmdpcGl3bGVQdHFjRlQxdUs2bVNKSEdkaXZDTjhkTmp5MFlaVVQ1SFc2aTFodkJpY0FQaG5iRFJ1ak5tRTdvV3lNOFlqdVVQcTgvMk1DQXVWYWFmejFFY3dBb2JiNFFjQlJNRGtQeXdMKytWcHFuZlc1aXRhUXp1VjNLeEVRTXIxN29VUWl3S1pqZytlS3BvTTVacjJTczN2SWR0YXJZRWZyTEd1cEwwYWtTcHJrRjBJdXg1M2Z5R1plSEh3Zk5yUEtvRkxsbkVtMmxsenJlUTRabHVnOERSNUdjaEdxSnRwVzNhcHRyVklTRGdTZzlGMTFnS0NscTI0WVJIN08zUCtBUjMyWHIvN0xtQmRKMGpuajJYN2tuNERJdS9obHNGd0N3WnM2N1kwVzc0OVpWbStLQjQ0S0V4NHhiMlh5TytMdHRuZGUxUVVGTHVnMEgwSHpZNGlRazlPNGhEaUpXT2dSU1VFVGd6c2RMNm1KdkszeTJDQXJBWWpNdExXeENRZEdYRTlGYnVYMzdoNERoQzlDSWRCTUZjdVlBOTlzc3ROYjc5dEkyMk1FcFZaQlRnME1maWtJZnBsTHllSGd4SVNVYjBpcEJ0aXpCVW9tUDJXN291YnIxWU5aaDBaZVBlUFBFYXJyaWlYZHQra3BpYmg4K1o1eFdtU3VSSXpiZmhkeUZweWVhVGpuZ1dTSHVPQWtTOE01UDBVb0hkQkhQNnd5R1lqNTJEZWJIeCs5VFhxb1A0MGhjZVBHWXgweXRhWGkzVGRCMnNhNTBRRFk0SDF2YTFMZVc1eU1pTnA1bjdqU2ovMkx2VDY0RHNkK254aEx5TmJGbzhyMnN2MTZDTGJjQ0U1SXNkaS8vTUw1RHRFL082eG1GOTRuL2dRNHRhb0pkb0xna1Y3YlpFbmgwRFVURXRzb0N3VFV5bVE0UnoybnJUcHFaMUtKeWltSWQxL2hWWEp2TnFOR1NRSnppTVNTalQxUElKL2pYMWNlck1PbUpUb1EzcEJUTnc2cmxlZUs4Ukl4U3RoeHNaV21ySm1QUzFYWTRtK1JLSVdLYXZiN29CR2cwSEZnTmpXUkpFd1Z3d20zL1o1WXNFUi9kdkdRdWcxN2tXL0pQaVpNSGkrRzF5bzhJL0ZlNk15T2xzbExIWlpzSkRZZi9UWExQaDNXa0pFVkV1NURmcnlZcWRFTURPeVpOLzY1VmwwU0hjbmVSa3BFMEhsSXZzajc5K3BTUk5nYkNFT2F5cHdSUTdxak9YeHFxdnBwendkNk1NOEdiV2JRQUF0VFNqeDZ1S1pma3FCU0tKWHUzQUZiVnpmYm93WlpRTktrVlJnZ3MzUmZlOXdxUEtzdnpmWTMrYmw2TG5JRUtwdUdpNkFwbm1BbDQzL1RibTF0S1p2Rzc0eTJKaDdScUlkSjZZRzdlc3pyTExsTTQrdHBBT25ZU1VYeXRyR0VTMVVUYmNQY241NUl4eGxsdWdaTVNTWXJibWNlREV2cE5DZHBwc2hJMmFweFFvYkZSMmU5WEZoMHVUNW8xa1ZhcmJpc3RKQno0Tk41L1JYSDJoT0lvSjhuZUkvdGNDV1hGMEpicEpMN05GTFVqZmdhMldCSk1ud0lMUFB6MEdzNGdCR3N3R1k4QllWcUg3RjNNNEo0VUJTVnR0bFo4L1lYTmgzWkZFeUpkbmNFSHorcFYxMWN0RXRwbDRZcHllVnowbEU5eTB4NFlQRU1MTVoxbWZ2cnBXdU5aTFRTakNTUC9KVzd3OUM1UUdTdklUSnBWNzRjVDY4S3EwbWREK2IxL3FrMmFIS29iS3NPL3VPSjRiWjNUZ0pWWGU3aTJsREJhOW54Zm9zZHRGQ08vMXpQQ3lwOWxGSzNWUzc2anV2VkhqSXRORkRzdThtMStTUTNNSW5LS3FEL3QzTmk0NkZHdDNyZWRad25QU2M4YWttUnNBNFdCS0Vpd1FvRldVanZDM081NjlwOThNbHhTK1RIWUtFOWVnVmR2V2loQkhRV0VtYlJqVzl4ckI5Wjdnc3BvL0lxNCtPclRER3VOSkorZngzYUEvOFh4WlQ4U0Y3QjlkSWhlQzR4QzhwTytKZzFvaklVUnJlaUxxWFVINXMrbEpDYjdyVlp3T3EzS3E0SHo4MXM3dWxoQUM3RHhzMTdkNUFBZnFHVXU2MFhmTjZXMGRhYUl2T05UV2F4NEZQVHpvbEI2eWoxZVVWcE5MU2l4b1pVZUdTd1M2NG5YK1Z0dHBuc0JNS2JUVjFwYWxzMVZOMUtidW5mbnN5MHNDSzlyMDMyODQrNGdWTFloZ1pNbmRTZWUzUmV5NkxEU0ZuVG8vZjdiejVkOXV2ZkpRMEczeE8wRExRUTRjSUpneVVrZ0RzSzZGZisyOG5CVmdnWmdNUGNmL2QraDR2S2lRdE14ZkFaZkpLbTJ1N0JBbDJIenIxYm5WRS8wSUFMelhCdG1mZ3I0eVF0N0k2T2pKRGRUbmVmK0RpMWNkVlcxZWRxaldWUkRoNFBEa1h5NGRabzF4VDFhUnhWTXZ3Y1o2OUREUkNOM2l3ZUhXMmRaQWhFTk90clVXMFpnZ24wQjN4QW81cHFYOHFYSGd2Q1MvbHBQL2ZQRmdSZWIvR21UanVFdXNTVW56aFVIT2NNQ21nYkFpUWpyUi92T09hOS9vRm1IbkxRRFkzZW1YOHZxeTdUSlZxT2w0OEhJSDdUWkkyNjVCaUM0cGFZWW9UQzFXSjhESFpudWtXSzNOK29KSy9VY2t3Z3NYbEcxcHA0bTluWGNuWjBmdkd5TU80WHNVM1pGOWFOclMvSkdYUXNaSjV0eXlZUWtmRzFJTW5UUk5JSU8rOXVIc2RWdDZiUVd5Wk1DbUs5VUp3Ym0xSnpaWVlNUFRBQTJGU1BlbVpKQzBoUDhDOHByejhMZzZXUzN6WUVqVG1ObVVNVkJRYjBLUDlXL1V5amtFRmdVQXFsQmtpVjBRRWxHcUxJRnF0WUJwTWwvbVNqZFZ0NmU1YVJyTVJRTWdhNHBHTEJjbFZTclVKM0dXOENQVEYydmtwV2UwOVdvMjdNU1IrYW02NDZ1ZDNla2h6eC9xUDRXc3lhd3FVREZYN2t1dTVkemRKUzZCTGFRcUhRTGJkMm0xcjlEREZYdHZXa1RDN1dQN1BEVk9HbEppazc4M2R5WndnNUR6djVsQ0N6ZElrZ01GdVE0L0Y1ZGQ0VW9qcTZGVy80Ri9LUm1HUzlVczgwcVp3Rkg2V1Y1RFhYbTFnNzBPakNkSHdMNW5LVkRhNkFicFZFT2lEMWZicDVvQnY2V3BTSURNZjhPSHRWblNvMXpEa3Y4TGpWQnZOdDFSUEExZHBsYjdtQmtFY3cyR2d3SDVaeUdia3Q0R1Z6blNKZ285VXp4cmF0ZGROdUg3anduMFV6VkRMSUw2VHFtL3p4djRMV1RwNUVDQkpLemxsNUZxdVNVNnp4T3FVSjQrVklWUW1TQTlrRWwzM3BPRFlOTTNncWc2S3hyMlJPdFdIZHhyUjE5dDMxMHE5QVRJRGo0UW8zMnF0M1RCMTU4YU5iVlQ0UmhtREJJallNeWxPMm9TZFhWZ2NDaEdhSTQ3V2JlSk9nUklWV01mVFVOWjBqU1Q5cFRkOFVjVVJQeEZCaDFyT3ViVm9JZ2hrcUVQSC9GcXZmK0RHVlN1elhqQXc1cXFIc3pMM2lhRWxhN1hHMEthT2s3MTdNOS85dzgxenRpZHUxRnNzdFB6WkMrRmdPM1Z0Q2JDY2F3Z0d5R3U1NGM2SGZkZDk3S2l4eFlndG9pclNzVDFkQlpnZXhDY2xOVU9TcWhpcXhOenZQc2tVYmhNTUJqMUxOQ0YwRDNhQjZzdW8wTnNZWStoRzRkY0o4WFNoTkR1YkwySFBUOWsvV3dDbEtoNGdvTUh0T3RBSE5Rd2dXWVdkVy92S0RpR0ZMV3lENEJjNVluT3RDTFR5cFYxM0NUNnJKK0p3NFdYS2VCUWVxWmt5MTY0WjJDUnI2b1BXM0ovV0VTQTFHUSt2bnJDalpHdW0xa2U4S1BLT210WlhUcEdBblF6cXhIak1HV3J4YXZtUGRoSS9FR2tWalY4THpWNysyOU51d01Hd3Z5dGkvZ1BXRXBaOFVLVTJSeEdxeHFVSmRiZFYvZlY1WlJVRUIzTzRVOXRScytQMEk4bmhrVzJ6aEwvaHlBdDBLSEl5b3liL25NSWF1dUVoM3JUKzd3QmpqTzFueXJHc0JFMnptMWJvY2pSTjJ4N2RwdGQrK0RlTGNFUEZSOEorKzBTd3JYK0JpYU5uempQWlJtc2xRTFR5K3d0eWl0bnNDSlFjOVdZakJxNURQdE16ZzYrQTVobWlESEdnN2lCWEJWMXVXVWlTYWp1K2dQSWQvY1J0MHBRaE5DTlQyU2dPVytnMUVHRFl3L1pZRkttVTVCRGZhNm5YQ2lCdFFsbjZlNDVIZ1d6Z0JrRDFXckVkNnlMZk9tMlNNM24ycCsxQ1RXRFlNWXRGaWlqL0UvTmNNTVdJdko5cy9ITWdKbHpRUmN1OXMyQ3BpcDU1QWtJVHo1WDErUjhKbU16dVBPWkQ4Q2U1T3BBWDJ3ZGJPZDF5NnVwdGJRdHJITXJyNjFOekNYVFRzRFNhSEtXNHI3UDY2UnVTc1RoelNvRStSZGE4YkVtUndGTXpNbkVtMkFIcDYrbm9ndDdYcFRXMU5EL1RpUUhhbHFBSFczL0lVR0loVmNiaTFwSENIUFVjeEdCcTNBdWowekhUeGxvc0VTRGhkNzAvRkZUOXRxWndRcXlRckloeVRDYmVIMEF4ZTdKQTNXUVJncnpLWmN5Ly9nYmVhWEpPRlBsYWxzNjVOSUFtOGtEdGpiNUhIVGlpTFlWdXZWc3NoM0MzdW8zRUxNaTdSMDVTdm1yZTBNWDQ1cTIveVJaYXdQSHM4bGoxWTJiQWdDWU5OREx3ZHhBdUtBbjJGMkpRczF0REJrQUpPVWk3bzNxT05NeHR3WGI0R0gwM3MwNzBmeDhRcXNoMXpBWWdBU3hkL2g4MEV5cTdpeDdMY0dRQmZvbXFYTS9TcUZOSXF5UVpVemxmcktkamRPTEpaNTc2bklSYWJIY1pObkFLeEozdlZ1TmQvZVV5Q3JIVWdCNk1MK3FYaysyVSthQnJRSkI2MXlmWUxDcG8weEVvNzEweG1mSGdRMnJRSlNIM3JYQms1aEh0bUtFTzNBcjdNODRsaGM0R2JENmtUSDAxRTYyT1IzVnBXbHN4cHJHQzh2ck9qMFliSlQ0bDFOSysyckxyVHQ5alZDNFBnTExnZ25DZ2NGcjJlT0hTK1NkSG82eEFNcHpuWmFSNDhwUjhzdVVvdENMZWdOanhJdGpPVDhFajRPVldSakVadHhxY1lpY3hnZ1pza050V2tGcEdlWkl5Y2lLZHBScFVjZHJIM2krK1Exa3JtVWVHektGa1VMWXBHYnNNWFNBclY1dGNiZ1dtU09pdUNVaFppUVg5MmZiU3FUUGRSc3ZRM3dPMmg1KzVkVG9tZHVPbWZuL1FkNlFxYkZISFJNeStzTTRYNm45UVdSaVBuVWlNYmtqKzEzaGpVbTNraER4U3BvRk9DUVRHd0w2dVNKK3ZSeXJVYmtwZWdYUHJ2MTV1a0JtcHZ4Z3FnSUtpdlI4WDRkbVhGMzh0dXRadk8vcGlyWDRHbFJlNytnSWc3c2Y2U0lkdDNDQlBCUGFjYkdnRlZrd1VWc05abUh1RjBOcTFnb01GU3FVckc5Lzc0UVFObkFxSHprODRMZTk1NXJyaitLd1lrMThFOC9vUHBwMnQ3ZGV6L0tGWksrRi9YUDVuY1IyRjdVUUtzVlVXZWozQVRCNWptK0drLzIvak5TNER2Rm5LY01lMDZkVGNSNk5NQUNHQTdvcDBKWEc2bVdseFB5WTVvREwyd2tDRGpEc2RxMXlvQTVHRjVxSGhqZzBRckkzMktXRmx4TXYySi9CVmRwanJBQnFIRjVVaGJ0NGxDNHoxb3BKN2JGRFlQbEhTUmhraGdmTjdKV1d6T2tNcnExanVmTWlyc05yZ3d3bXV3VFl3Nkc0U3FxVVpFMEtTQ25EWEFlZzFVdkZuKy95RjNHNTRvTHpqS3lxR1pyemZ3MGpWT0E5RmcwcU1BY2VtTENTUGw4L01iYkxaQ0tsOUcxSGhoY2hlNTVMN0dwT3N2MFYxM1dFMFBKTTFUcGVtZDY5aDk4SkNZUWdmVXRJOG1Mc0M3UGs3MGE3UjI5SHFSYkVEeUZkeFRZeDYxdGkrZ2RXL0dMOVJrNDFxdG9KRkJERXJGdUFGd1I5RTFOc1Y3ZlZ6MXlqcU40RjBXajJaS2dDc0FGMnpmblY3TEl2SFlxaE4zZEozKzBCN0NVUnlGSC90RWwyL2trU1NzcUdDV0pOMWRBNHlVTU05bk1lZWZ6Sm5LbE5Bc244MEhnTWt2Qko4VVFWWHNvNmdBWndTdWNsQ2I0eTAwSXFsWUZIckdVZk91T3lVdEVoRVl6MXUxd0QxczJSK1NidEZ4cU5QV002N0pGbnJhdGM5b2FQdHdORGtDQTBVR2lPMXF3SGl4d2p4NWl1QkZWNXV5eEFOUFROeldSWTFwYVptVUIrYllxRnhROUtpT0lzWk43NThyaDE3OVY2RVB3NG03Z29jZFhvdGlQMFF5UG8reGk2VSsvNWtmOG5qOVZ1eG5zbWdEcWtjakQ1eTU3Y2xMaC9sNVZUVzJ5S3lRVm5mVzJ1cmJCbk11VkNqMTJncXo4YzJORzhCeTBtb2NMVVRIZTNHa2w5NEo4WWZoelh5K1pwdlJRTFFFM0tuNmtDRml2YnlYeGR2YzBENG9TL245bjh0V25OM3F1T2liSHBLbXlGK0tSclJrNHB6N0phcW91RWNkaVg0WnBSS2g2UTA3UjNPQklXa1hlcUtOa1NDSTFyazk0VGZiZmU5UndZTFB0SUF2bDlSOUpRcVNxQnZXRkhtek5KZExiZ3BhSHozYStKRnlTcDAwYzkycCtJU20vemVaQU84dUhXWkdZbTVLNFZEeTVFYWNZUmpTUjBya29EVllURndnWHgxZUFEVVg1aHg5RUxWMGpiUE16YWxydjJSc3c5QURVZVNxdzhWalRoMGZJeEI3bk5mRVNuUVE2eE85TTBGMzBZbnBweGZGRS9ONUI3eHNMSzd3cWJTK0k5dUxiMVJVcWpKZC9QYm1qNDlOdXBUQ04vTlVoSWIvNXR4MmhLSU5XR2xpMVA4bElvZTNrdERHVERoVGYxQS95Q3I5Q3RTcTBOeXNoZElKbmlWWHhnT29jT2IxTFNOWmVIVzNXYm1BUGF2UitsM2h6eGVRZmdRMzFwRmJ2Ny93RXFEREpmblNnRUI5ZENzYUx2anBxcjc4M2lUWEJrY1FLL2YxMnplTUFlMXVjWW5UNTgrZXJwdUlQdmV1a3k1NkJobU02VXZETTZDSGU3cWJoYmcyOThhbWZ6NDhEbVhtdUszOU1ESzI1L2ptWXJnQ29mWHFycE1iWjlidGpFMDhJVjlWSkswQ1lyR3RKS2lYZGk0ZmhzY1ZxT3hnL0wrcnFZQSs3V2pSL2dKVHQ5V1Z2SDd5aExuYjF4bWU0bkVJU3FDejI0dFNPcXNIZVhUcVhhSUpFcjZsbVNWdmxlN0lQV2FpdVIzbU1sT3BWL09zVlJJT2hYaTdOQ3ZKMHM1UUovMmZZeFlRbXFhUzFyZHUwSzFMZUFOY1NpMmNjT0FaekJ0TlVHTm1QKzBHNnZ0RERrYWRlSHdWY29pRWJrSDBlVGRLVTc3Z1VnSU8wOWRpNUtKVVdHbE94dDRncFZkTGVjZHV2OWw0dG1VenBsYVl5VEVTZjNQcFl2a2xTbDVPT21UYjBhV1JwMHRYMVRNRGxveGtleHJIUkdlYllLMXJRbHk5Qm5GYlBETDdLN2NUNUlnempEanFXMityQlJnY0d2MlpFT1RkdEZvWTVmTTJURG8yMGdkT2YvdUZzNWtMajhJSWJLeXcveTBvTzk5MkNLUkJoYU5xdElGWGt1TzdjM0RaaUVGTHJKMWxMRWZoS2RVQzJoU2RZT1ZXelJwaG1JUkRDR0crTlVDellXdFgrdXBldEVCVTF4eGpRSXd6ZFBEWGh5RW5EalpyQU5GUnRrbkcwTHowMkZiMlltVi8rQmlKQWNyeUpaQjJsNEt0eDMyME1Lc0krLzJCL0tVYmhWYkt2aUFRMjVFMFlXcFFyWHZRVFY3RE9JVktDVUs2bEtuRTlqd1d6TzBIOXl6eENVckdRckUrZXRrb2txazZ5UUhtQko1MlpRbldhTTY3aTVsSFJCSEErUTR6VzBOdmllUzR6VVhjOWp0ZXZEUkJNQU44cGRNL2k4RTJrcCtiL0tzK1p0cWZJQ24zVGRHV0d2aTRuSVYwRk5ZTDdWY04xRUlPYjVkaHc3ZkRkUjFidlZoR01xL0g3MHlBS2RmMGgxd3RlUXZHaGgxVE1oUFhYYjloYldQWVh6UkZ4S3N4WG9vZGZqWTFwczJSRGVvaWduYksxWmdTOUdZeEFiYWFweW1ndVIwRzg5eCtOKzEyeVREZ0M2UWprYlB4RzBsd3d2TlUyYmhNdG5iNHNTRXJWWmlUY1Q4TlQxZkZCbk1wUHB6SGJ1bTQzWlNBY1NpeGJwN0FZdzRzZ1UvNGRFQVZuaThKK2ZHQ1JUT0ZncVU2L29DRlhWemZMVUhXcmwvUkllNldNTnF3NW1Eb0w3MG1Cb1UxWkpIWWJJWDc5cmR1QnFiTFh2bGlrUTFLb1d6aEluZFZ5NDIvbVBMSnBWRHBKKzB3Y3JQS3FSRk5ZZy9yaG1ueHRGTXdzdWhVbS9RVTIwbEVjMDlGZk5jcXJkdUc2NWtrV3Urc0dTSGhNNUd4UUpEUUxraThDcTg3MXZSSDZ6OU1VQlNVRGh4S1ROSEdZc3d0Vk9OVC9JSC9RS2hia01LMDJ1cWY0L1cyWXgvdDUzYS9ScjRTc2ZFUEVYUkwvS24vNE03ZjNva21GWGtXSTd0M0svYnRYMVk5OEVjaEh4YXZhWDNkUmVrZ1o0RitpcXM3Ukp4VEJQOFgyT0lzWUQ3Nml2ZHBRczlodktkWDRBTG1od01QSE9qRHFaaGlKT3NyVXdwU3VVdEJ2Wmp2VVFjN1RtQlVkTU1sZC9FOFgwRjNYdlhzTThsbGM1ZElvY21qR3l0YSt5YkNKLzR0WGdrK3FUb285dksvbGMrckdpcENyVS90cVgzc0RlNmM0ejFKLzI2OTJ0RVJrNUo5VjdKdm94UjJMd2VSRG91cTN5aWwrK3p3R0MzYW9yUCtGYi9BL3gzNy9JTHVVQWx4NlVPNUF3cnVhNmkxUFU0RjVOS2hobzU2S1R0K0ZiSzVyVVBhS2cveWVHODNSZzJ0STVsUXdhQnFLVjRlU0JweFVqbU1OZWk5bXNaYkFqSnhvOWJWcldTdmFEalBnTm1DRm1vR2pZQ3VmZk52SzhDTS95bDRDdWhPK3pzN3pZOXZSYzhLSkFnZUFwVncyaWVJaHIvSUUyR3R0WHkvaG9qc1ZHb0VBNmtENmlkNVFtUmtwblN4SUcyUXNuS2pqQzBWMmo4aE96UVE3V3QvYlI5UnplNlB3eEMyTWlMaS81TmFISUNSOVgrc09Ia0dFSWIxUmhuUXRXL1YxUm1mYisycGtZN1FxQVpja2V1L3NGRDVlZTFkOFRXWTc0c293ajJwLzF6WFdjQUhFSHl1YkVYZXpmb2RNbzE1OGxRTElCNHh2dHVGZjErNUtqNDAvZ3lHQW1ydm0rYVNGTytHV2pGZWJDVjkxV1ZOY0Rqdlk5eDJwbEcwWDVwckwzMW5wdHpLMDVORnZIczdPT3JLNXgxejNYYm5RQVVaWStFREZBeU1xQXFQNCtFMDh5WTNRTHl1aEdXUVp6NUFlKzBCZjdTTmxBQ20zVUovcitCSEhjT2pIelVTaTdWSUE4NmFlVklZRk54N3FONEZEOFR4K29QK0VuNFVQVVUwaldNWCtpeWlRa2JrZDFVanFyQ0NKLzgxNkYwdVpuVHExV2pPS2RKY1BnMkwrTmR6dzVTd0VvNUl6OURTZTNmdk9JNHo5M1lvM0lTVTgyaEp1TWpzVUNNZEE3eFREOERRQ0o4VGt1NWQ2Y0UwUjA5azRCU0xacUpYbzZHSHFpZHRnamJRYmxwbFFHUVFxRzRsRGduclNEemY2RDFjNFhvU1hSWUFob0t5MysrQzRwNTB5L3FQUnJaZG9BaXRySm0xWDBzTEp2ckpyYUYwbmZnS21CZjJMa1dvMlJ3TE5WTTdvU2hzNmd6MCtGZ25yOVllQ0VKUFlBTWZZMjNoOVdjY1lmelNMQ2tQS1JBN0NVWnFMVEMvNjI4WURFMlhwUEpnZUpENk9OdnlVZVZQVm5uUnJPMURQMmlnK3hWWExDcml5RG1EazNyRzF1a2JGa2gzOG83WnRpeU4vYmJSZXZ3dklQcGlkVi8xQWtPQ2FKeG5mbEVwcDhqSnU3MVF6dDh6YU0rajVZYzdHSnJSa3pyV2tvbjB2SHNtNnpRYTR3d0x0azJaQi80YTYzWEpJMHphZEhucTlWMGlXSGI2NWVYOHFMUkl6UzliWGphSlAyU2Q0eVcrczUvRjBFYmNLY2lWdmRuVndRODlXbENNRDZ3Y1llNS95UDRBeUd4dVE4NUZweHozVVBCc04wSE81U25GYjFLV2krZzhya2l3a1dJb1ZZWjRIbXZYVUFlZWNEaDFkWGJ2TWZCYW9uZURpNnlTM05iNGhJK200eFZQYkZ5WUdvbnJjSGhJQVo5TG1UNFBPRE0wc2pNbEFCTCsxOVFobkpDUEpHNXRuakw4OU1YeVdZc01ubmErRlJibkZnTlkvMG9ybVBkV3ZZY0pqSURid3lVWk91b2wvV0U1aWxaSmVRaVdPU2dpR3pNRjhmZGxZdjhPc3Z6bWdNYWRhK1lNQS9lc3lMbVRveWM0ckJpMUJ0Qjl1aHIyM1VXMXJMcHZTYk5rY2dmbmV5cUVvVStKdXNQbXR0cmEwWjJaTDZjdDNSUitsaU9aaE1sSjQ1UHk1L0ZKQlovcjFXODRrZDJ6ZWdtclQxZlpNRENwaEovYXFlQmNDV1NLYktKZ01ZZXlGVmppbHJmakZ5VVFsTUxtdi85bitOelJRNVRoTEs3Mlk5MzZNSWN3TFFOUTVOcTk3VUdOUG9uWkl2V3NqWUFSSkNJVVpCbGNCZXVzREZjdFFKWnNYczE0aTRXNUt2WFQyRnJGVFV5clM3TGVOVFlEQ2l0c0E2L25acm83MS91UVUwWUJWYzV6KzFrZGNYK2Iyb0lTeE5xUnZZdThPVXo4T1ZnNG5SNWkyQzB1aWZhbG9OUnlCbXlGWGVPQThQbTl1QWN5dGZSWHNmelJxSFp3cjVialpCV2JNSXFGYjBmbGVucUEwQTN4cmJ5Z0diRlptaHJTMnFpalA3M21Ndk42d2E3akRzUUlyWU8yZE5CdkliV09UcFB6aEEwblpwSk5QbXJWQ2pvTFlFc0RqOUxGYWdzNWUzSDhXSUlRcHlWZXZ4aEUyYVlpaFhvdGV6ZkpwU1k4WjM3TmZIN0p4QzBCN01iRHd6dUpZUzlmL3dmd2puTlhNT0xQSVpjdkNMOUpXL3UyWWVyemJJVi9yZTBRakkvYVVFNXBySmZuQWtGVEJSUC92SkErWFVBRDloTnU1UCtsMGc1SFJ6M3c1VzU2V3F2WEMybThkcDBMY2dSRXdkMnhLVVQrQ0FZS1RmbkVUVThCSnBaQnVFS1kzNjBidndxM0ErM1JwbTRpNnhxWmJqWHBzZ3lWNmlpekVJNUdLTEVZa2NpeEo1VmhhSWxLMTZBNGNLN2pPYS9BWkk4MjZYR0Q2UHVnZ2pSakVFRkR5NnJnenhEYktEQyswR0wxR2ovNUNueWVRUWRsdDl2Z3lPalFwMGw1RUdNaG1NZU16UzVURCs3b0JVZ3p5NFBzS2dlWndiOUFpajY5WEErMEdVUlZtUkJVdjhmTHBkckRzeEZzMFd0OTU4bG02QnRmTldSZ3FoNTZ5UDhuSU9nSnJUUEs1Zkt0cWhGVFRLNTZ3emVsQzRDVnRIZUxTUlk0a2JrM3F1Vlh5RmtmdFluOXVaWnNiaG9RSEJCa2xtL1o0amJlUzRiVmpmVDNQT0FwVmg4Rng1ZGs1QlhDQW0zSjdoMVc4a3ZIdmlEK0xCL1ErWmIzeFRIL0h3MUlHYWJpMjF5RytoSGRrU1hJeXk0VFZDUFZ4Y3p2VHlvYWJFdXFWSTRhdS82Rk12RFEyT0dUOXdsekpxNnZEcW1KcnMzREUzVTBOUzQ0Y1hySnI4bndodmJCb1VIbjFLREVlNjVYcGI2eWRLYlJhN0xkNWgva2dmYitPZ3o0V2txbmRrbHBBV1p4ODhtQ3NCTG9sUGhIUzZERnJocVZjd0RROVp4K2JSTzhtS0U0WDYxRnR1bDJwVjhBb2pzOWRBcXg3YnFJcWZYRzRORXBEemxKMUVldXZMUU9rNUZDU0ppNWFZTWJSbnBxMVBuTDJ6N3hWc0Nwd2p4MjBzY0dTeXBoTFNaUitVdzcvcTJSRE1UeGF1alB0VWJCM21sSHRwaHEvc0ZWY0VFeUlGNjZEdC9Jbm1EemVjZU9Ndit1M1Y5OXFTM053SDhKQnhTLzFFekt3ZHhmblhESGhNSGJpN25Qc3RZVWRhTXpITFpkQUF1Uk05bjZUUzNZOTJjZE9neHBqRmFVTStvd3RSWXFZcjVqK2dDVHFjNWdHdFJtS1B0MTJ2VWoyN2RFdzdyd2R4UUx5QkxkYURod3RKcjR3bUl5WlBrakNELzFwVDZXQUxkS0xLVU5BdWNsdm11aU5vcGVvblkyY09MU2VGUTd4QzhpekJkbi80Z1kzdGUvazlrNXBXOGN4c2NuMlFiZzNOdWM1RkhsSnVtWldkWGlZTVZya1VHQTY3blR6OWo3Ykd0OHozamVTTFp6YkR5dGgzY2dCQVlncVlSMDdPemdzTjlTQ1JjM3hTSk5wakdOL1dWS2JSbTlSYzZ6NHNCdVVIaVIvSFhRY3h0ZTc0WHJUQWV4RWdyWGJud2lFWHVOcVAzTkY0YktHMXlCNTJOdTN4emRiR0l6SnJTREJUM1BBSDNLMzdaMnNJWWdMUDd6UjBEVkhMTjdIZ0kzZXVOTWJySFBIaEdEN1R3T00vRzV2TG5ZSEZhUUMydFlTa0krQ1ZkVDBoRmFlcHhLaDh1TWJXaVp1cVlHUGMzbXE0d3JVZ0ZQVWN2K1BRL0E1UENYZk5jUDBXcmhlV3IyWGI5TndnZlpDcnVDTk8zb1Ivb0oxdlErYVhVSWhDTCtpdjc0S3M2YXBoaG9DeWs3blY3TXRyRHQwTUhZdUYzK1BaWDV3TWZtVE5tOU5WbUhEZzAzdnQ3WHNtWHEzMW5QMnk5dTBDVEpEdWJCdkhUb2VremYyUzNweUc5YktGaXJIaGpSQnl5WlZ1aVB5V3RVUWQ3OStLcERyOUp1VWRBYkdMRnZQSDdYSE1CMmdhcDY2SGRzR1pkcCs0UkpLMTVJQ0l3NFZGR3JhSXJraVUvTi9zT0tRTDN6L0VkN21vVG5JdFJPUjR4Q3J6ZjU0RCtYdGtwZGpud3g5cnVFNHFwUVhTY1lpQldVa3hJQ2JnUG16cW0yMFFMSjF3cG91dWkvTWdYc1NQcnFZVXZFMDJzMXA4bnU4U3BRYlRKUXdsdE9ENXQ0VVVhQTZidm0yRzc5ZEVnL3VId3NDWWFva0ROOStLR2tpbUpwNzZYbHd5elNNa1RJdG5LOUtvNmNjZHdtNDA0aTdjYkNUbHF4TklrWlBZeTVPeXc4MFo2ZmRWVUhKb1AxSEpYOW9GMXlpMTlkVTI3WkhnZ29FOHhHYmNqTGJqYlpQLzAxblFFZFpUcnMvOHQxKzZIMHRvdXNnR1gxcUN3SG9XVU9qUU1ENVlseHF3ZUhOVnBFRWxEcll0YlQyNXV6VUtDK3pJVmZyV2lyZUdXWHBoYklJckcxQmd3bjNMYlRPdDQwd3lOR1lOV1RnZ1ZoTEJTTHJ1ZVFOQ3lpT2tXaG43NXczS0ZGYWhQdDBDTmd4ZzlPNW0rbkM1ajZGNzVkRzZFaGpaeHYyM2hNUDlQRXYxUG9sSUhJR0pkYm9XMEFKN2FvZ0wzQVZONHhiZFRkbVk2M0orN1pmN3BBeUhRNEdiK3o5SmVHZEl6RGtveEorS0Q5VVo1VGs3NDJNMThZSUtwdWZ6VDB2RllYTE10cHVSMGJSZ0VxTnJWdFpubHlnUEd3SGJBYjlsVmx1bGRSWTA2cU9JNFpuVytKVC9qbldxZXJCYmoxNWcyU3BuMHI3OUk0V1RlaS82NnF4RTdNTStmTXJSMXp3ZXo1UDV0Q3VJNjR1NE9hV0p0WXJ2SzRVNkh1SnlRbStnYlJrOTBiQ1gvQVpIOTR5YzNGNHY3cC9OaU9CVDVpWXh1UEwySVMxK2VlMHgxUVAzZVUzZSt0dFF4a2JIV3VaYW9KQ2NEZ3JnYjcxbFFRRXFxNmQ3aTUvL0JHbXVCVDI1Z3hEci9rL0tZZ1dIV3l3N2lOeVJOOUxkSTJ5eDYvc1BXenhrQStteW13RVRZZnRYaUFuNUwxZ1ZOSHl3T1NmWCtsbmNnYUNvZStzRkdVV2hRaHQvM3VCU2hqZXZtRGd2SVVpUlNTdnFrcFVPaEo5aitjR1QyTHdSQjlVT2pZTHFWekpvVVdXZFBTT0VZSHZhdzJKRC92b0hJOEZ6TFVKd0VMTUtnVDh0ckxnSmdhT1IzdEFKaFZHSEtCZDZtaHZhd2JuaFJuRERRL29UTkNWWFVlRElRK3IvK01mM3h4N2NNcWJSMzFVSTNsQ1lwaHZxcnJZLzlpNGVSTng1ZmlyMEFQNUVmcFc3UldNa0JyMjdVUTlVcXRvMHI5QlFWM3pra1B5K09qRUwvZXVJM3B3OFhuckFseUVFa2JoUVpLS0pIQXFYNHZjOHJwNDNXY0VIL3RvWlpGZnZjQXkzbmJXVmh3MXBLdFFXNThXNVl6Y2NvVDN1cThHQk1uSzJxZnRmeCtaZWtyMXY5aEo2bTd2NWJXUmRXN1FxOHBiOHVsWGV0cEdRTjRTSmhObmVJTEVmdkdjaVNjemVjWTdaMkl4Q3p1VXdxNEIyVHBJVlhON3VDVlEwZW9TU25zc3paYVVhbjBwc3dKc0RDM1lIdjNpUzBwblNBR2dhbzlCdnZlaXArUm43ZTlDbEFmOCt2cXFWMmN4MHJ4T1ZGaVJJQ29qcjRRZUc0bVdsV0wvMFZWeUtXVHNaeFUxRUxBT3lKc1BRZEROeWhuTkRqQUpuWjVQc3Z0OGlmbWR2MEJGWnlDZ0hUak1meVhwSitzYksxaTlnK2JwRDYwRTd4cHBXY0tLTzA5UlpmSDBKQ1dOSFAxaVlyeUxtMFRwRmpHYTR5c1VjeTFySHdpRXZtVEVnR1JGN2dhTkwvazA1QkFULzR3VWMycUJyWS95a2RWbmp6NEVJbDArcnNTLzBCbFZvb2ZsVUJ1a3dtZWNEamFkL2hKQXl3aHZZK1NQQnVmMmpkbkJyc3B6cFdJYUg0MEh3Mkw2RTBEOTNWZWhaMGxYR3lnUjVnREhqVFlNQTN0Qm55WUN2alhSeS9TM1B4N0lFa3pnc0lkTk9WMGtmUFRWVW1uYTVwZjhTQjg2Ylo5dzNpVjhyQk04M1VNeFVsUlgxbnNJUGp5bEt1THZUVGNEdzAwaG5YQVh6eWR6ZThGaTFZUUlHME9hZHpGT1EzWWdwLzVtdkV3Nnp6OXJLM1Y3VVdMUGU2VWs4aHpMNW1qSnZuenlIa3lSMUhBcHJBUkpZd2F0T3E4TFMzSGVCOE5rcURpcGVEVDNsblNMZkFOL1EvRGlkNGkxYzVmRjl4WXdjdkxXV2FoNTlpRnJOTzFWQWdoNEw3N1QyalQ4L016TUNRb29Xc3kxWjFYRmVIcnRmR3RWNDAvLzNtREVOMTg0M2h2SnNnWG9Lc0NYV0d1ZS9XaWxlWkhzd0dvMDI1Rk12RmpjS1EzUzExc0U2MkMvSXF0REpDSGErZkNWRDljRHpPc0s2TmVRdGRBT3IvaWEvQmRMa2sxZ3Arekpmc1hUWlVHbmNsQlJwSm9jcW9FNUNVMytJVG5IVllsL1dDYTBEeThLWWhGZVZpUGRrVWdCc2JITnlDMmozdGZvSThsd0FBWGg0MlIyZVBlUXVpbU9xdDg2MHhNUlJ1N0dLZUxmODlLQ2VpbmRmZGxqWG0yS2FacHVYNEdhOEQ1OHJxQ2wxaWxESVBWSGRqbTJ4djZWVXlSQVVGYUU3ZzJ5YWx5N21YL1FmRzNHbmNSVmlzdG54S1VtT1RpdzhQbjZMRjRmSTd6RjIyVGV5RWZJdHhiVHN6VVN0bmF0QW9SWmJaZlo2ZGtaSndIbys2VW01bXRyb1VUVWJqQU5nbFZyM05IV0pzdURGR0ltYjdlYkVZZFhXQktsLzk3ZldJeCtMUUMxVGJjeFVRV09yV1pBWHpLaXBFenVtRGM4cjlwNE1XWWFiYk9GbWxZQkd4Y3BtL0R3UHJTbkRwSVZyaTUvd0xlTWh6TzJHWVdmL3J6bmEzUy9OSEV3VXMwc01OTExTRWt3S2oycXlrQkVhZVRtQzlLVFdwRjFIVXVISjJoYXZjbjhIUEtvSnVsOHMzYkM4bS9rNE1tVWsrVFB1UGtpZjRRVmNDSHBISHNVOHhFbTZIS20vR0JrSk9DekdDMTd6Y0tXVGczWVlPN0NQcWkrd3RsYy9veEVDUDFNZ1MySW90bmwwVC9tUWtzNytHUkQvNnc1djZEZzFqZkV0MnpnWEMrS0l5Q3lQWk9vRkZ3eTdwSUFxWnBjWlB6Y1czUnU2R0p5RUd6dDgzS21Gakp4cjVkb0MyRWhIMlJRcTRuRm56M0JXWnlzZkpLVWNzbGNCVTRwU1dHY2xzSXA5NE1QakNwOU9NdGhQc2NTajB6V21nMkE5Mm9Qa0FJZmFLN1E4NDRiWnNwZ2ZoKzIzbmViWGhleGljMGJvOU9hNGpzdkVwLzBSTDF4QW1kTmliYVYybUlGMDB2Qi9ueWxQM1ZCRUNUS2pCOC9xRzFwc1VpUlB1R2gzTlJ2YTJ2UmRoVStIYm5acUoxZG8yQTQzSDdlVCt0U1JUSkpuaVZ2YWgrVzRpOVlRcEVzZ2N3YjJkSHkvdmNFMWZvRHQxMHMxc3lFRi9INVBMeDJzeXhsSTFLZjNLSTZ2Y3FBQUlIZzJiTlBmVkNTNVFnTGF4ZHFDb0J5ZzJmdE4vaGhPSVVqTHR0SWpjTzRsUHBOMXJXK25yaXlDNVZkRUl3ODJOK29oN01YY3VYa2lMQmlOdjA2SVVtWFEvTmxTNUNTM1RTWENMS2huaUZGd0pqOVJ4SzJienN5d2p5ZmMrdTRkeVhPamxzTHc3dWN6QVVpU1RuWmYwWFFhNTQ5MHRPMnFXWXdvQmtFWGFWNnZqTFgySmo4bUZEdy9iS3BkQXdwSThNMUdpVjV4REFWd0x4My9nc0FsZXhFQlpoRGNXWlZjSGpFL0t5WWRKcUcyMEh6d3QxSk42QmhSMDZXQmJpa3hqLzRnRnJkL1gwYThva0pReGFzZzdNallUU1hEUjA3alNTeDZFSEd5NnZ3WitqbUNEekpIMGxyeTYyTlJxbExueUJxZWtBTlJGSWUrUml0bUdjMWR6bGZXaDFrYTc5TCtyS1hHWXlMdGdZZTMrVVF0VXVBczR5Z3I2UC9CRkFMQ0lzNDEzWkVwdDBHc3V5VG41eEpDZVpIWlNnMTJ5L0xIUDdhZDY5ZVZIVm9hZnk3djQ3TXd2M2tRcTFXZzhJNldNa1N4ejRIbXVMb3ZTcXlORDRnN1dzaEkrdjZkOTZIUHRaWFRVTU8zUTBrazh2RXUvKzNUOHYzSm81bDZXYVkrN3FpVE44VHFubDBkcW9QdEtnbjRnMjFvazRjRG1nRU5jRDB1TXdNbTd4Uzg5R2hoSHp6RVMzNzhDblRjUUMxanQxNWZ2UzRYaktQdUY0eTYrZnZMZis0YkFWSTZKWEJuR3FQZ0I0YkcyamVTUkJEQUtoZEJVNDFrUE5nN1huR1VDa1g0UW9Kd3dtNnBtSnJFbHVyenRoQnJldkZYbTVwRGgxdXV2UXlsQnMrQWxxdCtubTlNNmRQSFpES3lUZ2x1VXhQUmtVUk5xdVBpSW9ITzUxRFE4UkpEWVJwaWFkckFneWhlNGxNMWM2bzhaUTBlRWloLzlVOWE1cmJoUS9jZ1MvVkdidjVHNnNNNFNLS0hybFAvQmwwbGZ2VCtKYjJvMHZUd2ZtT09RYUZzYWNRL3RpQ3E5MldwQzBlQldtaUdWRUZtYXVZNzBzSmNycm5IaVVSVlQ3YktoUllESU1Dc1Q0SjQ3VUlXak9IQnJOaXRJeEtPdEJHMndKUWVtNWlQbElaRTFoTGFjT3V4ekhxYzZROVlZaldmWG1nU2hYaGJrU3JITEZLN3ltazZlaTZib3hUTFVBMWVMcTFpM3hRTVZsZ2p3TTM1STRlUU9CSnVTSnRiRlZORFQ0SExLVW1TQnJkdFNuZUkzZlB2R05MazJycTk2SFN4dm9KaUljaE1KU3NZdnlmeC92MjVOQXErRWpSQ1p0L0xhVnpBa2ovSUpCNGk3d3ZvV01Hd2JCa1BJc2taZTEyM3B6VWJKOU5MQ2U1Smd3Y1g2NXZLTzJRRUx5OHFJeGIzOFhIN1Y1YVBhWmg5SHNORjNyVEVYb3pOT0xxcklWT1gzR1ZWZkpLQXpEcTBBVUp0QUxCNU10SmdwQWRQVC9iZGJxclphOGtHdG56cXdQd0wxZWIxMjBEWVYrazdtK2Y4aUYwb3dOeStndkxVUzJoakdyUkFwcUs0dWE0WEw5SEwrTFhFblNmZHpET2NpV0VMUnowV2hRemZCTzNidHc1Zm01NnBtUEhkZjhTNjhQVEx3NFBGTjVGc0VGdFM1aHZxaUg1Z1MwUjdscC9xVG84bUxkaHNlWmJGWWpvNVhabU1KMHJjUWhZS2k2ZTZRdDBCdkFIMlJ0VDZYY01pUTF1U1Vyb1ErY0JodzRhckN5WmhoN1RhUldseTRYbTBSOHBqYnc2aWM3SzB1d0FQa0RnelhRaUNTdldCR1RGak83TkU1T3gwVjhoeEtLV1V6U3FnS0tjR2dPeUNzUmNNaW9XWlJWTmlBRWNLbEdkRkdMV3FNdEdSeGlDQVlJVHk0Z2g1aWl4cEo0Znp6WC9LdTl6UlZndHdhSzR0OXpXR1BGY0NLdlhwVk1RLys0TVBSMGlKWTI0Z1gxUDgxdDYxNVl0UFpZVUc2ckF0Q0pNc05DSnRURXdNeHFlYWNzeCs3RHcrNXdKSzFmUzZySnN6OXMyWUxIK0hLNi9LMjVON0dkSGk1WjVQZzc1N3o3RzFGWWQveFY2SmNKV0R2blhFT3VkNWUrWDNVL0NpK2U0b0RPc3cxZThNeVVWTUFrS1Q2ZnVhSFp2OUN6dmwybUhtV3RZTXM0c2hZMWF5VTJpcXdZcFhHQVdlc0VZc0cwREVoZ0xXMG83UlJ3Z1dQS0taZUZWdWdoUXZiQXlCWXNiYW15TjEwOEo5WmlMVEwvbEpmWFZHb3M1M1F4ZE10ZEp2RTlFMzc3UE5rY0VVNEptT1lMMUFCa3lYLzVuQ0phK3cvNFgrMHBLTjgwWUYwc0ovWHYwbTFxa21BNVJLNTRiaEJzMFFtYTgwcDlPUGVvOWpkRDZWZkp4Y0lDdHF5dTcrUzNrOE1KdG5SanBvYmxLWGJSRlNLajdJTHpmbVJXUDk2TWRrWW1HZkNQYXYveXUwWnZBZVVrYzFXaDdvUjhuZWs0VWFaV0ZXb0hSZGRJaEVXekZrSTVQR29OSkwxSWpjejNSb3hOVHY3TzJ1NGRFV2FUaThUYXlHRzYzNFllbEFxMDRnSWFzYnBtWEdkcjZ1SFMrR0dITXkzdnMxU2J6ZDlISXZGbkZobVd2QldqS3ZNZ09UZEtzUXVUZFVkdUs5K2dXMXhHUE92TW5YeEpOSWJMby9sVHRMVldiaktQaG9LbkdCSTBkanVrOHAxa1NNc0RsMUFEWVFOUmsyMGluUEgrNDd3L0RaZHdkbzhRTEU2TzZ0Z1VJa1ZLTHprNVppTVVrdGFES3p0dkM1ejVQRU5OLzNsYnR1NktmRzNQR1JjMHdnbTU0Q3hvR1UvK0hoSXhzbHZSc3Y3ZXBaSlpzcGlGUVZDRytJcVp5MzV5TEYrNWhWUFY0ZnBueGhpTzVtcTRUQlVJclZEaEo3U1FnTzRuOHVmTVlEK1VVQlVMaFNERElzOXZhWlVvWTB3bFV1R1FKTGdVVUdQNzEwU0pvb2E1cEZxM2ZlM0I5K2RsWVBJMk8xY2FUOWRScHF2RFNEWXdHRzE4OWZ2OXpnMmp1L3JIejZTZ2VZclVLZGNEN2NVTnZ4ZlE2eEFLWkNwQVVPUkpOek9SZEFCWm50YlY5QUN6NHNlQTZJQXJvQUh1a0o2NGxNbUhTZmFab3JqUXoxakx4ZmVydmFlaUUzUWZoMzFHTEZuNFg2VHNsc0xBM1N2NndHbnhtQW80a3JRbVBIaWZrTGIvUGs0UE1sNDB0akxEa0FSZTJlelNwSk11T2lZdnNiWHAxdFhOQTNSYUZvbm5lbWJHUGt3MmUwN3BwVkwyYWZZZ0dQaU4wTEZjbnRLTWFOY3dwaXJBUXltc0ptMmtUY1dWS1VGR0lNcXBpM1pwbnJEYTB6S1Z6WkxSWUFyWEZkQzhNWDU3TUJtbERhbXpvQXc0bEExeVorSGo5Z2g2Uk9LNnZzOHZvMWNlQVZJb2N2YzlmN3lHMndrM3dMZVhpUUROdi9wVC9TZ0VwbXdTKzZrQkZJeXpOUkpIeGtXS0JjdXE0QjUvdURkVUdBNFNiQ2IzOUJoNjN4N2UvNFd6NkxJODNQMjFieDk5MnE1dFZwTVpucHZQM1YwR291STh5YkNPZ1l4K0R2RUVWM3ZiSllaS0hxeTJvYjRFMHA1RDFJaFowNU9GcDZaNmcyemlXYjRRd05TcE5mZVRQTWRKcWRQTDVCTjdmOFRncG81L2VWb3kwaW1XK2Y1cDlJNVFyQXVseDIwbjBxR3B4WEgrcWQ0Z0NWZHkvYlZ6SDQ1YXhyYytqelUrT3o2em5xa1h0QjlKcEszY3E1NWNJTDNqa3dXS0RzcW51UjNEM0JyVEN1M0dSbG10WGlSUTdrQ1VLbUNPUGFMWHZ1L1JmeDhSMGhJSGJ6S3djbDZtRklFUmo2ZGZEZHFWU3RvVG5WMjhhUVpadkJYa0hBTENWNkJQdjdNUGlVdWsrUVlWWnRKbnY4MDczVVo4WFpGZWFVcyt3ZVQxTjJ2anFST01iNzFKbi9UclY3clJEdmhkZFRKcGNXU0M4bWVWYzgyNmZ5cUJIblBCMjJxRGJKTVJNbC9paGNUTjkrV1QvZWpialJ2UXgwOXdqVGZaSlJpME1PRGVzNmxDWkR1R09RVWd6bkZqd3dWdytvc1I3OTZTeGNoYnREUzMzaDZkWmczVGhSdkJteklvUk5VRFY0aklvbHFYaHU1d0FWbjdycjRLbWk2V3FGQzZaYmlNcUo3L0I4OXprYkFiRnNBNlJWOEh0QnZvVVppZWk1Uk0ranpIYnErc0QvRkc4aDViZ2FHbFFJS3JYOFdXUTZGeVNYbTREQ2ZVWUJxTzAwWGFBV1R6SDBvMFR0d2N1MHdRY1c3RWZiTktKUEdrcUd2dHVDT0o2VEx1WEVDNEF3MStYRzZsbFpsV0M1cW5VRzlMY2hZc2QyL0kzY0c1R0l4dzJkNWRCcWhxZ3pYNHhMWDJocjVnL0FFWG9tYk9LVGFyckw3SDVPSHVBdjl1ZFpEdkJjRmR6OFJqUVNZMFhsQUlzUVpQTDR0SUFpcU1HNGI2bDFOSHhTY2xvOFdKWExqdGxOWEhNMXo1Sk93Vk43SXhFdkJIN0NoZFRTWFFuL3lOaTE2alZNazVBRUM1NjFXaVlYcjNjR0RPT0NQWVhFR2V4QnZsNXliYjQzbk94aThaeEhaVmVPemoyUFBNVHR0NjdybU84bEVhV1dFWnhqaVZDekVIVDh3TXMyRmJQNUJBSTE1cVdad3FaRlpUa2Y1RHh0WUhSZHRxQisvUVJBWGJQMUh3N0RjU3JaNmtWWHBSQnhwbUdLREdwQ29QY1ZWTE9CQVZZVDNyOXl0Z0NOZ3lLZTZTakZianF1cEdHOXh4ZmVlSVBCcUozT0lpSXBxZFErQ3NzVldUTmVITVg5SWFoa2tnM0tlNmNiRXV1UElYNlZVZ1BCSGxPVk9qMlNIN1BuaUJZUlZJZHQrbmJKTmdQeEFrNzNPWjhUOG9mS0lpTFR3VGZDeDBBSXpYanh5eFRDUzJzVGZUaXVoM1Ezc3BvTnBRbG4yODJVTWZ4M3Vtd284eXNGMW1tYzFtemxnVTNjc0FTdVlkTlR1aFE2bEJHYXBrT2h2ckVsUXFjTll1WW1MdE1wVzdHWVBKR0FqNzg3TkZWbXJicUQwc0JGaW1LcUVQUG9jRkpRekFCV0dyeHdwcTdpL3ZCTlF6blZ6TkVFM0FBMVN4M1JQNXZJWGd1S2I2ek1EZnBQZnFWRmJGVmNJcVAzWGdTN00wUllHME9ydG9sbjNoZnd1YmpDUlJsLzJhSG14RkJvZ01pb1FOOG12UEFEUUxWU0VDQlpLWTFXQU05UFYya2twdVBYWTBkcy9haHhCS2N6T2FhY1ZUZ1dsZkVkaFFUczI2dlprUUxPaFVTVUl4SmszSTRKQjdpMjVhOU53WUMxM280M21YTU9FN0tDc0grV2E1dm9XeDU3THhPSmZPeVVXQWFCalYwMEZHbEFtVWdscFNBQzhtWHNaYWlLbzhGcjRVYUxsdUk3N082UkFJYVJhbjEyR0lqT1VoUHhFZExya2UzSFVmSXc0dHJmSU5BNHhNLy9nS0pPTHM2ZWo1L09IbnZTS3Q1QW41bWVNcHpVQVFBRytscDM4Z2RaNjBpQllKcG5DeGFUSTc1YTc2ZkdMcmcvczV5d3NjZHNZK1pJb1hzVm1EVHNlNVVTeVRYNUd3S01CMnBvUEdQL0dJQk85THd5ZXZnMzBBbk9hUks1K3M2RTFEcjhLbzBzM2xOV3B3MFJmS2grdEZXRFdSWFZSdDJKamxodGpvanJFcFFLeGhmaE1pZ1Fiai9KcGkxRlVLbENXRk5leEEvd3ltejRyTE51b3NwMzNhclRiSkNkNWNNQUxPL1RoZUR3dkdXQm9odG5aZGh3djdIYmdYM2xlZ1lLNzhrbnB3TEQ2SmJBN3FnM2VmYlJQQWlJS1FPcmptWTllSFFieGZ2bUFTREJTdHRZRk9VajJiVmJDenl1Z3NkNEVqaHQyR2VBSEIySnJHbHA4TDBQQW5WWTlPNGlOVnRqRUJHT2h2Y0xSdEZQbjVvSk1Ka1ZHTzJRQ0krdkNtZlZYZG5PdERKNjUrU1cvRWQ1K1AwcWs1bEZNek5GaUdjcXRSc1RyWXRQTUU3TjZFRU0vMFZJU01keUxOTmxnZlBuanFVbjZpd24xR3ArSmQ4SU9GUzlKb2RwUVoyOHhHbWFoOXBrK00ybThZZTZRTmFNK3g1T2c4UzcwV0NsN2FYLzlPNW0rT2hPNjk1RVdsUVhSN1FMYnNQMWdObDN3d0xLSnVRWEp0emlVSm1Hdm5yUVVlZG1obElOUVZrbjNDcmFkVDF1ODFRWHB6b01JbVdUYTRqWitEU0NNdFdta2hKRHRDTUN3dWNiMy9jNDc1eUtKTjdZOE56MVdwZ1poSjNacHRBYWhxNVQyZkF2dFFkZXNienM0Tjl5Z2lGMG1SWEZXWmRzQUhPQ0VkbUVYVjdrRzZEbHhzc3VCWVV6bFk1T1N5MDd3U09TRWlkcmcwNVd3blU3TG83TjdLMm9lcU9pcmpBd3hjN3FxYVY1WlI4ekwwQVBWUE5RRWQvV3Vla2VYSGlSYUN0SC9jVHJWWHhodmVlTVAwd0NDZVVHZGhGZlJGTjNXZXJ6SXlTOGNmOTRhZkQvcDRCWnhvMHZtSXU5UzRJMmRvYlFqVGFBMjA3WmxWTE1WTTY1SVJrcnVLV0grSEtocktQejNsMkpWb01UMmRHR3B5bVVSSXhtenlFOU9xREJHbzdpNTFlZVFCQVZmclhxN2dJVllSRi9tUVQxNTM3UjltdFdNbzhhZEhOa3lyRE5uWEoxakFleDVub2ZYMUZ5Y21DZmRrbndQdlBaRGhpc0d0cFVzOXFtTE5HRVREUHRFTE5SWHVkTWdiN1cvdkZHUHAva2lOOEJBdi8yOVVVemZScTZUd0h3TFdNN3cwUERPZHVrUmR1Vndra1gvY1h0a1RsVW8zdmY5Y0FoTTZsYTFYcThHZmhLT0tFWHFKTWRqWmtnRitoVGoxd0RoT0RYYXFZR1l4aURjZlJodVFhc1JiY2x3TW9CZ2IzSzlqSS9tMkdpNTJsNTdoRUhCYUxNU1VydmlkN3E4MDZ1dVR0UTU5cXVTTXpsYnhmOHJORFpWQVNVNXhvZnpuZXIrbUJ1NEU3Nm1FRDN4L0VzN3pMNWhMQ2dINU5remdESURNRmtERTQxMTA4aVR3YmhWWjJRb1pHUzU4NUduYWptSkVkWVZZWWVsaGJPM284U2JxTXd5bXlWVG9SQy9RVkJJZytqNkl4bU1MaUk1KzVPWjBQcGZIRXVFMVJuYzlrWWF6QzlsTEJsc01NeS9uNXVKaUJZSHRlZktBS2htL0t6VUh6NFd6VXZOOEJycTdlL2lvQ1hEdVdvZ0ZUTlJVK2lIbWFVRTVaMGc4bTBpbjBaZUhncWV5SmpLQ2tiZW1oeDJmUW84R3NWZjQxcjRDbmhrcW45VG14U2VjYjN4TE51cDZKRG1hTnFhOVBXQ01lK05YMFhQZjYxaE11b01uVjVSY1dUWVFzaFRGWEdSSUpPYVNudTUyNElhN3pYUG9yc2dQRkZCQ0ZTUmdOTnpQUjZxUWpMTzdUTSt0YTQrM2o0ckMzTXVIbDVTenh3c1dtc1JnYml3UE0zUVdybnNXWFBFNWxXSDhmZ0QzWnJQQjRScWxzcVU0ZDRZdXdVU2Z4ZDVrZTFOTW9RN1lLWFVKak05ZHE4RWlpZTJ2NzFtWWRsaXhLR25ueUFNWlNaempFKzhVVFpjZDVDTjM3Nld6WXhONm9KV1BlVlZRc1VEcERYOGVpakxyK1F6UU9iN2lKOWJLTFhBTE5VZTAwSkc0UVh0NUpVamRlZm4yQVVQWW9zMXZOMnlRaHZiZTVNeEc0Qk9wUi9sczNkeE1Zb3JOY3dDRDRYelg2Q0wrSHQxUXRXSmYrOUxnL2h4V3Jpb0VkUHJta2V3Sk1wSElhT1k5a2IrQXRIZHFYL2pmRUdCazM4dzI5aVp1c0RLZWc4bnk0RHhCcUVnaXhUbUdWTjdsRTVoMkN0NmtRcmZIdDZwb21GRzlud3pxQXpFeTc3VWltMTNteTkveVZRZDFjRm1RbU1BWjNvakViWkszVVBVTGxWOWdVS3JSRWl5UGIvVCtqaHRQNVZaNWZ3VE1xM0FRSHJMY2Z2M3JCWTB2TGlKbThzWFd2dDVrdFJPQ1c5TFlLN3k1eVpWQjNaVGNtSmVzSkptc0dHU1FCa0RCK3dJaitjT0ZRWS9ma21MUkpNNjhMckNLTlBDdS9YQngwcVBjOHpCY0JRRkc5Q0oyQWUvUEcwVFVFY3JaZmZseWFPV09xUEVpNUp4VDczSXhWWStaaStDNU9teG5wUmZTVGRmNS9leWlpaUVCTTg2c0p5UnJxd0RTZncyUjA5c2s3UWVJcmZ4a20vL1Z2WUtjTU5NNG15ei9ZQ1BzZm8zWGlUbkVIUTNQOHNrM0lWakZjcHJ0Ky9sT0hOc3N6WTNiQ05VZkxrOS9zdTdwcDc4UTBVNkJmcWdWQkZtS2dFSlE5aVEwbW55SDkxN1BaU0xnY3Nma0l1UXJkdzUxcmxUNlF6VllYQnhEcDVyMFlCVHFkbFh0czRyUS9LMjJTcXgwWFFQU3U2NndZR1lFT3pINVFxelFwV2dyVmJjd2JVK2ppS0M0U1c1d2l6aEFpZm5jdTd1V2FWdzBuRVJxdzlUNjBRdzVkVGZ5ZEExcERuSWp1Y016dXhiN0ZlMHViSHFxV0JHcEpiUnZob3pKdXAwTnByU09VWkR5WnpBcThYVENoeTFtU21BUElpZ2h6c3RDd3BNVmhEWnlDb0szcEFicXU4VnhtQW1JYUhVOWM5ejRYcXRhZ1EwVmtwVzBWcUV1SDhBazVIcDNtUWM3ZjU4RFhGRy9yakowRWVSWm1hZzZBVExLSXdkbW5OUEl4bDhIRXdWTEN1UlJoWjFEenZhMmRZRHJWRTFtN1l0Ky9RNGVGVUQrUzdnWWRQMFcyU2N2VUJNaGZmaXpmcHlRME14VHlUd2FoYnFxaXBJWWhheGlRdGNYRlRuWHZhSUlMZS9OWldMVExCQ2tiQmZDeVptZDhBYk5vM24wcGx2clR1NU54M214NG1IdUVWM3J2dEVwb3BuQTFCNnUvcWtJeHE1dVErVEdpVWJlaHBwV0FheGFMT2NjekFxNlJSRzdMYW5DNnFBNHhMVDcwQUYzaHNGb01VQ3R5N0k3Mk5xQ3paU3dyazF1dkNRbURvaC9vM0xXZDNrRmJTdXV4NVZJSUVWemZBVHhHNWZjeFhpc3cvWEFLZjRZU1c4ZndWd2xabXFKZGhLOHF3WklvUGZkSk1ud1NlR1FkT05ibHVoeGphbFNnVUwvQ1VmaGo2Y2QwelZoRml0N0QvdlRUeVJBYmlhbHQxV3FmdG4xWkVhSDJhUUlubVhRUTNiZmt0Z0JIbEdUWEVqcDUzYVB4dGFucFlkQjhGc0VkK09SVGdpNzZHcWpLV2VCaVJCMTZwRU5hM2Jsd3NtTkRCbUZXaEI0M1oyODY4NHRDNXpVTHlOSTYxMUV2NWZuQWl5a1FRNkpGVGtIR2FRNUxYcjVYUW44bFAzTk1jdVg0MnRJcklYUnFrR1l4OWdNOURaUzJyMHdwTi9ZLzd2SzZrVThPN3VCbktodHlPVTBGcytMdmJ1L2VnckhIL3FLdDhjSUtrcFpFZldkTWNTaVpSazZjSm9MTW5FalhBMmlLRG1MeFBBWkRtUTQxTVF1b3BidFhmYlFoUm5heEg5T2tOam1tWnZ2V29lbUlnWHBRcy95OXFXcVJ6UWdZeWFIMmNrTXI2SXpsT1ltR3NXN3VNKzd6azM1dDZtZGk4ckh6ZmNjTzI2aGsreUFjdFA3MDU1d1gvTXZrZ0c1M094RGlhQW91VzRDeHpnZjJHY1U3WTY0SlFWQkhtQnRWMmVXOXhaSVV0Nkh5ZXN6bktJQnoxM3hyejhqYzRCc2laQmUyWUQrajVhbkpPQXFMdWFYTWF4VTV0NHg0ZldYSFdCVG93S0p2SjRUQjlueCtxeTBTVml5N2JkcHBWbDcycitSMUxTeEpkaFhRNitmQ1VEeFRmU1Y5Q0lRaFZJamkxaHRFQlo2MjVYaWxVelJIVm1HandOSk5ScGprc2UvNEt2QjRiZjU2MG1OK0RGY3Fub2NWVGNNQ0kyeTRQM3dhNFd0Rmk1SStrcTBvR2xGbzN6Y2pHSWowVjM5TEFvbFdpTUh5NGpRWUJzenN3aGtwZkxTZzdJdkdXaG1XbzdObmJRK2pmSWpzOVVxR0JrN294Q3lzd1p2aHB0ZGlZRVAxMVh4NURPUUtvTldpY0tURDAvZ2RvRlhWM3ltckd0M3crbUpjUHNrTVE1bzRYamF4TENtalFxZnVqVGRId2tJVDcyMmoyU1prZFVrWDFJN1FUN0RFT2ZEeHVIckxUcE9qUkNUUzZ2a2p2d3IxZU4zNkN4eTBhTC95bkM0RXp0cW44ckpVbVcxbllxV0FlRVVFNWN0R29xam96YWJ5NzVnMTNUNVV1R25wdEMvYmRvclp3b1pLNnFlWTRtbTRTQkVJWnRRQ0MwcjVqbmJPVFV0QzBXKzloUDlpeHZlRTFsTmRtSFlIekZDb3FFdDMxL01vWHgyc09RaFZQd1p1WUc4akt2eThNa21hMi83WFJrUk53Um1temtSWThVaU1qU09ha0lYZ05jT0Rwdzc2d3MzVXFHV2c2aUljVnh6bHdva1hQTGIxMS9mTzZuSEU0YUR2TEorK2svdmVZRjJlQ1hnYWoxc0lBS2p4WXlTdFR3SXpWbGp3czVWSHRMUTEzcUFXdTBraURPeE8raGRuaFd0TW83Mkt6dUNTR1diaHhiaEpteFBkc3ZXeVpKZHllT3hzNEdiL0VXV1JPYUZ3VEdLTGMySlZIQmhySjZYRTlvbng3SUVvUjBEMVdQMm1xRXdaODU0WHNHcE45d2pETEh1bkVseVE0ZkJCc1dtanZJVFAweXVSZGpNc2U2K1FFMUJoZjBhTkRweGFJR2lLSnF1SjV3Mm96Q0JkQU5UNDAwYUZYL2luSHZnNnJnckpJdEdEZmhOSVBYbk8wSHBtaEFhTmZJYjFLbzUzZUZvWFBDY0RONzdlYVk3SEw2RHE3dkJZaHZmSXYxOUxTci9ub0FnaVd3ajRMT3krQTVrdkdNbEZrQnZPcHB4clRLR0dhbnFRM3dUOG5PcHhvNXd2SlBnZS8rem9HcnIyY2tIUDk0R2dpaEFKcVdSTk93SitEUm8yRk9SYjcvMW4zYUFJZEZiVUY3THIrUDMremRpRzl1eS91R1o1Ylh0VGsxbS9XbCsySFVlY1RHM0ZFeXBXMHA3cThqNy9lS0pZZXNRK3dwNm9qTVY1bEFvUVI0Qm9MZFFXYlFtQ0JWeVZZUDBrbHBwV2NPUWp1TTAyZk5LOUppUEx0QnJ1dTZWaTlhZEk0TmNURFdZWUU2ZWtQNVY0bGhiZGJ4SUsrQ0JYMEI4ZWNoNnBoQ3NYOW9iM1U2RDUrcENhd0dVMzFCdkovR1Yzc3BPODl5b0hxVnZGaFhjR2h0dFZZY3ptdTM2MW9YQllXb1lweGkwOE1OeXJQbHJ2b0wxRHBTYjhINlc3czAxS0U3QVFxK1UzUzUzYkVTa1pXNkpDV2RlWFIxdkJDcldwZjZtM1l3R0F5b1E0TmJhVnMrUkJhSnZoWFpLOS9XUURMSDIraU5TMjEvemdSakVWUEFLQnVtSWhraTZuODJUWSt4Z0gzSWJXTForbklSWEppVzd6TXdGSHN1cUhWTExlNWp5Z3ExWW41MjVwajFacFNBOEI3KzdPOWV5SkVBNERYRkRtdnY3ZjVZMDNkOGhOSXpwZ3FYS1UxWmhpVGJWTFoycXpaN0FJcCtLdEV6U1Fxcm5xQUNQNlh1UVpnbFhUN2ZwUzZGc0M5bjZZZ3EzbHpwL05yZUR4WXNSYjRob2gxUTdHZjkzSFJBTmRGTEZ4YkEvZkw2MzF2SkxqenVPZFVHemdjTmJDbThIamw3R0k1amZrMHJjL1hTZzN6TWx5N2FVZjZ3azJrb3crY0FBV2k2eGFxT3hoZGpDUlNNUDg0Q2FJOUJvMWQvRjQreER4S3JRMDhHYUpST3ZBY010aGtzZnptWU9FQ3lHdW5HNXN1VmFwYTdVcGtwWDh4ZlJ4WVEyUld4N09sZEtuQ01oZFJJdkpXb282aHVIaXpKVkpha2dBY2FrMHpyazRQN0NBZ2ZLUnNnajRkaXFiZ3FtcHNmZW9OQkJwTGl6bDdBZjBoZ1ZXZnYyTzJCVlhKakZ2SVNOY3J2VVhpU1VQM2lBRUtoYTB6cTExaFVPWVpobDJBd2NXdFNxRWZwOVJMUUVOU0Z2NWkzNjhkZ0F3dG5Qc3pzWGp4YVBvQUJBbjNURVhPNTBEWUN6UUl5b3hBRFZmSHAvdkFZQkZXR3dJdGNRK213NGZaOGZwUWpOZm9RZUR1RWIybGQyRmdLTU9IME1PNnk5cUx6Tno0N0JGWitjeFdVeGs2TEtydjVzczNPMzlwY01jN1ZqTVQxbm9zMEpRdktaU2JpLzNEUlBxR1RZenJndW0wdURlYWxzV01lZUU3M3BHUHVkS3lBaWtyUTlTQ2hTZ3NLOGJPaVYzV0daZitKZW5FSlZYT05XTkdYWHZONnBaOU5EYVAvMm9ER1hqdkgwaTdBYy8raFhKZTFSeEVsdjhVVkNFcmkxNnNYS24zTnpxQ29NOFNjdGZtcisrQytwNklyQ0wzd0NFTGdhT0dQR1pnc1lySE1ZYy85YmFaNmhWOGZiTS8xNFg2N0IrWnVaekZqeXA4clhCMTd1ZTRJclJzL1d2MG1wbmlWMC9nOEZFcFRIWENiWEJHbTcvNUhIQXhiV0Y1ZTVLLzFtZzBBRllTL0Z1REtrdis1SVFvSnZVUHNGa01lU21BcUt1djFDakk2VHFIN2ZDNzFJU1hBOUhMMEx0ZFdONGtIcEw4V1pGdlA3ajZ3bDVMK1Jic3JnRmVFckdsbEoyTzJ2Umt3MG1IU3NmL25FbytEUlZBdG9lalZWaTQ3dzJXN0oxOFJXOHUvSkNPUTUvK0ZFemxuSUx1ZHRJbFFteW05Nk9XbUI2NksrR3F5QldKbG1oMHZEdjlUb3RLSUxZZTA5MGQwbU9jVWNhRXd2MndXb2t6V09vazZuaSs5L2RMYVozQTJuM0dxQUFjNnZvL1FCVktoWmZQelpyL3VFNVE4MW5vdVhhM0Y2SFU3YUh4NThjc3F3Uy9zaitYUXFNL2VKYnlocXF1aGRwdWN6V3ltdWlJRm9heTZsK1VhZzRPcmtlSTlOMFFHYXpaNkEyR1NJdTRIYjdxNFpLb3lYczFFTDc0QUphenVWbFlnQTRsMk4xVkM3VG5BTmx5a1pvYzNaZm9pVm1Ed0JHcEtNdUJtWElwOFlRTy9xN1JjMzc1V2g1Nm1TanFkSFZ6QmxQMzdTQmp1WEdVbVBITEVPMDdyem9vNkJNVCtsV1pKYWJpcVozNTd5Ui9LMUVHUmdSNVNsa2I1NTlnMUltc0txdi9lUEZSM294OFhmYUhjM0p4emRoYXBjY2p6aGZydEw5cXRIWEdFSlA4Y3V1UWtORi96SE5YWFk1dW5yTzU4aVpQdXhNYWZuYlduVUQxMnYvOWo2SVU1Y21KeTN3alJFbFBxajNOMmVZQVVPMFptOWNGY2RtY2FHUkJGT3NKekhTcHBvYlJKcDJuQmt2Q0xWZmZkaDNYS3F2OFl4bnl2cGJIdkFWNmQvQmN2NEE5bTdGVDd6eDVFNEdYWVB2eDU3YVFsbzhETEM0em1ObVQzdU90VGxPMHRBNDl0YTZYUy9JNkI4ZGJnZk1yYVlFSTE3aGJmZDVweGZQSkM5Y1RhRWZzMHRrNkwyaWhqdjBZQkVjSENYK3cyS3BYT3JGTmZkT3JLZjhtOFNlMFVZOGZvUlVBTWh0SlZzUkJXNXM5cWtOTi9CSjV4d2p6cXBna3lvUEZ6REFweXB1c3dOSE1mYWVXdzU4ZkZsM3AyUlQ2b2YwdXE0OXc1SktLKzlaK2R5OUFoblFodGFvMXhNRFZDVDg4UkVyczhBYXdUS1BGc3oyMWRvNlpNcFc3RzI2a20wUmhtcmU1S0pHRW80Zkt4eFBmYjZMSzlHWDAxMENNdStXZVM4L2NVSEMzYTZjZUZJRC80ZHpCSWFUOW9qU2IvQjV5anpYc1d3anN3VkZhNEV0Y2ZJbDk4TmFsMHprdkZRVVdGSjZaTm5BRFR6OU5sMlRLWVVXc3c2cGg2bGp1ZHFCWnRNQ1ZiVUE3VFc2RG92enN4Y1pHQlpiT0FaT3JBWGVIZkF5OFI2WU5rWitkek1OMWVuZW55MlpBTzJyV2UyVXp0b0orVDZxeW5LMjZOZjZKUkR6NFU0aWhnMHZJblF1b1VZY3R2TGhTTTZFTVg4SHcxN0FvNTBLVGpBMWVRL2IyTzdCQVRnUW4ya1BuQWh0VDFlVldOeDJlc3I4MXFvVkpISTZVMXkyNlA5MytNRlp1aGpkazNoZlAyaWxRQjNmTUJyOUtTZWtPWGZhSzEyelVNQm1Oc2NiYURNOGQ4UEc5MXNiRmdhOXJWQmZzWGh0d2RBcnZpdXdZemhnNGpWUENMZm9jbkxCdWFTakNVcGMzTEVIWkE0UCt5K2xPTXlEVXczVUJFMGZGTXJsWllYWWlzcitaK0k1ci9aYlRwSSt6OTFxeTYxbUVnT3hoMmwyZ05JYzJ6cjBPNk00cTY0bDJPY2FQRUFNZGlVSWtkRTQ0R1VIVURpNnhYZjVMOGdNWjR0enJVVzNkVy9KQm9ndHM3bzUxa2FrVnV0ejkrb2xoK09FNDd1Sm95eVFaVmhNRm9tRzdtdTFaUmd3S3FoRStXaWxFTkxQK3EwUndZTklaWFduZFF3LzE3b0YyTWZOYTRrY2NZR0ZHVzJHaFFjZU4yTVBWTncrdE5HV0VWbExjZ1N1ZFFxQ3VDaWdUdkprUENBeFEza1lKZEZaNmVpS3NpUnBMWk5sR3JsWjZLcWk3MTMxVHVyRmRoWDFVR1JETXJaTGplbkEreVRvcUFLQWZtVTAvbFFzUm9lczJLT1JtQ0dCcHc0eUJ3dy8yb2ZCTThJQ1ptbUUvSFZDTCt5eSszVEJNaFlvMzhPNjM3SXhqZmM0UFFTVStrMUJacGlCYUM1WDc0OUo4OTlUdDFzZ0FwbXBOQS96OXVPMG9yRHc1L25sK3VHT1gxa2duR3B3cTJIOWw0QnpPUHk2ZEw2dmQ3WVAxZmRVMFdUU0xNS0ZnS2RkL3lpYWxwU3JPdTlEUytNZk44dzFETjJEbmlmR09pOVRaT2QzRUwwbDVScHhsTWhHb2VjakI2RVo2OUZrdUhpeS93YlFxdUcrTmdDOEU3ajNKTnNFWERtSmlGcWpvZHRlK3RxVE1Hc3pHRXBHeVhVdlp3a2JSenhtRHFkN1ZBN3JSa1dpK2g3S3FubGZwVVdTaFZwMVc5R2RnNlF6THFubFVuelVkK2RlQUo4dDFxeGRsVklwMlh6RXE0ZFlZZXB1aGtTWmFJWEdzdFZ3R282SG1hYVduM0pVQXUvNVFXKy9penZhakY2YzA0bTdJT3ZtN3hMeXZUZXluYWNHamZoZXZkM0I2WlhBUVdhRnBISUtvZHpSeEhITzhoRFNEU1k5OGlCNjU2ditqRXowVldBbDJzK1hqVFpsUUNwR2RGMlZCVVMzZ2hXZEVRNG5jcEtvT0RBUU1lRWthNHh1S3crdnBiUkdLaXhLRWpaWWE1eDhyejg4UHhJbHJtU25vcXR5THhJQ3Q0R1V5Wmw3WnNvaDhTakxTQ2F1Z21JRklWOVU4UDllMWZZam5TL1dXTDBEaWpENkoxY0J3cVUwK2RCazZ5ZisvOWJmUWk4QkFrSmhiZU1FVE54MmtNUXhiZU4wQnF3cTlIdFp2YVpYKytQZVBGQWhMcW5yNEdoNkVwRWcvTnlyVlJtalc1QS9rUnN0dmdTNkFGTXB2aG55eTh5bVY2blR0KzRNbDE3TU9Qb1Fjd21sQno5ZGplQU9FcVBieHMzZUx5WFpUNDNuKy9wWjhTL0pFeHRkQWZaM21JVE8zSDVGTzFYT3owYnhzZ1RiWVpYVVg5UlNWZkxhTExFWjhIb1QwZ2FtTTZaREJlV1ozSy9pUTk0ZEcvU25KVFJPUjVnNkgrMnpqTHhpQU10WXJMZjRvc1RGZzBSUWI4Tk9KMHV0cG1pS0hyL3pLQXZCbk02ZGZ0N2pBazU0bGhxNnowK083dTNVYkhnQ3l5V0xZUUg2c1VtWlZEbDB4ZXc0VkxkbzN6VEltK3RTUHNTRTdIR0Jmc0s4SjJ5eStBeTFxZkIyTUYvL0pZWVV6QnFJanFjTS8rNjBucWlQQ3kvOHNSM0svNDQ3cTlqR1p5aG92NWRuUVBzSFRvUVlXOE8yRjd1dko1aUJoVk1leUczZWpkdDFPRUc5NTM5eXA4dHZwL0lrQzd6a24vcVVhcGFVYzh3VWcxZVJFanlRSG9HS2wrbWd0NGVXLzlSaUlTeW1TTWNEalh3TXZkdUhDN0RQRVMyN0x1ZkJjVmZNQUIydit1TC9oT1luczRDQW9DYkF0NEZMYklBR2tMSWNuOGNPaVo2UzRkSloxVWhwSERMcGdPNmZLSVhINUtIUStDTzVFS2dVYVVpQlE3UmZudnZYQjdzcTVOQXZCVmI3alppYUJvbjdqNnZFM2dhMFU5SkxjdmMrQS9QSllheHMvd1pPdU9RL0w0WGNTMm05S1NHaWM4ejY3eVpRdHd3NWE0Qm9FMEwxS2o0RUkyWmp2YU5OT0hPNlIzdTVDdW5YZng0eDFYTHRXcEpiYWphVUV3Q1RaWTlMNGdVQlNZRFBqNGpJL0hGdm1GWkFFSWpIWjhITDZWclVHdlBtNlM4ZWVDSktqT1lEK0E4MlIySmg5SEdreFJoYUhzbi9UQVo2R0xMQ0ZoOUtMam9DckZzeC9ncTZaSVRJRUFxR3NpNUM2N1dmWEwwbVRWUCtDYUNjV1h0UU9zWFFnKzNJU0NoNkdncG0zV1RQcTdlNDY4SGtzQm5MTU14WTFoUmt5dWRSS2NYWXFyQU9KYTZFYWNEYzh5YVN5QWJoT3NCSVZnYjlVNTBnb2Eza2ROajJQTHdSSEQrQlVXVU1QY3ZWcVhFU3RCU0R5Z05CZGV5eVNodHQxS1BzMk1kU0FHZnoyc0RtTWdsWS93eG5qRTdZQzVoZHZ6WGl1K2lqbXEzNzR2VzloK2hVR2JDd0tmSVViWkhISklzZGJYQjc4MkswUU16SE5jdU1SV3EzekJKbXRLbWpWVCtGdi9EQVhjSnRHN3pjSFJwVHh1T21BekdZeVZRTmtOWHNHNUJsS1NmREs2SjhKZEx4ckVCWUhsTUlIVU1WWHo0YUtQUDFqS0pqK0x4R3g5NnlXbERTNGJ2N21JVkRvRWQvVWRZY0p5RUVod3ovNkFHV1YrOFl6eXFKcFBPLzczQUFoQmJDTGJiTHpxYVYxMjltN3NnUE1BK1JzQU1UOXV2ZzYzWndoYnNjSCtKaHdqMW1DN05naFJBdFUwTEI2Wk5uSlhmT0dERS9ZTWxhOXFOb2hGL3p0ZnJjN25GcnI4YlJJaWtzR2REN2pvSHF1blR0aElGTlVxWEJ6dUJRVHgxVHBzWHg0V1ZRT0RmMWhDa1FuOXhONXJDUFpPeHdZL3dnUk1MZlA3ZUxnbTVlRllLK29obFFGdFMzQVYxTGFscFE4azdvbHFnZGdZUVV0ek1ld2NjUlZ2VmhJdlRSWlF6ZXR0cWkvdjgrYmRUc0diMW9HR0xvclBicjJWUnRmYWZtSTc3d0M5SHJDTVRzR1d1OUxERHlXaGU5dGVReURNeEd6L0xzN2VEWVdUWnFCYmVvaGJ2R3pheVdkQVEvakZqZFRYckFYaU0yM0gyb0pxbzVaUUNpem9PWU1GQ1hpczhXN1pTTjFLV0ZCMi9LYkdxaDVUbUVZd0hOWEcwVjFwK3dWaTVielE1Y0lLRUpxbUNqRk1JSFcwOUZSR2FXdndnVld0UFJESjEvSEhKYStmbEVlZ3BZcEY5anRwS3hhVlJxZzNianJuV2NFcXViaGh6aVN0Z0RwemIrR2xrdjk4OVdzWU5lc1lyYTRNQStMRGsyYlpLOXYzc1pzMFg1Qi9hNGdScDlkeDA0RVVMdzJHeGx1Q1dneWdNdHZuS0FORzBXQjU1ekNKa3pQNEZNTjNyOUZsVFkrU3RuNVArV2x3WW8wblJvRUYrbUk5NW5NZk9Xc2plZkRKQTVMWmJmdW5VVm0ya0tzUjdibDRkWHNYNndVRjZZb2Y4bkMvNGY0M09HM3Q2eWpwK3RUVGtVeXJvUC9SU3QxdWh5eXZCVWxId0MxV3ZrcExIOURKNDFQT3EyQUVsbUloUDM2NlJlTmJhZEFpQWFHL0ZTTk42Y2RqblNURGVld05UM1I4eGgwMHBOb2R0RlZSZi9zTjMzT1QzR1B1Qlo4R21wbDR2VjNRdlYvL1lEc0xtU1hkd1VkbTZaQ3dKNU04S0dadWo5WG9iZHZibGR1WUZuZWhZaUQxZG5oR1BJb2xmZ25nOUNlYlVISkgxNGwxQWkwZW5Ka3JRYi95ck0raE1BVmpIR05aSE5wWjZRUS9DVFZ2a2RuYXNxYlJPLzRBSmc0Y2dqUitXMVFkVU9TTHFsNlo2b0E3dUtxV1ZiczFaSWZ4cmhLL2NuTmUxVlFXK3pHZWdES3dteFJIOEU5SEVCUFZsT21JQTVxRElXRnQyRXIvcE5venB6V3ppVVI5S3JiZndUK3ZJa2RuTWFkRnNva05wWU1JWG85Q3UzNERkeFRabS91ck4vVXhVOENGOTFXS0R1MWUxNEgrVXRjd0ZpV2h6NlVFM0x1TzM3WTBtaDN0K0lNY0ptOFN6R09qUm52amVLNUpENWtDMHRzenliMHpocHhmU1FXYjkvSmtWZnZzV2d5ZWhucEc3YzlPN05ka3M3KzFhVXhoeURlcFdMMW9HOXJqd1lRNWtYd2hYWGsvWU9WMVJvckVjVVZKMDlCQmI2R0x2ZGUvVnpNRkNEZEhWblBlbWZNUVJSNGJYSisxK2J3T05YY0pCRjljVHRpUEVhMk9BaHNmWmxhVmhDaVE0UHdVU3BxUmo1ZGNXR1licHRkN1hveUhZTzN4R0VhUjFaSnh3T2ZrYlBSM0Q1eVNGd0c4NHY5ekI2Q0k3Z05JK29hdXZjNXZFV05ocTRZcGNZeVZlb1VWY3B2bGdoWkFtaXdiQ1p0d01yUSs4TkFTaHVGRnJydUd4MmdsbXhiQnRLVDVXaEVoSTV0a3pUVUNRRytFeHd3MG9RM3dFWXA1NkxRVWZXYWRjWUhFKzFIZ0pwVFpQZWs1THdweXN0dE9qN0tNNjJFTXVCMjNIQ1lDS2RnYTBKWXZpblRubUZBMjJFb0FRNjA5eXcyYnFQaUlCaHJkODFTVUFMallkQ0VybGduR0xKQ1Fxek5SemdBSkpkaWlrenJOY2dJam5hb0FQNDB5azVYb2FqS2g2ajBQWTFDTSttSlFha3lQbE1LSG1LN016cVpQQUM1ZmIyVS95TFZXZXJaaFhXMkU5cGJzMlRDV3h0akFCd0c2R3R2ZjVqMHE5YUZYTUp6bWZrQ2NtNXRxQlVIenlPem5JOHZGRDRFS0hrZDloS0xxVGNhU0JxMUJBRXNsdXAzTHdOaVZjSEtJaGhzMHlKMXVGak01enJ0bGdKR2I3RjZhVjRnQTdFKzJGMks2c2tvejNiVk5mcHd4b01JOTZWV0lkMlZudERCL3hXMGpHY1R4NW5qRUxEa2JjUDJhSkRFTURETjBER2VFNTIrVnM2RHZsbklRUVRVYjBqMUtKN1ZzOWJoblgrZVFxdkhUdU5oYlg5aWphZ3crL1h1dlpMTi9uejZ5M1JJV1EvSDRrdlhlOWZGZTFXSGtoWkRXU1hJUy9sZ1JqWmplWFdWQmRiUlZjL2pUYkp0S29rR2tiTmpHWEQ4MUR0YmxCU2hRNlhzeWJnaDUvR3hvTnl1YmJNUHU5ZXlKakplTURqNFc4S3QyMktvS2dOZk5uNjN1N1J2RDhKWFBzTktodjQzMEV5SFExQ2lpNFR3eUFOQlh1U0pWZGhkL2l2aUZ5bjU3THNiS09tOG51aHNXR2t6cU5jeUJXOFMvUWJBT1lldU51czN3ZzlTdFg3ekE4bjZkU0xSL0w5Rno3Yk55R2xVTTgzbUo3ZkNiOU9oTTd5MEtaaVR0dS9nZlQydzlUcjdBdkxTUGlTeW1tZVc5elNPVXlQV3RQbno2ZFVoaG9yWm9WM0JzVDIzcWxwdmQ4K1NMWUk0RGhVUWw0bjRTNzIvN25rS1d5bWF1OUhQa3dZb1EyN0lzUXpLTGpWbkQ2eVZNRTJrWVNHVmNvSHREejYzMUJZeGlMZE9XNjlGVG96RUZaNXJlZWhqdVJvemxmdEw0TTR0emdNZ1FpS0NBdWhOUWV6YzJIVE02TnY1WVEwODJTb0dseGZ3WW1INDdSZjZYTllnajRhV3VJdGhiaWx4QjlrV0VRRlE3czdxODJzb3JkL3ZnTzNCY3dhMGRSMjBqMnQ5NVpTR013WmxMU3RzM01ybWo1TW5YV203OEtQWlZ1eXlzTHdxMTFYLzBHd2FtNzJIWUxiL0hqUEplY2xoQytKMVpVTm9kblFNTGVQTUV5MTBSZjRqNG1QUGNHL1MxaVFYWG04WEpYTEZPS1FReFVTUzNpcy9ZbmZSUE54Qk83bVZOU1E4aDBGUElhQ3VsWXBCd0JSY3h5bzJjZTdUYTBIaFYzUmNnRTJnODVxS1ZyRGdGc3RCZTB6ZVdOOTUvQzA5b1RucjczaVQ0Y2pQSFFpR05QYVloZktaQjhzM3RaYS96ZkU3RFlrQ2tZdElzOUoxK3Q0aHFBYUh6dDRsMGJRNjFJc1oxUEEvRDVzQjNqbDQxUkhZTkpSWmFvcFd6TmVLbHRrVW5aa1dnQjlGVkFsNDN0eVRnOXNGdUFFM3lPRFpHdVo4d3pWTEJ6NFFQM3JuNlJpUVNvYkZSV0pzWE1mUHBlS1dIZEtoVTlMOUgwUHhoYmRTZ2Rud1Y1emtLeHpWQU1sYlVtTGdGMTNOMmlCT29OZWVVMDhxaU84Z0o5MXpMREltd2lKSzROa21TSEUwdkNGOWVzSEJwMUhoNmJBbFVSK0hxQWRLTlp5aVU2YWlWZUVmTCs3dWo1NkRoYk9JeUZORGJMSGFrSkZFRldFYkt5M09OOGZWM1d3VzQ0anJIRlpCMGxZMS93eE5Kaml3NFU3MHhMRCs1eFYvSW9vRjlqZ3IwM1k3dzA5aGFjQ3FCa1RLMGthNDlhTS9GUGJKR2Q4Ky9WMk5TN2J5a2hzVUVVMVoxNG1zOXdMZHgvRmdOQ2MzeExzNHkza3VDYU9UakhXVTFQSS9FY0JFa21XNWZXSSt2QTl2ZjdSRURZZGxXNjFNTGlkaEVMcjUyZ0pNbDgyOTZMSTdJVUw1OFB5Rk5KRzJ0ZFVMTW1GMFNod0hBbUZEdCtpV0JzWDBFS3l3b0gyd3FOd2VUYU1NVmR5K21yaUJlQm9VeEtWOG5ZNmpacmh5WUJjbnR6RFJ6NmN0Z2dMQ3Q1ais5VE1yWkF1UWtxcXB3N0JsbDYyS0dUWTcxcC9VcnJrT1J0Z3QwamcxRWNTK21HNzRCNlJiUEQ2Tzc1dEY3dXJnZ1JRT05WV3FqWVFnSVd6R01TTSs4eThnSjJwTnczOG56aCs4S29PQWtrK2NLd0JrSGF1bldVckswTTJ4NXNyK1hqRmZhT2JCOFhDTzVRcGR6THVVd09LKzRDeGkzTEZRQ1hzRy9CNjh3RDZlY0FGOGJmRlJQZE5jVFBpUDBsRnNJbU42a3pyV2FJS1puYkRNeDNoMGhmMkJXMytSVEtsejQyZjBTcTdpTThuRTZCUHhpNE1YTVNSR1p2Z2tHTnFkVVZrRFZhWWdRRU4xT0lpSW1IUDZoejRjRy9qR0dhanVBbUYrWCtodFllRThNVDZuR0MwOXh4dC96dzhqcm8yK3NRZzJObk9ld3JqcTdmZVlvZmk2NDRPYjlRYmY4bmFBcFVkUjZYSUtkMktObmErQjd1WjBHaVdrUFRjYnVHTkNzdmd4bERmSVJFMWE4WVZXWmV0R21uVEt0b1ZzcVN5ZG9yNFc3QTJra09SZHkyTnZYVlRwSlcxM1dFdmxhV3RqamhWaE5aU2VTdjlqQWNJTS9HMzM1aWptUUd4Mmd1UG9IKytzL0ZZRTN2eUY5TXlZazVydjZTV09SV2tpWTVwMjJLdmtxRlB0bjdScmRidTltT0RqclpqRCtCUVhFcUh2Yll6clB1RFhHb2ZsaVYvblczbklNQytJZDZiU1g0VjNHb2JDWStHTU9KZ2d0dzVJWXM1OUpRN2JsTDIzZWF3TnpjdURtTjRqMi9mVmNDTzZZWVJlR21ZZzd1VnFkM2JKanNwd044bkcvYVBxS01WQUlyb1M3SjJoa284VjBWSGRMUnBkbTdjUk10Uk5KaFFlTVUyVS9vZUlTK3d6OXVKYnJIM09SYWJrUEd3clpWREI3UENGQ2NNaGpObEorbTRMUERnWk5BQmxGWHNneU8rc3VLZnZMS3NxTWtlWWk0aWhQdE4vQXRibWlSUUphc0hKK3dXN09aczB6cGRCR3dKcE93Qk5UVitYUXBwc0ZCNE1hM1ErVzMyNTVSOWMzNUNUdC9EZnlLSVNHMFYxVXJ3T2t2dXdJNWFSWmRiMFpQSHFOTE5qVlNYYjkyaWRzNHU1dUE3a3NVVXZlYUZHRlFBaGsxWCs0OVhlSWZ3dkxKNnpreGhldnkxaGhtWFFnQllOdHltclRQRlV5aXFXUUFidkFSSjl0U2pNWnhwb0hXTEU4SHdqMElBUG5IcGswZklVWjJFdG01THhQdmZ1dnZUdFFoMzJ5emJkOG1nQWFRNWtRb2JFejI2bGQ5aWlJeDZ3MytLUUMxZHo2cXV6M1p5bnpTbDhKUWU2c0llcklYUWU1RmxRTlJYNEpNK2laYWZHTzFONC9jZDhveUVJYlV4TUROTjJHbndWdVhMTklqZm1PK1NRTVRPNzlOdlpia2Z0L1RLdmMzVFpaRnBtL09Cc09jYWQ1VEJVZDd4SFluRHhvcDdRczlxR0hWQWl5QUJPeUdxaHZxWS9JUWtnT2Fld1RtdHlod2szK0ZZbm5qNXQzb1hKTlNqQXE5N2p0U1JEbWw0NGRqdTl0TXgwcUpqKytQY3pha2ZuUVF2TnJZRE9QcXNuWjNlSnUvc21abDVMZjlOYXRCc285M1Y1UEhrcmp4WGJUSmp1dzl0WTRMeXBYOEpHTVRDS2hNKzQrMlN4cnhYZUIwZTllOUJtdVBXWVB1NzVQWG1GaFVTaGVtZ2NwcVJqNzJFczh2anhqTHphQXpCODJBN3VTa2FjYURjVyt1blVneElpQnNCd1NtZXZlQjNURjBlN1NwZmNWOTFFVWhlNEFBaTdHRmxYeGZ4MWI1STNRcFFsdjBOK2IrYm1TZUJYMnpsbWo4dkQ3N1UxemhWZFNidzYzSnV4ZkkrVDluR2lvOXQyblMrSENpSlRnU2RaYXNJYUY3SnNoNjdCemR1aDFzWmVXMjVha3lEYzV1L0lidHlUN1g0S3R5cEJpYTR5K21vczlzMDFOcTF4VHVMTCs3aERKWlZkUWdFKzdBUHVHdnpEZXd0QjlQZXl3Z1FkaS94VHdDUEIvUFdjR1F5YXpaL0U2aitjNVhuNy96ajZ3VHFtQnBTM0hvaFVtWVpwWUxKanZIaTRQQ3J1aTh5RWx0dHhwY1VtWEdIUGdFYmZ0ZlluU2NyMHhKMlhQOXB6RXpKdlhlLzNqTy9EQTdxUTg3WWxaeW5neGVxSUpnS1VCdUkvZldnR3dBNEFuYkhDajRZZTdxR0hCNnA3ZVdyeHlvMlN3MERaREp4eEgrNHN1L1hOSEhCdHpqWXVkWGN1NmsxMmdHMk1DaXk3SXR2azFtTUNQOUw2N05zeFQrQmdwRUZ0WGpPT1JiNTRtalJoczZ1eloyRDVHUWV3OG50bVV2N0ZlaG4wK082SDdkM2l3S2pjT21qc2YyU2VTU3hlZlM4bVg5KzcwRmZhTDRQbHd4bkdsTWR4SHdZaUpIaUhLZUhKSExOYTdvM3hvTEJJQmU0dG5EUEpLd0hjeEd0RWJ2ckZNazZXcUV6V3dPT2ZwQXdRMmt0ZHRYWWFwWlphT0xqN0JmUjcwcjl2NC9rcjBwTkdjTWc4MzVpeENVbUd0SHhveW55MkRqa0RmWGFEUEhZeXhRVURaQU5YMkFxUWhKTTZSQUl2Z3orUGZ0MDY5RnNRSmFKNm1JNU5Ma1h6RTZKVUpkZzE5M0gvK3NqY3c0MkZLNUh6TnZIcnV2WVdlNEVCdFhScnVrbEpaRTZSL3FGbzh3NHlBdkNFNDJYWWJlazFHQitkSloxTTZXTjdKY1NJOCtVMUdsbmRaY3MxU2wyZVR6bG9nMEY1ZFlGK3AvWlRaTWYzTkdTSVRQZ3ZVbFJsK2JDSzRXOXpTdDA4L2lMdld2bTdVWHM2cnloTHhaSlR4QXNGNGVZOXBGa1JXa1VmNlRVNEVqTkY3RUNESmliYU91eGZLTDBZZ0JLd0N0VE9vZnZ1b3V4VjkrTXdFOEJpb0RjM0ZnMGo4YlJYcFhQOFZJaHF2QXVPQUlmN0l4TkNOaVFSYUt4dnR5emR0Vm5oOEZWdVE3cmRnSUkrYUJEYUpBbmgrc2xUdmpacmZ1Tk8rWFZRelJ2YXlrcWFDOUFVWlc1NzU2UlJ5SWFNNmFEUjZoSGh1TnJsMWJDb2NsdW9SQmJPZXo1R1dtcXRHT1BwM1hNOEgycS9mUVROOTllTGVBVzhMOE5vUUNOK3BTUHBHS3lxYjFJdEd4dnlRZkNjVTVWbEY2YlMxUFFPVVFlSHVOSmNxa1RzMC8yUHBEa09BN0o4MGhVTU9BU0ZBdmROY1dpRzFOR1J4RytFM0tCMHlFTXRFMUxpamZJZlg5bU9NRWVSbklZcDM4V2owdW1nN2RiTTJjM3k5NjZFb2FEVDV6WXQ2N3BYUTFqTE1GZnFHdWJ5MEwrYVJqTnpDYTZhSXozUTFQL0ZhU1FDbUpwTytNMTF3ZVFvb0NXMWZMZjN3ZFhVeE5VWXR2ZFRiZG1CeS9DZ3NmNlFuRXZJTCszajIvY2J3blJkSDAyWWFiUXVvWXBQRGZwZmtHbHlnOEpNT1JjRHJtZ2J3Nk9ERVFrS24zMllsdUI1QzVzZ0NubzhwL1VhNGtyZU1JaHMvcWRqbVAvcjZpYnJpYllGSVVDRTRQSkwxSDZIM1FtM3hQZ3JzWjFTUlV2MFptUDVHSnVPSWpXd0FPZXE1MnZ5bGRqYTNKUmF4ajMrN2x4VFN1ckVmSUpRZi9aN0UxaHhzM0wwNW1FSlhVdy8wL0pkUnRsL2V5U1dkdHUvTGU1ZHMxK2NPSGIxUXhHNGtLY29ldUtzWDdzTzJiL2tHMzhLMGRUMUdGYzAvaFRGU2l4a2xLZ0QyUmljZWlHTGVscUJHdm9nT2JPOHpVM0lOWUpRbDZlQnpWaENMSWJWZVZ5R3pKQ1kybEp1TjJpNjd3bGtISDR2emNxL0JLb29OQXRqS1FuTms4UHJNVWFzWEtUYVVyWDByczlBeEJOcktweVZUQkVSQ3FCVVZ3V2ZoOWR3TkttTVdrRnpjUnZlQXVMTlF3amtJWGNtNDJwemhwS2NrVmJRSURrOGVSYnlrdmNLOFp0U2pQMEdUalA3RTUvd2xucC93aWFhWmdnTzNZWHdCN25QQWRnMFM0eXdtK1VuVXZMVXk0Q05udzZIQ2p4aG5TT2RtN2swcmhvdk9VSSt4U1Y2MjE2VFlLK3dCdmZwZEZFOHliK2xvWHVrMVpsczd2UVlYN0hlMTlxVXl0bis0NmM0Yk5nYWdkak9KdnZZUVlxQy9Sc0J5bklZUXd0YThsWS94VFJ2WG5MbnM4MXZ0TWFyWEtrYmJSbDFFczBvWXBJK1I1SzZYN0lZMEJYMk1ZYS9YR2M0dXQwenhQOXcxWlZPQmM0THhRM2Z1eGp1Wkw1aWhVckt4RmFLQnluWS85c0l0L3NxYUJ1cFFCUHdJeldySXVHemRpUGd4M1loZ2plM2NmMFhGU0FTc2oyT2lEdUtkbjhBUmFZV0RLLzZRTFc5eFVjM3JYZlF2U2hDSGV5bGJvVnFjTDFjQUJvYjlYVEVSQ3FRK0NFSi94bjJwZlUrbkFiMlFuSERNKzJMS01YaHlFeFIwb05XNmhWQ0JRODN3akdIUHpXMWdsTy90cWwrUHJrR2RhdkFNaThpY1YxV0Jpd0oxQzNUSmdDZzc0NEJJRVVtUTdhMGJpVjFVeTBqQ1V0aWU0b1pwNkxKSUpHZFhZOURkUHlrRkg2NmJ0OXpVWWh2c3lhekNkOXZPMmcwbFBkMDVRSkozN0kwV3huQm5MV3ZYQ294a2JtUDhqNWRWUDZoeThjNW5XMXY1Qkg3WW1ERzkyNkNVL1Bsd3ZDb0FOTGlPTjh6SGJ0d2JsOGg0YXBNYllERm8xaFhuOVdJeVNvMHJZOGhxWFlGdlc0QlVMZEo3NlZRNnVBWW9vTm9vRC93MncvVzdONk9KVUhKdXFVMDVpeGlZVitvd2pQZkJPOVk2SWFLV2RxbS8rc2RDMFVNOFVFM0p3dFpPRGtmV252V05Jbkc5NlRycGJNakd5OHRwNUdPTlZuUnhYTHA0YjRLKzQ3NUxRV1ZKRXMzNTA2eHJSQUhWV0wrOGI2UWxQTHdpWkJjdXh6U3hwY2xtUlIwM3I1Wnl4MmgvcG8xdjVGUjcvRFM5TlU0N1hNOGY2ZTZUQWRQY3A2UkpzKzJGdFBNMGd2ZXFDNTVGSmlod0F3MXUrNFZXUUJ0YVlWNUk3WDh5a0JMTXBZNG1leU9YbCtkaGxRNUlwenI2eURkT3AvZEZCWEE4MWZHZFNMcFIwOUFIbldJQW55QThEM0ZsdW02N0hVNUo5VkxETXhhZ0VkUU9tZDgwYWthMm9WM2o3blRkZWMza1g5WkFhWmlIRG01dHgvRUV1UDB3N0pUMzdaMEVYZlZtNWRBaHlLa1NTT3h4RjdTNHkyTXgrK2tlMGpqV3RyKytvdFdrMUNYd1hxaVdUOEVFYkVjaFNmRGJJVnhXRUVWWTBtMUVLWWxPR3pNUWxoSC82cXc4OFgzTm0wUTgvUmgyNE93R0x3WG00Z3FTTkNtSDNSejZEaysxdVpOOWRyU1Y4Z0RCV3ZGOVNxNlV2cU5KQzJFQzB3Yys5MzR2eXllNjlEbGZNTWw3ZkkwV0NpM0hBMkN5bmFYYWRESE84UFhLQWxvUGF4NkFESDR6RUxFMy8vTkZBczBoWXByS1lJOTZ1TmpMOThpWGtpRjBoZ1N4dEozVnBGazVQQ0xhMVRMRElpWTJyQW9rd3k3b2JSVkgvaHJYSVY3YVF1T1M3VTI5RnU5VkVMcnorVjB2VTBwZXV6dGg3d2w2RnpHbzJDY3Rra0VXWWJJemcxTGhtVW9KbjE5QjJ2bHJ4Z0lWWUhFdEEzakJyeDBUaHkwU3ZaazU1N1cyV3ZyR1cwdUVMRktsVTRLellNYlpSU3M2MkxFQWlHRHRJanlacW15NlhGaFo4UDNTVWZzaGtkZFFNQy8zODhXWnREclducUN2SThydzFpek42d2VoZkFFQW5URjMxdUJxNW5hcFhFaStsY0owcFZzZU5lY1Z5T1lYSUJ1c0QwNWlleHlBcTUwd1pqUDhzalp3Ym5GVFBEOXAxem5seXppNnkveVdKY05HWlVRTWJuSXR1aEs5WmhVa255allJaHVxYnloZ25aUFNFUlV1NnNPR3ZMSGV3N0tRaFB0SmsrS0UvbElQUVgrK3ZCMDIwelE2Rm5IbTRpdDNSZXc1Vm53SDR1T0tTcUdyeWcrVDFaYUpya0VPWS8vVjMrQ1ZtVmlwRXYvRC9CWWxPU3p3bVZnWHJWMUM4QmZVREVVTFFrTTlSK1JkTWpZbUhUdUpBbHQxVlQwRzNGakpiN1JpTVdJZFU1SWlLZ2JRMHJvYkJlRXNGQ3hvUS8zZGpnUDlFbVBubkEzQlFRcTFlbkEydUVLQ2VmZGhzdzRUdUtlcFFxdXR5MTE4ejIyV0ozVUtMOWFhL21ZZi9Fdm5wQjNubG4xSURVVER2QXRmdHIrc01PbHBLWktsR3hmbW1zMk5lSFRETkxGNXVzcldQWXFKaE9XZGFlNW4rYnYvV01teEk5SmM1VTRWdHFHUTlxdHdTa3RYR0ozeFFFSjFuQ2tPOFZRRkdkZjh3U2U3aHBpWmtKWUozOURCQ3daTVVRSU1IeVREUTI0LzFvQ2lRb3ozRUNLS1grSFFPMFBtYjJrMTJYNy9ZT2xSMnhiN05BUUhpVG5KSUNoUnB0dCtQZ0MzUnpYNjMwUGREa3I3NHN5RmczUVVwQW5McGVqYUU4V202amJ6azlQSUY1d3lBeUFhcC9TNUpFYUhydEx0VklBWDJCMFU5YjVuYnE1N0NWTzd1TDRTOVBzYys4eWZIN04wM201K3NQdU82S3JKVGJZS1ZVa2xlMHROc20xMkt3Tms5bkhqU2dwZDNYTG40UVVLdWNFc1NTR0ZDRkE3SW9ZdjZTWHdIRmpLVkNtbUI1blhsSDJ3S3A2RjhJVUkrRWtzVVFUdlpLNlliK0NmVFZ2cEp4WGtTcjlUS3Y4a1pIekRqZ3NNdEZ3bi9oRXJSNlJiTWhMRFpMTFJuSXVvRCtsNFNZWnVpWFdidldDRVhvZzBITWtkMXFkZzF4YmtqMDdkSHNNOWFtSXpMWUdUK0U2QmdYMkcxMnZFZHFieGFuS3UyVXRsWDJrM0lnUFVtNHJVZno0cGtIVkY3UWNJMWpYOHl6bmhKNi9LV2RoRG5DRU1aVzdBK0hlRkJ4ekJieU9ONndJYnNGOXlRK1dUT1pMeHE4R1gyTmNnTXkyNG9nTERPN3hJTTUzK08wdldqYTkyQzNLNTZhS3ZNdjludzA2TlRvbDFRZ05SUVFkd2xKMHdCWFZhSEhDUkNhSjhmdGJDNU5ZeW9Pcmd6R09aNHlwVEF3MEhOVkM0WW9aZmV4anBPa0lXaWVrWXZpY016Q2hWTE0wUGo5WlJZWlBWZndmQzFybXJBM0lkL3BtQ1ZFVHNYRUdLQmFiZUNYUGNBUVVyZU03ZXZ5UzkwQUgyQ2JReDFlc0JUZFVvcWZDeit1Q1JmeUI3RU1WbEZrYitYOXJDMTNjdlUzYVBnNjVpeU5rcUlCZTYzUm1Fa2dnZFRhQ1M4bS9tRmZkS1dQRlhYS2U5clVqYlVGR2ZKenNwSWtXQUtxVzg3RHhXb0RpeC9JNlNkRm1NeUZEZ3E3OFRLeUZBS3A5b1d3TGJVbHhBemdWcjlTY1UzUkNTczFyeHg1dzlSVnVaYkFlK3dCaCtWUUxUNzRBTlJVTU9zNkhlQ2RxSTJjL0pLeDJRV1h2enROMWp6VzdOMmNWQmNBazAzbVUvV05sbUdrbCtJMEZXaW5COWFSeHZrZGtvSDl2blZuSWd0Qzc2cnB5S21hOWNiT2pDa3FwbWdQaHdob1hKQlZDNTdsajdmZ1Z6WGR5SGNCQ292Sk9KQUFBNjdlMlpVM04rTytvcmhIaWtMbXVuN29OMGNIaCtQb2hFSzhHamQwU08wU01iMlJyN1hnTElBSXMwZEwyNlphWnFOWmorZ1JlLzlTcGNxRzBDZ2dsU2hEQU13QU1OV0srYzl1Sk45SER4ekZBOWRIYjFSL3FMU0RNVWtzL2FFWFBSRk9oYWdLZjh5eUMzWGJRaXFnWkdIU1pEMjA5Zk8rUEI4a3daQ3NVK2pGRXlXMEdnMUxzQ3FmeFIxUko0MDJ5WmRNRGdhUlNqa0VhSytxc3p4RWJ2aG14ZFN5aXE5ZUc5QVA0TmtxeHRhZlZsL3dPOEZSS0ZpUmlzajF6SGtKWWhELzd0NWFvb2JzRzhmenFSVjBGazIwT1dqa1NQNEY5M056UXdSN0p2c2VEQ2owVkFraEN3L3N2Uzd0Sm5qR1YyczFueitHWEgxTmlYeGxZY0Z1cWhvNG8vbDdzMFV0OE9RNGJDY1lEcGdreXhoRHA3eWFrcDJ3VmFiUnFudWtrY21NQUcvQUVMN2NMc3B5czR2bER4Y3FYbTdmN0xYcXFubllMeEFqd3VnQXVTQVNYTFJkVGhvZXdhLy9ZdVg0U2pXeGVoek1UT3hvbUt6Y3l4M01iVjVNT3UyUk5nNXljMjBwYXRKMjN3c1FXRFVTL0hpTlk4TlFod0QyY0hpMEVKSkpiMGpCNGIzVjV6WVowdlc0ZXVjd0FoQlZpYkp2V2lWdUJ1Q00vN2xzaTdTQXhxYzh2V2h0cWFnM3p2bnN3UDZNRTZLRVZBVkJQb0FQeExFbmhoVnhuYVE3VWRpdzEvMDQ2c1J1M3Brc0JEWnNaM2pBUHdVTU9rb3RUcTl5MENTTTVnS2Q2alRycU9zYVZhZzg0UURlNDYrRUorZ3cyblZIVlF5aVcvREdvNm1QZWVTeUJBOWxxRWErWVhmeTJjVjRkRjdRSHZNUWtta3F4SnJ1NFVyVlBiaW83QitDU3ZtY2V6YTVwYzhMNVVlN1VpQm5CS3hKRWdOQStUWURLeXRKVFl3aE9rY3RWSFJLSXJzQk5XamRFNEFoQjY5OWFCUjBpL0kxdFA4ODBrNXNoTGlZdnNXWCtzTGVydnJ1bnBQWCt0ZnhLejhaZmUvRXpyVTdqcmtXUEpPemRoWi9ZZEtSUWZZQm1DaTNqam1OTWZveFR4OXY2VmZ2U1ZqNHQzMTFRSlY2WWluMm9UeFpTcGVsMnNucUJsbnJTYXVCSEhxS3cyVWxEM2pScVAvTWE0QmVvN0YvcVNQMlpmWjNqbVEzODExUGxxYnVHbFJTYlFPSVpkOG9kSTg1SHF6dks2OFVWd09uUDlCdkVENkV5dG5kLytSNnJBOTh1ZERydjRGNTFWcGlaVVZjU1ZzOEZOenhBUC9jdGZGZ3RJRDJzWk1RQjk2SExyR2hOVUNKc3FYL3JJWG1xY2NFWExVeWJEWFhScmdFQ2F1SmZjU0dtSmlkVmZvbHRqS29aYk9PeTlURyt3VHl3c1BGZSsxRzRFeE9NaWhYUEJSUURQL29UTlZkaGNpUkNKTFhXWGFuREpWQzllZkpZaWtGV3BMU1MyT1ArMXI1cElEY0wvcVg5NnNxdjJQa3RWeEhmRHNyd3BCeTJuVDhDMnkweVpES08ydCt4MWVWNGtFMExsUHczMDM4b2RtdGtxRUZpQzhUWUI1QUlBZHVrcStRZXVBc3pDQXpGdHQwUzc4YXkrYUtjY1g0blJKeWRPL3FjTnRsK1RZS0tBZjJQZVEzM3RPM0VrVk1kc2tzR1JQQjkrQ3FBTWVpc0JqRDRHS2RMekpiaXdYazBoeHh6cGJHb3ZWZEZEMks1UGhzdkhuNUxic3RDd0ZQTk5qSVdZOUFINzEzaisrbUNmZFA1d3czOHlVaDM1Y2lKcjZHTGQwWm1OMEFwMEtMY25SL0tQVFJPRTEzaGJhb2NvdW5nQmFKQWZmcDJQOWhna2JDZ2x0Q0l1QlFsZWMvbk9RQ2VURWNkOUNFbThHbGgrRDBjSnhlamRHSDIrQTJUeUJWU1VVa3VnMGphSEx0d3l1amJoTGpnTlZEcGY4NnkrUWRlTzdnQ0lLWThMT3dvRGg3M3JOVHkwaFkwUTdyZGExZFN1RG1sYlMvbGpwZzBVV09XRXlNNFZEM0pOZzVIVXZRSDJjK2RDRjYrRXhXUW9wM0xYYzdKUElDZTZkaGhkRUFIeVdJSUU0bDVuNldRWUVidXBjai9yYlJSbjdEQWw5ZFFxQUhITitCNmVIbmplc3ZyT3BGTlR6Z2R0Q0xBSUgyVVNUNXpBS2duT25hTlljbEhZOThGSmhHdlVsajhNRG5JVkRrbU9mTXNqTFJES21jZjlGZ1BobnRVZ01Zam5sODNZNnFaVy94eUE4RW5Wb3hudFBFUHVhN3pRKzVhSEVneTQ2SDBCMzRGR1RjcG8rdTNSdDJTV0NjRWNPTmVrRFBTTTNFMWhIb2Vhb3F5RUhQRkVCY29Ecmw0QXlYcFM5TkJMTHVyK2I3ekFaUVhERUFCb0lvMlVKZXVGdUdONGJLYWdqdVdvTUc5dmM2UzZldWQ1UDR0VjZRMC9Mdk03RE9CNFNGOGZCUEhXWUFRc1U3N1NickFUUXgwenlQMUFSWGdRdzBwS2l2MmZ1OE5lMHBxWFZvVjVIOWY4UlUyK01xTkdSQWhhSkdXRm96MHY3cFNDYzJWb0xYS0prUFFETWtmTXFHQzlHZ2ZaMWJVMExZV3ZneTUxZ1dkUGxEZkhRMlY5bldrNnIwSkhPTWJ2V2hYWDdnK3ZoOVp4QUlBS3ZYbWh3TkhGdEg2bEUwaHJtN1I3NStuUWJ4TVVjOXRKcTBUR0xyaytQdTd2UER1NUhTZmo1SXRXd2tJR094dXJUL2UvV1pFS2ZRdDBGMEhqQzRCa2c0V0lmYTZTSjhXMzF1eVNNT0tyb3J0bzhmOXMzZXVUMExSVWo1QkhKazlXb0V6WmYwTVErKzlqeGw3VXQ2amFubGRoMUlXakxveEtGV0RNT09hOHd3ZDVzWmpnL2tSN0JNRk1YNExKa2pwejBXaUpLZU83YnRULyt1TWMvU2IvT1RhM0NaTVVENHJOTmFuMnBxMXFGVnpNQUlmYndWT0Q1Wm1oUWk0cGdCeU1hWEhQOTRoRHNudzJQRllhZ0FPZWhrUXpQRXJHaHAzNUIrNjhiQmZLRHpaeVI2cVR4Rkl2eHozV0JYUHo4T2dXZDBaSHJtdlZ2aXRmTHR3LzB5QlpqNW5ETHFqR0RGZm9VMmdsNUtySU02MVVtNjBIdFFwT0hPcWZ3blAwUUVCb1hWQlZDRHA4UlJ3cGYyZFNXWE9ERkd4dklHRk55QnFmRU40Z2xNMXJJQ05yc21BZ0s5MVk3ZWFJT1ZKUUtSVm0wL1NjTHMzT3c2UVUzSFI4ZXRSZHBBOTZUMVJJdjZLZ29vYlBKZmgvVStYbW52c0psVWFiNTBwV0w2MEt3WHN4SGFDbEJTVzE4Z0M4RmlaZGRUbWhYTGxRaDY2aUo5VlUwOWMvK0h3djhUSTU5SitKeWRUZEZZTnFBdkJmem84WmNDR3g4ZEF6TURUT2VVUjd4dk5YU3Y5R1k0dlN6Ym40bmNQM2psUDBaTmN3L2J5MWNXM1BKNi80V0N0c3VCUWxBWENpM0FidzZvOTE1S0FJTHFta0Ezb1RBYUx4VWZDenhPdDRCR254ZDNKSlRoYk8xSVVqQzZ2aHYzZWxET2FEU2FWK09JYjR2dEZQdGFsMmd4elp4NVNrb2pLZFJCNE1rNVI0YlRpYlhHL0JseHVjR0RQSUhrbGlGUEFCd0JwZm05NFRWNUN4TzgwU2lEcWdxTTUxeHIxcjdZQkVxb2dPUW1NbnpiSkV0NTgramNENlJjajY0YkpoaXkzMjA5bFNUNGRlMzM1T3RUS2RtWTU1NDBtUStJRXRIUUI3cWszeHRqOWpkdVlNYmg4SzVaYjNwZ25MZk9VOHo1anNnb041a3ljZGpCN01odXhCK1lDN1R2TUdFL1NKSmhlUDNIdUsrb0UzOWxGYjdzRVdSdFhkTzdDM3piT0ZWVkFvYTV2MUdoWEN2YUIwcFZZcXJmbmdPck1TT3NwOW9ueWNKcUlxZTJkMjdxZjRMUnR3UWFKL3FDQ0hVWXpldmo0UnVER1krRVY1dUFDREtMc3JNVUNhV2hWWW1LMm9DTXgxWHVnRC9PWWxvU0t3bUptb2JqMHlmWkdvY1FJdGlkRXl0b1NBcnhhWExEUnJOY3lkeEdsenZBMk5WWjBwRmFjSGZtTXNWelZweXFkRzZwVExzQStEd2d2VUl6a2paeFd0aVFIeDFQVy9FTGJwMEd5em5mS1pmUW11Q0ZNVG5VRWdqUlI0Z0dMb0UrVjZ2TW1Xdnc1TUE2THFwSUFCb3lsQmE1Y1VScE9qYTZ6WTVoM3AzSFlhM0JUZ0Zjc2JKL0tzMTFpQmRYVWp5YnI1Y1piaEdXUHRoQTBXd281RWlTWERicnZxRGllZThCVjhsUjhISmhCRmFWZDZLTzNURkcrdXU5WW1VdFhVMFBBOW1BalVobXZjcldOQ2tySnUvYTVYaHZMVWJjdmtmTHpsQWlzckVhamJFZm90WEpxaE5tU2ZTWE9kY1JDQlVLQWE1eWg2MFFEMnIyamdVd2hVRjlybC81WTdnckdqY1puMW9kY2I3c2pqclJEeTl6UUNHWDhDUEtUdDNwV0tKZVFjRWlhM1MwQzJ4QWlKZHd0YXhUSVBWM0FYOTdOQUhkU1FlalVNd1VzNFhvSkZEUWJ0d0VtRUJpUHVtbVowQTY2d0pzVnNBcXNxWHRCWGRVc1d0eVZlc1ozQi9vYURJUXB2QzRRU1E2K2dqV24rRGwrZTNOSjRCeFJwMmY1UVJ3VC9YMk9KWFN4NDBtcDJzd2R6NkFTWmEzMUlXWHdJai9KTmd3OTZFNHQrbzhqZmN1MmdOYUV5TndtMFB1YldpNjhic29tU3VjMlovVHN1U1VmaFFKL3BEWnBocWxCNlZGZDE3YS9jOTZDSXBLZzNEZlVlM215QjBlNG9oVG1tUjVDSGw2RTFZWUgrRGMycjVrMEtzckdsTjdQNTd6aDVxN050Qmx2WjFGby9uRmIzemJkb0FMUWJDZ2NnVnh4WnNQV3FCTzd5eEl6aUltdmxnNGNBdElualZjMFRZOXBocWhKSGVDVlJzTW5ucjJWc283UFFaaFNwV0w4VTVKNmk3RWlYUlo1K2hySFRDZlEya2NZWGV3R2VqREwxeUg0Rk1FaENhSW5zeWw5eWJheTNyemRoZ3BpcUJxNGdiMUdzSjRBcUVaNTZUTFFsV25zUWN3b2FUL0dhazVnRm5aSWJxd1puajVDaHlGemhDLzVheS9KSS9aMG90TVZycExoeWM1L0pKVm5GVjZSVjJBS0pqbVVVaUdZR1k2QlY4cVo3VlBLMkg4TlVqME9pV3dCb0JLSG9YUkx6YllYcCtsUXR4Z05xYzNQYUxkeVR2R2FnV0VhWkJkb1pwaGVtSnhGbWxmYUxuMzMrd1dRK081aUF6Tk9wVXJjZnZEYXVuZ3lDSGFTb3F1aElEVHNjWlFQeHlNVzIrSDFOaFI4c3ZIU1hBaWRpT1RnQnVNZjRGTmpWRk5BWHVOMVRCS0FuclY1TFJXaGJvYWRnZ2p0U21mSTE0d3JmQnNMVzMwOUZrSXBnMFJZQVpDMm9TK2toZ1hJNnVNMlYzaU5ady9BOWtGVDZ6ZHZMdVlVOEdLMlFxYXE2bFpodjZMU0JWZ3luQ1NQcDdkQUFJaUhyeE10ZjM1UFhKRnFtOW5TWGdCYy9XdUZrWUtQbHJxS2JESWdtZjRCZ1dGZVQzUzliMXBhcjNuWnlxME94L2VDaDlGTlYwNFJUWnUycUpiblJBYjdFdXBsaTlxM015SGhNMVk1WS9LbEtOWTA4Q1lJc3FmTzZVcDlOSFJXVGNMN1R1REI0VkZDd1R6Z0dzZlFzdnh1MWUrcmVDQVlLT0NFUEV6S0l2N2ZlZnRPTmhyNW9lSzdKRDdiRDlTbnBIVlJPbHkyMnFZK2FIRGVMQ3pNOHJ2RFZScVl1QUJXdE9oa1BmV3pJckx5bmgySG9CUmJpQXZHK291SW9jTkZNQ1llSi9DR0g2WGRtNnpYUnpWdmlCSVFnSEoxNkdLUEdVNW44d00vQUxjTGJKbnZ4WDdqdlU4dEVlSldXR084K3RpTHppWUhlNkR0VVZ2bGc1UC9HSTdPMkhaWnI2M0pRRnlUR052RHhWaGlHaHNDdEpXQXVKZERyLzVIRDQ4NHh3c0dwN29zRFI4ektsT2tNdlhDSUdKY3hBRklodXBSRUlxbW9UVXZlQndMcXpZODEzMDVYSk9YRGJEWm9vQUlNNGYvRWhId3drSnJXWGtTUVRRTTJETEx4eS93UUQvd1Fhdzg2RW5hT2xUTHRMK3RlcnNia2pnTHlIUDlYWFRKNDhFMTBYS0ZZMUZtbWhKc2ErY1ZjVmdaK1lpbFpTZThlUFVERllhOGptNVF4UUhiRzh5Vkl1NDg1Qm9NY29CTVdaUTBpdkRHWnZlMHdRbHI0UE5Sd2hQdWp0QzlFYjlramhWelJ5Z2hSMmJjd05YUmVzdVJpeEcwYWFuN3MvSVlvUFhKU2UwRHhCWWdtRTA5dXI0TktqV2xxQmZCZDNQdzE0ZzZHL25YNjRRSk1jU3NlZktDeDlxY01Eb3RINUxJbGR2WXl6TUJQbk1tNWlhWXg1RmhjMDVFN29YbCtKcldMZHBjdlFSWFVubmtJL24vdEhrdlFqOExYLzVIT2ptb2o4UTFvOGYwSDhCTDRiaVBaWEl5UXNEL0ZnV1VOMkRyd3NUbzkveG1hWnVLRmNxNmw3aUNiZjdjc3AreTJpczJVdVU0MDI1SFJhOUNnaDkzRmRLbHR0Mm5vcDdpVVRldnhaNnFZbGFZMFpidExlU3draC94QzZZalV4ZFBuaVdKV0ZZZUFsQXNtNk1paEk1OEJ3aVFBcWZoVXZBVGNCdW1LTlYzYll3WHhvaGN3SStYUlZtYXZEb0l2eHh3aDBINjBuTlc1UFhNQjJIYnlzQ3dlM2VXRkdrV3dpc0pjYUE3ZEF4YXU2L3A5OURycjNJVytNUTBOMWZoc2M3QUZETjR3RkJ4cjExbDdFem1LVEVjVlJOYnF1dzBlMFA5eUJXT3VkVGNTVDhtS054K2hsbjFGc2dNWkk3eTNaR3JnVTRoYkVNUEJ1RUc0eEZtRUdRWmRkYjJ1U1NuQkI1QWxwazdBcDk5UDJoYVFjUEtNR3JXUGpDOTlUb1Myd0xtSXNlU083eGY5RE1WUi84SGJDa1oyRzFkcld0amQ5M1JEUFlWNHVhOUtaSXlSOFpSUlZIWHoxeTA5a1I5N0IxSVFGMm1iV05ZZlRVRVJ2K1FUTllpdlBvRzlBL0M5UGNkWDN1V1Uvdlk5azM4azByVmZkRS9XM3ExZE0yM0xRMlNjQlNvTFNTVUVrWnBJTVhJSnlFMEE0NTRGbFdDcGJSNEw2WVJoN2hMZDFKYXZJRHpFV1RMTFFuc1lXTmIvUk9yYzc3TDRmVGZsejhWWktxODE5NG9sRzl6cWFURnV5dE9rUjhuUERHalI4ZEswL0R4aElVdnN3RWFZSjlFbmFqM3NzUjJYb1NBZzZ5VEdobmtWSlhRVHlHMnZuTU1DKzlLVEJKMDdQKzNPVitrbGVPd2h4dCs4MDIveWhtZzhjenc1L1RibzlJR2h3Wm1KOEJzZENYdVlTeDVDMm1zZkRvL05IMEpQdlFvc3ZxYTVaLzd1WTZyV3d4MWUxeUdWQUxHQVFVL21Sa0hSb0dXY3I1OEFST0tLVGhYR01hdWFTdllTSWExNnNlVHAvNWZPVnZYN3h6R0k0dGNHZzhUVHBhWHp4WmIwV2lxRnBlUlpHREVSaU5sUUpySndvVGduazA3ZGJYdm1DNGZlblNOQlZHNGNCckM0R3pvY3NpSTZsdUd2LzhsdFl6dHJVQmRVVnkwbDBSc2dRT0tnOWkrNzh2eEVyZmN3T0NvLzk1Mlp4YmxyRjY2bkxOUmxWd3FPZnR1UnRCWGdmcWlmN1hEaHFMbDQwbllpN2kvTU01SnBnbHF4MlAvNlQrWWNENzNFdm05M1BTNjhoSmFUenYvUEZjM0pNWTNPOXhJWFZ5NU1qajU1anU5cUgxa1Vmdm4wbzVwY1dGV0ExMk5ZNnZNWVIwYUZsMlIrU2VQTjVaWWc1b1l1RFZRYTVFWTI1MVNhWjVlbmtubkxwL216d2tzMWdHUjY4bFh0c1orSGJHMWxsbktIMTRiNkRZRnpDQ3R5MldyL0QrcHp2TlJ2aTdYMlkvbCtDcDlLMXNXcUs5MFluRnJqQkpYdWYzMUpwVjdWSHZDTXZmRGJFWFNFczFEUWpQcjhHVXdzSDB3OEQ1Y1NCaWhZWE5XUGo3a05Za1d5S1VLaTI3eHJZRnVkQ09yWUx6ODZYK3lLRWU3SHBNa3QzL2JUOVVTZGRaYnc4a1piYldvUEcwQVRrejlOalc3a3Q4MVltQU5pUHFNV2huU3ZQODJKM1BzTS9ZaDBxQWpiZ3hQNUZNQlZUQkg5SWxXbzdQQUM1eHpuSjFCZHh2Z0FTKzI5V21ZZU44NnhCdVdqSmVTcHpXTUNIK3BLdlZpNWhTWXRTUW1oSEZyanA0QVI2U2VMUVJwcW1xYnlrVnZBTHM3c0ZWejh4RkF4V09VaUVhTXREUExCbFdiL2dITWF4OWwxb1Zkbm0wRm54cmprRDZtaWNLSFB0U0FSeVJFUDdnT2M3VTVMRjh4dzdPQ2tRNFlLeUZXMmkwS0VMVzdYeGJ1VGV1NGNOMEVVYll5YllLdlRmaXNHaEhjUThVdklkR043RTNFcFpZZnF0TUhwOGZmaFhqRDkrYlZKWGYxMlBMZG83ZFVZQ1pzQUdBOGcwSXZuSEd1RUQ4QzloRXc2SEVTbmZRYXB1REJxWU9IUkIzeUdPMng2Z0pvSHpQQlhjamNMWkJjZ3I0dU93TVVGM1J0QXNvM1RnemdqSlNkUkN0MVlkekxWR3NoRzdFWURYNVF0YTFVUGQwcnY1cE8xcitRNndkRTE4c1YraGs1VjZoTXdoMHQ1MzhrOEdSaVFPMkJZR0h2TE55V3NRWWNyZHltTFdxUGdzRmljNUQySTIvWm1kNTAzNGlobVBTRkhBTTI0NGl6aCtUdjFQbGllbWEySzlIU1JzRHpBYTZ4S2l4YWZnT2V2Y2NSZ2NLc1UvMW51bVQ0M0Y0WWx2ZEt2MEpFb2l0ZCtnM29yS0VRRUYyRGFXekE4cXRpUzNUeSt6NEZDMnMvaTBmSXlKSklBbFpuRFVaajJpQlNKZUh1ekZMVktZR0xhTUEvTEpJaWV5SkV4ZGYwcDJtV2JsTWRybUcwK1R2Z2ZVTkhnTTdJUHBHRFpxSVIvTWduMzA0NnlIeE1WQzlhWTBaYTI3c3hlRDlMaU8rcldYZmNVUldTZC82SjNyMGoxNXRRWHhueWwrQ2lUUVhEZE95Zzk5aitCejlZWFBRSWhLUnl6eGR3UWZreGpERnJNRFd1TmdTdWw1ZkVYeUdDb0dJRFBJQUlCVGY3NEQ3TGRycHJWS0NmV2hlR3A5MUQ5MkhqdWg2SmRhWEtTWGw1UkVJeTI3VkludVo1SVRmblhtZk1OYXo3M3RZRXZVWTJBZE9XZU1NY3g4SVY2RWREZzgvWlNTU2cvenkzNm1iQ2Y3ZEp5dHNzRUg1Ky9VdXZ3Q1dnYVRLa2lBWUhHWVFad0VsS1dPc0ltcVlFMENrMEEyblFMeUhCckhEdWNGOVp4aWgybmhZNjBtWVFpTGwwanc5c1BoQ0lZcHZBNUlmSERFOWhGbjcyUzcwcHFlTm9yVTlFN3MxeDJROEZmVlFRczFWcGVnR1o1dk1CNlN2aTdvNjF4akRaN1pYaE01N1hnWFlBYTg4QS85OFVqTkFERWtlRUVMaEZxajBRYWVyY0czbXl0Z2FzcTlNaDZXY3d5VWdGaWNyWjFJUjN5TS9KYklUaENhWEJ5eHcwd2JEOXlJVUR1Tmd4ZG8yVFlobkxSem96MWZMZGZ3VVJWVmRyMEhWYkczN3hlV0ZCOWM0Z2FEUlFzT1NCQWlia3pOc05oZnU3dS9nRUxCaTkyT1EyNmZUTmEwcCsvZ003eXVwMVdCK056akdzNmZuOXF4Z3orZTErTUl1ZW5hdHR1QzZkajN2bFBsZXNhY1F5MTFENjlhU05TNlkrTDRhSlVyd25iME10OVpCejQ0UWY0RHFkczV2ZWpGb2hHWGNIbG0vWWc5aHZwZHAyVGJobXFZRTRQaW10T3I5em8rSzlDYmh2c245VGduOTZjeUxqb1ZwMnpCZXJKVDBZZ2dTa0JYb3M3Z0VSdkRqNDZkUnRpbnBDY2cyUmJROThHK3lDdkYvdFJDc1RKdVJWV0kyd0JNRTVEZ0p4MUlpeFp0dTUyeWJKYVgwVHJMcW51bGs0NTJJVmhPem11cCtNL2NzVzJQMzVIbk5vaVllMWs2NDRLMzdCQmd3eGJaKzV3ZHNWQnJJd3FyWTUzUUUrNm95SURqdDBMTFNVcEsvbFVUMk14MXpCOGhTUFliU3NoaitSNHdhaEdsandIeFZlRG5nTjFOdDBvbnJpTXhZbWVJaURyL1g1b1p2VUNtdjVqSVI5cVFHdmx1MlpwUnNMd2JGbmRzd2tBdkZqaGt2MmRNbnZCTU9QcXViUkp5L01FYjhqM2c5dmlqVnF0STBhR2FHY21JdTQ4SXRxSWtsNnJLRU9sYUFBRFhBdkdhWDBYSVpQeHNoVEFhaWUyQThGSEY4WWtYclQ1K2FhaFgvN29BQ1VTUGZ4T21DeDBIc2NMTkhYNDhMVWxISnJuTUd2N1BlU3JicWp5ZkZETDZKNjFoT1BQQ2VweXZJeFFQWjZQNEdGNjRneFppM2hJOHF4ZVhXNTc1TTJGaFZlQUIyUUV6Zjd6akxRL2RHZkRNT3NTNkIzZzNObHlpZUF1a1BmT2FST3NPb2JlRkpmZjdCVlA5eTk5RVAxRDJxVFlsOE4xdzJGZ05BT0U5UG13Y1l3MzFPazJuaU1iVkMrRWVSVjVIcUhLZXZUbFNWd3lMV3E4UUZCV3RtZDNpTXV5eGtUaEZKUHJXOGMwV3JnWnVyWFVMMjZBZEUwMEM4Yk5EbFlaRHBVaWlTQWFjMXNySkRIQ1BoL2RxWEU2a1plRXB1bTRRV2wzK1JoK1gxUGlDNkVwVElHNUFXZTRRR3lFdFY1UkgxS0hQenVZT2JOTkFzbm9va1Z1MUh2ZGNkTXhiTlE4akZjZktzY2EySklGdTYwU09oRlUrVVNCVkZSOHllVFJFRm5NS2EyOFllejFBY3R2T3NEbnhXa3dTa1E5Sm1NeGNFVzg3Q1pEUUpTemlNSHRnNkV3Rk1XYm1GRXlueEs5dzk2VVYvZUN1VU5OdWtZV3lOS3JiS0hTWE5BTlVQVEtIOEE3eTYyY3BmdWpYMGZEVVRyQld3S045cEtTZHZla2t1cGEzV1dGQks2Vmp5dXZiNkc5Q3VncW5yZmluUHhMT1ovMVMzUkxvcE12cldoU1o2YStvNVNSNjFaekdRSFF2WkNkYmFaZXg2cjBOR2c0ZCs4Vkl1QXE2dEQ1aGRtNnZwb0owd2lIaWZPMXlGcWhkUm9wME4ramZ3eDFGb0dsRWFrR3oyWjg5a2V2dnIyakZGbXpDcHNUd1JwY2NQczF4SnB1U2g2aW5zY0t2eEtEVW56MXQycm9KYXRuVHhndFFvN0JQdkVpMXVFblFwSUVyU3Frc0prc2g2cVg3UGxGcm5rbnhHeHBCNmd6ZVd3ZUp2ZnNaZnZLR0NzWWFnZmdndTl6R0E1Q2s4UDQzTGZQVnZlR2YySlArQ3dvNEpZbFhYVmlOdkpvdUJuNE1OZC9nNnRCb1l6NE90TWV6UnNwdjdmMnoxWUtkeWZaVG9nb2s2NnlCSVh2VG1UWWZCSnZ4Wm9Ia25CN0NHN2RDOStBUG1GVGZDVFhNMC9IeS9pOEdJWWF5TU15OTB6NG8wVTEzbHNMdDNYS1ZCVXlzSFBYNWd1OTIxbjRhV0tIV0xMclhuMENWcVowb0NsQ2RXZENjMi9HSmNZK0w2UWR5ckpyMkFWcFVEUkRPSnZwRlc4QitDb2VhL1dIczE2ZVJ2V3VoQ1lLRU9iQW1ucS9iTWN6QnFKOXFuVS9DdHdobHFwQWhCTE93ZWIzT3ROZXJONmMyZVVHRStWcHAyaEJVU2tBTGxwYXpueVBNaFRXVnV6RVVKYWZMbjF5ZXhWMTFJSS9WaUQzbkpScHNQRUVIb09EWFNMR3REUFFEY0FxYUNRSW9UK0c3VDVpakp4NXc0cnpNYzVLcktlSk5XRWNKTGE4bzdwMEdJK01BN21aYmIxSkR3Y2FyK3lLMWxIaExDcG01Y2NOSWFtMVI2NzRSZ0xpQi9PUVNzbEV3TGxsbngyQVp1RGZ1NHp5a296ZFYzTktoUGtwSy95NVFSbFV6QWNNT3AvZXljYmRubmNXMXRpNk94SGEzV1JJeVdPMTU1MjRhSWpoWjRnSGI1aytweEE0QXRiRHQ5OE9Ycm1ZTHRPMTNMSUh0NWhEcmhRYlpSS0kzVmd4a0I1bWszM04vRysrVDVTQjFEYUhHbGtpVm5WZi9yM3UyN2Nhc2NGdFhacVJyVVFURUNyTjEzd0J1T2Zndzd3S0p5KzZiNEJESEFiZ2J5TzF6NlViZytKWTlCME9vTU1ic3lCMG4zNmF6OEF5WWxGNlI1MWNFWER4amlOVlh4VXEzZTdoMUlhTWw2OWV6dnlsdlRHUDJRRjE2LzI0bXlRYmJFNTA5VkQ0Yzg5QWVKU29WaTBjcmRqMHcwa1FOVmhGdTI3dFdnUTI3UllUKzBhRDZ6YnZZdlMwRVZEY2VVcmgyN1ZJb0FFN0NxL2dYbS9zaWJsSkQyVW5kS3A5UG85OHErVUZoL3pHRlBNb3NFa2FGTXNhSHk2aGFnYjBSU3c5dmxxSFlwTHIvRFVvQkNlcWdCWW5XK1BvL1YzZk9RVmE3b2NJbXV4RmJUOUpMczFrMmwwR0dMVFAxYmdlRDZoRGVWSCtyU2Vpa0ZoL2JrZm90RmEyOTlFNjloajZZeDIybFk5Z1cyU2tXMUJsbFZKUklObTFMSjl4Y2NCcVl1dFRkNWRsYUpqRTRLeUIxQjQ0L205QXFpdk5pMjFYeVVtaFh5a3JLL2p1REdWTTdOYkNmOFIwZmJ2QkRiT2N5blB5NXluRlJqT2RuaWh4Yy9YVUtYSDcvMFNVMHNkZEtKSGVwbCtLSUtjanJLM253NXFMVkpIM28zRzV0Q1FmLys4MCt0ZHU0YzZuU1Y4V1ZpOEJoSjJkRU12WE9qOHdaNjEvbDEveEpDOE9GQlpnT1VhbVE1UVpvVU9JK0FyNk9MdnVyd0tFaHgyS09ET2tZQ0lEWEpvNUJyNjhwb1pHRmtYYkVxNVo1VGwyWllYOG4xRWcrRDluRjdza2NVTXhsbGlwSm5zbHFxc3VMVUtoWmxPbUlOc0QrbGhKcEtDbTdUTll1WVE4QkQ4WWZhUjU0Y29mQzF5cnJOVGtPa1dEMXIvcFZXSGNsVFpCZ0RNYk9FOVJaUHU4aktCQ3g3MEhScXBOaXlZN3FTRzZvMEZEbENCOWZIZWpSUmdpK0QvSTR4Tk91UUw0S0kxRXA2MEpoNnNEMFpZWXdsbkFqUFhZcENXQmxQQUxhNU5vNnM0R24raW9FZC92elNwVjd5ZFpmbEZQMkpsczVBcDZpenVXTXhaVjQwa3pMbGg5SnFmMHJsaXI5NDk0aFZoSGErVFJrekx6SXFzL2Q4TnBGS3pQYjlkbzQxamRZRU55a0ZnQmdKelpVSHNHZUsvcWxZY2VEMmhuQWszZzliQ2RlMyszRUVTMW9RWVM2b3FEV09TblA3OGMzMmFhZWdtaXZMakRzcWg1NC9TT3VjNUJpbkFFaWF4NlFKNjhSaUowNlJKZkJVVXR5M1pIOWVVdUhRR2dVT1dVSG1DQXJERlpVWlpQMDN5aVRkYkRUZ0NTaVhMWTYrd3MwU1hGTXVYSDRSVnZnNDlMMzRaeTNCQnNTWENaVEtmalYxT3lMbHcybnNzWjFJQXIzOUxOR0YzbmIrKzFsTE9mOXFTUUgrbmxqQmFNdHBvaHFUa1dseEZXalB2SEo2bTdSU2JjSHZEa01aVEViUTh3RWQxbWx6UWpqL1ZHWmtGMTdhbmVlNGtySGowTW5zNngxbDBoSUxxSkNCWm96bkdONGR1YzQ1WVUvcmhweHgyMHdrUHJaYVBsOVRFKzlnUk8rUU1GbjRZRUVhVkcwZkVHbDVLWjc0STlkS281L0p4ZVBJSjU1MEhDYklldFRaak5OcU54TTJwUWx0RjBVaUZzTHZTZGFRWFBYTEF6SFVXU0lHVDBpVXhiZ1cxaWkvSWZmUWhNQ2tXVmpjN2dLdGdiTWc5aWFudUhCbU9xOFh6SHJWeC9vQlQ3WkMzcTIwMWczNFQ1MFpDbWg1TTBTdnVNT0NrM2Izam1MamV6VG1XRjU5SHdSMFBxRWZPMkZBcWNjZS9NZFpJT2R2OGxKSWpOM0VSdi94enVXRldOeXNwbzUrM0hCS2YwM1pwUVh0dHlONXhSdzRHTTVKNS8zZ2UrNTVGTzFTYm9TUDJDRDQ4Smh0Yy9aOUVRTVFTc3RMWDFpeWRFTWVHV0dmcFFwWHhJc3dab2lBNFQwOUxiVXRib01MeFJVZ21JRWJ2MHpqaFlJRDZTL2w1RUhJZGxLazlONzNUVk4ycFdFOEw1L05FY1F4a2lQNkp0TWlad3p1SHZtWS92dnR1WFZERFlrZzNyWkdFakMrVnh6ZjczZWdaU1BNMFh1YVk5SCtMQTlPR2FFSkgrY3Bma2lXeVpKSThlbzdQejVUS3luUXpIOVo0K0FxUjA5WXhQV2N1bDlIQ0xENE53TUpvemdudk9JRG5aeFI2Vk9HcHJXTXA3aFdPM2ZPb081eFFMbW1MM1ZaeFZTaWFxWHlXclRDNzJDOEthc2xYVFp4QVJnLyt1d3ZNTXZuV3N2MHdvOElNajFvOU9NSTZIYTArZzNORzBYejhSNTVQYnNwQXZ1aWpVUlBsc1l4Nm9vMU9OUDk1Smo0dTZKbkhUQ05wZHhxNzgwd1NMV0NzNzBEbmFnZCtONXpwN3MwL2hwS0g3Ynp2TmQrQStXbUJDcUR4TE1zaTd6SDlmaEVwM3ZBMStmTUNxU2FiNnRxRzNwSmNOOXZuN2Y4eE9xejNBT2NxL0NZZGNIbE5OY2Vmd3FxWktCUE10VjlEeWhWL1RoUmFzeHdGUm1oU3lObmovZ0JQWXJZbWEyUUxxeEVFOUV3MENYY2ZEaXd4THV4ZHZvU3NLU3lYdW5ucUVyQ0x1cE1jem5XdU5FcW5pcjR3QWtIdHNhcGl5bERYTTBBMnNYTXlaeERXYzgxbUhqS0p5ZCtPU0c1QnhZQkczTDh0TXlyVlcwVHBkYmc3TkpCWGFSZnNES3JBQy9zVkZNVzFsQXRmcTlOWENaaGdUamxkY1lEOFpVMUhPRm14VWdvb2gzVmF3TmJ3bHhBbE1wNEszSUh0NGRuOFlmeUlPd2ZabGdnN2J1Y1BVKzVYeE9EMVJadDVBekk0UHdjWjFCSk1yMjRiWXJlcHFhbHZjTVVzWGt0MUp4VHBHYjhUYWh5eUh2MTQzSFJhVnlJczB1N1owZDdLd2lFazltcllQWUZIakNUM3FCTW56dHMycEtMZHE1VDlpMDFHTHFOQUFMUmxCSTlxRnV6NndjODQyMFlKQm14SkFrRDBqVWs0K2grQUV4bUpxYWs1czV3ejRBNm9kZUozZVNMT0tZUjNuRG1USmNlZ0M5elRtOXJWUThSZzZ3MExtb0hxTTFjNTlLcDRYNUx3aWJ5eW8xVk9kdHBYdmJyQ2lwL1BoaWRhSmNkVmFRQStwSHBFMHVMNFhKZHhVK2xJNGtFUUtTb0ZrVnp6SEN5c283Sk41L1JDb0UrSjczSHlEejZnNFRTdjdNMEl1RVFQRllVMXAwREE5M0NYTjhQUHNtWXUzYTFVSmdQdXozc0ZNR3VpNXdyMVJreXIray9Oa0ZlSnJEaGdzUVQxaHMrbTdkclpFNjdveUtaL3RWMEg4eDRBT2JTdkVuZytYNi9pc1huOURsUzg3QVQ3dW1XTTFLY21CcS9aT25MTGRBZWQ0TUcwQW1PSllmWXR3VGgvcHdmN1hjdEhzMVBGM25HWXRxS3VnRGJCVmVPZXVTamlzZXNzWjFIc2NWNldVK3loWFVNcW5TV3Q3d3JhNG9OSENxeS9wbnFzbkg3T3lNOVdEdElxWGJ5THpnTWREU3Z2cWVKK0QwdEUwZms4OU45QzRYdkh6U05xaUwySXd3QXZHT295eGRRVUMyUWZ5R1YyczE4TFk2SmszVUxFZ3p2ZEI5d0hBUnhFY0RlWlRHMEszVXNuNm55bUV0Y2Q2aER1alB5K0ltNVVuYm5KbjBvMkg4Z2VndjhHTmxhVzRwOGFiZ08zcmJmRFFPS0dzTGhNQjVlWGtPcStWV0FUVU1Za1duSEswbEd3eGdMSXNCejZGSHJmZHBORHIxZG1ZZnA4ZmFYekc0YXc5WFduYlpscTVFcWhZME4yK1h0c1k2Y0tnck9DQSszWFFNNHM2ckNTWHB4ZmlvYy9YODFjbDlEQnZPVEswQklKVnZ5czR4TVUxNDExcmlTNEZNNHVEZE52VWZna2dPRkZMOUFRd1JMUVY1eHJuTzdQZ3NHeW4vZ2JaQ1BRekh2MWViWWlFMWQyRW1ic3Q4Rm03U3laMGhpd1BrZ3VCWkxnNGNwcXlNbjQrbWI4OTBXSGhMRUFvbGpVd1FoRFpVTm1Wbnl5QVp6L1hublJuK0RyTVAxV1B5SGxuQmYvSnh6b2NVWWFPMmFEZWJ3dml0QzROSktrVytWdUE3Wnl5MDd5NVUyUXA4a1ZxeUdnWnlYc0xVWGtJcUdGdlZGekhHU2pncXlUUktVdzZLS1g3SUdkSTVLRUhNbHgyY3ZOcHNVSTBhSDB4dVZrRHhzd1ZzektlRGFING9IcHNKRzB1ZDFNa3duWmZ6S2xKUXI0MlZYUExGWURhbjFhU2tKZVNpMmxQYUhWVldCcW5jMGdkeU9PRi9oZCtONjFEaTlCWHlIV1REWThEYU0xRkVvaDY0cU1ZZXF5ZTVZd0xGUEV5ejlqeGVEaVlMMHJlNHRJUlpzemlyaDZpWVJNbm9TQUROTEVWTU9WVUwvUnNoV0ptcHRuaTYzOGdGUnpCaUxTckJSRXkxMmoyQ0k0czVMRWgzMnVDcXMwbU1FYkplOUlTTDRDNXFxeFdOM08vLzlrRjNhN1RsdmhSaUJjVWh1MmVYUmlqMjZ3M3lnQTBkQllscWxNTjA5MXVrRS9FR0RBZDF0NGpyRnZWV3d2dHFRZ0ZJdlM0dHQ3aVYvSUhSTFBRNXBPYUtDMXAxMzljWXcwOCtLZTZMSWJ4aHc4bmIzalR2bE5nZjVLYjJhSkZqQVMwbXhDZk85bkxIbGl6ZitRazJIVXczcExBanN6Rk9zNjQ2d0FSaGd2ekdGR2E0VzlsS2RXOU9mV2JIL2ppekx3d0ZLeDVtYnI3cXJNRmIxTkZoNUN1eDc3NTNReUptSGZmdktSNDNEdnlRK0hibkNpM1BpaGwydUlabUxPalBEUG1aTzlDWnNsRWVjU1ZYV1BRRXJSZ05UYkxwYU9KcW5nZ0pJaVFDeTRpZW5Nb1AvV1BVWUVpMGo5RUhyQWcxVGxFT2ZnMEJNRkgrM3FDNDI0OEhYNUthS052b2JvemhPR1FnL0R6amF4eVF1bUJNZkVuL3FPNGIxK084RFlKTUFGam1XVmx4L2hJMjhLSGJ4TmhUcmRKcFo4MkltK3Y2QWFjMmcxZUZsM0IyR3JxWTFBdnN0UmpQa0d0UWRSK0lIMThnckk2UHFTUEVzTzAvdXFhNW5yVk05eWhMckdqVFBrZ05obkwrbSt2TVExNzhvc2lJbXZQQUNXS0NFTEg2dUZCMnFWQ3drcC83MGlDbnFtUHVYYnhEZ3V1MVpDQlNUd2c5VEZQVUExVEFRU25hZ2x0aHI0WnZzWUhtZld0amFpaks4bDdpbjRUSHZlMzFnUDhGQThkblZwdnA4RnhLZDNQSmlMZFRrcnJqUXJjWkpXQ05zOTZLTml6UkJ2d1hJdVFWVDVoSHR5aThocVZXL3lKeHNUSWthbWM4Zm5aWmowZng3NkhDVW9JYXRUNm9idkE2b3RadUE0QW9lU0g4WXdSeW81M05ZN0ZyMWl5c0FsTFB1cGptcXVJQ2Z2MGZtTklWRFVFdUxrUHlqbmZHOHZFbEJkdGdPc0Q2cjlKbm1FVHoycWpLd25JMXJWWklBbUtXekxwR0ROVDl3a0diKzh5Zks1VGFYS2ZOS3RHdkEvbmViS3VtQzErY0RCYkZ1SlpvSERKQ3dZemwxbmtiRm1pY3N6dVZuTklJQTNQVk1mYk5xNGw0KzFZSldPZjIvRGpoY1paWk1UNkpNQWhLSTJKT1BiaEwxcEt2SEVwaTlsQndxSFdiLzRxUUZNOEd3RmEybGNnbHZNZlV4SHJDMWZSTUZrZkpKQTBtRFlqUW1URUF6NkFnZGt1aWs2Y1puekJhMmp3eVlXZjc1aVlabCtlc240cHloVE9weEg0K2pwV25iUUpLWGFMWTY1YncvRk5naHlPR3lVbnBYWjZKc0dGME9oekoxQzA4TWZJeGR0OGJHQXhydVUxWDQvekVqdmlIVnhuQzMvUG8zcFgrVGNoeEtRaVpMR3hDenRVMCtBaDZINjNxNTFZbWF1M3ZLUHRpenhuTXlBZmprT3JUd1NXenk0MDJPKzF2Wm41RTJLNk55MTduR3B5NGx6bkhhRjJkNzAxSlhKeXJJM09wWHNvcHMwemlMbG5Ub1hTNzdBc0pTMXVvNmJTaVFmQmFEVjVmeTNYOVNzM1FFSmtveHptSk9IQXJuR3JjWjJjZytnclFqc3hnaVovOFpMNjRoK3ROZUVzR2d5TFNldTlqU2pYMm5qTjRVOHpnVmNXdnQ1VVlNTGR3ZHprbzhpRDVIT2pRVWlsdzlxSDYvNUFRTVZTVzI3QzJDMy80Q3FmaDYyZXF0T1pEY3hWa0FncytnZ2hMaFBaZzc1cGdLcjNWTTBkaFRoUzIvSHpGMW9iSjIxMDVmS2NEYWEvK2RyelZxSW00c0czTC83MGc5RzdheEVKUEdjSjY2b05uNFFXaGoyQUt4djh5Ri9OM2NCYm8xV2YxZ0J5NjAxOWZFcUFRWmN0WnpVNXArT3JCekUzKzNMNDl4UFEybkUzLzgyczhuRzgxSWxPaU53UUU1OGpxS3l6Qk1TL3ZBN1ZiUE42bGRDdWd6aThQdG1QSkZ6c0Q1U2FQZXRVUHRuR3dUV0dVajhGNnJVOWdWVVY2VmpxMFNOaHk5RGtyRG1oNEZQRGRoZXZ2KzVjMnJselJFNUp3V2lOVENHdFF6VStpWnpSU3EycjM0TlR1TFBvOTlRck9nV3pyUTFnNExWTlJqRHVCZ1ZRYW9JTGN6U3d2RFpOUlhBWWx4VTNOczljY2VFellONFJZL2txc01DZTgvbGNwWlhCSktrT0ZlL2U0WURRWHhKVEI5dHVQTkJsYXpzMWlCRnk0VkVxbHN5M0Fzc3VIZU96Y2VybXRyRXRORFNXUTFNTkV0K1RpT0RGYmhrckRmLzFoRFJMcERlR21xSWtyZEdSdElHYXVKdzZBWGdvN0JIZGMwMnFoRWc3aW84ci9KS2htYXN1WlBNU2c4WDFGNWhCeVZhYnE1eHBEVnhMSklHaFFaMXN2VEtUdmg3ZTBKZGNpQXRkdENSK0Y2NytyakNZNEF1ejh0V094bTg1ODhCdFRCR1RQSmkyVnZZWDM2QlhQS0xJSStpYUlHQVUrOGdYSitlVSt6cmd5bDRUWVhUUi9PQ01wREl6TVFyZTBYeVhFaWxLUnIxOXJzSS9Jd1hSS2U4ZTlVc3lFekFPNDh0NGdISkdBVUl2WDZpNWNQTFAzeVZ6QmFDWVo2c1JGbWFUVWpZYkl1cHAzWGRhSWJBU2JVNDQyckNPaGhWWTFCektTSE0xa3hBTVBCNWlMSWIxM01mK0NYb0phS2xNVTNQZzhDRnNNWHdlK1YxQm11MUtUYzhkYlZ4cGhOazhyM0g3Zjc5RXpub2xqMG5Id0NUSUR3eHZmNHE4UDNTSTNuZjdzSEMwL1RmZ2ttYWtLNEFVNmlKaitPL1RrNytOL3A4N0FPL2pDNWltb1pINEx6MHc3ZE1MWktUVmtVVGhMZUgyRlo2VHI2MTA5UUs4QjV6TVB2Ymx6dDlCTEg2YlE5RUI1MUVsb1REaC92UWVqa2RPV3JlOWFoc1FVRFlqMHYyaGN4MlJkYmMzOE5qUk50T3dSVGpKcUpKVmYrSm1DQ0NUTHFRZDgzRXY5UVVTS05GRmo1SVQ0S3VkR0NuR0dWNlVuQjlkc29WY3FqVVFUMTVacDVYWVhjQWp3T2hqMW1CVyszbXM4aTIxekVXb0U1UElFWkpqMitBQ2VMMzFBTHpmaUt3SThPOFFDdldHdHJqQnc4ZXpzVDBwc0xYV3VuQzVnNFlmTlpyNVJuYnR5V1dPWVY3WSs3elljSjhldHY2QlFqVytZOGNtY3RtSGw4dmQ3UWJoMTMrZ0gyWnlJamJMd0RwQnowQlJ4K2JDeHM0akNsMi8zVGNrMEJ6NjJ6YjhlcTRUM1QwNFJURlYyTFo1MWE2SmVaYU1DOEFzNk1xQWZLaHVyMHMxdDlKNEpDdmpvVWVtdStXbGlFaktXTFFDNjlScUp5MjJtRkhPbEJ4SVg1aXRzNjlscEVNYjRMZTZQNnNYVm1xcS9XVzVLY3h5SzBVV1NOLzhIR1RvS3hQT3FRd3VnVVdPVExsRm9ZMHF1SmRaUmRSYjdSM1NzdXZqRGpicVBMWmJJektVMm5YUDhBS0YvRmVGU29wQStxSnJYVWNwWHJVOXRsMmFxUlRvMDVPcmV0eU9VYW1JREFNY3ZZSG1PT2kxVElBVHpFUzlOdGE3dDA2N3RyaVg2T2VxWEVXNmJIZmxJSzg2cU9QZ3Y0S2I1aUdBYkY4bzZvYU5GL0pDVzVNWjB0eWlqTmZIU1VYcTlRU2FuRTN3ckljLzRFdURjSi93OU4xSFV0dE1POE5ON0VvdWtxekN5YVB1dzU3YVIzSGlkYm1Fck5ObThkMkdzQ3ZCTmJKQ2QrYTlGTTZTNWMvTnh2cUJTWm1DSW5GNjhXSXVEaXZ1ZUlwbnNJV2FNSjJZOFJXaWVLc0hUd05nTXpvL1I5OHZwWUFBdjA3Y3JrVXJHYUY5VUtLRFBzNHRRUWNqV1RuYmlWSXZNUHFnczEyUUVDUGRzbmVua25yRFE1ckJLY3oxWlp4TmVlUHJnKzZFMEVRYk5GcWp2WWxzdTg2R0toT2tTSWhuWDVMMVZoQ1B6Q3doOHRrMzBINno0NGhjYU5DVjhPaXpOTmhVMlZ3TEMvYWhCdFl4UFU5aEMwbXU0cmd1QkVmYWViZWVMSVE0WGhQdDhNVVVmTmFqcm45Yk81UStYYVFiWDFFelcweWdLSTJVODlXSUc3VkZXOWpid015RWZOQXpVK0NLaHJwOC95VkhqU0E2WnVIbG81elhxcmJXejFFb1BXc1hINkVaSmMwV0h4VHhaQk5tUlIxVE5QSG1oLzYvc3EvOVBBY2F6QWU2ZXlrdTllWGpkem11OVc1amRXMTUrR0pWOGZvNFRLRlp4elRsUUR4d1doWjlhZnJ6SFdjeThiM1RFWnNXdnR1UWU0M2c3Rzl6TU9zQzhZUEE2TGE4cm4xdWpuNitDQ1J3ZUlZVUd4VFZLUzI1MkRlUm9LVCt2Q0h1YmxrYllYb1BrQ1Q2Sk9EZkYxblFqODJVcDB1TkljemFBeTNVZk9FRXgydW9wQ2V0M1VoS2ZTaHlRSXkyUm1NclFCOS9Xd2JqTGxBUm5tRzR3ZUF6RktLa2JnMldjR0hoMGFBNkY5dTRTNm5tcmhJZzBDc1hJZWd5VXJSMFRRTWsrejhKb2pDN2NsTHdXczVtcGl0ZWRBc0NSR3krOG5VS09xUEdkVnFuTXovQm80YU1rbTN5SGc5OHRxaVgxOVlvMWhsVy9CMTJ2WGROYnVGMEdNUGpjUE9oL0dQcmpmZXNNaVA1T1U4VTZqS01nVmxENWxXd2FQcVc0ZUdkR1BVb1NJdEhTcTczei9ZckcrbHJ0Um40ZzVMZ24zVVlleXBGNjJkcWZvMEsxY2FjV3VhYk1qVTVqWnN3UDRtZ0FPMjRFU003MTBoMG11cTh1T1pROWZnT2NoOWg4eC9QVjFmRnBNMzhURHU3RSsvMmFqNUx3WjV1YUplK2EyT3pKTUkyaTY4L3NpQnJoN2tvMS9LdTZmaVlVTW9wME1uRmIyeVZNNXM5MXpIaGpnbmFNb2RBb2RvU05kcGt5RENDSEVLZXNPeEw4TURnK1BMLy93cnRVamhGRFZJYTZWVEpOaGhLWUxqR21PQnk2a2RjY0luazR6em52dTR5ZEdUdzJ3M2RLTGg2czFSY1hFT0U2d1ZtYVdRNlNuM2JWRnI3UUNacnVNT21VYmx5d2phYkh0a1ZVaGpVRVYvUTJHL0dZZERXejl5VWtxajU0ZGdsTFFwTmFZeXZuaFZ4NG5pZFBIMmp6eEhhOUt5N2tzREp0eWhkN0dmYUxoNUluTE1YdjhPTUVHWFJBVnI2azdxSWQ0RU91RGZ5dTJHOHk1YlE5UGo2bmR2MnIvSmJwWXBUMWEzblQ4NmNXUkNyTXd6cXR5Qi9aYVZPYkRxaS84SUpkSFNpODU5a0dDakxSSk1WK1JXeFpkV0RvUTN6MFkzS0d4Ym9KZEsyYy9tYXhleTFCTHQ5bzVZMzZtd0krWUU2bkZTRVlBTmZZMlZPYmltRnRmNCtiUTlBRGo3YjBGWnA5b3grS1NtZ051andLbDBwbkJiZGR3YWNlcDlVcTJ2NjY5Zk1lcG9IaG9NZWMwdkxFbjdNTE56OWpEc05QQU5TQWpZS1BVekkwUWN4dFFER1hGOEFQbGZkb2dCaUJTNnhTOTZWc2tQMTBOVUtKQ0NPT3lCSUJqanBKTmRIZGZ1SVdRM05abkJWN3ZYam1kanh1ZUpJd25pWEZCbTl6UzMrb0lVM3RxR21adWFYMlRkaUpPeUtzTFpZbUV2WHkyTjhCLzJCTFhJRW1sM3hudjlMZGFuKzlGV0JKMnRhRWlWbHRiZ1hncngva0FXemxMbnFONUpYbkV1SGo4ZHRsRnRkTkdaWjlZekI3SjQ0ZkNlV2h4OTNjSUdOV3NabzRUT1FrNnF5dk4rWWJjdE9keEhXdjdqemVoWlNJdTZZSm01Y25xcks4T0Z2Wm9LNS9iWDJJOXJPSHdBQlZGT3NONlFiVDdqMDNONlhwNnhIUER0R2YxdTduVVc5eS9XYnVpRGdSQ2M5b25sYVkvZ01ZVG5OdllRQS92QmJidUlqRGtPa0dBaXpvYUJIdVFOSFpkekdxRlYwamZGMngwUXpsNE5QaWhIdVM3U0tvRU1sM2dRWVZET2VIcGtVQmtwbThjODlIbFBYNVVZek9xY1dTZHRrN1JGam1oN2lIQU12YzRYMnBJTVB2NEhkaHVHSm9oRTlWNHQ1U2tHRFhZRkNBSFZIMTdmMkFabFd1WDVWb2NhOElMSTlBWnpMZmdMUE1mOVkyMWhOVkhyMHZIbUc2cUdaNGdwNjRjck1nR2F1MzBEdWdPRjRZRlhjbi9aZHJpUWtBQk1XSllPR3VGTUliZkpUWU1IRFVWK3h5cGdBSWJwN3pDYmVYWVZsNW4yUXR6ZE4wek82Zys3VWsvZjlydFBYdTZSNmttMUpESk54Z2JOUHBkRVhEdXM3dUhLcU0yNFR5NTNqbGFhdUl0eCs0WFZsQk1UekhoSml0M1NDenpIazZPenVySXNzTGg2U0NjZXpRZDVObE56bVJtaDh5L1UrY25YQ2krOVlKVy8vbnlnRWx3b3Zmc2ZRRGM1SVZrSjBIV2x6YThaQ2hYcnV1MGxybHJxMU9lT3NSRjBhK3RQSkdLb0lWMlBKd0FpL2NQdVNzN1Evd2lkMTVuSHRxdzlZb09VWW92NGFBbkRheUFHWlJFbEgrRXZDQ3ZmMGpGYTZFdVE4MnpBbDU2WDNZRW16MmFLL01VOUJJdFNhZmxkZTl5Q281QzVmOTF1VWVUd0wwMWhNY0JPdkZRZ0dBcWx0RnorcEZxbXZDdkwrUC9WZEthOStKSFV1a0hPOC9ZbTg2K2daV3ZYRnhvaEliQTJYcDYzNUNyNW93QkRzYjdad1EzMDRHd3RHS0hRc3RVUU1mc3F1cEdzb3ErZ3IybTlnQ3RGWEc5VWpVRDJmNXNyRENGV295V1lXRUpRVU5oRXF4TXVNeXNnOGJOZHY1dmZmKzRRb3NzRU80RjhaazhrZTMxQTFVL00wcXhoUlFhTHVoU0hONWduWGNiczJIamlSK0R6akZNZFlYbXZZTStHMjdjaTNQNldzY3cwN0V4REpQZ2s2Z0dkaWdUWEc4WVdYRVU0dDlnZ1F2NmczQU9oV3ByckRHZjFPNmk3ekcrY1F5eWp1MnlrTHJtQ0lqdUY5aC95cU9NbE9NRnJXNXd6K3g0WnpIWGxoVks0NENvR3kxRXpObExSN1lNdFZ4dm9rOW1Yd0xoL0pCVkhRQUtjU0RkVFlDQWx3T0hFUlNBbURySzY3bjRJbml0TWR4cUtoWDVrVnlpRGhjK1pFWG0xR3NkMkhZbXdvbDQvcTh4ek41aEUvUmJmSVl2QUtCaERZN1JMZVVEdXNWUS9XemJtWDh6Q2JjemNlZ1Q3c3lGUkVKUUhpNTFHd3VYUEJsaVYxSFNuOFhMSVdCOUF4dUpRUkt6N2Q1cHFhSEMvTGs5S3g5UFgrZG96eGpRWjU5cXhQb0wxa1ZZc05Ed084Z0IvVy90ZUVERDJlcnpkQmVYamx6eVd5Rjc3Yk5scUovZHFRQmFQQ3EvcVg5VUdOc1U3RzJqeGdHVVJ4SjhTZWQvVW5hb0pQb2srOStpUzBHRCs3ejEzU0xxSU5qdmdqVTg5ZUpuSkhMU0RibDF3NGxBU2N6dWFRdzRrQW5STXJRR1FOenFDbGdXaWdMSjQ3SkFnY3ZwM1JaQXNRY3NubmlWRCtobDMvdkFRQlFCeVgwMjR6S3hGdUxDdE9qTFBsRTdFQytONWt2R2tNTUNTcnZFTVZ3Z2Z2UW1hNDVkcVdDRHk2b2N3UWNMblAyZE9kWjV5bnVRSmFzM0J4TS9ESW1tMjBHVHlWaEw1L1dWYk1QMG5FVTRSY1dlYmQ1VDIyc3NLeGVtNGNNNUVzdnhIRUptWnlpc2Q3OE1pR3hDZDZDK0VJUW1UcUJNTWxqZUY0dzErdWs4ejV3MVp0ZG9TNGVvZ3dQdXdtKzV3Zm1qajZ6ZlV5YVk0MG0xck15SGVDS2ppMTZqYUF0TlI3TU1QUjhjczNtdmdud3o1KzM2QjRCQVpUVHhuN25kRGNqamhGVEU5VE1yRlRDQzRURjY4NHcxdGVpZlJNNEtYM0pMaStVdU1jazlITkp1cjJWN21jc3pjNmdiUFZROW9laFM5ZE5wOFhxRjBCam13cVlITnN5ZnBlU1hxRWg2VHNOeFFHUkM1TW96R0tyWTBhQXJYZU9JUnhxdGxwemFSNFg0M2RZb2lJT0tXTHQ1OXc1SlNnT0F4WUVtRTZTSStSZ213N2paR2didlRESVFWYWFVcHJ1TDEvNklRRnB3OHY0R3hPWGZmcDVvODUxR3hESnJ0amxBdkFuN1BBQ3NqOU5ySFFQT2YwV2VBa1BPT0UzOURyRjBGVU5qTnJSZUxnVTY1Nmd6Y0FGZGYrbmJvVFdXMEtKY2gwazBvOUEvanQ5Zms5YlI3YTN0NVJpM2FqM2t6MmY3a3l1ek5Cakp3ZW5SZEVhNm9wTUh2UStOS1FOTUoxZTNBOEovWURiRmxzQVlHS2NBaXVjOTFXMFV0elFyWVppK2NJL29VaU1oTVVldnhaVE1zWjdwcTkyUWx2T2pLdC91QzhMUmtPSFhZS0VHV0JTYy81OUtZaXh2dkdzTzFlblV4bU5vbTAzQ2Q5Q0lXRWtob0laZlkwU0tkcHNLMEE4US85a2lQWWYycTV5a2RKOWQ3NC9wb24wcVRTTlo0cHp4cDRwcXZHMW5OSkVLaHcveGNIajJIa2hmNE5TS0JuRXJFU25aYzBzNnJyTW9ZTFdKNksxeEU1TGNLb3lpci9kUzFqeEFZeXpXWHlCS3kwUGtzdTdZUHhpK08rV3NrcVo5L3JGSGcrdXhWNVlVZHd5ZDdSdWRhNWhvQmZDOXdWcU52a3BsQSs1SjRrTTJZY1p0MS93VnRnL3Nnb0g3b0lmQ0p3RFh4WWVvL1VvNFVLTk5vTzJnZ0RDS3RjS3FNUkNOaVVCTUdWMkRSNGIwNlh4ZWxsSXhXSE45aXlzZHBqcTZZUElHTWxRQnRjWTF0QkJTTjN5ZzZlK1ZYakZDS2RyT0MxNUNKdVVnMEs4cEJPbzlVZkQvUkVLWWxpYks3N2UrT3AzOVZIQjVPdDR6K3RQRnJWSVdqeUhHWUp1Tjk3c2V2TE9kcGVKUHZacXl5amNpN212VVB6bzVxSHdvRFFLcDRTZzI3UVlJdVptbVhNMnlkUGppOERCd2dEZElwZTZINlVTQ3pNNVJCMVlvNHQvMzNKY0RISFJlOXJVaE10eTVIQS9WY1FjLzRQSlpJYTdtbnBxTThvTmROaUJja2crc2hvNkx5SjU4WlpJNXR6SC9LV1l5K3B6YS9rOXRBMWRWdVJyL0VFQWlLWVRZQllJNHY0bUh6SjcxRE5BbWJSRjJybFpidWY1eTBRaHdrYlpGYkhSeDNFRDV5cWhwUGRoVjl0dWNrZEdLWjhIYXJEWDNIZ3hGdzlHU05sSHJWeUlzbTJUbDVwTno2djZENk9hV0hhYVgvWitQRTlVRzFJY2QrSUZCK0praEtpS3dSUmtnT3N3Qi9PK3EzZVBCcXQ3WU52dndXVjRwbXM0Um12eXZLQ1hjUDhORVl5ekdNRi9HWUlDUjdSamhHeG1WdmdsK2xXTnNzcG1sT0VjNnpCdG00UW84MHBSbGtJRjR5Qi9NNUF5QXppcktabW5hV3VadThZa0U3bGlPejRjY1N4MUpTR0p4NnFXUTV3cm9PQ2RHSkdqeHpZWTFtVHBPTWpFL3RKMmhkYzQ5NlltU1o3L08wQjlPdDU2Sk5OMkcyb3VkMXZhcmRkeUhwdHBUNXdGQWRFTnYvTHhmaHprRW16eEJGR2FqdFVIVHRLSzBhY2pFdXlvUWVCa08va2c3L2x3bHBZaTVkZnBBUXJRWk1BWFdPMlFTbHdiSEg3bXBGc2pjMWN3V0FVcnZhWkJGditFQm5uYmNtdER4SkxKY2VFMUFxMnI3cDlpZ0VrSUpyNHBVYlAyT0F3MWdlU1dFK25JS2ZqeGRzMzBaN1pXeG5qMVMrc2p6TlZ6Y3d3OFFGZ1ZXQWlhMXQ3b2p6bHZ2NzFsVlE0YU82d0czaUhlaEZuUjMrc3IxZEVBcDJaSTV2OERsYnhaSi9ZMUtob29NMFZFVG13cHBGQXBkajY4M2ZSN3ByT3FJVnF1b1RXcFFlTzJ0aXVLT0ozSndCMXdaOEZnc0s5UUJBNkoxUGZ2TXQvajU5ZEFoQndweXcyaGpucllNWTY1RDBlY2J2Ym16QklhVmRxc1Z2NFlXVTBKUDlsUHc4dDdQT2xDZkJ2enlVWEdORGJTTllxM0ZSejVxbCtEMTN1T2plSEZFZzdSeWREaSszeC9VMWMyZ3IxaU1udThQeEdpbEFHK0doUFQ0MDl6T1Y1NC9LSGpCRlp1V0QyVTlVcXo5SlA3cERUUThkTFpvUkIyeWR6REFEYWxHanRRRHhUU2c5dCtnV29abG9sSnhrUjFtY0NNOThMVWQrbW40U3hkNjRjUWdBVlpwQXF1b3pDQmFNUHhIRnRMNm9mSDdXbkpxcC8wY09LVENvYTcvblVzS1BPUm5GRWkzVmgvbExudWxyT0xKWGkwUENGMzlIZTZYUmFQdlJEVTlDN2NGbzM0cVlwWlJpNThxd0oyT05nQ0pESnYrTWpEMkpZNERuTFdHR0VWR2pha2Y1VGtKaEhPT01ueHNYQ1hLQU1HTTEwcVFkNHUyc3Zpbnp1M1gwL1Vzb2xrZUtBcUpHdXNFTmhzNnpCcDJsd1VqUXo0a2F2L0piWWJ4MkY4QkpXd0Fqcnh5U0o2RnBpM3JNa2hyeXdUNDFKdG5tRm1uSWdSZlp3WmNqT3paYzVSdlZ0YTBjRlVJMXdHMFFtbFNXZGpTNHdWTTg3cHFSQUdFODdGYVJWNHVwSnVUQXEyMmpEaHMrS1FuWmlFbWRqL1picmcvVG1Ld2hSdk5Tb3VTODQzdUZwRTdMTkJxZDVxeUtMQ1BTYXRWcGhUMy9kQVhWT01xV2tyVmZnbHRkMWI2c0FtS2dJcmxXS0ZJM3hLeFB5YXJsQ2hneVRuZFYwS3g4Tmp2bVl5VUsyQkxyMVgzampxb1dMYkUzb0NHRXR3TUxpRzFsNTNTTzB6UXVKWTQ3ODZ0QUxIekY4SXlBU1lqdUYzcW9xMjU4eWJYWVgwdk05dVV4U1VWU1hUVElBMko1enFIRE9lU0k2am42Y2xuYmdQUVU4U2oxNkFJYjN0SkRpbTN6TXdlTm9XaXZ2QklYcC82dE5YK0VXQnFXd1ovaVlBN3RCeE1uM0lEMzFSSlBUSm1vVERScTlhZWtBKzZxSWVTVlBWaFFSb2tqRWdsY3QwYmp5QWE2VFVGRTFrUERIR1hYWDUyaXlRaFNuNkFmTjVtajJKd3dLbUlaQkpnMWtXcnh3WTYwRC9oUmJjeGMrRWpoZkJNUnI1ZWZUbUFtakpiaEY0MmtFaFQ1VTYxRG9MaUVxcmM4eVpxczV2QVR6UWt0UDdYNkVZVGtKdFNuVXlvSVV5aEJtZk01elFXNEJoYWEyajh3bjRHTHZreFdjVzBsRlRieElWL0Y3MXRTZmg4aDhMVkc1YU9mRmg2Y0lHdUJDcTFCZmtrUk0xRFNUOVZyRGNHS3kvU1JsWW9MaVh1MlczdnZsanRjdWhoMXQ1My8ySnVzQlRwQ1ZnK2IwTTFxdVdIMTR4amNPQnQwdE0rOHhsSHhPZWtFK0dwN0NCa3hMYWdJNTZMNDNCN2o3ZkNMYi8zVlMvTVltN1N3WjBPcm5ZSFM1RFdhQzFoU1dra3E0cGNLSXlrTjhDZDdUL0FSQ1Q2dG5JMnJBbXk0Um9jcHlxYnJUWGdibDBnR1psczJ2WEFPVTdLbWI1OHE2enJ5Q25DWmdVbDkxbTJWMXVWK2tibElvbnhmek5COXU4cUNuOWRLSldJQzBCemNOQnZBaDBIYjBrQVR1S0xqTVFuZlR6bkZxOUg0MjdpeHgzcXJiWUpOOWJXUFFQanE2OU5GVy90bEVFVzhXbzVTZVBkTzlCWVB2RlVGWFFiaXVpSDE4ZmlRYUJGaU5FRDl1WDZuNi9Ed0RvWmxmS1V3Y3k3ejl6YUhGWDV1clVpT3g4d3NOTWUvRXVZbEpLc3NmV1lNK3VBUXlPR0RwWFpJUUhOQmVaVGxqS1hna0FReXNJU0t0K1JRSTNiOUxGRWxnYTQ5NFJDa3NqMGpuanJnWDNMeWdmSFF0aCtkUUJhaVdhN0p6SU0xVVZsOEpiODYrSWovdC9FZzRFWlg3bWEzQUJNTDdPZjRkRW5HS1oxTStLWEEwMHZTNVFZVW9SVG9LTWh6ZmNIOFR4NjVRdzlvOVYyQzk2V204WTlYdTA1dS9HMmxMNGVvcmZJaldmR1REZTk5dVdha1loMTBuVXBvTU5RK0NZVy92WjIvclhjRDNYMXd3Q3N3K3V2TFJhY3hVK0E3c2ZYWlVXd0szR0J1M0lnN2hWdGVBMk0yRlJwNkpGQ0lXTW9HZWNNdlpIYm5VU2lJRjJLb1c4OUcxbllTRzU0SWk1aWJMb2RUeGdCS0JPVm1mQk1Gd2NOdmFaRDBzT0dNbGpCcXpiYnI2QlBLL2cxVE1qNis0TnFFZlRNV00velMrRUttK3BmUzNiaGVWaHdzc0xSdUxSa0lRUHcyYjhZMy9aanlWc25vOUU0ZlFZM05RMC84QXpiZ0dLTkxGdGVTM2lON3hJV1FZQ0J5dXhaWmIvMHFONXdlSWR1alhhUGtmUjI2ODNId3lWSWh4TjM4SHlvNVpmaGp2MlphT2UrSVdha1ZZcGtOd2I0K0Y0Ni9pWEdGUHFDRTVVb2tmbGUxN0JtTVlLdXNkTHQvaDdkNkR3ak1TSVpHWmtLRFIxMFR0YllmVHNmWFM1dllVNk9RdGtXOEtpbmFtZVAxRS95S2hrSC94UWJQMVh1NmZmMnZXQlhzcHdZQ1hIdGpuU2ZYQjFycm5TTFcrKzBGTFJob3hDWkVkSHIwc08ySVdjaHJiUDgvbndsY3pqQjIzMzMwUmFwTTRCdnprTHMwRHZIMkVsSFVuSldQeTBDNnV3QSttcDV2a0ZEQmQ5SGpoYXZaRFVFMVpobGZlaEE5ek9WamZqUkI1ZUtUTnQ2UmtkUlJJWWM3TG92aWxKdlluejBXaWNvTXdoQ2Yza3ZFNUhZK1FGRmsrd3hnY2VReGxXRGtiVGpGVjJLbkpSTlFjRXFlRUlHcW4yLzFLbkVtRy9IbThtbnNLRFVWRXluRFcvWVhEY2RDZHJEOGxGRnpHdVhXOUFPRzBrS01EdTBiQUFuQ2gzYnNMdTFnbDBtQjB6UFlVRmIwc05Wc3BXdDlPQUc5TGZKdTQ1SjJHbDFWcFMvSFhNYkJ3azVmb0N4SDk3RHpaeFE5TXhrNThBSXZIa0hOQlFlOWVFbUdmVkdJdmtnUEwzaWFqVGFNay9TQW1DTkhYalRxZ21YbmtZdDFIb3RnUHlGK3h0M0lkam5MN1dTRVBZN295S2hZUk9EalF6WHhMSFR5amRKbUQxbmRPSnlwUkhud0Z0Zm5nRVVGdVhSZTNNTWxZNlpmcUduSE90SlRVZW50V1BTL0QzbDZuQUl0SnNXbDYzZHV3cnVXZW1kaFJFK0s3T1ZOUjhVWHM3enFIZE9TQXdLeW01Rk9HZmZaVHJWc2lKMUdSN2paZk9XcnJiTGQ4L1d5MDJkWkp1dzlhRlJGOTd0Vi9lQVJnalJrWUtQY2VoZW1iZEdkVm05TWt4K0VoVnhoZUdibjIxMzdac2tyT0RFR0RQZVZtZEVmWVRDcm1kL0R2RXpBVHJxVHJYZEVZUUJYQ291azA0Y3ZkSWlvTGs2aVV4UWJDZEpkQVc0Q29sNVQvRGdwUXhEZEQvU3cveXNOazJHdFplM09obXBKbXRSaFJyL0hSRk9sd0JJTEh4bmV2QUJJYk5pckNwUGRJYWNBU1ZrTFhVZDNjeWRlRTRIdXpUVk1oWG1sOEsySWlTZTBWKzdPdldzN05mSkZjZ01OUHJoSlJhemNuTG9OZVExMHR4NS9BWFhqU2ZHN25oc2ozQW1uWXdzMjBWRXJMc0lFS2MwZFV1Rm8yQjAzZVlyUEp2VmNsZSt5Sk96WlJkanhEbWtpRFRWd1lFM2ErY01LenMyL1Q0VDN4UUxFWW1Od0tPZzZ2ekNraklMdTZSUVZJZGRNQUVSSnR5bkMwM0JLemhrWFNZeHVkU0ZGZi94U0lLQ0tjeGhHRWVVWjlXUEl1SjZzTzJpaTVJR3h0VTRMUVBXak1HVld4NUxlbnh6T1Zsd0pLV3ZDWjVud3NWb053R3lUOWhiYWFrTEUva1h2WGQ1cXl5VGNRV1JUKzBya3hVdmI2dkRldityMmFGRzNvRmd1d3RteVplNXAvTWd1ajRJU3FyYnFEVkpsNkgra0M3enR0SkJvcUo4a0ZxSlZXNGVES0FCQUE3c2U3dE16ZWVpaHdyNEdrVm04Uk9mZnlqZTc0UkQyQTNKdGpzeUQ3YW1CaUVSSlV3WWVCdndwTHJzUWZXdElNRE1CZFVEVWFPdFZNeXNiT1NESEdFRWJMN3RsL0RRc09YdFBwdVA4RFRqRmt3ZFk2ZzdjYkQ0QlB4WGlTK1Z5SHVVQW5lditCU2JkTGpiS2cya0RIUm5RRnZoVkV1YzJHMnhUaFBxWEM5Z1lHSmhzMVQybWxjbS9QR3ZHL2NPWEgzSFJiWEhQd09EK09Yd3c2dG1ndFkwK3BiNjc0NGxNWEU2SlRuZE9uS3hIN0lDV3UvdHZHMVdwTS9IUlQzMkRkbkYzQUtNamtKNXI5WkJDdmdzKzhZQmhCcEs0eHNEcGJhZ0dOdm91dStjdGxJVXJidmdCbFNPaTdOYVZOektNRDl5L01zeW14c1h5RncraVpmZHNpWVVTcHhmd1ZYYUk0NHBDd3Bpc0puY1hJbEFIbjZTaFh1ZUZJRDdoT2xkMGgrRWRkcWxFc0krbWZsNVkxNWw4OGZUUmxMa21GUGpTVVJIQW5hUVF0SzJ4dGpiZWh0eE9MY3ZHQlhEQmJUTW41NVJIYTBNdmMyalBVVG43bzdXczI4ME9OejF5VWFQbDBIY1N2NnVReVp5ZmhqNHhqb0hhWjhobytpZ3BCK09ZMjNVS3dEeVNSd0V6RmVsc1FIR3Rub1BKYytWdXAyZFJ5dk5RaXlOT2FDYVVaM1k4MC9zVTU1R0JkdzlGeW9wbzVaSVpzZ3NjbzdGYndqRGdWTWVrRkVIR3NOdjBqWDJvTHpsZDE1OFpNVk9XR3EyblpvWlRIeTQyNWVaT0N3cFZScHptZTZZRld4MFluQWZ6R0hudlpxdzZ3SVBYNXpFYVpUQmx5YnJTOCtEUmh1c3gxTHRSbWVGdGVoay9PV0tVU2VjdFNmUlBaYzV1Ylo2NFJjbk5MejZTdFNCeUJFbllmUng3cWhoWXJURFYyR0EzTEhpZVBmeDVvNDFmUWs5VGpQY3o4dC9YODE0MDltN2dQZUg4TE9SRU5kajFoWFRDTDlFcmdyRHN0dDMyWVhoRXd3MXBBVEY3NDhJU2p3NmpMY3RDcndrYUpVWEwrWkNtdHg0TG00cGJaSGNFc3FTMUFSWUF4Y0R1WUY3YllvMGRYaXl2dEZIVkhSbk4vY3drS1JUdUtuMHh0Y28vc2thNmxIWDRFNzJWSHQwaTVNTGJTN01MdlBmSXgzRlFkdzJ2d2JiYnZGdm5Iak9yOHNpRDgzc21kV2daRnhlLzJJVS9pYXFKQ2JONjZmeVhjTGQzZmdoL0NXTXo5K2tqNlMrTFhHMmZUWFhoU2ExcDh2OWtsRHdYS2tOa3ZFdDZLbjdnTnVNQ3VTeVRWNDJUK1U3SEU5eko5V1JEY2psbHZYMHBYU2RIVTJUU0NEU1BTWTRkUjMrM3NwbWdiaVg2U2p0S0wxOWxPcXIvR2ZGZXVUR3VKaVlEdHgwSTVkYk9sMThFcVIwVHdpQm5vMlhnTjZQUXBFbFhUaU9pS3RBTlV0NW5Tc0g2T1VQcTFSNGJGUERsVk5WM04zV081YWpiVzRIVkJ1eVRibEowVTlBcEw3czM5a0NWSEFaNVhjaDBDSWpob2JxOG5QZnVkVnhjTEtNVkU1eWNrV2RPcFFZOTQvbVMzdVllb2NNcDl2TU8yVEQ5NHFmV1RMQTBENnVmaFZsTklnaE41dnN1Y0xuSVMrRXNYWkJuWk1mSGZPUE5EeFVVWEk4c0xQMmRMR2JNaWJ5bVpKOHlGaW0rbmJGaUNRYVY2ZHFvemFuOEpGdnludFZwZ0ExbzBoSjBlbUR6MUJkdldZVFRFejd1T2RuUytYQmdibjBOWTNtZWNTWEx6MnFrTGRhT1ZwQkxvYitqNWJPZzZiM20xay9UUTNPdGI3Y2R0MGFyeDJueWRCK3c1NUtCZDM0ZTk1TEtOMHBoc2xRVjZ1THBzcVU5N3Ixb3QxQXRhQWtkdmdDbEsxbXJMSFpPVjZqaTkzMGd2SVVDck9DbXJqQktkeVlWaHovZnpiendpR29Oci9QWFMzODZtaXdZZzhwSGhCeXovUkhFY1ZhSzFWZjlaUUorWlRCWUZxQkZjTHdlWTdyZnBoUWZDaUlpMXpuNWVTY2lkWDRDVjNXcVk5T3pnOWpBc0pPaXQwTDY4WWtjTytGYjZ4N0JZZ2QzOWZlQm5tYTV3R0pBOTF2dUVLRHNaWkEvTXdidWQ5UUJOUnViRGl4c2R0WGwxQTlWMW5sN3BDSzJaWDNPMzRQMSswbUN3QzBaTWh5UmVQREdqUE5rSHd4Q2Z6cndPRFQrSytmQTY4OEZFcVFRTmh0aTcvY0J4M011NUc1VFZtV1hFV1o5R3cvUERkc0NGOFhwTll6NS9wRktnYVJ3RzlKYUwxNzJLSHBUTFk0cVhWN0wyTGg5REZTdVhxYm9rYkpBaWVGbkIxRjI3R3Q2ZUdGNXlZWjZTb0tuc1ZBVTdTYW45c25YMmxyR0FoaFhzdElYYkFtV0ovZEdCbDFPSTl2dDQ3SkRTd2szSjFJcmZWYlBSRFd1RjB0N1hUK0tDUGxMdFlXaVVTalZYdTZQbkU2M2t3eTZoTjhwMm1lTmJzMDVkTE9KUkV1OFA5aW9TSVdONGJuRzRDRURiTFExclZxbjVIcnJWNFZtZytoOFl4MjlRMVR5OHU4WEFUbmtSWjVNbU0wRkNuSldxUUx0STIzM1BNcElGSnJGRHNaVDNUd2piZFZHTlVBUHh0Tm9pcVFLZ05kNGd5SkZmTTVYaFNQMHJKalFDa0x6cmNMK3l1YzhoQllHT2RYMUJQcHdhQW0rWnA1Q00zTkJYYjBTbzQrbmpneUcxakE5Ym1yUCs4aklnc3VPZHlMNGpFQ2RzQ2liWjZlSk1CZ2Nwd013T0VpNnhlMVlMaUl2bzVEQU96Q29CdllpTVNCam11Y2tOcjd1MmpsTndHWDhBckpPWmpCNmVielFScHhLd0hYRmpTWDhhaEhaUHBQYTE2MGx4S29rUWlhbnV4aGhSOE1HYklTS2Z0aTh0Yk4yQUFhTUpxaDRHZ1pGSlVBM3g3aGw0dXpoSDQwZkVjaXhkS3Z3R1M3cEtFbGxkMUJIcU5JbFNQRFlVWi90RmlQVjJCYXhtMWZZcWFqdUNRek1yZmMvZUZ2eWRHYlFiR0h5anRtRWtvVlFmNTFpYUtsSXZhdXR1bUg3UDJLdjhFdEFJcTlpRlpJdTlUcjgyWlRoQXIxQlV3YjRUZHQ3SGhWVnJxZ1BJT0YwR2NrQy81ZmpKQzhBTGZ6TTF0VjREOHVxYWVlYVp5NHNZdzdOMVZYdEMyNndlelhoSnp2MGlEcVZWdDF5cXdLRWlxQW9QQUxPOHNrUmF1UHJFcUlKVzdMWUxmdC94OS8vMEJIZmFkaDRqVCtaN3JtbjV6QkNTU3VtMk1XUG1jSE96c2VCRi9ObGRZbHFmM2lOQkt4SDBpMC9hUDF6RE5TMjE3anNkZldITWR4K0FxRi9FSFpaZkc0M2JYRWxPTnZoQlUwUHkzTXAxVXJzaU5mek4zRjhWUnVHZFRGU09LSGtjOGtDMXJ3NndsUnBaeC9QV01QU1NkZ0tlamlwTFoxQTRqRnRlbE9aYUJDQmlEV0E1Vk0xMGxidVh6Mmw5RHcwVVY4RnZWQkI2U0VucmtQMHJ2RytveDZJSzBiV2RkS1lKRlZTT0Y1djFOckllSnVBOEV3cHMyQ1QxNHZwaC9VRVZwbUxmeUFPemZlZ1hPM0psQ2lHQTFucjM3UlNWcnhMeTlPNUtjelRYbmlvV09GY1EzSStmRGZOTzRyU05wZnQ1RjN2SnBHZFh1RDBqNS9pTnoyb0JycEVpajAyN1oydjVCMExVc2FNOEhMTEt4c0IzZEd3Qzl5bEROQ1J6K1BaTTBJOTk5RTJpT0NDdGpzR1pxUDhVN0dFWHh6V2NtMlIzSUIwY3FDZDNEZjFVZllhVXQ2RGdwU0VVUzMxcGI5MDJoVnd1RkJWYjFMS0IrSXFJa0FmYjhVRGtSbWdxV0JWdEYrVUExaUZuR1ZwbG9BTWw1eHhYQmZTZ1ZvMjdwc3g0eSsxVGNpbXJFdEZCbU5wSGF4WVJNQS9GaDBxY0doQlFQOXJKTVdiU2RwU3FOckpVcm5YVjFjWjJrMUhmTEZhOXRKZ2FadVl3SHhJMEVMeVdac3lQZS9wOG14MXBMcWg4enJFU3VObTJKTzB6dkI3WTUvYXMrZ0w1WDlpaWdZTXc3OGJaSkRGMkhkVzJCVVhydUtabFlPNHJsbTM0SkFEQ1lNaDF2ZU9taW9melc0MldzRE5HWEdFOWZ5VmlQVU0wTExXWndQbVpWbkVySm9zTVVCZmM5emVnblFOZWVpK2VoQkgrSWRycEZFQVdPelJkVjNhZWl3VVUxM1QzV2xZSDVlUHFENHpObUpxWHNpL200U1M3UU1sU0pxa0ozTlgwNlQ1cEJBOUtOZytRUWNRRnVNMUxvREl3b291R3MzanE3bHd1WlZ6eEZDNTZSWVREZGdlUVltUDJaOU9MUXcyaU5EQlZBcjdvZWZNN3FEcER0Z3RKbEFPNmVDd2hkczRpQWQ3RWtaNlpsM1hVdHVWRTBKZ1I2UWdkcVFwbm53NmNiYkdCeVg1czRnSjhBclk2WHdEcVJrOElXTDZ3L0ZONVVVOWxIMzViUXZUZEhlTnhwaEZFTyt0VU9FTjJSUG9ickUyUm0yU3ZxTWxuZTJUTnpOUno4WTR0VnZ0eVlhSlVUeVduaVExak5FWWxZdGhqYVhlM3d5NnFpT3JyV3pJenFlSzVNbzhLVlNQcW85NDFtT1dqbE5PWGlTdHRNVFZvNjRxRzI3ZmZvTHNDZ1p0cENhWitCajNHdThMbC90WWdRM3J2THBHOEZhN1NvenZkV3k0SzB6OGdldGs5em1hZXNMd05BZEd5dUxqYTJCK3NwWTdYSnc2akhJOTJQQjdVRTI5Wlh0b2QvaU5VWC9FUEw5Y3JhUlc5WHJzYWk3RDlVY1hpZGV6WkpWaGNkRTNkUndFdWFQVEV4QkFONWJ4YTdTRkNZTFVkTFpKamc0ZElGQWFacGYyaTk2OWdLWnE3TDA4bFNBK0FxY05pbVVQb01OaGJqWVFqNXZPSXh3M292Z29vUmFuUCtRK0t2MEZ1bGdjUGp0MWx4WFlKZ1cyYjFEZTl1YmJrUlpVaTNYZ1JTZXpYZEIvWHAvR2tmUVhMSHNVcWhtU255R2oyM2xJZE4zNzJOQW5FN0FqOHZzTlh2UnBORW4xaWJmUnRaOWZDTHJENVRuSy95ME9iTEEySUNuZUVCckY2anpJN21RRDc1R2d0S1N6aU1aaGgrcG5LdHUyUDRzNGJyYnFWbkdTUGtGalAyekxaQzF1Zndtb1hVa1FMQWo3ZTIrR3UwYUp0dmpQNDdrWGFzbGFyR3VsWS9JUFppOTVTL0lwS096cXdZb2xtZVNYWnlJa05Tbi96RTRUMW95eU8vZXFkYWdnejh3eWJtcHBFa3lZUGJLdVF2Q2tHMDlPZ2ZGbmIweVAzdW1DYmFtdStmcDVmWFNmVjlDcVdvTE5VWTVFb2xUVVZwR09IUUNEVFpZaTkwYnNTSzRSM0FuMmFEemR3SE5PM0hJRHcwQ1RwNE9na1JHem9yNUxSNU1QR2pTMmMxZ0V4K1gzNWJ6UWVYOEhYbGJENGJqeDA2cGc1NzAyUURBRytwMFg1bWZXR09SbFBPYWxkeitDZHkrSy9KSkZWRmdTK1Y1eVFtRTExYjBrOFBaOUhJcS9yZjZ3REs1TEl5SnJUWmduL3hFS1pXOUtrN0E1WEdQZ28yQkYxbnFYa2g0T2RmTDFSTjNrV0xETjROMkI4dVZpSld3VW5xTnpVaEZCVXFHK1dxblVNUElUcXZEYTFBZ1JZSjRQOEJiQUE4c1Q4c1VUUUIwUFR6SWdlRGVOWTVhS0FDeDVpRHVLNWZHYVlyZ0UrOTZIckt1YlJjMFJJWEFOeDRvWWdydXMrVVBYcXBsbThFYUtIRUh4QlhOWGN5NGFDTTdUZkJ5dUVpNURiU0RQWjVmd2pEeEFtejkvbVlHYWhROTdZZ296emQ4V21pQ1UrWXpIbUhRUDJHcUhabThhZ09zLzlTWjcwT2hEKzg5eDNTakt2Kzl0M1NCTGRVWFN6UWlVK2dPNVBtN2lVYzE5V2lSSlk5c0Y0d21IaURzV29rMUxKcFZoRTdKOVUybHhPMDdBUXN6ZmZzN1NVRFVxSHRrSlRVeU5SVXZaK3VvYXZWZmxiVWpNSzlyeFRweWQzL3I4b0hEbEsyaEN3dnFpUXlHZVNyajZlancxSFZxczFVV0VtZlc1RS95VWFEZUhXWWVaMHJHNEE5VVJNVVJ5WWZPeWYxNzJNYzRnMGJoOVNIS1UzNkoxR1QzcXI2OTBua3Z6SjdLM2NIK3BPL2hhRWpQMy85MjVyODJRQjZza01oK3VjK0ZDaUJndXdVRU1OWW5BQ0NJUEVaSnpLRU9WNno0T1pkSlJJa1YxVHpVd3orTXJ0ZDlGbDR2RWlGeDFZUDRocTRWMlZ3OGRSdTJWYitDNHVWWnU5QWFIS1FobEptNVAyRzV1eDgrcFJJM3I1bll5bW93OW5HbVZWd2U3L2dTQXRkV1hsc3JtY01lMGZjb0MzdW9zZUxoY21JcHhXRC9XRGhMOFJid0FSb3N3YzJBRytDd2ZUQnhBaEZJY25lclR4ZWdMYmtJMGVPcUk0YjlzKzFDbW4rcWRyZmpGTzVOdGNLWEI0Wm1xYjRqaElYR3VvMDZxbmUxa09oYjdZRHhTb2Q4SlJNUmgxeWpGd2htYi9ydHZTMUxFaTFRaUJ1dC91c1BIbEhCYy9wSTNPMmRMbDczYkZyWktVZEh0Q0tQdjJkN1RJdVAwWnMzd2tWR2hBblRrUDk3ZlkwVDZmaVkrcXYxVkVoQWpUWXMraHUwQlpiT3pKSy9UWXFmNHdpdHoxUldyZkNma1FqZDVLU2p5NUhNRWxVZzdYTUhaWWUwb3d3QlZPV09zRTI4clhSdWpRR09HWnZkNjA3d3Q1QVp5Z1QrZTV6Tmo4cDF6NjArNi9MUkRCVnVYMUtmSG4yV2dxTEFzNWMva3FKTUQ5K2F2dWpVZUc3SHI0dUpjQVpXWGVVSmpLVVRqVmpKY0NvL1RLaHBsOHFQRUVNKzkvZVNBT1VkaVhER0t4NkxHQ01PTUlLRnhCNEIvb2lQV2xBQWo2MlJ3WHozNjZpcXpxQm9tMWF6ZDFrUXlTSWliM3F4NDFHRVlkd2ZaYThuODhHczFWK3pCV0ZVa042ZzB3RmFWaW5XUC8xTVNTdjRCK2ljbEd5MkVaWEQ5ZXo1T0NObG1lNC9vbW4zeHJraksyUWtOZFFFUldQc1JOL2lmMVJTS3Q0ODJldjR6Z2dJZnMrRXQzWGVya2ZyeGJyelpCbDRkUER3Rm5VR1BMMHlwaW1BUDl2bEpIb1NTR3RIN3lvNDJQZG5aZjFQYUZNRVhqSDVybDY5eUhxcWgwOURpTENkUkQ2WnlIZXZnSkVPYlBFaHpGMEwvUHRPTVRLdUw3cVJBMlVZZTdFOFFuMHo4WE5iSERXcG5sRlZWYURCYkJzbDBuTDhsak9qQVdZT0tuZDFhMnB2Vm1TN1Q4NVdERWgySW10dmVCVFBuc1ZDM2RzN1hlcVdYZzZWUTNXblFkWlRYSWtiYWhWWGhpVjF5d01GQ1VKWDkrWlZOL095VWJFQnFEMjVrdHlvcVUwSlBabXVhSTJFdlY1UWk0N2w4OUxnakRGYWwyai9Pb2F4SUtKOUZtL0JlbG5ac04wZlBHNXFIWkptdXlyYTBGRnQwWitDd3F4N0RBN25YVE1HNHBOSy9XT0VDcnl3THFUT1lrVnNmUU5Za3V4Wk9ob2hxek9QZUsrdDQ1Si9UR3NOT3BSSmFwVTcwWExWWCtibEhxRjlZTGg3eUJCb1pyWUlJWE5PcWhON3JzTEV0M0JCeEYyWUZVQTBYVzE2S2FZMUlIQ0dTaTh0NzBHano1YzJ0aDk3SmFjQjI0OEpScFRUa3FOaG56Q3ZUSm9vNkxDMllkQ0pzaHM2bG9aeWlXYlk2R3d5NUg3eVJtY1QzRTNzV0lRcEdac3pxQ1NpUVdRdGpwdVN1NDZSVE56N0pzd2F4b255NENtOWxKcEtHcGl3M2VMYkpmLzdsTnBxcU44djlSbDA1Rzd1SmJRUVpONEQxNU5EaW5OMDZCWHBFRzVKY3YzQ3hYYUd6UzRvSHRCZjNCZVFhVURXU2wrZWtlWEdaamJxamZWYS9ENndpTXE2V211WnFvNUVMSVVpN2FQdFBWV252QlRaQXpVNXBQUFVSRStacXpsOEVMeUM4YlJBRnNLeTBRSnVOc1E0ZzNOemc1NTA2RTY4VHVxcjhYQlpBaVVQbGd3UjY1YzFLSGJpN3MyTUFlUnJ2UnY0M2FFNnVzbk9IS2RQckxqUXoyTmlVc1B6ZHV4SmY1N1liNjhjemR3L1lIa2w5OEJJclU2aGlHdTgybGE1QjBoeTY5RzBKTzhaOUw0Ymp1M2h0Q0haNVNnN0pUMHFMV2Q4dUhNUk5jOWtxVVF1R0RHUTBkZVl5QkRCa3pselloalcrMHNXWDBiVStGZExKQmloTzJvRHhVQkkyT2g5ZFVZSC9tallPVDJzNTR4S1ZkaDRmOWQ4TE84eWhCZkcwanlPb3dGRFFMbDZoNVBzVnc0b3JLcXlZdk10Rk1WRHhrajd1UXZyQ3hIWEE5ZitrVnVoQnA0bTZKVjJzMGNMQ1pWQm1taFA4OFdPMWxnRjBUR0ZuUDRzdGpSSmpHSUFxM3o5L0hrZ05XcVdDdDV4ek5KSHA3ckx1U28vOVpFNjAzTnoxM0ZNeXIwQmZHWStUQVNJVDZJUTBPVUJlOWlvbTRoSDVQa283dlRCT2tzOUZzaDAxN2VJWlZOOVAzcm0vNXU5Tk1Id0FRZnZ3N1RWeVBxS0J2ZTZwWG5TK3BsTDAwb2lydnpZNFdocDJDajE5TFhzWFJJWGh3eThUZWRmRW1KS1phdm1XckJ2U0huMXhzNUROUGRKdVlHc2gxUXVQLzFIcVkydFM3aXlXNGRycDUxWTFEdWZXTHRyWnZxVjhaSVBRU2ZEUUZEZDhjTGJqWUtWSVhKcGpNVWVBQjJSUXVmRE90VVR3M0NzbHMvUGV5VWhjVVlPWjZrclo5cTU0ajFlb2NiYlVXUjhZVlNLVnZiNGJUWWdSd2JUTlpHRjE5Ui9tMS9abkRmSk5IUnVjN2hLNGRQZ050QkVGZFhTVHNLTGFodm5oa1Y3TGRiaDRIbldNdytDNXVMdnBKdlNHK2dDdlhWRURDUVM5anUwaW55YVFXUE5YVmZ6elh1dXMyOG9tbWg4Ti9Tc1BMeWltSUxHV3hsZE1ac1h0YmhvblU1aWZzYWhYbkM0YUFHNTBqWXJhc25Xczl5dXQ0alVta0hmREFLTmVMWkhqZlZ1NVYyR2V5N1I2SkJKaktoNGNxZ0gzb2VCeC9pMXNvK2FJOGFsUk1jQXNXMVFJYTl2TE16OTBTaHBpR3hRUjYyMUNUWlYxVFEvSGJBOWNuZk9jaUFWREdRL1ZtdmZkZzBSd0s0eWI4anA5U3g2YnVLakQ5bDVOTENjWkNtUW0yRHNXT2tidURmdjJJTGpoQmhYdjMycGx5ajJwMkFjUDU3dXgwd1h0ejVSU2paR3lYNkdNbUtKQ2tkdjRxUnJQZGlxYzJ0NFM5Rjg4a2tqaGdFTk03eDNOYU9BcUdWTm1MTHFWWWZZR0NFWU9oZWsvWkdFVnJUZzNiZ010QjVHNmZWeXJEQTdUTzZkd3A0RTc3QVlSei9ObmxMZDRwSUw4YzBtRlI1cXpUQzk1bzk3WSs4OUYwREVtL2Q1TVZkRjkwV0dhNndyLzVyWkxtbFIvNWZlaFNQcVZBYkFLdWpxZERZN05sSC9ObUsxNHp5MUhuY296S2pwV2RhNVEvMnc1U0RPMitEV3NPaXQ4VFU5TXVBVWZhVytuOGM1RTB2SkU4SHJiSEk5RWFZeFRZUy95MnU3ZE5BY3QwdlpiWldzOVNneWcvN3V3NmVyOURPOTJGb0VvZFUra0dHYTM1WEtlTVFkbDZRK0xlZkZMQXNGWGpzVlhLbjIvby82clI2bGxLeS9DSnNJKzJOQ2gvd2xzaks5VnBTWllGWGhJWUhSVWRMaVJTK0p3SmhjUitmd3dYWVdPZy93RWdEMDdXVzdhbkZUeGJCUXRLN2ExMCsvMTNLSTdZNWJrTzYvaG9McWxmM0FodGM5aE9GTURDcmdDLzlZTXZVdlNQV0RTT0VFUUcwMXNzT3NhQXg0YUJXVndjUmh1MHUvRHlaVGRac0tET1c2UitGTlNKUGFKOHpRaWpHVHovSEhpVlhoSWptZkpRZGQrRDU1bEQ0KytUcVRIdlZ2emJObml6NWJ3ZCs1N0ZXT2VhRXIzU2tCaERkdkk4L0VlTVpYSDhSQzRLYjBxSWZPVGpOYU9keTVQWTN5d2xSVWlFOXZtMFhRTzV4TzFXRm4zRVBEYkdPTGZqblpkQnpic2J2ZE96WnBHRjAyZ2txeWhPeTBtc1hEVmhuaVpqMnlWTUxwOVA3b2Rud1lrSFhla21aTHh3bGRoNTZkWWdMWnJ3eHBaMVZZNFZYU2pGVEVxMHc2WFE1bWprdWFPNWF0ZklkcWZmM2xWOCtFMUZCQWJpRlorQ0hVYjJxbFo2dXdJQlY0bzZmY2NoMHpsTjk4Zm1uemg1WmtjaEx0N3pDN2UycmJHU0VJWmNjT093OXJTbytBSmU2OTF5R1g4Y3d2Qkx1ZVIrbEZNcVBOa0dWcTV0a21iYmVlT1pVcGppNzY0ZlI4aGxReWpGMjIrVmtEYzhJSEdoUkFQaFd4Y1AyZ0R0L0F4ai9Pbmt5Mk9sSVh2dTY2VHc3aDBtUk4vcGw2ZmdwMGdZUWtkcC9YblMwL0hlZ0MvaHBSbFJxM2poV3N4cXhySW9CR0xUY0MwUzVKdVluMlZkdmEyVEF6WFJWbDgvMkFPMFE0THlySk9nTnozQUMrekQxV1NpQWlHQktIZ3RCeW11cVROTHRYM3hvdzJma0pWSW5TckU1V2tqQUQ2R3BUdVI0U3BVU1gwK3hVSDNSMmRPYmxIQ2htRFBScGNnbjhjTW9BS0lLS05ZWGZqVE1SSjYvay80WWUwY1ZtZENxRm45MjZna3o3MEdLYnRwZ09Kb1AwRWdzOG9CN25MdEFQdVJPZEVhNEFxLzZLNWR5cVNvM0VuR3FxRjM1eURyRjRRSEtMaW5uclFWcVJIRXVFTS9CVmpCVS9pU29SRmxEWVdza1hhd0wrVDRrQXZLUUJwd2t5ZFpEMU5kTHpLbWNPalpCZks5MWFDVTdnckx6SThhY0g3THdsRGM4c29wZEpkY1NMZnRZcUxmSGJyRzArUDlkVlhFMVhIdXRSZkx3WHBYQWMrT1BpN1paTElXcCtIRGE4Vy9HWS8rRGN2S3U2Y0o5eWY4aFF4ZHVGT2pPZGxnMFVsM3lHYkJpTVAwTTFNbUFDditIcVFPazZBWnRGWVFjaU5iQktzRkY1N2UvOHVuNjAwbUloNnBCQThEYmo3Q1RlNm1nRlA0VzZJWjIwSkdJNnVEd0JIWFFSdm95bEpxaVgrYnRIM3YySERGRll0Q1ZQQ25oaUtLR3NUZVZ0enB6NGxJQlZJa202NW5GVWNoY0tXTkxEa2ZFQWJqZXZUejRDaHFDckgza1hzNE9uMWEwdEVScExFK3JuWFR6Z2dJSU5tTnFFWWloUVRsSVl5YzVreFBZMjBYNER0N3Y2Qi9oUlZxYUtTckh2ZkNmeFovLzZDQlZkZE1ya3FKcWdhZHVlbEYvRUthYmozK2ViQlJnMVhtenhjVTdkdHMreUhZd3FwY0o1QmxlWHcyVEtXd1M3cWlpamdsOWhENkQ5VlNHaWNURlFCZTQ5aCtwdUUwTjJhUTdUNnVYdmFzbXVUdTJhVXlDS2tkbjhVWUxjV0I3WUMzVlRXRm94RzFWQUFPWmtSMGtxc2xLRnluY1ZSTjk5cjVYQVZEZmY1dk5HdW9ITXBlNUl3QVFOQk1lREJGMTRUQVVmdEFVTER6L1cvKzdlZ1NxK3JVTUlYb1RnRVNqT1lPUTgvTlN0eFJwV0NXcFV6OEpmK0ZaNkF6Sm16RTF0cXl5ODRVbGJQRlkrOGtiZjVqR0E4emhxeUs5RE1YWU50OGhwSElmNjdQQzFOK2RRZm5CREZVWVAvdEgycmF6aXBTYW9NOWlNT1VEOEJsWVNCWUdFNFNWVCtHdVB0TjhqZStNa1VSMldVRkdHQ2x3dWM2R3lBSnY0ZFN1SVkxYTc2UHFTbTdDLzVDUEtxK3FVcmszMEczb3ZrNXcveCthaFdua1BvZDQ0ajRuTUNKTUhrb2tTL3J1ZEVHUGVtVy9GcDlaZUg5bC9DQ0VVakdyeDkyMGFiNzVZVmJCSXlaZkhyQjFLZVppQkVxc05UTzZsT0RyYVR5cU9ENU5TUXhneDlGL3RlZTlIM0dCa0JGOVpoeFIyaXFGUm9XVWNLOHlUbEVpalFnVWhtUmVqWFU2bE9ZSS9BdHBvYm44QUJTUkF5aklWWEpISmV0R3d5RHJNOElETC9DVVNlenRJbUdCTFBsNmZIVjJBNVhZUFpXaFlSUjNxNDU3bjROWTd4aWxzQzQ3WG5VOWlrZnhDVG5tQVhNczBDbER2RlZQMEk2eWRoclRTOHpmRGtjelAyYXlRVkIzeGtJWmszMmFESkJsaG9QTlAxbFRrZ1M4Tis0N1I3L21QTENQNTdkV3JCc1pWMm9vS0YreUdmNXpVN0gyWkRINTM4TFRQMEFVV3htdjZ1TlNYWDMwVS9VZGJvQ29IbWRMZ2hmWEFGT0lBdEtuZ0hKL29hRUNBVEk2ZWIzbHhEdFpLMzNoQjZvUGdEWDZ2Z3R0TEtXMHVKU0FQb2gxMXF5TnpjaGpaU1RMeXR1M1R3TkdSVmhyQWxHVjAzR2FJUnJ2VTJMMTltS2dzemptZ3BYVFFnUC8yblpFeDJpRzgxNGhzeU8vZW9DZzFsWGhBSGNlcHBYcy94TkdHVlF5WmFWaS9VOVFZdCtSZGo2aUorb1A5dFJGc0MvclZKZThMWlJpTUUzNTZtQ1lDdmE5cis4NW5mTHlLZFhHWCswZXRieDUvZm5FUW9hVjhZem1qL2JOb2M4N3g4WndRMzVlcGtONENWeHF2MDdiRE9rcXVWMUpsbEV4OGhoQmZUY0NrZDdlVFg5OEhnQ2hPT0JudkhLcU1uYjVXWjlGbDB6YWw5N2RlSHdoeHg3V1VtYUJiRTJPZFNFTXdPL1g2TTc3Sm9KRytxV2FrNmFDczNjZEY2UkpXOTBuUHpwTkZPRncwcVYzN1lOcHEwdXlzd2p5WlVhdGM4bUQyNmREL1V4VURpaGVhUFNTNU1sZDJkcFNocHd6MjZJMjVobDJQaDVIeFRjdnlrOGVudm1raDZjaWh2dEdaaU91dm9GMmRtekxqR0x2c2ZaaGVmUXNUeUdBVWNUb0FjbkNVUkpTQmt1WGtuMFpCeUJIem4zY0tnZkVGdTltaHhDV1hIM2tmY015YUprMlJBQWM0bU5WMkZ3aE1sb2pvZjZhSmZhcHE5a2tvWjNRS2dNRVdLR2QrK1Y2OUljUVgrVEFTVmE3ZVRhdkh0NWtaNGNmYUxITi9RNkxJbERNZUZPbGpkUGVGUC9GMkFoRmNDRHh3M2dJZmpNSFUvQnk5LzdPNHcrdmMrU25mV3R1TW5SOHlxS1pXR2JLRXJ0SThuZVRnL3Q0eWhDdU1jdkZlQkpJUUJOVXhBSUZnM2tjR25wNTcrNTBmTDFJK09mTDhaUzd6VkxMR0lHTFFOeXNVL25iQU9kdUtNajZjUS9TU2U1UkRTMWlMUENrSTdReDEyYmYxbVVLNmR6b1owMm5IZ3RVd25qbW9yU0d5SkNCTi9sSFNDOTIxc2gvQVBSUGI0TkNHSzJPanVHT3Mwcy9QQTMvRUhOZEU5S3htZTdzdmJGb1JoNVQ2bTJuNjV6bnJGK1djL21jc1duZTkwWUpwc0pYZ3h1Vi80cmszT1NMak05UnFMSmlYVHNzV0pxOW1mR25zeEwzOS8zNDVNTWZhdXk0VDh1L2JYMGoxaXlNNjhTNEJtMTZlNythNnlIdkFuTys5RWlKbE9EdFgyTHBmRDhwOEZjQUNuT0EzK2l1MWlxcWRwNHAwNWZnTVVyblJMTVJZQzQ0aFlTL25xYWZiQktDSUg5eXREM1VFa1BqM0gyS0lhNGpKSkx4akxrZ0ZHK1VBcmxJQmRjMTh4ekFOK3EyYXJsdWlQRXViTDhmODZ3cStWcnJNd29saVZ2QTFFUHlVU3VXVVVYdEltZ1k5TTdXMlBFZG0vZ1lLalRsNFh2cmNCcklFcElFVVNpamcwbGM1c1JKWUNITElUNEFQVE9yaTVrblRhQjJwdWZUU0RhTUsxbDZtTGRkalBJV3lsSzVhU1lBNGxMZXVSTFF0L0VzK1IxQ2VnaEIwK0c5cWhXdjlXTjY3TndzSkJHV0cyMjFrMEp6K216VTJOaXE5QVB4T3djODJ6MTN4T1JrSVptYmp3TXpIanRkN3o0NmlQNk1ZeWYwT01MU2JEOEx6RmpuVkFKSUw4ZzhRYUhNV0NDU1BVZTJuakZRM0RiakZVeko3dXVMaXRzbHhuNEd2Wk42Wm1uOWdTTnhwdnN5YmlmYVJxTlFlcXJwcEdnaGM1VS8vUTdKWXI5NnVTWlVRRVZDWXNSVjI0dFRFUW1CZTRxWU5LdHZJbVVINFdENER6c211clhtRXkyNUU0RVVuSktjNm9wZ1F2WEF6REs4a01OOUcrYit3VUJVYlVsclhUSHBDaTdNMkMyM0xFNEFUYVR2N1NGSEJVUUlzTEVLTlFTUkxBd1dqU1o2V01hdFpid1dyb0tBRWV1T3FPeFMyU0pBOTZEUUtITUVDaXh6aTIxS1RKMkNrMkwxUnBoNmhKRDNmM1V2SkluTTdrQW5wZzlPQ2VjVDI1am9zdkgwN01WWWVoV3NnajlxQ1ZrZW51eFpRazdNQytubE1zOGh4RTFhYXJXYVczaUpDcXN0RVdLWEt0Z0s3WUlEdzdHUy9kRS9JSklPZUJpeVNBa0dWeGVRSzNScU1ndWNidzYvWTkrZ1g1QzVqVGJsbnpreGltYnI5Q3lHUjNaS25LanM1ME1Ebys0elhMUlJSQnlQUWNIaXE0eVAwT3duVGU0OGlvMEZwaG9BTU04S1VnUXl3VVFqaHlVRHVza2JNSFdjVXZVVG1DeG9nbWlNT0VSbEhaRFpHMDZhNXlCbmZNRGV5SWt3cjY3UkxjTE9zamRZaU5HVkVKWTdvTERWMzB0K05aS1crckZac2NCY29sNlo1bTY3b1ltMHpIb1J1RWdZa3cwbFJZZEpvWHdkRGZIcklmcjBsUjJTV3B5SE5hcVJjcjFKcHVQeCtlSitoTXpTeGl6WXJlVjhaSWh4a1Z5U2pYNytGSmlWcUlxUy9maFJaSmtIMHExNnd1TWN1TG9TNitLTVluNDA0bzdwS3FnYWZpTHpZa2pkZjAzWlVHeDBYeGx0SmpBbGpxa04xSTJwQlB1T0FaYkNnWnhMbHR5cDlDVVZIdXlZR3REcGIzU1dodjdMbEZoT1NDZVVod2ZkUXBnNUNwS1RIaFNJeUV1RzRVMlcxaklqOWRhWmdidGZ2eTlVbFJCTW9FOTREWElXam4rYStTbHB0SFJkWUZQNjJ5Mkc3ODdPRkZDMmlHWDVaaGNaSlRLWGdCbTcyNmJscW55UytUZTEzM0hRUG11Sm1YOHE3ZmJ5dDNWSlNpdHB2VHc1TGlNQVI1NHI5d2RaSGY0S2xyUElmVURaSDVFdkplaXdLS0xLVER2eXVnRGpWMUR0Wk81K1Nub0J5VW43dTJCUSsrSVh3Vm5zeWhmRXZBbW1GV2x5MzBQSlRxUGxDeTRtOGlld2d3K1Q0cFR0TG1Pa2trWXVNR3pMbjI1Wi80ZGJIUDdtU00yMjZVQlpVWTB4TGxTcjNXSWRuVnEvRGllQXdxVGpONXVtMThBVkdmM2FqR2FmZXRlWm42TGRtaktQem40RUt0dS9IaW5xRDY3dWc0ZU41TjNBQ0x2ZTYySks4eVRZZ3B2MXR3dmNUY0o5TUtPR1lsdWtyTG1sOVUzU3VwcUNjZlh1OVQwenYxOXVDUWdyaTNVYyt0WUlhKzgyeHBvQ2UrZmJDZ0pzcVVOWm9VTGdaRnY0SkdVQmtvQVFZZktuSHRZNkVzaE1uY3E0QTcvL1hzT2djUzVwcWhOV2RRRWlCbWtnYURFaEVHNTUzMTBrcWZ4a0NBRkxycGZPMXc3aGIzUSt4Z0VqdGx6VTJpYksyVFVuSjRia1RFTm9mU0w5ZkhqN1hiOVFMcjc1RGlnZ05iSnlqK3dSRTV4UkN0N3didlJLWktnNTZaa1ZySzhzdlU2T1V5RWtQTGZIMFZ0OXlabzNFYWFEb2hCWGVVK0xOMlh1QTFqcXUwTzhLYkhZdWpNUHZVTEIzaVBFZE1CQlVMSHF3bWdGUlBDNElUYTJRTHFtUjNDOXlXaHExb0Y0byt1MitkLzNUSjBON1c4S0ZZVUlsY29KcVhEV09FZUIxRTFCNkNoVjhPZFlqUVhOcFVyMW5yVExDSk1OdU4zSmtCcFYyTHdrSGpJNnVVWXdabWRHU2hYSVVwUVViNEdodnBkWWNlSGYyZjhnR2pSZXRJdi9CaWJXTm9QZHRRSEtjakx2dFhGME53b3NOUG1jWWRMZjUxTnBSUmpDZ0RqUXorekV5YTl4eVFDdnprUlZiZ3VzRFVJQWJkMVppTGRza1RKdHVwR0QzeldFdE04V215VDJzY1ExRStsNFZ2Wm0vOHhhNlJKQzVkTGhXbVRQbWdGZmowUXFhc3ZkVW9KRlVzOGVPOXloWk9pcmZKRVZSaDlncXVHRHB4anFVeFpMWEN1S2wwT0YrWWZpWlAwVU41eGIwdHFIamRGdk9BMjA3eTAxTmdPVnNqWHUya3JRd3lZODhYTlUyTVhTbktNeGMybEZ2c2pUWGcvQVh4RXY0cXduSUdubjZyL095Ynpnb0xOSWJ2RzErQXp0RDBmSTVrVzYvVHExekh2dFltNkJlaStyMVMyaVZLM2xxcnlTcXJvN1BxRHlwRXRDUDRObXpzRXY3bmxzTjZPcW1kUnpROXQ2YUMzMENVVzVBR3NPWGpkd093am5YRW85QkRSL0ZOcGQzdHFRcFFZbEkxWUdvVE1GSDd0OUNKNnY2MzlpL2ZCVGZLSnR3T2NpeGU2SVB5dnNsaVpBek41WU1GQU4yZkZTRTZFeXp1U0FDamtrMklCeTdXcDRqTTUvV1I0aUxLNk5qY1JuNnVWamlpS3pEMW1PRnFoZFdXUVVwdkdwUk5nN3FRemdMY2NtcVVYSjEraGN2RHZZOWZpa1dQU1Q0SllQYXM4dGpXUHFmUTRoSGdmKzFrYUJzM1d5SHE5d0kvR2MyM0JYdThGUFBYcUdxUmhZNW9XUnRBSDJMamJmQjFxZGx2anQxMGlNOWV0c0pTQk9zV0RRQVNOWS9hVVVsdkt1eTdzd0xUc2xpSmE3TVlPZ21XbW1jY211NW8rUE1BNDdpR2xKNVpYck1iT0pVN25KdGlNU1RlSnJhdVR6UDkrVk1tMUdNTlNlNHNMa2pJY3lUVzI2cGZ1NExhYWw2dTJsTzBzblNtM1dzT2lWRTJZR0ZRN2RiWWhrb2ZmUVkxZm5sTXhGQzYrSTRiVDF0alpiUFlBRXlDVVhwRzYwKzdTL0ZpQkx5L1NGTmZabmNEVDZqbnpIK3RpRnhkSkdIYjk1ZmxxNC9NcXVnck51RHpsMTRzbTRzaDVYNStNLzBQbm1hanZGRFdVb1dIenNvanVnRXJPaUZmd1NjMTM4dWk3WVV1NnNYMWdWbTZQV2FSaldjV2EvTG16VkxXY0ozajI2ek1DN1ZaUGEwNTRBcWN2OC9tRGJ2WHoycVdENHZKMTRNZHF6VTdJT21zWmtBdko3elRVNjJnek01djdPbHVkSWl0TFRoNWl3QVhZZWNhRGREa3dqZ3V1LzJaTllKUkV2SVYwRGUzdnZRckExakNwdHQ3VVVaMnlCeGVPQnF5L2t1UmNEc2YyK20wdDVKOTF1SkpHL1p5QzJwN3F2M2lVSUJRMEFQV0wwSlBEYi9WVzRYa0lLMWJ6a3pIZ0NuTkVheWtGTFg2enZQS1EwQ2ZkSkM2YlNJUGFCWkVQbFdnOUlkNzdIM3BJM2RqWW9CRVE0eW5PdnZDOVVmTzYxM0J2Qm5hbWZ1SnpPZm1PK21jcDdRUENHSUlMYTJacVhXZDg5NTFWMTNENytRSUlVdTIwMHQxQ3laV1NRU0pmelZFbFhkanUrRm9JNXZEc3JjekpDeHo3TjZFZ1Fpa3JVbTFvWHpheGlnbDFRcW9TMEIwREtoajJRVU5PVkdhWWE2bnI5OG9TKzZDYnd3eVFNemUvdE11bG1uOHpXeVNWOWcxMnFqOVo5RW1DNmU4bUVUWjZaTnR3bVVocVFqZWJGNjBCVTE0Q0c2WHhtaklXYVVUeXB0VWFZSnVHaisyam9odVlRUkxDK2pDcFFDdFg4YUtHWnlFM0UvWjAvbHI5YW9JN1NERW1sbzdjdURiNHBRK0lTcHVWZFl3VkpQNzJzL1ZFdit5VlUrYngvUG9NYW54ZkJXM0E5QlhNaXA0Q2RFRkRWeGNpeXYzWEdjQVJFWXRRdU0yTG5xbEFjbm9ZcWdCUFF3S3o2TXpBa0VrQXp4ZUM0djFFbytSeFk0WXJtOGdNWGpaU1M5T0R2RU02SVNhUnlkcWdzQm9oSm1YTEpHZmlZdGpZZzFTaGZ4MmpLZ3R3elRRYjVJOUZxZlNZTlFub0lGY3ZYTjh5Ly9HNUlkd1J3R1pvUG5BaGxVelYwNFhvamQvaWo0aXF0c0dNVVlkYlNIb0VRaEVRK2g3NHdvZWF4d0NFQ0ZEcFAzRmtZYUxyZWVTMCtRT1diU01WdTFCVy80YzBsaXA3eHMrL0tlNlZkT3BJLy80cG45RWZHem9IMytidDBwVGpHVExhTWxjdEZUNGtPTEFkZTNGbmFvOXRGL1NXZEdKTEk2eTJmSVJkVkdlUkVVUUxhVXJNT0lwV2J1NU1EYXpnMis1VWRCMkV4ZWtzVmtxeGlHRzJYdWFHQnlxOXNsWEhMeE9WU0FRUkpZUi9sMXlQdlBqUFc0RUFGclUyemNRMXUydHJ2Snh3Ry9Lazd1emdybVJSaU00WlRqbkRXcVBxQUlrVklBak1IZ1d0NkpyZ3NOQkFIZFRzQzNKWXM2ZFdadTNxdGhuZk1yUEdKaU1GMlRrTFJ5M0VWSFFiSW4xOTl2Wlk3V0kwZlNScStPWUZhbUl4alR2MXNMZk95TTdTcGtFWTNZaktmS3FYa0NxZ0ZwSFRDN3dnWVR4L0UrQmZsMWNwbG5iNmkzSnRua0l3RnUwYnc1YWFQdW9wYjRrdStQYnduVW9haXB1MnFDUGxNeVdGNnJPV3pYYU9zSXN3YUo0ejlISlFtT0V3bHNFRjh3dXNrVjIzc3c3RXF4TStEM0o4aHFXbWFXdXQ1N2lsN3NEVVM3VFViQ0VsaWZQY2hZN0NWK2RzSTN0Wks3b0xkTTd2RFZvUms3U1Y1aERaQ2xZNDNOeGNTVng4QVV2K1ptcWVrTUd1dXNjN01LUU0xODJEem01MVB2NHZTSmkrK1JRVCt4aWtCWTlTcWFlY1lYVmdzOC94NUMxNWIyNVJLN0lLM0tiTFBia1QyNUl5SlpOM09paWpwbitCZ2F6alY2MVpyWHgyMWFnSFVCa3U4WUtVZlVvTlhLMk5ydFFEbGxZTTRSazlMd0xka1ZBdVFMb2lscVZBSkNJRUdkN0c5ekFRbjl4T0J0djZKYmxqZFhud0xhYTJjQkVQUjNuVkMyZE45V3M3SzQzNmEvS3ZPdmN0eDlxZmM5cWw5Ulk4OGxUclFBSldHUlVtdnJ6YnU5OU1zUUVrS2dSMWFuLzNoOWtyRjIwN1pranZFOU9QSTkrWE5uUUhvRDFqOG45L0M4MUhNRHZUbkNGcjNNOFl6MUpNVzg4NEVtNm9SK3NsZ0FqSjh4b3Y3djRyYk1UN2tlL2dLWVF4OG5BWTFoR2ZpcmpwQnA0UCsrWld5T1ZXeERWbGR1aU10S1o0bU9zN1dZT0VCZnF2Vk5DUll0K0wrODA2akxDTmIrSXNwQjhORnoyd3haV3lQeHE2WXJaK1RnVHZKWFN6bWduOHo5L3BaQmY0MkhQK2pFTlQ5RGh5d3NYdXJVM0QxLy9LNHBPdFU1VFNsZ1RqUENQRWpWK1pIRjJBS243RktueHQ0UnFhcEhrdzg1STNtSmMvOE9rR3owdXBtT3NySjEvYTJ4OXVvU2NKT0x0S3hCQmtDUkxaM0hXTTlic2ZRR3lxL3RHRmtxeVlkWWhwR2R2WUl1eUdLc2ZUSVNhNW9UM0VxU0VrSFZWSGMrOW9nTGlrMFpuZ0JuNHd5eXQyaVFOOHh5dWs4SjRacWd0MjlTTVZRTXlQblpGeDBib3BDd0NIK0pnUzVkOWFjWUorMTJ4U1plQm9la1VqN2p2YnNuY2Y4UlA1cmdWY2FkMWVKTjlESUNXOUJ3bWlNMkhHd2kvWFJIS1RFdzJYUnRPT3RNN3NFeWNHMTFESzFsQ3dTakdld3RHY3pVSTlYd2tXb3RzQmRzMHc0ZEdFZ3pYVjY2OE5IMHhUeXZvcVNQNmVxME5YajA1YTBtWGExRURzUVRXaWZ5dCtVNElVamJIMlVHY0ZNam5BQ09uU2FZZjdlVDluSDQ1QXB6NDFXeXdGcXliS1NSUGQvdEc5S2ZCc1RWTFUrTFN4cytqRERIZEFMSUxtSkxVRnRBNmY2V2pwanlvT1FYYkEvamp1clAvNjFWK0xaMGYxWkpYaFpIcTk5emhycy8wc09FRlN1ZkVIRWVIVno2SVNwdDhuM21vYjJhc2w0WW51eUx4ZkRLdkc0WTBWREltR0hCbU9VUUM2cHcwMTQ4dnhPMzE3WTNyS2hXTWJqYWRwakV2WFZSSHFHMHQyN1NQNm9QdzliM0FYRGY1QUVpUGJmSUJMVGVwUG1MUzRxMzByNUVIeU5KMFJ4MS8rWDVNZjZ6cWczZnhxWE9Wb2xsd3RUOWhEN2Z4VjluZTFiTDZ5aWhLZlV1akJuSEVQUnpjOVVKV3JWMzZyVzFOcTVwTDA1aEhJUGEzT1NZbkNNNy8wbmRZY3NUMjgyQVQwekJiRUZwQTZCcFFwTUdTdWFnMGM4YTM2bHFhMDA5LzVCN3ROZEh6NitoV1FDb1RteURKNU9kbmRDT1ZDM3M1aDl5RUlYK0dFZFhScjBlVGVwbk01VEtoN3NRNnZHTzl0WnpLaTBLNTRhUFpuZzdsc1FyVnUvQW5jQTRGVFBab0pWdkFuMisrVllWSXVqeUM1d0c2b1FqNGxGbGRxMGpaR0RlMHFaS284ZUxudFNXajh2YVp5cmthakRpaEdsbHEwSlZidkNGYW4rbWV6UjN0VWhiekgzRWR0NTlZOGZnSEJPd0lYZTk0N0VJZ251MmhGTU9OYUNPQXBQZlpDQ3ZSenU5bjhCditVMkpJMTVWeVJjYVRLb2dpWjEwa0hVME5KWG1aYlc5QkdHR05ZdkJ6RFd6MEVjMWhqZDlZdWc5NFVhc21FKzcydXMwYWR3T1FOaFplV1hnRG9hMGF4c2VtR2dVRXh0R2tnT3JwRmZVcTY0ZlpQc0hPU2NveE5wREhkMUI5QUhPc1NBV2gyNG5LVE84bHRmbGxpdUlEYUVzVDQxSHpxdi94L2VSeFBvaGgzS25XWWp5amlXMlVpN2RPMVlIWnhZbFppb0FsbHc4dGpOeG5acG1mWldtbTVzd3g2cEVIc3IrdSs3TjNMRk1SNXFVRlhBWlNjakw3WE80azdzcVZqd1lWMUhYT0ZjVFlqMlRoM0VqS2xFaTUxWlh6Y0VhM1l0ZnBzNzEyZTU1L21WNVJqMlN0MTNIZWJMRWdwVE4xWDUvRUpCN08vTjlnWWovbmhCNVJXN1JlL3JKU3FBRktyVmtMUXd2VVdEV3lqTUR2WmcxcFd5UU1IYThHUHBLeGRBNmFqVTNhNHI0UDB1TWxjTWcrNGxkQ1RvSXZzSFpZY0lYNVIwMDVGc004R1dUV3JmaXk5L2xBMzd0eDVMZHkzTmZhZ2FzUXBFam1yQ0VQR1NXd1hLQkVzYmZ6clh3TmFIT0JBTEpuODd5VWVPR0hiR0ZhMmwrZmRocjhhc2oyWHJZS0Y0WG11RzV3cWRpY3VqczdKWWU4N0s2WnAyZkpQbHNIbmdiNUdMc3R3eVViMnFzcWlnSU9LbjFqYTZCSWlKdThRazdCZmFKNVBJSVpTUmRpcjk5S21qQ3d4RUJXNUl0WXhPMUh6SGNBaFU2eXhUYWpRWUdtSVZ5V2Jhb3UzYWdReGFTeHBBenI2eUFNRVFqZEZkY0pLU1RKVGVZdHV5blpDUzJ2bGQyRXNVSHV1cm1DSlJRSmpUcGIwaEtyYlJOQUh0TkphM2JwZzd0bncxdEZPNHBtOWtlaGJJeTYrS3pSaGliYXlDYWVzSVJWaVdsb2prWFRka2QxanJJUXBLdHFodU5WSFVsZHpjU015TnVJZldLcFBRbGpYcm03Vk02SUUyalVVQjNJVS9GaThkNU84Q24yVWJOdFFzNEd4UnRIK3haS2l5di9XMXRtSkh1MlZ3eEdGeVRwcFJhdEFlRFltRklrS1ZaY3ZzWkltYVZIdWJMTVBUdWRvV1R3ckNtZ0tOVzcxWVJ4TTQ3N1NQQ29hR3VycUpQZU84eUc4Snk2YmkvOTdWVGpZMlZpR1BzZEdzK1N4QS9VVUoxWEhmSDlFYzE2RmxjcVhTdE5nTzlzOEl6eWptWHR3Wkt3eGE1dDliUjQvcUkrTGxNMmI5ZjhDWHgvT0F6MnRrSmhEc0RvSXJleHF6RTFhRVN1S1EvaGpuU3RvTS8wWGRnY0NYWFB5bzNDZzJlNld6RVJ5VVE1c2lqRzQycFlTV2VHbGcrd0NPd0FzQm8vV2hGMXdvaU15eGE3SWptSVhTUUJFQmh3bFo5WnRxQ2VMQ3hKVUVkTkhZY2RoWHYwRy9YZmd1bVVLQU9HYmp1TndsbHZjWXg3aDE1RDNQRW1xYlM5V0lWSEh1blNiMEY1R1FLWUVSL0JRcnMwdDdScHZMS1BSbG0rN2VoK2ZRcmlXOFBaMmlUdS9acGd1Z2tJT2FQTlpwTEVDemJFcVBSVnBHNC9kUjlvTFFnMFpDa2NVRWZtSHRiTjlqQmZDaVFQUVhNUTVNTGxIeHF4dGIrVEpONm8xVVY5cUZXRlRYYTNWYlEwM1hWNm81SG51bzlqWnBncURoZXA0eUVqdEpMRkhUaFJnVWZmbnl0QVNLellmejd2VTVtMm8wS1Y2Wk00VDNIUGYrVUQwOExaUTVNblVGQXF0dUIzQUFBM3JjWnd5OWxDQVRuQXpQVitHYWxraVJjWnVZRlpKM2diM1FhNXJLSURPY25iN1JhOHlDVnE3NXhUYXlDckQ5RDl0TzZMM28zZ3VHNGhkbmN1VjI0MjdoSWV5MnI5YVpsQVM4ZDhvMHJqV2pJQTY5bkEwdXdNdWxjcno3QTFsRGF0YzdjZStsa2VUM2pJWGtvdXp4NmpHUEc5UnlzOU5CL0NLRi9Nc29EV0ZVaGhtYkp6S3ZpOElwY2p0T1NrZlBNeW8vTlZzdlY4eG9nTy9aSzg4OUZqQ1UzQi9Bc2ZJUHp3R2x0aUhVWGpnTlE0UGZzNGM0Wms0aEdzWnlYOWt3RitnNDdoV0NlRHAyZzBxbUVoVy9vT0luYytrM2EvQ2ZyeEgwWmtqSmdpa3Z4QVZCNVNOMHV5Z2Q4U01DZVc2ZEtJL2pFQ0tldlFENSthSU5Rck13bjFjOXZHWFlKYmhndGFqbUg0Tk1EU1p2RThJS0YxbmN3K0hxTVpXQ1B3NldWQ1pGMUZTZ3JURDhrMTRERkhoNXJ0WENMQysvdlo5WHNnS21oaHZYSUgzTDRia29LT1BYY3VyWTNiZ1hvMTgvVWttVzF3bXFXTTE4dGZ2MDNzUENDYVE0ZXVYbXJDZ0lLNWRxbEo1Vy9kdk9iN2dUTmE0RjVLQVlVTnhTQlJSa0J1ZEpUbmZrelN0WGQxWnVVdmd6cmRjYUhnK2RDS3RKdkNmcWtDdzZXRnh5NkgybVg1aGo2a2ZUMXdpOGVCUmxYZ1RJdVVJRFhoVlJUalBieFpEQXkrYVlCVTlJTU1rd0kwdzJ1djA3bHFGMkpLdC9lMGJDTWszd1hRbTk5U0lLL2lyYXRBRDVkOUpNelNBa01aNk5pU0VGWTQyNEFLbnVVOVptV0pGTmxLWXovcEZkOU1Vc0tVUnRta0VXeStBaFhIUjE4aW1MRnptS0x1UGdVSzNRa1hxZmh5N0hUemltTHNTQTFBRGE0ZU9WQ3hUR1p2VU5DcU5BUDFYZ2VLSWhkTER1cnJtbEs0SUR2dmNuY05zbjU4VTdzbVAxcUJwaFYySWFLQmk3SXZCU2g0cWtyc1I1VG1JRGVNWFA1MGdpNTRJY1hTK0xhZVkrY1pqSGZYRnEyYVMvK3YxRVNReWQ1RVFwS3hrMXVDT2F0eVJHbXNxTXhmVVVFREZNd2xyNnFDcXFWRjJaVC9jdW5id0xCc2U4Ry80aDJLbEhiaEdxekRGbmIwWlJHQU1na0xoazBTVm11MkthekE3WCs1VW1OMHpjY1FoME1ubXBZUTQ0NE9vTWNYWjVWVzhJMTljU3hscFdWdHFmdUJVTExTeG9PUy9MNVVBTmoyWDZ2VjJhc21RTUxkSGVZMFJHbnQ5NmNCMjVpeHRBUDk5a3JhMCszZGNXdlhDTmFZZzluTVBuTlNUclErbVVRYWg2ZlJlKzY5MGdxb2JjWk5KQjBuUFFPNVA1MGVDQzhnQWsxZnFOVkY3dENTZTR5cDB4b3pnNi9IemJReDk1TWU2SmY4VE0zbWtXZ3VrY0IyMTUzbEh5dTE5VThUdktXRjlZbnlQZEczTWY4NnNIVDN2cHYvdlpsK1Jndk9DWmp3QnA4RFl5SVVVZ2pHN0VJbnEyV0tuQ2ZNSzJDbkJBeTlNTkozRFZLVy9sMG1QZVh6aDV4OGNmR0VFT2swTmFWV1VoUTlYblgwbTJma0I1RzdtR2lxbGhDMXJGYmFza2p3dGhGbFBTb3FLeHhQSEpneWRkYUFIKzlaeld2TmhRbWF6ckl0MnYwdGNtQ3o2MDYyOXJqWE8vTVEzN1lwa210Z3dETjhLVVhqTXhCVGFxWnJHZE4zaEUzUmJiV1BMSVZyOTZqYjBwRXVpNU8wNUM3VWhENU5aaWVFdkdzbXJqSmhuL3FCd21ES2ljNnQ4N1VOMGJKSzM3ZTd6VzFEekw4ZjlKMU0wY2dvY0pUWTB6L2oxQm9KcVBPRTRaejdkVnZEVkd1VFpFbkVZY1grVzczRlpmSGpISHRNd2NDWTFKMGowQWIySVpQclB0YnpxZEhOSUNEL0NtcE00UGZ3SmVLMmhMSE00cTRxQU5yRHROMGd1dVRTSUpBM0JlaXM3SGtQR3pjT3lGZUtEZXJ5R3pRdXkxaytKTmtwZFBEVHc0aUZ5OG5qUVBVZGhEU0JLaUhWNDhOSUdOWkFZMkd6RWlaUjhRd2pJcWgydUdENkE5UkNXTTBUUjJwK0FNSFdOaEhqL3o1cElJbklReUdld2Mrd1hNYTl5b01HbS9uODY2bzh6cFdpSWQ3UVpPd254a0c1Z2xhU3Z3R2NMRGtNSWlHSk1XM0lKMDUweVpBWDRuSC9tRXFqVnY2c3Q3aVRtOHJZem5teFAyLytKTkFVNEJXbmhmc29Pa2ZrN2VkOE5TVnBPYTFaNjZiRVNOM21FamhkZEV5UUFxQkJrMk5VajZJN25TMk5seVFLZFltMEdic2ZVR21PYk5JTk1haDB3VXhtYU4rYk5rYVRhUzNrYk12RExicHp4RkdLQnFNQ3g5ak5aVVJteDJCL2dtMG9HdTRkUUE3NlUrcDFXbVlobk0xU1luelk5b3YrZlhRcWJYQURZOHNDb2duMHMrQ3JqVis1ZU9MRTBrZHh5bm5KZGsrc3FOWmovMEZLNGRJZWtCcjVjS2Fydm5iaG1pRjhxOCtodlZlUkI1ZW5BelliUjYzS3I0WkMwWFkxRm1jV0V2OFozLzRzVTExMnFRbE9pclBlQzh5ZGdla2FHQWlZVEhZL0dOazNsMHprY0o5cU41aUxOZXVoY3B4NFlpOUpmVGVvS2VJeVlsbEFlT0ZpWWN6K3BEU2ZDNHJraFZON2ZHUzA4aHlDSldKZloxUDJORWFhUlU4RnJ2YXl4dTNlMWJjVUU2ams3VzRuTkdPMVVuWGdBNVVJam93bmJHTmlkSjg0MnU3eUtQL00rK3pya1hPOWdRanoxTEp1NUVJQVNvTnZER3kxTFJWQncwM0hXQVhjWW1wa0NXTDBCYmRMYm5tak9KakkxVWNJUGZkZGhndkovNDBQbW1aQk1nRHV0SVh0RU5ZU1JYRTlKbnYrcGpEMm5YSmZISDJPZnR1Ni9WUXBFdGhsOTV0MWNtNGFvdjBvaGVTTE5RdDZVY2MrUTRwRHFQMU5NWmQ4OE5CSVFmSHJ5NGNHU0dHWit4ODg4azBKTjRwdzk1alZpN2RNKzc5eDkxYWtzNitzYVplWnF2NUt1VHAxb0hGRnhseU9qYzhiMDBsMVFBYVQ4R0ZoT3ZNZnI4SWE0d0RoTmRVT3c1N2Z6SFQxTTJzMjJ1RHRoeDhuNThJNzBBMUNsZ2JBWkFSNG10bTFxaVV6aUtIUHBrSzFyYWhXM2Zkb0VScnM5L2wxck8vS0hlV0xicTNVK2h2K3RVd3hnanV6Y20yQTE2NmZvM2F6WStpUnp3Tk43MEF5ODI2bGtXbWwxbS8vRklIZWUrSDQvWitEY0tvZE84cW1tRnQ1TUE2UlJJWnlFdDVSZHBXSHY0QWFDczdPbmFYeGJ4NjJlNVhYeHZ4TzAvYU5ncDFRdFlOckhXNlpGSHFNamlnZlZWVGE4VHc2Y1Y2TkNwbTdOdlpmMit5UGRkaDFtaEphOG1RckNJSVBxV0RFanpRWjFKYUs0SmhXWnNqTDlveDU2Z0VlUXlCR3FBWVY5NTRxK0Q0TkFEbW04cW9IRTlYaUh4MjM1ZWtvNllSTllqQzRsNTRHelBVTEhMY0xKallZR0p2OUtjaGVtYWtGOU8vSXMvNXlnMEpFdXdGTktGdVphR3pMYmd1cEhIbllYSGZMMlJIMTVYVUk4RjVpOGxQbDMyNFIwalNWNnpVdUlnTFh1UFNqYkFzZVNpY21PZ1VSai9NRjBvZTh2bFBkb2Z3SVFjWVBaeFRkTFVLWHpha2t5dkFQVWlrMXdTeC9ybmhHODdaWXVjc2JCUjlLeVU2MFl1UTBsYUk0MWt5c0x5YytoRlRlQ3FiM3NKT2tFa3d1MExwTUphVElLb0NrcjNiMzVFWEhyc2Z1WE9YZXp2dEpqYVhtd0RzSTJqMWZOdmxRYnNQTHdxNEZHNFo5QnExR2lscmpiT25mVXc1eVgwRzczNEk2U3hFSitzRXQ4K2EvOGEzdWN3ZjEyYm5jd0xwUUcxTFhmQmtqS0JWaG4xc3ZBdUJ1cmdla01PUjVGQlAxZWZlbzlrWUVQWXMyMG5PU0NMU0NGTnhWSklVdVZkRjJOV3cwSE1BbVRtbWVuODc1ZWdPVTVrbEVEcDluZmFwR2tJeGNXc0FNZXh1OEZSVWtwRDRiUWQ1b2sxNmRHZTcwNk0rbkFhV1lQNXVQVDdRMUpyb1RaMkxJTmQvMFpJYWpZU090TjRxVDlZbytGdDdKeHdCZGNkVis3ZWErakpWUk9zaC9UR2VKN1krSHdnUGxvbEcxb2VES3ZpT2l5ZDJqbGpvOTJzL3VYWUxvSzUybDJoOW8vcjR5eUQrYW1aT2JycGRwQXduWWFvNHR1eHZKa01Pb3k2dHhoZUFQR0JUVTBiSW9wVE01VGtkSDRFVFpUaElFdWpZamZHamVDR3QwZEd5ZVROWC9PMDNKQWY3UG1vVmlGT0lRMjA2YmppL0J6dWExU2ZnMzIzb3NaZHRzd2doTnlWRDFrQU9IS05xWDNrSWptVCszZmtkeDhmTkRRTFVlYndPckxudDkrbnYzZ0dVL3VPWVdyTjlwNDlHSG9UMC91OWJXNDY4czdpcTdna2t0YzhGVEMzOUYxMWNqdXVpdVlId0gvTzNQMTRjK0x1OVlpWFJrSzV4VnRtQi9la1RPOHVHNmtkOTJpcEg4ckd2cVNlZ08zejlqWWtPOWR2cjZ6YnZ2YTFaWTNCZ0krMEMrbktUUklOblNrcUhnbVZ4R2xqdHlnTy82MmRoaHVReEEyR1dsZ21POTNOOE5jYW9vTXNxWkdsY1NvWDZxeUFpVi9JT1Vsa2NFcmpGb2Z4eXJoZ1pnaVFrNnJEYjNVbGY3aEI1NVZRNXBVQ3NZcjFLc2xzb29pU2k5U1VmSi9sK0Y5Y3pXQis0VVpnYjFLYlNMQXRYQkIydkhBc0Ewd0JqdERVUk90NTdJOS9NTjNqd2hBVVI4b25oMXNob0JDUnZncWtRNHFIV1Q3R1AzcUFNYlNWRTJEOUhIV3R2aFRkcTZtWmhvZTl6YWRLQ3ZvTk03TFVLWkJxTjJkdklvVTZaRGRDaGRaYUZ0UDdsQXA1QStXdWljNlBuc2dESVdIbTdlQlBQSEF3MlU0bTdqZWNVY0dyZFk0N3g2cVFlOHAxQlBXUUFEc3FSWFJTKys5SU9jclJKVTYrTnZTL1lPNFZsNUtpcWg4a1psZWpFQlVpeDJvRDlSMlQva3FRODd6OXYzWjl4cldWVFpIVXlCcTZjYXRFT2RWSTJWZW1wcFF1dTI0bEk4cncwN0Z6dlVZM2IydUNDNTU3UnJheGttclZpQ2hTRXFpbitjVjZNTVlzT2s4eDNoTHdFRThmWjNLc3JwdURFczB6ZUtuQXVxQjZzaWJDVWo0c3BVYzVjWFNEcnZmT05qdER5NDN4VnRQZGxIOVRISXZsTGkva2tYMnFPMWVUeXAzYUtRYVZJb0JrbjdiUUNZQTNEajA0RWFBYm9aTEVsOEpta1prV1ZUVkVHQjFvVzJIUkRhTldYRTFoNTYreE5TakVPcjBGM0E0dzhuVzZSUU93WmJjYk9KRXhZaFE1TngyUXlVR0tYeWp4K1FpOFVlU0hSWT0iLAogICJ0ZW1wbGF0ZXMiOiB7CiAgICAicGFydGlhbDpjb2dpdG8tZ2VvIjogewogICAgICAib2Zmc2V0IjogMCwKICAgICAgImxlbmd0aCI6IDM2MDAsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6Y29naXRvLWdvZGQiOiB7CiAgICAgICJvZmZzZXQiOiAzNjAwLAogICAgICAibGVuZ3RoIjogOTc4LAogICAgICAidHlwZSI6ICJwYXJ0aWFsIgogICAgfSwKICAgICJwYXJ0aWFsOmNvZ2l0by1ncmFtbWFyIjogewogICAgICAib2Zmc2V0IjogNDU3OCwKICAgICAgImxlbmd0aCI6IDM1OTksCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6Y29naXRvLXBhcnRpY2xlIjogewogICAgICAib2Zmc2V0IjogODE3NywKICAgICAgImxlbmd0aCI6IDEyNzAsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6Y29naXRvLXJvb3QtYWkiOiB7CiAgICAgICJvZmZzZXQiOiA5NDQ3LAogICAgICAibGVuZ3RoIjogMzc2OSwKICAgICAgInR5cGUiOiAicGFydGlhbCIKICAgIH0sCiAgICAicGFydGlhbDpjb2dpdG8tcm9vdC1hcmNoIjogewogICAgICAib2Zmc2V0IjogMTMyMTYsCiAgICAgICJsZW5ndGgiOiAzNzE4LAogICAgICAidHlwZSI6ICJwYXJ0aWFsIgogICAgfSwKICAgICJwYXJ0aWFsOmNvZ2l0by1yb290LWNvcmUiOiB7CiAgICAgICJvZmZzZXQiOiAxNjkzNCwKICAgICAgImxlbmd0aCI6IDI3NTAsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6Y29naXRvLXJvb3QtZGFpbHkiOiB7CiAgICAgICJvZmZzZXQiOiAxOTY4NCwKICAgICAgImxlbmd0aCI6IDI0NjIsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6Y29naXRvLXJvb3QtZGV2IjogewogICAgICAib2Zmc2V0IjogMjIxNDYsCiAgICAgICJsZW5ndGgiOiAzMjcyLAogICAgICAidHlwZSI6ICJwYXJ0aWFsIgogICAgfSwKICAgICJwYXJ0aWFsOmNvZ2l0by1yb290LWRldm9wcyI6IHsKICAgICAgIm9mZnNldCI6IDI1NDE4LAogICAgICAibGVuZ3RoIjogMzIzOSwKICAgICAgInR5cGUiOiAicGFydGlhbCIKICAgIH0sCiAgICAicGFydGlhbDpjb2dpdG8tcm9vdC1mcmFtZXdvcmsiOiB7CiAgICAgICJvZmZzZXQiOiAyODY1NywKICAgICAgImxlbmd0aCI6IDMzNjQsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6Y29naXRvLXJvb3QtbGFuZyI6IHsKICAgICAgIm9mZnNldCI6IDMyMDIxLAogICAgICAibGVuZ3RoIjogMzMxMiwKICAgICAgInR5cGUiOiAicGFydGlhbCIKICAgIH0sCiAgICAicGFydGlhbDpnb2RkLWNvcmUiOiB7CiAgICAgICJvZmZzZXQiOiAzNTMzMywKICAgICAgImxlbmd0aCI6IDMwNjIsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6cHJvamVjdC1jb250ZXh0IjogewogICAgICAib2Zmc2V0IjogMzgzOTUsCiAgICAgICJsZW5ndGgiOiAxNjk0LAogICAgICAidHlwZSI6ICJwYXJ0aWFsIgogICAgfSwKICAgICJwYXJ0aWFsOnJlcS1nYXRlLWNoZWNrIjogewogICAgICAib2Zmc2V0IjogNDAwODksCiAgICAgICJsZW5ndGgiOiAyNTU2LAogICAgICAidHlwZSI6ICJwYXJ0aWFsIgogICAgfSwKICAgICJwYXJ0aWFsOnJlcS1oYXJuZXNzLWNvcmUiOiB7CiAgICAgICJvZmZzZXQiOiA0MjY0NSwKICAgICAgImxlbmd0aCI6IDI1MTgsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6cmVxLWp0YmQtbWFzdGVyIjogewogICAgICAib2Zmc2V0IjogNDUxNjMsCiAgICAgICJsZW5ndGgiOiAxMDYwLAogICAgICAidHlwZSI6ICJwYXJ0aWFsIgogICAgfSwKICAgICJwYXJ0aWFsOnJlcS1waGFzZS1mbG93IjogewogICAgICAib2Zmc2V0IjogNDYyMjMsCiAgICAgICJsZW5ndGgiOiAxNDA1LAogICAgICAidHlwZSI6ICJwYXJ0aWFsIgogICAgfSwKICAgICJwYXJ0aWFsOnJlcS1waGFzZS1vdmVydmlldyI6IHsKICAgICAgIm9mZnNldCI6IDQ3NjI4LAogICAgICAibGVuZ3RoIjogOTM2LAogICAgICAidHlwZSI6ICJwYXJ0aWFsIgogICAgfSwKICAgICJwYXJ0aWFsOnJlcS1waGFzZS1xdWVzdGlvbnMiOiB7CiAgICAgICJvZmZzZXQiOiA0ODU2NCwKICAgICAgImxlbmd0aCI6IDE2NTAsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6cmVxLXBoYXNlLXJlcXVpcmVtZW50cyI6IHsKICAgICAgIm9mZnNldCI6IDUwMjE0LAogICAgICAibGVuZ3RoIjogMjE2OSwKICAgICAgInR5cGUiOiAicGFydGlhbCIKICAgIH0sCiAgICAicGFydGlhbDpyZXEtc3RvcnktZm9ybSI6IHsKICAgICAgIm9mZnNldCI6IDUyMzgzLAogICAgICAibGVuZ3RoIjogODMyLAogICAgICAidHlwZSI6ICJwYXJ0aWFsIgogICAgfSwKICAgICJwYXJ0aWFsOnJlcS10cmFjZWFiaWxpdHkiOiB7CiAgICAgICJvZmZzZXQiOiA1MzIxNSwKICAgICAgImxlbmd0aCI6IDEwOTUsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6c3NvdC1oZWFkZXIiOiB7CiAgICAgICJvZmZzZXQiOiA1NDMxMCwKICAgICAgImxlbmd0aCI6IDE2ODgsCiAgICAgICJ0eXBlIjogInBhcnRpYWwiCiAgICB9LAogICAgInBhcnRpYWw6c3NvdC1ydWxlcyI6IHsKICAgICAgIm9mZnNldCI6IDU1OTk4LAogICAgICAibGVuZ3RoIjogMTYzNiwKICAgICAgInR5cGUiOiAicGFydGlhbCIKICAgIH0sCiAgICAicHJvbXB0OmFkciI6IHsKICAgICAgIm9mZnNldCI6IDU3NjM0LAogICAgICAibGVuZ3RoIjogMTM0NywKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6YWdlbnQtZGV2LXdvcmtmbG93IjogewogICAgICAib2Zmc2V0IjogNTg5ODEsCiAgICAgICJsZW5ndGgiOiAxNzc0LAogICAgICAidHlwZSI6ICJwcm9tcHQiCiAgICB9LAogICAgInByb21wdDphbmFseXplLXJlcG9ydCI6IHsKICAgICAgIm9mZnNldCI6IDYwNzU1LAogICAgICAibGVuZ3RoIjogNzE0LAogICAgICAidHlwZSI6ICJwcm9tcHQiCiAgICB9LAogICAgInByb21wdDphdXRvLWRvY3VtZW50YXRpb24iOiB7CiAgICAgICJvZmZzZXQiOiA2MTQ2OSwKICAgICAgImxlbmd0aCI6IDE0MDAsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0OmNoZWNrIjogewogICAgICAib2Zmc2V0IjogNjI4NjksCiAgICAgICJsZW5ndGgiOiAxOTE0LAogICAgICAidHlwZSI6ICJwcm9tcHQiCiAgICB9LAogICAgInByb21wdDpjb21taXQiOiB7CiAgICAgICJvZmZzZXQiOiA2NDc4MywKICAgICAgImxlbmd0aCI6IDM0NDksCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0OmRldiI6IHsKICAgICAgIm9mZnNldCI6IDY4MjMyLAogICAgICAibGVuZ3RoIjogNTk2MiwKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6ZG9jcy1pbml0IjogewogICAgICAib2Zmc2V0IjogNzQxOTQsCiAgICAgICJsZW5ndGgiOiA2Nzc1LAogICAgICAidHlwZSI6ICJwcm9tcHQiCiAgICB9LAogICAgInByb21wdDpkb2NzLXVwZGF0ZSI6IHsKICAgICAgIm9mZnNldCI6IDgwOTY5LAogICAgICAibGVuZ3RoIjogMjE0MSwKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6Z2l0LXdvcmtmbG93IjogewogICAgICAib2Zmc2V0IjogODMxMTAsCiAgICAgICJsZW5ndGgiOiA0MjUyLAogICAgICAidHlwZSI6ICJwcm9tcHQiCiAgICB9LAogICAgInByb21wdDppbXBhY3QtYW5hbHlzaXMiOiB7CiAgICAgICJvZmZzZXQiOiA4NzM2MiwKICAgICAgImxlbmd0aCI6IDE1MTQsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0Omluc3RhbGwiOiB7CiAgICAgICJvZmZzZXQiOiA4ODg3NiwKICAgICAgImxlbmd0aCI6IDEyOTgsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0Om5ldy1icmFuY2giOiB7CiAgICAgICJvZmZzZXQiOiA5MDE3NCwKICAgICAgImxlbmd0aCI6IDIzNDQsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0Om5vdGVzLWRlcGxveSI6IHsKICAgICAgIm9mZnNldCI6IDkyNTE4LAogICAgICAibGVuZ3RoIjogMzg2MywKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6bm90ZXMtaW5pdCI6IHsKICAgICAgIm9mZnNldCI6IDk2MzgxLAogICAgICAibGVuZ3RoIjogMTUzOCwKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6cHItYW5hbHl6ZSI6IHsKICAgICAgIm9mZnNldCI6IDk3OTE5LAogICAgICAibGVuZ3RoIjogMTczMCwKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6cHItY3JlYXRlIjogewogICAgICAib2Zmc2V0IjogOTk2NDksCiAgICAgICJsZW5ndGgiOiA0NTU4LAogICAgICAidHlwZSI6ICJwcm9tcHQiCiAgICB9LAogICAgInByb21wdDpwdXNoLWV4ZWN1dGUiOiB7CiAgICAgICJvZmZzZXQiOiAxMDQyMDcsCiAgICAgICJsZW5ndGgiOiAzMzQxLAogICAgICAidHlwZSI6ICJwcm9tcHQiCiAgICB9LAogICAgInByb21wdDpwdXNoIjogewogICAgICAib2Zmc2V0IjogMTA3NTQ4LAogICAgICAibGVuZ3RoIjogNzA5LAogICAgICAidHlwZSI6ICJwcm9tcHQiCiAgICB9LAogICAgInByb21wdDpyZWxlYXNlLW5vdGVzIjogewogICAgICAib2Zmc2V0IjogMTA4MjU3LAogICAgICAibGVuZ3RoIjogMTM5OSwKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6cmVxdWlyZW1lbnRzLXRvLWJ1c2luZXNzLWZsb3ciOiB7CiAgICAgICJvZmZzZXQiOiAxMDk2NTYsCiAgICAgICJsZW5ndGgiOiA2MTYsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0OnJlcXVpcmVtZW50cy10by10aWNrZXRzIjogewogICAgICAib2Zmc2V0IjogMTEwMjcyLAogICAgICAibGVuZ3RoIjogNjgwLAogICAgICAidHlwZSI6ICJwcm9tcHQiCiAgICB9LAogICAgInByb21wdDpyZXF1aXJlbWVudHMiOiB7CiAgICAgICJvZmZzZXQiOiAxMTA5NTIsCiAgICAgICJsZW5ndGgiOiA4MTcsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0OnJldmlldyI6IHsKICAgICAgIm9mZnNldCI6IDExMTc2OSwKICAgICAgImxlbmd0aCI6IDQ1NDgsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0OnNldHVwIjogewogICAgICAib2Zmc2V0IjogMTE2MzE3LAogICAgICAibGVuZ3RoIjogNjcxNiwKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6c3BlYyI6IHsKICAgICAgIm9mZnNldCI6IDEyMzAzMywKICAgICAgImxlbmd0aCI6IDE1MjAsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0OnNwZWNpZmljYXRpb24tdG8tdGlja2V0cyI6IHsKICAgICAgIm9mZnNldCI6IDEyNDU1MywKICAgICAgImxlbmd0aCI6IDcxNiwKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6c3VibWl0IjogewogICAgICAib2Zmc2V0IjogMTI1MjY5LAogICAgICAibGVuZ3RoIjogNDUwMSwKICAgICAgInR5cGUiOiAicHJvbXB0IgogICAgfSwKICAgICJwcm9tcHQ6c3luYyI6IHsKICAgICAgIm9mZnNldCI6IDEyOTc3MCwKICAgICAgImxlbmd0aCI6IDI2OTAsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAicHJvbXB0OnRlc3QtcGxhbiI6IHsKICAgICAgIm9mZnNldCI6IDEzMjQ2MCwKICAgICAgImxlbmd0aCI6IDE4NjIsCiAgICAgICJ0eXBlIjogInByb21wdCIKICAgIH0sCiAgICAibWluZHNldDphZ2VudC1zdGRpbyI6IHsKICAgICAgIm9mZnNldCI6IDEzNDMyMiwKICAgICAgImxlbmd0aCI6IDE5NTksCiAgICAgICJ0eXBlIjogIm1pbmRzZXQiCiAgICB9LAogICAgIm1pbmRzZXQ6ZGFydCI6IHsKICAgICAgIm9mZnNldCI6IDEzNjI4MSwKICAgICAgImxlbmd0aCI6IDIxMjAsCiAgICAgICJ0eXBlIjogIm1pbmRzZXQiCiAgICB9LAogICAgIm1pbmRzZXQ6ZGRkLWNsZWFuLWFyY2hpdGVjdHVyZSI6IHsKICAgICAgIm9mZnNldCI6IDEzODQwMSwKICAgICAgImxlbmd0aCI6IDI0MTEsCiAgICAgICJ0eXBlIjogIm1pbmRzZXQiCiAgICB9LAogICAgIm1pbmRzZXQ6ZWxlY3Ryb24iOiB7CiAgICAgICJvZmZzZXQiOiAxNDA4MTIsCiAgICAgICJsZW5ndGgiOiAxNTEyLAogICAgICAidHlwZSI6ICJtaW5kc2V0IgogICAgfSwKICAgICJtaW5kc2V0OmZhc3RhcGkiOiB7CiAgICAgICJvZmZzZXQiOiAxNDIzMjQsCiAgICAgICJsZW5ndGgiOiAxNjQ4LAogICAgICAidHlwZSI6ICJtaW5kc2V0IgogICAgfSwKICAgICJtaW5kc2V0OmZsdXR0ZXIiOiB7CiAgICAgICJvZmZzZXQiOiAxNDM5NzIsCiAgICAgICJsZW5ndGgiOiAyODg4LAogICAgICAidHlwZSI6ICJtaW5kc2V0IgogICAgfSwKICAgICJtaW5kc2V0OmtvdGxpbiI6IHsKICAgICAgIm9mZnNldCI6IDE0Njg2MCwKICAgICAgImxlbmd0aCI6IDI3MTMsCiAgICAgICJ0eXBlIjogIm1pbmRzZXQiCiAgICB9LAogICAgIm1pbmRzZXQ6cG9zdGdyZXNxbCI6IHsKICAgICAgIm9mZnNldCI6IDE0OTU3MywKICAgICAgImxlbmd0aCI6IDE0NjIsCiAgICAgICJ0eXBlIjogIm1pbmRzZXQiCiAgICB9LAogICAgIm1pbmRzZXQ6cHl0aG9uIjogewogICAgICAib2Zmc2V0IjogMTUxMDM1LAogICAgICAibGVuZ3RoIjogMTQ4NywKICAgICAgInR5cGUiOiAibWluZHNldCIKICAgIH0sCiAgICAibWluZHNldDpyZWFjdCI6IHsKICAgICAgIm9mZnNldCI6IDE1MjUyMiwKICAgICAgImxlbmd0aCI6IDI1MjMsCiAgICAgICJ0eXBlIjogIm1pbmRzZXQiCiAgICB9LAogICAgIm1pbmRzZXQ6c3dpZnQiOiB7CiAgICAgICJvZmZzZXQiOiAxNTUwNDUsCiAgICAgICJsZW5ndGgiOiAyNTcyLAogICAgICAidHlwZSI6ICJtaW5kc2V0IgogICAgfSwKICAgICJtaW5kc2V0OnRlcnJhZm9ybSI6IHsKICAgICAgIm9mZnNldCI6IDE1NzYxNywKICAgICAgImxlbmd0aCI6IDE4NzQsCiAgICAgICJ0eXBlIjogIm1pbmRzZXQiCiAgICB9LAogICAgIm1pbmRzZXQ6dHlwZXNjcmlwdCI6IHsKICAgICAgIm9mZnNldCI6IDE1OTQ5MSwKICAgICAgImxlbmd0aCI6IDE3NTAsCiAgICAgICJ0eXBlIjogIm1pbmRzZXQiCiAgICB9LAogICAgIm1pbmRzZXQ6dml0ZSI6IHsKICAgICAgIm9mZnNldCI6IDE2MTI0MSwKICAgICAgImxlbmd0aCI6IDE1NDcsCiAgICAgICJ0eXBlIjogIm1pbmRzZXQiCiAgICB9LAogICAgImFnZW50OmFyY2hpdGVjdCI6IHsKICAgICAgIm9mZnNldCI6IDE2Mjc4OCwKICAgICAgImxlbmd0aCI6IDYwNDQsCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfSwKICAgICJhZ2VudDphdXRvLWRvY3VtZW50ZXIiOiB7CiAgICAgICJvZmZzZXQiOiAxNjg4MzIsCiAgICAgICJsZW5ndGgiOiAxMTcyLAogICAgICAidHlwZSI6ICJhZ2VudCIKICAgIH0sCiAgICAiYWdlbnQ6YmFja2VuZC1kZXZlbG9wZXIiOiB7CiAgICAgICJvZmZzZXQiOiAxNzAwMDQsCiAgICAgICJsZW5ndGgiOiA3NzIxLAogICAgICAidHlwZSI6ICJhZ2VudCIKICAgIH0sCiAgICAiYWdlbnQ6Y29kZS1yZXZpZXdlciI6IHsKICAgICAgIm9mZnNldCI6IDE3NzcyNSwKICAgICAgImxlbmd0aCI6IDEwMDAsCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfSwKICAgICJhZ2VudDpkYXRhYmFzZS1kZXZlbG9wZXIiOiB7CiAgICAgICJvZmZzZXQiOiAxNzg3MjUsCiAgICAgICJsZW5ndGgiOiAyMjcyLAogICAgICAidHlwZSI6ICJhZ2VudCIKICAgIH0sCiAgICAiYWdlbnQ6ZGVidWctc3BlY2lhbGlzdCI6IHsKICAgICAgIm9mZnNldCI6IDE4MDk5NywKICAgICAgImxlbmd0aCI6IDExNDIsCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfSwKICAgICJhZ2VudDplbnZpcm9ubWVudC1zZXR1cCI6IHsKICAgICAgIm9mZnNldCI6IDE4MjEzOSwKICAgICAgImxlbmd0aCI6IDExNDMsCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfSwKICAgICJhZ2VudDpmcm9udGVuZC1kZXZlbG9wZXIiOiB7CiAgICAgICJvZmZzZXQiOiAxODMyODIsCiAgICAgICJsZW5ndGgiOiAxODE2LAogICAgICAidHlwZSI6ICJhZ2VudCIKICAgIH0sCiAgICAiYWdlbnQ6aW50ZWdyYXRpb24tcWEiOiB7CiAgICAgICJvZmZzZXQiOiAxODUwOTgsCiAgICAgICJsZW5ndGgiOiA4MDAsCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfSwKICAgICJhZ2VudDpwZXJmb3JtYW5jZS1xYSI6IHsKICAgICAgIm9mZnNldCI6IDE4NTg5OCwKICAgICAgImxlbmd0aCI6IDgxNCwKICAgICAgInR5cGUiOiAiYWdlbnQiCiAgICB9LAogICAgImFnZW50OnByLXdyaXRlciI6IHsKICAgICAgIm9mZnNldCI6IDE4NjcxMiwKICAgICAgImxlbmd0aCI6IDE3MjUsCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfSwKICAgICJhZ2VudDpxdWFsaXR5LWxlYWQiOiB7CiAgICAgICJvZmZzZXQiOiAxODg0MzcsCiAgICAgICJsZW5ndGgiOiA3OTUsCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfSwKICAgICJhZ2VudDpyZXF1aXJlbWVudHMtYW5hbHlzdCI6IHsKICAgICAgIm9mZnNldCI6IDE4OTIzMiwKICAgICAgImxlbmd0aCI6IDcxOSwKICAgICAgInR5cGUiOiAiYWdlbnQiCiAgICB9LAogICAgImFnZW50OnNlY3VyaXR5LWFuYWx5c3QiOiB7CiAgICAgICJvZmZzZXQiOiAxODk5NTEsCiAgICAgICJsZW5ndGgiOiA1MDQsCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfSwKICAgICJhZ2VudDpzZWN1cml0eS1yZXZpZXdlciI6IHsKICAgICAgIm9mZnNldCI6IDE5MDQ1NSwKICAgICAgImxlbmd0aCI6IDQ3OCwKICAgICAgInR5cGUiOiAiYWdlbnQiCiAgICB9LAogICAgImFnZW50OnNzb3QtdXBkYXRlciI6IHsKICAgICAgIm9mZnNldCI6IDE5MDkzMywKICAgICAgImxlbmd0aCI6IDE1MjksCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfSwKICAgICJhZ2VudDp0ZWNobmljYWwtd3JpdGVyIjogewogICAgICAib2Zmc2V0IjogMTkyNDYyLAogICAgICAibGVuZ3RoIjogNjU0LAogICAgICAidHlwZSI6ICJhZ2VudCIKICAgIH0sCiAgICAiYWdlbnQ6dW5pdC10ZXN0LWVuZ2luZWVyIjogewogICAgICAib2Zmc2V0IjogMTkzMTE2LAogICAgICAibGVuZ3RoIjogNDc5LAogICAgICAidHlwZSI6ICJhZ2VudCIKICAgIH0sCiAgICAiYWdlbnQ6dXNlci1jbG9uZSI6IHsKICAgICAgIm9mZnNldCI6IDE5MzU5NSwKICAgICAgImxlbmd0aCI6IDIwMDQsCiAgICAgICJ0eXBlIjogImFnZW50IgogICAgfQogIH0KfQ=="}';if(!t||t==="{}")return!1;let r;try{r=JSON.parse(t)}catch(n){return console.error(`[GoDD] EMBEDDED_BUNDLES \u306E JSON \u30D1\u30FC\u30B9\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${lt(n)}`),!1}for(let[n,o]of Object.entries(r)){let i=Buffer.from(o,"base64").toString("utf-8");await lM(i,e)}return!0}var pM=m.object({valid:m.literal(!0),license_id:m.string().uuid(),expires_at:m.string().nullable().optional().default(null)});async function jk(e){let t=`${e.registry_url}/v1/auth/validate`,r=await fetch(t,{method:"POST",headers:{Authorization:`Bearer ${e.license_key}`},signal:AbortSignal.timeout(1e4)});if(!r.ok)throw new Error(`Registry API \u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${r.status} ${r.statusText}`);let n=await r.text(),o;try{o=JSON.parse(n)}catch{throw new Error(`Registry API \u306E\u30EC\u30B9\u30DD\u30F3\u30B9\u304C\u4E0D\u6B63\u306A JSON \u3067\u3059: ${n.slice(0,200)}`)}let i=pM.safeParse(o);if(!i.success)throw new Error(`Registry API \u306E\u30EC\u30B9\u30DD\u30F3\u30B9\u304C\u30B9\u30AD\u30FC\u30DE\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093: ${i.error.message}`);return i.data}var Mk=m.object({version:m.number(),salt:m.string(),iv:m.string(),tag:m.string(),data:m.string(),templates:m.record(m.object({type:m.string()}))});async function Lk(e,t){let r=e.components??[];if(r.length===0)return null;let n=new URLSearchParams({components:r.join(","),language:e.language}),o=`${e.registry_url}/v1/bundle?${n.toString()}`,i={Authorization:`Bearer ${e.license_key}`};t&&(i["If-None-Match"]=`"${t}"`);let s=await fetch(o,{headers:i,signal:AbortSignal.timeout(1e4)});if(s.status===304)return null;if(!s.ok){let d=await s.text();throw new Error(`Registry API \u30D0\u30F3\u30C9\u30EB\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${s.status} \u2014 ${d}`)}let a=await s.text(),c;try{c=JSON.parse(a)}catch{throw new Error(`Registry API \u306E\u30D0\u30F3\u30C9\u30EB\u30EC\u30B9\u30DD\u30F3\u30B9\u304C\u4E0D\u6B63\u306A JSON \u3067\u3059: ${a.slice(0,200)}`)}let u=Mk.safeParse(c);if(!u.success)throw new Error(`Registry API \u306E\u30D0\u30F3\u30C9\u30EB\u30EC\u30B9\u30DD\u30F3\u30B9\u304C\u30B9\u30AD\u30FC\u30DE\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093: ${u.error.message}`);let p=u.data,l=s.headers.get("ETag")?.replace(/"/g,"")??"";return{bundle:p,etag:l}}async function Th(e,t){let{pbkdf2:r,createDecipheriv:n}=await import("node:crypto"),o=Buffer.from(e.salt,"hex"),i=Buffer.from(e.iv,"hex"),s=Buffer.from(e.tag,"hex"),a=Buffer.from(e.data,"base64"),c=await new Promise((l,d)=>{r(t,o,1e5,32,"sha256",(h,f)=>{h?d(h):l(f)})}),u=n("aes-256-gcm",c,i);u.setAuthTag(s);let p=Buffer.concat([u.update(a),u.final()]);try{return JSON.parse(p.toString("utf-8"))}catch(l){throw new Error(`Registry API \u30D0\u30F3\u30C9\u30EB\u306E\u5FA9\u53F7\u7D50\u679C\u304C\u4E0D\u6B63\u306A JSON \u3067\u3059: ${lt(l)}`)}}async function Ac(e,t){let r=Mk.parse(JSON.parse(e));return Th(r,t)}import{createHash as dM,createCipheriv as fM,createDecipheriv as hM,randomBytes as Zk,pbkdf2 as mM}from"node:crypto";import{existsSync as $h,mkdirSync as gM,readFileSync as qk,writeFileSync as Fk}from"node:fs";import{homedir as _M}from"node:os";import{join as Wi}from"node:path";var yM=600*60*1e3;function Uk(){let e=process.env.HOME??process.env.USERPROFILE??_M(),t=Wi(e,".godd","cache");return $h(t)||gM(t,{recursive:!0}),t}function Bk(e,t){let r=`${[...e].sort().join(",")}_${t}`;return dM("sha256").update(r).digest("hex").slice(0,16)}function Vk(e,t){return new Promise((r,n)=>{mM(e,t,5e4,32,"sha256",(o,i)=>{o?n(o):r(i)})})}async function vM(e,t){let r=Zk(32),n=await Vk(t,r),o=Zk(12),i=fM("aes-256-gcm",n,o),s=Buffer.concat([i.update(e),i.final()]),a=i.getAuthTag();return Buffer.concat([r,o,a,s])}async function xM(e,t){let r=e.subarray(0,32),n=e.subarray(32,44),o=e.subarray(44,60),i=e.subarray(60),s=await Vk(t,r),a=hM("aes-256-gcm",s,n);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()])}async function Hk(e,t,r,n,o){let i=Uk(),s=Bk(r,n),a=await vM(Buffer.from(e,"utf-8"),o);Fk(Wi(i,`bundle-${s}.enc`),a);let c={etag:t,timestamp:Date.now(),components:r,language:n,profileHash:s};Fk(Wi(i,"meta.json"),JSON.stringify(c,null,2),"utf-8")}async function Gk(e,t,r){let n=Uk(),o=Wi(n,"meta.json");if(!$h(o))return null;let i;try{i=JSON.parse(qk(o,"utf-8"))}catch{return null}let s=Bk(e,t);if(i.profileHash!==s)return null;let a=Wi(n,`bundle-${s}.enc`);if(!$h(a))return null;try{let c=qk(a);return{data:(await xM(c,r)).toString("utf-8"),etag:i.etag,isExpired:Date.now()-i.timestamp>yM}}catch{return null}}function Ji(e){for(let[t,r]of Object.entries(e.partials))Rc(t,r);for(let[t,r]of Object.entries(e.prompts))So(`prompt:${t}`,r);for(let[t,r]of Object.entries(e.agents))So(`agent:${t}`,r);for(let[t,r]of Object.entries(e.mindsets))So(`mindset:${t}`,r)}async function Kk(e){let t=e.components??[];if(t.length===0)return null;let r=await Gk(t,e.language,e.license_key),n=!1;if(r&&!r.isExpired){console.error("[GoDD] \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u30AD\u30E3\u30C3\u30B7\u30E5\u304B\u3089\u30ED\u30FC\u30C9\u3057\u307E\u3057\u305F");try{let o=await Ac(r.data,e.license_key);return Ji(o),o}catch{n=!0,console.error("[GoDD] \u30AD\u30E3\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u306E\u5FA9\u53F7\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002Registry API \u304B\u3089\u518D\u30D5\u30A7\u30C3\u30C1\u3057\u307E\u3059")}}try{let o=await Lk(e,r?.etag);if(o===null&&r&&!n){console.error("[GoDD] \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306F\u30AD\u30E3\u30C3\u30B7\u30E5\u3068\u540C\u4E00\u3067\u3059\uFF08304\uFF09");try{let i=await Ac(r.data,e.license_key);return Ji(i),i}catch{n=!0,console.error("[GoDD] 304 \u30AD\u30E3\u30C3\u30B7\u30E5\u30C7\u30FC\u30BF\u306E\u5FA9\u53F7\u306B\u5931\u6557\u3057\u307E\u3057\u305F")}}if(o){let i=await Th(o.bundle,e.license_key);Ji(i);let s=JSON.stringify(o.bundle);return await Hk(s,o.etag,t,e.language,e.license_key),console.error("[GoDD] \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092 Registry API \u304B\u3089\u30D5\u30A7\u30C3\u30C1\u3057\u307E\u3057\u305F"),i}}catch(o){console.error(`[GoDD] Registry API \u3078\u306E\u63A5\u7D9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${lt(o)}`)}if(r&&!n){console.error("[GoDD] \u8B66\u544A: \u671F\u9650\u5207\u308C\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\uFF08Registry API \u5230\u9054\u4E0D\u80FD\uFF09");try{let o=await Ac(r.data,e.license_key);return Ji(o),o}catch{console.error("[GoDD] \u671F\u9650\u5207\u308C\u30AD\u30E3\u30C3\u30B7\u30E5\u306E\u5FA9\u53F7\u306B\u3082\u5931\u6557\u3057\u307E\u3057\u305F")}}return null}function Ph(e){console.error(`[GoDD] \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${e}`),console.error("[GoDD] Registry API \u3078\u306E\u63A5\u7D9A\u3001\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u3001\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"),console.error("[GoDD] \u5E73\u6587\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u30C7\u30A3\u30B9\u30AF\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u306F G1 \u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u65B9\u91DD\u306B\u3088\u308A\u5EC3\u6B62\u3055\u308C\u3066\u3044\u307E\u3059\u3002"),process.exit(1)}import{execSync as bM}from"node:child_process";import{existsSync as kM,readFileSync as SM}from"node:fs";import{join as wM}from"node:path";function Eh(e){let t=e??process.cwd();try{let r=bM("git config --get remote.origin.url",{encoding:"utf-8",cwd:t,timeout:5e3}).trim();if(r)return r}catch{}try{let r=wM(t,".git","config");return kM(r)?SM(r,"utf-8").match(/\[remote\s+"origin"\][^[]*url\s*=\s*(.+)/)?.[1]?.trim()??null:null}catch{return null}}var Wk=3600*1e3,zh=new Map;async function Ch(e,t){let r=Eh();if(!r)throw new Error("Git \u30EA\u30E2\u30FC\u30C8 (origin) \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002godd init \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002");let n=await fetch(`${e}/v1/repos/register`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify({remote_url:r}),signal:AbortSignal.timeout(1e4)});if(!n.ok){let i=(await n.json().catch(()=>({detail:n.statusText}))).detail,s=typeof i=="string"?i:i!=null?JSON.stringify(i):n.statusText;throw new Error(`\u30EA\u30DD\u30B8\u30C8\u30EA\u691C\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${s}`)}zh.set(r,{verified:!0,verifiedAt:Date.now()})}function TM(e){if(e){let t=zh.get(e);return t?Date.now()-t.verifiedAt<Wk:!1}for(let t of zh.values())if(Date.now()-t.verifiedAt<Wk)return!0;return!1}async function Jk(e,t){let r=Eh();r&&TM(r)||await Ch(e,t)}import{existsSync as ke,readFileSync as Xk,readdirSync as Yi,statSync as Ih}from"node:fs";import{join as K,basename as PM}from"node:path";import{join as Yk,dirname as mF,resolve as gF}from"node:path";var $M=[{api:["notes","api"],app:["notes","app"]},{api:["notes-api"],app:["notes-app"]}];function Qk(e){return $M.map(t=>({apiDir:Yk(e,...t.api),appDir:Yk(e,...t.app)}))}function wo(e){try{return ke(e)?JSON.parse(Xk(e,"utf-8")):null}catch{return null}}function fr(e,t=4096){try{return ke(e)?Xk(e).subarray(0,t).toString("utf-8"):""}catch{return""}}var EM={"browser-use":{description:"Python AI \u30D6\u30E9\u30A6\u30B6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8 \u2014 Web\u30D6\u30E9\u30A6\u30B6\u3092\u81EA\u52D5\u64CD\u4F5C",runtime:"python",setupHint:"uv sync && uv run browser-use install"},"android-use":{description:"Python Android AI \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8 \u2014 Android\u7AEF\u672B\u3092ADB\u3067\u81EA\u52D5\u64CD\u4F5C",runtime:"python",setupHint:"python -m venv .venv && pip install -r requirements.txt"},"react-grab":{description:"Node.js React \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B3\u30D4\u30FC\u30C4\u30FC\u30EB \u2014 React\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30C4\u30EA\u30FC\u3092\u62BD\u51FA",runtime:"node",setupHint:"pnpm install && pnpm build"}};function zM(e){let t=K(e,"vendor");if(!ke(t))return[];let r=[];try{for(let n of Yi(t)){let o=K(t,n);if(!Ih(o).isDirectory())continue;let i=EM[n];if(i)r.push({name:n,path:o,description:i.description,runtime:i.runtime,setupHint:i.setupHint});else{let s=ke(K(o,"pyproject.toml")),a=ke(K(o,"package.json")),c=s?"python":a?"node":"unknown";r.push({name:n,path:o,description:`vendor/${n}`,runtime:c,setupHint:c==="python"?"uv sync":"pnpm install"})}}}catch{}return r}function CM(e){let t=[],r=K(e,"backend","pyproject.toml"),n=K(e,"backend","requirements.txt");if(ke(r)){let _=fr(r);_.includes("fastapi")&&t.push({id:"fastapi",label:"FastAPI",evidence:"backend/pyproject.toml \u306B fastapi \u3092\u691C\u51FA"}),_.includes("django")&&t.push({id:"django",label:"Django",evidence:"backend/pyproject.toml \u306B django \u3092\u691C\u51FA"})}else ke(n)&&fr(n).includes("fastapi")&&t.push({id:"fastapi",label:"FastAPI",evidence:"backend/requirements.txt \u306B fastapi \u3092\u691C\u51FA"});let o=wo(K(e,"frontend","package.json")),i=wo(K(e,"package.json")),s=wo(K(e,"src","package.json"));for(let[_,v]of[["frontend/package.json",o],["package.json",i],["src/package.json",s]]){if(!v)continue;let y={...v.dependencies,...v.devDependencies};y.react&&t.push({id:"react",label:"React",evidence:`${_} \u306B react \u3092\u691C\u51FA`}),y.next&&t.push({id:"nextjs",label:"Next.js",evidence:`${_} \u306B next \u3092\u691C\u51FA`}),y.vue&&t.push({id:"vue",label:"Vue.js",evidence:`${_} \u306B vue \u3092\u691C\u51FA`}),y.svelte&&t.push({id:"svelte",label:"Svelte",evidence:`${_} \u306B svelte \u3092\u691C\u51FA`}),y.electron&&t.push({id:"electron",label:"Electron",evidence:`${_} \u306B electron \u3092\u691C\u51FA`})}let a=K(e,"pubspec.yaml");if(ke(a)){let _=fr(a);t.push({id:"dart",label:"Dart",evidence:"pubspec.yaml \u3092\u691C\u51FA"}),_.includes("flutter")&&t.push({id:"flutter",label:"Flutter",evidence:"pubspec.yaml \u306B flutter \u3092\u691C\u51FA"})}let c=ke(K(e,"Package.swift")),u=K(e,"ios"),p=ke(u)&&(()=>{try{return Yi(u).some(_=>_.endsWith(".xcodeproj")||_.endsWith(".xcworkspace"))}catch{return!1}})();(c||p)&&t.push({id:"swift",label:"Swift",evidence:c?"Package.swift \u3092\u691C\u51FA":"ios/*.xcodeproj \u3092\u691C\u51FA"});let l=ke(K(e,"build.gradle.kts")),d=ke(K(e,"build.gradle")),h=K(e,"android"),f=ke(K(h,"build.gradle.kts"))||ke(K(h,"build.gradle"));(l||d||f)&&t.push({id:"kotlin",label:"Kotlin",evidence:l?"build.gradle.kts \u3092\u691C\u51FA":d?"build.gradle \u3092\u691C\u51FA":"android/build.gradle \u3092\u691C\u51FA"});let g=fr(K(e,"docker-compose.yml"));return g&&g.includes("postgres")&&t.push({id:"postgres",label:"Postgres",evidence:"docker-compose.yml \u306B postgres \u3092\u691C\u51FA"}),(ke(K(e,"prisma","schema.prisma"))||ke(K(e,"backend","prisma","schema.prisma")))&&t.push({id:"prisma",label:"Prisma",evidence:"prisma/schema.prisma \u3092\u691C\u51FA"}),t}var IM=[{id:"orval",label:"Orval",category:"frontend",description:"OpenAPI \u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u30B3\u30FC\u30C9\u81EA\u52D5\u751F\u6210",url:"https://github.com/orval-labs/orval",npmPackage:"orval",configFiles:["orval.config.ts","orval.config.js","orval.config.cjs"]},{id:"tanstack-query",label:"TanStack Query",category:"frontend",description:"\u975E\u540C\u671F\u30C7\u30FC\u30BF\u30D5\u30A7\u30C3\u30C1\u30F3\u30B0/\u30AD\u30E3\u30C3\u30B7\u30E5\u7BA1\u7406",url:"https://github.com/TanStack/query",npmPackage:"@tanstack/react-query"},{id:"vite",label:"Vite",category:"frontend",description:"\u9AD8\u901F\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u30D3\u30EB\u30C9\u30C4\u30FC\u30EB",url:"https://vitejs.dev/",npmPackage:"vite",configFiles:["vite.config.ts","vite.config.js","vite.config.mts"]},{id:"biome",label:"Biome",category:"devtool",description:"\u9AD8\u901F Linter / Formatter\uFF08Rust\u88FD\uFF09",url:"https://biomejs.dev/",npmPackage:"@biomejs/biome",configFiles:["biome.json","biome.jsonc"]},{id:"storybook",label:"Storybook",category:"frontend",description:"UI\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u958B\u767A/\u30AB\u30BF\u30ED\u30B0\u30C4\u30FC\u30EB",url:"https://storybook.js.org/",npmPackage:"storybook",configFiles:[".storybook/main.ts",".storybook/main.js"]},{id:"ruff",label:"Ruff",category:"devtool",description:"\u8D85\u9AD8\u901F Python Linter / Formatter\uFF08Rust\u88FD\uFF09",url:"https://docs.astral.sh/ruff/",pyPackage:"ruff",configFiles:["ruff.toml",".ruff.toml"]},{id:"uv",label:"uv",category:"devtool",description:"\u9AD8\u901F Python \u30D1\u30C3\u30B1\u30FC\u30B8\u30DE\u30CD\u30FC\u30B8\u30E3\uFF08Rust\u88FD\uFF09",url:"https://docs.astral.sh/uv/",configFiles:["uv.lock"]},{id:"sqlmodel",label:"SQLModel",category:"backend",description:"SQLAlchemy + Pydantic \u30D9\u30FC\u30B9\u306E Python ORM",url:"https://sqlmodel.tiangolo.com/",pyPackage:"sqlmodel"},{id:"alembic",label:"Alembic",category:"backend",description:"SQLAlchemy \u30D9\u30FC\u30B9\u306E DB \u30DE\u30A4\u30B0\u30EC\u30FC\u30B7\u30E7\u30F3\u30C4\u30FC\u30EB",url:"https://alembic.sqlalchemy.org/",pyPackage:"alembic",configFiles:["alembic.ini","backend/alembic.ini"]},{id:"fastapi-users",label:"FastAPI Users",category:"backend",description:"FastAPI \u5411\u3051\u8A8D\u8A3C/\u30E6\u30FC\u30B6\u30FC\u7BA1\u7406\u30E9\u30A4\u30D6\u30E9\u30EA",url:"https://fastapi-users.github.io/fastapi-users/",pyPackage:"fastapi-users"},{id:"pytest",label:"Pytest",category:"testing",description:"Python \u30C6\u30B9\u30C8\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",url:"https://docs.pytest.org/",pyPackage:"pytest",configFiles:["pytest.ini","pyproject.toml"]},{id:"httpx",label:"HTTPX",category:"testing",description:"Python \u975E\u540C\u671F HTTP \u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\uFF08\u30C6\u30B9\u30C8\u7528\uFF09",url:"https://www.python-httpx.org/",pyPackage:"httpx"},{id:"playwright",label:"Playwright",category:"testing",description:"\u30AF\u30ED\u30B9\u30D6\u30E9\u30A6\u30B6 E2E \u30C6\u30B9\u30C8\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",url:"https://playwright.dev/",npmPackage:"@playwright/test",pyPackage:"playwright",configFiles:["playwright.config.ts","playwright.config.js"]},{id:"docker-compose",label:"Docker Compose",category:"infra",description:"\u30DE\u30EB\u30C1\u30B3\u30F3\u30C6\u30CA\u30AA\u30FC\u30B1\u30B9\u30C8\u30EC\u30FC\u30B7\u30E7\u30F3",url:"https://docs.docker.com/compose/",configFiles:["docker-compose.yml","docker-compose.yaml","compose.yml","compose.yaml"]},{id:"caddy",label:"Caddy",category:"infra",description:"\u81EA\u52D5 HTTPS \u5BFE\u5FDC\u30EA\u30D0\u30FC\u30B9\u30D7\u30ED\u30AD\u30B7",url:"https://caddyserver.com/",configFiles:["Caddyfile"],dockerPattern:"caddy"},{id:"traefik",label:"Traefik",category:"infra",description:"\u30AF\u30E9\u30A6\u30C9\u30CD\u30A4\u30C6\u30A3\u30D6 \u30EA\u30D0\u30FC\u30B9\u30D7\u30ED\u30AD\u30B7 / \u30ED\u30FC\u30C9\u30D0\u30E9\u30F3\u30B5",url:"https://traefik.io/",configFiles:["traefik.yml","traefik.toml"],dockerPattern:"traefik"},{id:"flutter",label:"Flutter",category:"frontend",description:"\u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0 UI \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\uFF08Dart\uFF09",url:"https://flutter.dev/",configFiles:["pubspec.yaml"]},{id:"cocoapods",label:"CocoaPods",category:"devtool",description:"iOS / macOS \u4F9D\u5B58\u7BA1\u7406\u30C4\u30FC\u30EB",url:"https://cocoapods.org/",configFiles:["Podfile","ios/Podfile"]},{id:"gradle",label:"Gradle",category:"devtool",description:"Android / JVM \u30D3\u30EB\u30C9\u30C4\u30FC\u30EB",url:"https://gradle.org/",configFiles:["build.gradle.kts","build.gradle","android/build.gradle.kts","android/build.gradle"]},{id:"swiftpm",label:"Swift Package Manager",category:"devtool",description:"Swift \u30D1\u30C3\u30B1\u30FC\u30B8\u7BA1\u7406\u30FB\u30D3\u30EB\u30C9\u30C4\u30FC\u30EB",url:"https://www.swift.org/package-manager/",configFiles:["Package.swift"]},{id:"sentry",label:"Sentry",category:"monitoring",description:"\u30A8\u30E9\u30FC\u8FFD\u8DE1 / \u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u76E3\u8996",url:"https://sentry.io/",npmPackage:"@sentry/react",pyPackage:"sentry-sdk",configFiles:["sentry.properties"]}];function RM(e){let t={},r=new Map,n=[K(e,"package.json"),K(e,"frontend","package.json"),K(e,"src","package.json")];for(let o of n){let i=wo(o);if(!i)continue;let s=o.replace(e,"").replace(/^[\\/]/,""),a=i.dependencies,c=i.devDependencies;for(let[u,p]of Object.entries({...a,...c}))t[u]=p,r.set(u,s)}return{deps:t,sources:r}}function AM(e){let t=new Set,r="";for(let n of[K(e,"backend"),e]){let o=K(n,"pyproject.toml");if(ke(o)){let a=fr(o,16384).matchAll(/["']([a-zA-Z][\w.-]*)(?:\[.*?\])?(?:>=|<=|==|~=|!=|<|>)?/g);for(let c of a)t.add(c[1].toLowerCase().replace(/[-_.]+/g,"-"));r=o.replace(e,"").replace(/^[\\/]/,"");break}let i=K(n,"requirements.txt");if(ke(i)){let s=fr(i,16384);for(let a of s.split(`
|
|
98
|
+
`)){let c=a.trim();if(!c||c.startsWith("#"))continue;let u=c.match(/^([a-zA-Z][\w.-]*)/);u&&t.add(u[1].toLowerCase().replace(/[-_.]+/g,"-"))}r=i.replace(e,"").replace(/^[\\/]/,"");break}}return{deps:t,source:r}}function OM(e){let t=[],r=new Set,{deps:n,sources:o}=RM(e),{deps:i,source:s}=AM(e),a="";for(let c of["docker-compose.yml","docker-compose.yaml","compose.yml","compose.yaml"]){let u=fr(K(e,c));if(u){a=u;break}}for(let c of IM)if(!r.has(c.id)){if(c.npmPackage&&c.npmPackage in n){let u=o.get(c.npmPackage)??"package.json";r.add(c.id),t.push({id:c.id,label:c.label,category:c.category,description:c.description,evidence:`${u} \u306B ${c.npmPackage} \u3092\u691C\u51FA`,version:n[c.npmPackage],url:c.url});continue}if(c.pyPackage&&i.has(c.pyPackage.toLowerCase().replace(/[-_.]+/g,"-"))){r.add(c.id),t.push({id:c.id,label:c.label,category:c.category,description:c.description,evidence:`${s} \u306B ${c.pyPackage} \u3092\u691C\u51FA`,url:c.url});continue}if(c.configFiles){for(let u of c.configFiles)if(ke(K(e,u))){r.add(c.id),t.push({id:c.id,label:c.label,category:c.category,description:c.description,evidence:`${u} \u3092\u691C\u51FA`,url:c.url});break}if(r.has(c.id))continue}c.dockerPattern&&a.includes(c.dockerPattern)&&(r.add(c.id),t.push({id:c.id,label:c.label,category:c.category,description:c.description,evidence:`docker-compose.yml \u306B ${c.dockerPattern} \u3092\u691C\u51FA`,url:c.url}))}return t}function NM(e){let t;for(let i of["docker-compose.yml","docker-compose.yaml","compose.yml","compose.yaml"])if(t=fr(K(e,i)),t)break;if(!t)return[];let r=[],n=/^\s{2}(\w[\w-]*):\s*$/gm,o;for(;(o=n.exec(t))!==null;)r.push(o[1]);return r}function DM(e){let t=K(e,"docs"),r=Qk(e),n=r.some(({appDir:c})=>ke(K(c,"package.json"))),o=r.some(({apiDir:c})=>ke(K(c,"pyproject.toml")));if(!ke(t))return{exists:!1,sections:[],files:[],has_notes_app:n,has_notes_api:o};let i=[],s=[];function a(c,u){try{for(let p of Yi(c)){if(p.startsWith("."))continue;let l=K(c,p),d=u?`${u}/${p}`:p;Ih(l).isDirectory()?(u||i.push(p),a(l,d)):s.push(d)}}catch{}}return a(t,""),{exists:!0,sections:i,files:s,has_notes_app:n,has_notes_api:o}}function eS(e){let t=wo(K(e,"package.json"))?.name||PM(e),r=[];try{for(let u of Yi(e)){if(u.startsWith(".")||u==="node_modules")continue;let p=K(e,u);Ih(p).isDirectory()&&r.push(u)}}catch{}let o=["package.json","pyproject.toml","docker-compose.yml","docker-compose.yaml","Dockerfile","tsconfig.json",".env.example","env.example","AGENTS.md","README.md","Makefile",".mise.toml","turbo.json","pnpm-workspace.yaml"].filter(u=>ke(K(e,u))),s=wo(K(e,"package.json"))?.scripts??{},a=[];try{for(let u of Yi(e))(u.match(/^env.*\.example$/)||u.match(/^\.env.*\.example$/))&&a.push(u)}catch{}let c=fr(K(e,"README.md"),500);return{root:e,name:t,detected_stacks:CM(e),detected_tools:OM(e),vendor_items:zM(e),key_files:o,directories:r,scripts:s,docker_services:NM(e),env_templates:a,readme_excerpt:c,question_list_path:K(e,"docs","003_requirements","questions.csv"),docs_structure:DM(e)}}function Rh(e,t){let r=t??process.env.GODD_PROJECT_ROOT??process.cwd();if(e.projectContext?.root===r)return e.projectContext;let n=eS(r);return e.projectContext=n,n}function A(e,t,r,n,o){let i=Rh(e,n),s=e.config.language??"en",a=Nk(t,e.profile,{project:i,language:s,...o});return`${s!=="en"?`> **Output Language**: Respond entirely in ${s}.
|
|
99
99
|
|
|
100
100
|
`:""}${a}
|
|
101
101
|
|
|
102
102
|
---
|
|
103
103
|
|
|
104
|
-
${r}`}var
|
|
104
|
+
${r}`}var tS="godd_dev",rS="\u958B\u767A\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u652F\u63F4\u3002\u81EA\u7136\u8A00\u8A9E\u306E\u4F9D\u983C\u304B\u3089\u3001Spec\u78BA\u8A8D\u30FB\u5F71\u97FF\u8ABF\u67FB\u30FB\u5B9F\u88C5\u30FB\u54C1\u8CEA\u30B2\u30FC\u30C8\u30FBPR\u672C\u6587\u751F\u6210\u307E\u3067\u3092\u4E00\u8CAB\u3057\u3066\u884C\u3044\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u30D6\u30E9\u30F3\u30C1\u4E0A\u3067\u547C\u3073\u51FA\u3055\u308C\u305F\u5834\u5408\u306F feat/<slug>-<YYYYMMDD> \u30D6\u30E9\u30F3\u30C1\u3092\u81EA\u52D5\u4F5C\u6210\u3057\u3001\u5B8C\u4E86\u5F8C\u306F\u5909\u66F4\u3092\u8CAC\u52D9\u5225\u306B\u5206\u5272\u30B3\u30DF\u30C3\u30C8\u3057\u307E\u3059\u3002",nS=m.object({task:m.string().max(2e5).optional().describe("\u5B9F\u88C5\u3057\u305F\u3044\u5185\u5BB9\uFF08\u81EA\u7136\u8A00\u8A9E\u3067\u8A18\u8FF0\uFF09"),context:m.string().max(2e5).optional().describe("\u95A2\u9023\u3059\u308B\u30B3\u30FC\u30C9\u3084\u4ED5\u69D8\u306E\u60C5\u5831\uFF08\u4EFB\u610F\uFF09"),completion_criteria:m.string().max(2e5).optional().describe("\u5B8C\u4E86\u6761\u4EF6\uFF08\u6E2C\u5B9A\u53EF\u80FD\u306B\uFF09"),slug:m.string().max(1e3).optional().describe("\u30C1\u30B1\u30C3\u30C8/\u77ED\u3044\u8B58\u5225\u5B50"),constraints:m.string().max(2e5).optional().describe("\u5236\u7D04\u4E8B\u9805"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function oS(e,t){let r=[`## \u4F9D\u983C
|
|
105
105
|
${t.task??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`];return t.completion_criteria&&r.push(`## \u5B8C\u4E86\u6761\u4EF6
|
|
106
106
|
${t.completion_criteria}`),t.slug&&r.push(`## Slug
|
|
107
107
|
${t.slug}`),t.constraints&&r.push(`## \u5236\u7D04
|
|
108
108
|
${t.constraints}`),t.context&&r.push(`## \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8
|
|
109
|
-
${t.context}`),
|
|
109
|
+
${t.context}`),A(e,"dev",r.join(`
|
|
110
110
|
|
|
111
|
-
`),t.project_root)}var
|
|
111
|
+
`),t.project_root)}var iS="godd_check",sS="\u54C1\u8CEA\u30C1\u30A7\u30C3\u30AF\u3002\u5BFE\u8C61\u3092\u53D7\u3051\u53D6\u308A\u3001Spec\u6574\u5408\u30FB\u5F71\u97FF\u7BC4\u56F2\u30FB\u30C6\u30B9\u30C8\u8A08\u753B\u30FB\u4E92\u63DB\u6027\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u89B3\u70B9\u304B\u3089\u63D0\u51FA\u524D\u30C1\u30A7\u30C3\u30AF\u3092\u884C\u3044\u307E\u3059\u3002",aS=m.object({target:m.string().max(2e5).optional().describe("\u30C1\u30A7\u30C3\u30AF\u5BFE\u8C61\uFF08\u5909\u66F4\u5185\u5BB9\u306E\u8AAC\u660E\u3001\u5DEE\u5206\u3001\u30D5\u30A1\u30A4\u30EB\u30EA\u30B9\u30C8\u7B49\uFF09"),check_type:m.string().max(1e3).optional().describe("\u30C1\u30A7\u30C3\u30AF\u7A2E\u5225\uFF08\u4F8B: pre-submit, spec, security, full\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function cS(e,t){let r=[`## \u30C1\u30A7\u30C3\u30AF\u5BFE\u8C61
|
|
112
112
|
${t.target??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`];return t.check_type&&r.push(`## \u30C1\u30A7\u30C3\u30AF\u7A2E\u5225
|
|
113
|
-
${t.check_type}`),
|
|
113
|
+
${t.check_type}`),A(e,"check",r.join(`
|
|
114
114
|
|
|
115
|
-
`),t.project_root)}var
|
|
115
|
+
`),t.project_root)}var uS="godd_review",lS="CTO \u30EC\u30D9\u30EB\u306E\u30B3\u30FC\u30C9\u30EC\u30D3\u30E5\u30FC\u3002\u30B3\u30FC\u30C9\u306E\u5DEE\u5206\u3092\u53D7\u3051\u53D6\u308A\u3001\u8A2D\u8A08\u30FB\u578B\u5B89\u5168\u30FB\u30C6\u30B9\u30C8\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u30FB\u904B\u7528\u30FB\u30D3\u30B8\u30CD\u30B9\u30A4\u30F3\u30D1\u30AF\u30C8\u306E\u89B3\u70B9\u304B\u3089\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u63D0\u4F9B\u3057\u307E\u3059\u3002\u91CD\u5927\u5EA6\uFF08Critical/Major/Minor/Suggestion\uFF09\u4ED8\u304D\u306E\u69CB\u9020\u5316\u30EC\u30D3\u30E5\u30FC\u7D50\u679C\u3092\u51FA\u529B\u3057\u307E\u3059\u3002",pS=m.object({code:m.string().max(2e5).optional().describe("\u30EC\u30D3\u30E5\u30FC\u5BFE\u8C61\u306E\u30B3\u30FC\u30C9\uFF08\u5DEE\u5206\u307E\u305F\u306F\u30D5\u30A1\u30A4\u30EB\u5185\u5BB9\uFF09"),file_path:m.string().max(1e3).optional().describe("\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9"),context:m.string().max(2e5).optional().describe("\u5909\u66F4\u306E\u80CC\u666F\u30FB\u76EE\u7684"),review_scope:m.enum(["file","pr","directory"]).optional().describe("\u30EC\u30D3\u30E5\u30FC\u7BC4\u56F2\uFF08file: \u5358\u4E00\u30D5\u30A1\u30A4\u30EB\u3001pr: PR \u5168\u4F53\u5DEE\u5206\u3001directory: \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF09"),severity_threshold:m.enum(["critical","major","minor","suggestion"]).optional().describe("\u51FA\u529B\u3059\u308B\u6700\u4F4E\u91CD\u5927\u5EA6\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8: suggestion = \u5168\u4EF6\u51FA\u529B\uFF09"),focus_areas:m.string().max(1e3).optional().describe("\u91CD\u70B9\u30EC\u30D3\u30E5\u30FC\u9818\u57DF\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A: architecture, security, performance, testing \u7B49\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function dS(e,t){let r=[];return t.context&&r.push(`## \u80CC\u666F
|
|
116
116
|
${t.context}`),t.review_scope&&r.push(`## \u30EC\u30D3\u30E5\u30FC\u7BC4\u56F2
|
|
117
117
|
${t.review_scope}`),t.severity_threshold&&r.push(`## \u6700\u4F4E\u91CD\u5927\u5EA6\u30D5\u30A3\u30EB\u30BF
|
|
118
118
|
${t.severity_threshold} \u4EE5\u4E0A\u306E\u307F\u51FA\u529B`),t.focus_areas&&r.push(`## \u91CD\u70B9\u30EC\u30D3\u30E5\u30FC\u9818\u57DF
|
|
119
119
|
${t.focus_areas}`),t.file_path&&r.push(`## \u30D5\u30A1\u30A4\u30EB: ${t.file_path}`),t.code&&r.push(`## \u30B3\u30FC\u30C9
|
|
120
120
|
\`\`\`
|
|
121
121
|
${t.code}
|
|
122
|
-
\`\`\``),
|
|
122
|
+
\`\`\``),A(e,"review",r.join(`
|
|
123
123
|
|
|
124
|
-
`),t.project_root)}var
|
|
124
|
+
`),t.project_root)}var fS="godd_commit",hS="\u8CAC\u52D9\u5358\u4F4D\u30B3\u30DF\u30C3\u30C8\u3002\u5909\u66F4\u5185\u5BB9\u3092\u9069\u5207\u306A\u7C92\u5EA6\uFF081\u30B3\u30DF\u30C3\u30C8=1\u8CAC\u52D9\uFF09\u3067\u5206\u5272\u3057\u3001\u30EB\u30FC\u30EB\u306B\u5247\u3063\u305F\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8\u3068\u5171\u306B\u30B3\u30DF\u30C3\u30C8\u3092\u5B9F\u884C\u3057\u307E\u3059\u3002",mS=m.object({changes:m.string().max(2e5).optional().describe("\u5909\u66F4\u5185\u5BB9\uFF08diff \u307E\u305F\u306F\u30D5\u30A1\u30A4\u30EB\u30EA\u30B9\u30C8\uFF09"),context:m.string().max(2e5).optional().describe("\u5909\u66F4\u306E\u80CC\u666F\u30FB\u76EE\u7684"),auto_confirm:m.boolean().optional().default(!1).describe("true \u306B\u3059\u308B\u3068\u30B3\u30DF\u30C3\u30C8\u8A08\u753B\u306E\u30E6\u30FC\u30B6\u30FC\u627F\u8A8D\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u5373\u5EA7\u306B\u5B9F\u884C\u3059\u308B"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function gS(e,t){let r=[`## \u5909\u66F4\u5185\u5BB9
|
|
125
125
|
${t.changes??"(git diff \u304B\u3089\u81EA\u52D5\u53D6\u5F97)"}`];return t.context&&r.push(`## \u80CC\u666F
|
|
126
|
-
${t.context}`),
|
|
126
|
+
${t.context}`),A(e,"commit",r.join(`
|
|
127
127
|
|
|
128
|
-
`),t.project_root,{auto_confirm:t.auto_confirm??!1})}var
|
|
128
|
+
`),t.project_root,{auto_confirm:t.auto_confirm??!1})}var _S="godd_spec",yS="\u8981\u6C42\u2192\u4ED5\u69D8\u5909\u63DB\u3002\u8981\u6C42\u3092\u53D7\u3051\u53D6\u308A\u3001\u5B9F\u88C5\u53EF\u80FD\u306A\u7C92\u5EA6\u306ESpec\uFF08API/UI/DB/Feature/Usecase\uFF09\u306B\u5909\u63DB\u3057\u307E\u3059\u3002",vS=m.object({requirements:m.string().max(2e5).optional().describe("\u8981\u6C42\u5185\u5BB9\uFF08\u81EA\u7136\u8A00\u8A9E\uFF09"),spec_types:m.array(m.enum(["api","ui","db","feature","usecase","error_codes"])).optional().describe("\u5FC5\u8981\u306ASpec\u306E\u7A2E\u985E\uFF08\u672A\u6307\u5B9A\u306A\u3089\u81EA\u52D5\u5224\u5B9A\uFF09"),context:m.string().max(2e5).optional().describe("\u65E2\u5B58\u306E\u4ED5\u69D8\u3084\u5236\u7D04"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function xS(e,t){let r=[`## \u8981\u6C42
|
|
129
129
|
${t.requirements??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`];return t.spec_types?.length&&r.push(`## \u5FC5\u8981\u306ASpec\u306E\u7A2E\u985E
|
|
130
130
|
${t.spec_types.join(", ")}`),t.context&&r.push(`## \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8
|
|
131
|
-
${t.context}`),
|
|
131
|
+
${t.context}`),A(e,"spec",r.join(`
|
|
132
132
|
|
|
133
|
-
`),t.project_root)}var
|
|
133
|
+
`),t.project_root)}var bS="godd_requirements",kS="\u8981\u4EF6\u5B9A\u7FA9\u30CF\u30FC\u30CD\u30B9\u3002\u8B70\u4E8B\u9332/RFP/\u751F\u5165\u529B\u304B\u3089\u3001\u30D5\u30A7\u30FC\u30BA\u5358\u4F4D\u306E\u5BFE\u8A71\u30EB\u30FC\u30D7\u3067\u8981\u4EF6\u5B9A\u7FA9\u6210\u679C\u7269\uFF08001_project \u6982\u8981 / 002_business_flow / requirements-list.csv / questions.csv\uFF09\u3092\u751F\u6210\u30FB\u66F4\u65B0\u3057\u307E\u3059\u3002",SS=m.object({phase:m.enum(["overview","business_flow","requirements","questions","auto"]).optional().describe("\u5BFE\u8C61\u30D5\u30A7\u30FC\u30BA\uFF08\u672A\u6307\u5B9A\u306A\u3089 auto: docs \u306E\u73FE\u72B6\u304B\u3089\u5224\u5B9A\uFF09"),inputs:m.string().max(2e5).optional().describe("\u8B70\u4E8B\u9332/RFP \u306A\u3069\u306E\u751F\u5165\u529B\u30C6\u30AD\u30B9\u30C8"),input_refs:m.array(m.string().max(1e3)).optional().describe("\u53C2\u7167\u3059\u308B\u30D5\u30A1\u30A4\u30EB/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30D1\u30B9\uFF08RFP/\u8CC7\u6599/\u65E2\u5B58docs\uFF09"),context:m.string().max(2e5).optional().describe("\u65E2\u5B58\u306E\u5236\u7D04\u30FB\u88DC\u8DB3"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function wS(e,t){let r=t.phase??"auto",n=[`## \u30D5\u30A7\u30FC\u30BA
|
|
134
|
+
${r}`];return t.inputs&&n.push(`## \u5165\u529B\u7D20\u6750
|
|
135
|
+
${t.inputs}`),t.input_refs?.length&&n.push(`## \u53C2\u7167
|
|
136
|
+
${t.input_refs.map(o=>`- ${o}`).join(`
|
|
137
|
+
`)}`),t.context&&n.push(`## \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8
|
|
138
|
+
${t.context}`),A(e,"requirements",n.join(`
|
|
139
|
+
|
|
140
|
+
`),t.project_root,{phase:r})}var TS="godd_impact",$S="\u5F71\u97FF\u5206\u6790\u3002\u5909\u66F4\u5185\u5BB9\u306E\u5F71\u97FF\u7BC4\u56F2\u3092\u6D17\u3044\u51FA\u3057\u3001\u629C\u3051\u6F0F\u308C\u3092\u9632\u304E\u307E\u3059\u3002",PS=m.object({change_summary:m.string().max(2e5).optional().describe("\u5909\u66F4\u6982\u8981\uFF08\u4F55\u3092/\u306A\u305C\uFF09"),target_modules:m.string().max(2e5).optional().describe("\u5BFE\u8C61\u30E2\u30B8\u30E5\u30FC\u30EB"),breaking_changes:m.boolean().optional().describe("\u7834\u58CA\u7684\u5909\u66F4\u306E\u6709\u7121"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function ES(e,t){let r=[`## \u5909\u66F4\u6982\u8981
|
|
134
141
|
${t.change_summary??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`,`## \u5BFE\u8C61\u30E2\u30B8\u30E5\u30FC\u30EB
|
|
135
142
|
${t.target_modules??"(\u81EA\u52D5\u691C\u51FA)"}`];return t.breaking_changes!==void 0&&r.push(`## \u7834\u58CA\u7684\u5909\u66F4
|
|
136
|
-
${t.breaking_changes?"\u3042\u308A":"\u306A\u3057"}`),
|
|
143
|
+
${t.breaking_changes?"\u3042\u308A":"\u306A\u3057"}`),A(e,"impact-analysis",r.join(`
|
|
137
144
|
|
|
138
|
-
`),t.project_root)}var
|
|
145
|
+
`),t.project_root)}var zS="godd_test_plan",CS="\u30C6\u30B9\u30C8\u8A08\u753B\u4F5C\u6210\u3002\u5909\u66F4\u5185\u5BB9\u306B\u57FA\u3065\u304D\u3001unit/integration/e2e\u306E\u5FC5\u8981\u6027\u3068\u5177\u4F53\u7684\u306A\u30C6\u30B9\u30C8\u9805\u76EE\u3092\u7B56\u5B9A\u3057\u307E\u3059\u3002",IS=m.object({changes:m.string().max(2e5).optional().describe("\u5909\u66F4\u5185\u5BB9\uFF08Spec/\u5B9F\u88C5\u5DEE\u5206\uFF09"),failure_points:m.string().max(2e5).optional().describe("\u5931\u6557\u3057\u3046\u308B\u30DD\u30A4\u30F3\u30C8\uFF08\u5883\u754C\u5024/\u7570\u5E38\u7CFB\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function RS(e,t){let r=[`## \u5909\u66F4\u5185\u5BB9
|
|
139
146
|
${t.changes??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`];return t.failure_points&&r.push(`## \u5931\u6557\u30DD\u30A4\u30F3\u30C8
|
|
140
|
-
${t.failure_points}`),
|
|
147
|
+
${t.failure_points}`),A(e,"test-plan",r.join(`
|
|
141
148
|
|
|
142
|
-
`),t.project_root)}var
|
|
149
|
+
`),t.project_root)}var AS="godd_documentation",OS="\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u66F4\u65B0\u652F\u63F4\u3002\u5909\u66F4\u5185\u5BB9\u304B\u3089\u5FC5\u8981\u306A\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u66F4\u65B0\uFF08Spec/README/\u8A2D\u5B9A\u8AAC\u660E/\u6280\u8853\u30B9\u30BF\u30C3\u30AF\uFF09\u3092\u6D17\u3044\u51FA\u3057\u3001\u5DEE\u5206\u6848\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002",NS=m.object({changes:m.string().max(2e5).optional().describe("\u5909\u66F4\u5185\u5BB9\uFF08\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB/\u6319\u52D5\u5DEE\u5206\uFF09"),doc_type:m.string().max(1e3).optional().describe("\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u7A2E\u5225\uFF08\u4F8B: spec, readme, config, tech-stack\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function DS(e,t){let r=[`## \u5909\u66F4\u5185\u5BB9
|
|
143
150
|
${t.changes??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`];return t.doc_type&&r.push(`## \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u7A2E\u5225
|
|
144
|
-
${t.doc_type}`),
|
|
151
|
+
${t.doc_type}`),A(e,"auto-documentation",r.join(`
|
|
145
152
|
|
|
146
|
-
`),t.project_root)}var
|
|
153
|
+
`),t.project_root)}var jS="godd_pr_analyze",MS="PR\u5206\u6790\u3002PR\u306E\u5DEE\u5206\u3092\u8AAD\u307F\u3001\u30EC\u30D3\u30E5\u30FC\u89B3\u70B9\u30FB\u30EA\u30B9\u30AF\u30FB\u8FFD\u52A0\u3067\u5FC5\u8981\u306A\u60C5\u5831\u3092\u6574\u7406\u3057\u307E\u3059\u3002",LS=m.object({background:m.string().max(2e5).optional().describe("\u5909\u66F4\u306E\u80CC\u666F/\u76EE\u7684"),changes:m.string().max(2e5).optional().describe("\u5909\u66F4\u5185\u5BB9\uFF08\u30D5\u30A1\u30A4\u30EB/\u6A5F\u80FD\u5358\u4F4D\uFF09"),scope:m.string().max(2e5).optional().describe("\u5F71\u97FF\u7BC4\u56F2"),breaking_changes:m.string().max(2e5).optional().describe("\u4E92\u63DB\u6027/\u79FB\u884C\u306E\u6709\u7121"),verification:m.string().max(2e5).optional().describe("\u52D5\u4F5C\u78BA\u8A8D\uFF08\u30B3\u30DE\u30F3\u30C9/\u624B\u52D5\u624B\u9806\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function ZS(e,t){let r=[`## \u80CC\u666F
|
|
147
154
|
${t.background??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`,`## \u5909\u66F4\u5185\u5BB9
|
|
148
155
|
${t.changes??"(git diff \u304B\u3089\u81EA\u52D5\u53D6\u5F97)"}`];return t.scope&&r.push(`## \u5F71\u97FF\u7BC4\u56F2
|
|
149
156
|
${t.scope}`),t.breaking_changes&&r.push(`## \u4E92\u63DB\u6027/\u79FB\u884C
|
|
150
157
|
${t.breaking_changes}`),t.verification&&r.push(`## \u52D5\u4F5C\u78BA\u8A8D
|
|
151
|
-
${t.verification}`),
|
|
158
|
+
${t.verification}`),A(e,"pr-analyze",r.join(`
|
|
152
159
|
|
|
153
|
-
`),t.project_root)}var
|
|
154
|
-
**\u5229\u7528\u53EF\u80FD\u306A\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8**: ${
|
|
155
|
-
### \u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC: \`${
|
|
160
|
+
`),t.project_root)}var qS="godd_setup",FS="\u74B0\u5883\u69CB\u7BC9\u652F\u63F4\u3002GoDD MCP \u306E config.godd / .cursor/mcp.json \u751F\u6210\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E .env \u4F5C\u6210\u3001\u4F9D\u5B58\u5C0E\u5165\u3001Docker \u8D77\u52D5\u307E\u3067\u4E00\u62EC\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3057\u307E\u3059\u3002components \u3092\u6307\u5B9A\u3059\u308B\u3068 config.godd \u3092\u81EA\u52D5\u751F\u6210\u3067\u304D\u307E\u3059\u3002",US=m.object({mode:m.enum(["full","godd-only","project-only","generate-config"]).optional().default("full").describe("\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u7BC4\u56F2: full=GoDD+\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5168\u4F53, godd-only=GoDD MCP \u8A2D\u5B9A\u306E\u307F, project-only=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u74B0\u5883\u306E\u307F, generate-config=config.godd \u81EA\u52D5\u751F\u6210"),environment:m.string().max(2e5).optional().describe("\u74B0\u5883\u60C5\u5831\uFF08OS\u3001\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u30C4\u30FC\u30EB\u7B49\uFF09"),license_key:m.string().max(1e3).optional().describe("GoDD \u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\uFF08config.godd \u306B\u66F8\u304D\u8FBC\u3080\uFF09"),stack_profile:m.string().max(1e3).optional().describe("\u30B9\u30BF\u30C3\u30AF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u540D\uFF08\u4F8B: fastapi-react\uFF09"),components:m.array(m.string().max(1e3)).optional().describe('\u6280\u8853\u30B9\u30BF\u30C3\u30AF\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u540D\u306E\u914D\u5217\uFF08\u4F8B: ["fastapi", "react", "postgresql"]\uFF09\u3002generate-config \u30E2\u30FC\u30C9\u3067\u4F7F\u7528\u3002'),language:m.string().max(1e3).optional().describe("\u30DE\u30A4\u30F3\u30C9\u30BB\u30C3\u30C8\u8A00\u8A9E\uFF08\u4F8B: ja, en\uFF09"),issues:m.string().max(2e5).optional().describe("\u56F0\u3063\u3066\u3044\u308B\u3053\u3068\uFF08\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8\u7B49\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")}),jM=["python, typescript, javascript, go, php, ruby, c, html, css","react, nextjs, vue, angular, svelte, vite, tailwind, sass, electron","fastapi, django, flask, express, fastify, nestjs, gin, echo, fiber, laravel, symfony, wordpress, rails, sinatra, koa","node, agent-stdio","postgresql, mysql, mongodb, redis","sqlalchemy, celery","docker, terraform","ddd-clean-architecture"].join(", ");function Ah(e){return e.length<=8?"****":e.slice(0,4)+"****"+e.slice(-4)}function BS(e,t){if(t.mode==="generate-config"){let n=["## GoDD MCP Config \u81EA\u52D5\u751F\u6210\u30E2\u30FC\u30C9","","\u4EE5\u4E0B\u306E\u60C5\u5831\u3092\u3082\u3068\u306B `config.godd` \u3068 `.cursor/mcp.json` \u3092\u751F\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002",""];if(t.components&&t.components.length>0){n.push("### \u9078\u629E\u3055\u308C\u305F\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8"),n.push("```yaml"),n.push("components:");for(let o of t.components)n.push(` - ${o}`);n.push("```")}else n.push("### \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u672A\u6307\u5B9A"),n.push("\u30E6\u30FC\u30B6\u30FC\u306B\u4F7F\u7528\u3059\u308B\u6280\u8853\u30B9\u30BF\u30C3\u30AF\u3092\u8CEA\u554F\u3057\u3066\u304F\u3060\u3055\u3044\u3002"),n.push(`
|
|
161
|
+
**\u5229\u7528\u53EF\u80FD\u306A\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8**: ${jM}`);t.license_key?n.push(`
|
|
162
|
+
### \u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC: \`${Ah(t.license_key)}\`\uFF08\u8A2D\u5B9A\u6E08\u307F\uFF09`):n.push(`
|
|
156
163
|
### \u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u304C\u672A\u6307\u5B9A\u3067\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`),n.push(`
|
|
157
164
|
### \u8A00\u8A9E: ${t.language??"ja"}`),n.push(`
|
|
158
|
-
### \u751F\u6210\u3059\u308B\u30D5\u30A1\u30A4\u30EB`),n.push("1. **config.godd** \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u306B\u914D\u7F6E"),n.push("```yaml"),n.push(
|
|
165
|
+
### \u751F\u6210\u3059\u308B\u30D5\u30A1\u30A4\u30EB`),n.push("1. **config.godd** \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u306B\u914D\u7F6E\uFF08components \u306E\u307F\uFF09"),n.push("```yaml"),n.push("components:");for(let o of t.components??["fastapi","react","postgresql"])n.push(` - ${o}`);return n.push("```"),n.push(""),n.push("2. **.env** \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u306B\u914D\u7F6E\uFF08GoDD \u7BA1\u7406\u5024\uFF09"),n.push("```"),n.push(`GODD_LICENSE_KEY="${t.license_key?Ah(t.license_key):"YOUR_LICENSE_KEY"}"`),n.push(`GODD_LANGUAGE="${t.language??"ja"}"`),n.push('GODD_REGISTRY_URL="https://dev.api.godd.ripla-inc.com"'),n.push("```"),n.push(""),n.push("3. **`.cursor/mcp.json`** \u2014 Cursor IDE \u7528 MCP \u767B\u9332"),n.push("```json"),n.push(JSON.stringify({mcpServers:{godd:{command:"node",args:["path/to/godd-mcp-server/dist/index.js"],env:{GODD_CONFIG:"./config.godd",GODD_LICENSE_KEY:"****",GODD_LANGUAGE:t.language??"ja",GODD_REGISTRY_URL:"https://dev.api.godd.ripla-inc.com"}}}},null,2)),n.push("```"),n.join(`
|
|
159
166
|
`)}let r=[`## \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u30E2\u30FC\u30C9: ${t.mode??"full"}`];return t.license_key&&r.push(`## \u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC
|
|
160
|
-
\`${
|
|
167
|
+
\`${Ah(t.license_key)}\`\uFF08\u8A2D\u5B9A\u6E08\u307F\uFF09`),t.stack_profile&&r.push(`## \u30B9\u30BF\u30C3\u30AF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB
|
|
161
168
|
${t.stack_profile}`),t.components&&t.components.length>0&&r.push(`## \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8
|
|
162
169
|
${t.components.join(", ")}`),t.environment&&r.push(`## \u74B0\u5883\u60C5\u5831
|
|
163
170
|
${t.environment}`),t.issues&&r.push(`## \u554F\u984C
|
|
164
|
-
${t.issues}`),
|
|
171
|
+
${t.issues}`),A(e,"setup",r.join(`
|
|
165
172
|
|
|
166
|
-
`),t.project_root)}var
|
|
173
|
+
`),t.project_root)}var VS="godd_release_notes",HS="\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u4F5C\u6210\u3002\u5909\u66F4\u70B9\u30FB\u4E92\u63DB\u6027\u30FB\u65E2\u77E5\u306E\u554F\u984C\u3092\u307E\u3068\u3081\u305F\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u3092\u751F\u6210\u3057\u307E\u3059\u3002",GS=m.object({changes:m.string().max(2e5).optional().describe("\u5909\u66F4\u70B9\uFF08\u8FFD\u52A0/\u5909\u66F4/\u4FEE\u6B63\uFF09"),compatibility:m.string().max(2e5).optional().describe("\u4E92\u63DB\u6027/\u79FB\u884C\u306E\u6709\u7121"),known_issues:m.string().max(2e5).optional().describe("\u65E2\u77E5\u306E\u554F\u984C"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function KS(e,t){let r=[`## \u5909\u66F4\u70B9
|
|
167
174
|
${t.changes??"(git log \u304B\u3089\u81EA\u52D5\u53D6\u5F97)"}`];return t.compatibility&&r.push(`## \u4E92\u63DB\u6027/\u79FB\u884C
|
|
168
175
|
${t.compatibility}`),t.known_issues&&r.push(`## \u65E2\u77E5\u306E\u554F\u984C
|
|
169
|
-
${t.known_issues}`),
|
|
176
|
+
${t.known_issues}`),A(e,"release-notes",r.join(`
|
|
170
177
|
|
|
171
|
-
`),t.project_root)}var
|
|
178
|
+
`),t.project_root)}var WS="godd_adr",JS="ADR\uFF08Architecture Decision Record\uFF09\u4F5C\u6210\u3002\u8A2D\u8A08\u5224\u65AD\u3092\u30C8\u30EC\u30FC\u30C9\u30AA\u30D5\u30FB\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u542B\u3081\u3066\u8A18\u9332\u3057\u307E\u3059\u3002",YS=m.object({decision:m.string().max(2e5).optional().describe("\u4F55\u3092\u6C7A\u3081\u308B\u304B\uFF08Decision\uFF09"),context:m.string().max(2e5).optional().describe("\u80CC\u666F\uFF08Context\uFF09"),options:m.string().max(2e5).optional().describe("\u4EE3\u66FF\u6848\uFF08Options\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function QS(e,t){let r=[`## Decision
|
|
172
179
|
${t.decision??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`,`## Context
|
|
173
180
|
${t.context??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`];return t.options&&r.push(`## Options
|
|
174
|
-
${t.options}`),
|
|
181
|
+
${t.options}`),A(e,"adr",r.join(`
|
|
175
182
|
|
|
176
|
-
`),t.project_root)}var
|
|
183
|
+
`),t.project_root)}var XS="godd_sync",ew="\u30C7\u30D5\u30A9\u30EB\u30C8\u30D6\u30E9\u30F3\u30C1\u540C\u671F\u3002\u73FE\u5728\u306E\u4F5C\u696D\u30D6\u30E9\u30F3\u30C1\u306B main \u306E\u6700\u65B0\u5909\u66F4\u3092\u53D6\u308A\u8FBC\u307F\u3001\u30DE\u30FC\u30B8\u30B3\u30F3\u30D5\u30EA\u30AF\u30C8\u304C\u767A\u751F\u3057\u305F\u5834\u5408\u306F SSOT \u6E96\u62E0\u5074\u3092\u512A\u5148\u3057\u3066\u89E3\u6D88\u3057\u307E\u3059\u3002",tw=m.object({project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function rw(e,t){return A(e,"sync","",t.project_root)}var nw="godd_new_branch",ow="\u65B0\u30D6\u30E9\u30F3\u30C1\u4F5C\u6210\u3002\u4F5C\u696D\u4E2D\u306E\u5909\u66F4\u3092\u5B89\u5168\u306B\u9000\u907F\u3057\u3001\u6700\u65B0\u306E main \u304B\u3089\u65B0\u3057\u3044\u30D6\u30E9\u30F3\u30C1\u3092\u4F5C\u6210\u3057\u3066\u9000\u907F\u3057\u305F\u5909\u66F4\u3092\u5FA9\u5143\u3057\u307E\u3059\u3002",iw=m.object({branch_name:m.string().max(1e3).optional().describe("\u4F5C\u6210\u3059\u308B\u30D6\u30E9\u30F3\u30C1\u540D\uFF08\u4F8B: feat/add-auth\uFF09"),base_branch:m.string().max(1e3).optional().describe("\u8D77\u70B9\u30D6\u30E9\u30F3\u30C1\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8: origin/main\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function sw(e,t){let r=[`## \u30D6\u30E9\u30F3\u30C1\u540D
|
|
177
184
|
${t.branch_name??"(\u30BF\u30B9\u30AF\u5185\u5BB9\u304B\u3089\u81EA\u52D5\u751F\u6210)"}`];return t.base_branch&&r.push(`## \u8D77\u70B9\u30D6\u30E9\u30F3\u30C1
|
|
178
|
-
${t.base_branch}`),
|
|
185
|
+
${t.base_branch}`),A(e,"new-branch",r.join(`
|
|
179
186
|
|
|
180
|
-
`),t.project_root)}var
|
|
187
|
+
`),t.project_root)}var aw="godd_git_workflow",cw="Git \u4E00\u9023\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u30D6\u30E9\u30F3\u30C1\u540C\u671F \u2192 \u65B0\u30D6\u30E9\u30F3\u30C1\u4F5C\u6210 \u2192 \u9069\u5207\u306A\u7C92\u5EA6\u3067\u30B3\u30DF\u30C3\u30C8\u3092\u4E00\u62EC\u5B9F\u884C\u3057\u307E\u3059\u3002",uw=m.object({branch_name:m.string().max(1e3).optional().describe("\u4F5C\u6210\u3059\u308B\u30D6\u30E9\u30F3\u30C1\u540D\uFF08\u4F8B: feat/add-auth\uFF09"),purpose:m.string().max(2e5).optional().describe("\u30D6\u30E9\u30F3\u30C1\u306E\u76EE\u7684\uFF08\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u7CBE\u5EA6\u5411\u4E0A\u306B\u4F7F\u7528\uFF09"),auto_confirm:m.boolean().optional().default(!1).describe("true \u306B\u3059\u308B\u3068\u5168 Phase \u306E\u30E6\u30FC\u30B6\u30FC\u78BA\u8A8D\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u4E00\u6C17\u901A\u8CAB\u3067\u5B9F\u884C\u3059\u308B"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function lw(e,t){let r=[`## \u30D6\u30E9\u30F3\u30C1\u540D
|
|
181
188
|
${t.branch_name??"(\u30BF\u30B9\u30AF\u5185\u5BB9\u304B\u3089\u81EA\u52D5\u751F\u6210)"}`];return t.purpose&&r.push(`## \u76EE\u7684
|
|
182
|
-
${t.purpose}`),
|
|
189
|
+
${t.purpose}`),A(e,"git-workflow",r.join(`
|
|
183
190
|
|
|
184
|
-
`),t.project_root,{auto_confirm:t.auto_confirm??!1})}var
|
|
191
|
+
`),t.project_root,{auto_confirm:t.auto_confirm??!1})}var pw="godd_push",dw="\u63D0\u51FA\u524D\u30C1\u30A7\u30C3\u30AF\u3002push/PR\u63D0\u51FA\u524D\u306B\u5FC5\u8981\u306A\u78BA\u8A8D\u4E8B\u9805\uFF08\u54C1\u8CEA\u30B2\u30FC\u30C8\u30FBSpec\u6574\u5408\u30FB\u6A5F\u5BC6\u60C5\u5831\u30C1\u30A7\u30C3\u30AF\u7B49\uFF09\u3092\u6F0F\u308C\u306A\u304F\u6574\u7406\u3057\u307E\u3059\u3002",fw=m.object({project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function hw(e,t){return A(e,"push","",t.project_root)}var mw="godd_push_execute",gw="\u30EA\u30E2\u30FC\u30C8\u30D7\u30C3\u30B7\u30E5\u5B9F\u884C\u3002\u63D0\u51FA\u524D\u30C1\u30A7\u30C3\u30AF\uFF08\u54C1\u8CEA\u30B2\u30FC\u30C8\u30FBSpec\u6574\u5408\u30FB\u6A5F\u5BC6\u60C5\u5831\u30C1\u30A7\u30C3\u30AF\uFF09\u3092\u884C\u3044\u3001\u901A\u904E\u5F8C\u306B git push \u3092\u5B9F\u884C\u3057\u307E\u3059\u3002",_w=m.object({auto_confirm:m.boolean().optional().default(!1).describe("true \u306B\u3059\u308B\u3068\u63D0\u51FA\u524D\u30C1\u30A7\u30C3\u30AF\u901A\u904E\u5F8C\u306E\u30E6\u30FC\u30B6\u30FC\u78BA\u8A8D\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u5373\u5EA7\u306B push \u3059\u308B"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function yw(e,t){return A(e,"push-execute","",t.project_root,{auto_confirm:t.auto_confirm??!1})}var vw="godd_pr_create",xw="PR\u4F5C\u6210\u3002\u5909\u66F4\u5185\u5BB9\u3092\u5206\u6790\u3057\u3001PR\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306B\u6E96\u62E0\u3057\u305F\u672C\u6587\u3092\u751F\u6210\u3057\u3066GitHub\u4E0A\u306BPR\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002",bw=m.object({title:m.string().max(1e3).optional().describe("PR\u30BF\u30A4\u30C8\u30EB\uFF08\u672A\u6307\u5B9A\u306E\u5834\u5408\u306F\u30D6\u30E9\u30F3\u30C1\u540D\u30FB\u5909\u66F4\u5185\u5BB9\u304B\u3089\u81EA\u52D5\u751F\u6210\uFF09"),base_branch:m.string().max(1e3).optional().describe("\u30DE\u30FC\u30B8\u5148\u30D6\u30E9\u30F3\u30C1\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8: main\uFF09"),context:m.string().max(2e5).optional().describe("\u5909\u66F4\u306E\u80CC\u666F\u30FB\u76EE\u7684\uFF08PR\u672C\u6587\u306E\u7CBE\u5EA6\u5411\u4E0A\u306B\u4F7F\u7528\uFF09"),draft:m.boolean().optional().default(!1).describe("true \u306B\u3059\u308B\u3068 Draft PR \u3068\u3057\u3066\u4F5C\u6210\u3059\u308B"),auto_confirm:m.boolean().optional().default(!1).describe("true \u306B\u3059\u308B\u3068PR\u672C\u6587\u306E\u30E6\u30FC\u30B6\u30FC\u78BA\u8A8D\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u5373\u5EA7\u306B\u4F5C\u6210\u3059\u308B"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function kw(e,t){let r=[];return t.title&&r.push(`## PR\u30BF\u30A4\u30C8\u30EB
|
|
185
192
|
${t.title}`),t.base_branch&&r.push(`## \u30DE\u30FC\u30B8\u5148\u30D6\u30E9\u30F3\u30C1
|
|
186
193
|
${t.base_branch}`),t.context&&r.push(`## \u80CC\u666F
|
|
187
|
-
${t.context}`),
|
|
194
|
+
${t.context}`),A(e,"pr-create",r.join(`
|
|
188
195
|
|
|
189
|
-
`),t.project_root,{auto_confirm:t.auto_confirm??!1,draft:t.draft??!1})}var
|
|
196
|
+
`),t.project_root,{auto_confirm:t.auto_confirm??!1,draft:t.draft??!1})}var Sw="godd_submit",ww="\u63D0\u51FA\u4E00\u62EC\u5B9F\u884C\u3002\u63D0\u51FA\u524D\u30C1\u30A7\u30C3\u30AF \u2192 git push \u2192 PR\u4F5C\u6210\u3092\u4E00\u9023\u306E\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3068\u3057\u3066\u5B9F\u884C\u3057\u307E\u3059\u3002",Tw=m.object({title:m.string().max(1e3).optional().describe("PR\u30BF\u30A4\u30C8\u30EB\uFF08\u672A\u6307\u5B9A\u306E\u5834\u5408\u306F\u30D6\u30E9\u30F3\u30C1\u540D\u30FB\u5909\u66F4\u5185\u5BB9\u304B\u3089\u81EA\u52D5\u751F\u6210\uFF09"),base_branch:m.string().max(1e3).optional().describe("\u30DE\u30FC\u30B8\u5148\u30D6\u30E9\u30F3\u30C1\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8: main\uFF09"),context:m.string().max(2e5).optional().describe("\u5909\u66F4\u306E\u80CC\u666F\u30FB\u76EE\u7684\uFF08PR\u672C\u6587\u306E\u7CBE\u5EA6\u5411\u4E0A\u306B\u4F7F\u7528\uFF09"),draft:m.boolean().optional().default(!1).describe("true \u306B\u3059\u308B\u3068 Draft PR \u3068\u3057\u3066\u4F5C\u6210\u3059\u308B"),auto_confirm:m.boolean().optional().default(!1).describe("true \u306B\u3059\u308B\u3068\u5168\u30B9\u30C6\u30C3\u30D7\u306E\u30E6\u30FC\u30B6\u30FC\u78BA\u8A8D\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u4E00\u6C17\u901A\u8CAB\u3067\u5B9F\u884C\u3059\u308B"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function $w(e,t){let r=[];return t.title&&r.push(`## PR\u30BF\u30A4\u30C8\u30EB
|
|
190
197
|
${t.title}`),t.base_branch&&r.push(`## \u30DE\u30FC\u30B8\u5148\u30D6\u30E9\u30F3\u30C1
|
|
191
198
|
${t.base_branch}`),t.context&&r.push(`## \u80CC\u666F
|
|
192
|
-
${t.context}`),
|
|
199
|
+
${t.context}`),A(e,"submit",r.join(`
|
|
193
200
|
|
|
194
|
-
`),t.project_root,{auto_confirm:t.auto_confirm??!1,draft:t.draft??!1})}var
|
|
201
|
+
`),t.project_root,{auto_confirm:t.auto_confirm??!1,draft:t.draft??!1})}var Pw="godd_dev_workflow",Ew="\u958B\u767A\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u5168\u4F53\u7BA1\u7406\u3002\u30BF\u30FC\u30DF\u30CA\u30EB\u4E0D\u8981\u3067\u74B0\u5883\u69CB\u7BC9\u2192\u5B9F\u88C5\u2192\u30C6\u30B9\u30C8\u2192\u30B3\u30DF\u30C3\u30C8\u2192push\u2192PR\u4F5C\u6210\u307E\u3067\u4E00\u8CAB\u3057\u3066\u5B9F\u884C\u3057\u307E\u3059\u3002",zw=m.object({project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function Cw(e,t){return A(e,"agent-dev-workflow","",t.project_root)}var Iw="godd_report",Rw="\u5B8C\u4E86\u5831\u544A\u751F\u6210\u3002\u30BF\u30B9\u30AF\u5B8C\u4E86\u6642\u306E\u5909\u66F4\u6982\u8981\u30FB\u5F71\u97FF\u7BC4\u56F2\u30FB\u691C\u8A3C\u7D50\u679C\u30FB\u6B8B\u30EA\u30B9\u30AF\u3092\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306B\u6CBF\u3063\u3066\u6574\u7406\u3057\u307E\u3059\u3002",Aw=m.object({target:m.string().max(2e5).optional().describe("\u5831\u544A\u5BFE\u8C61\uFF08\u5909\u66F4\u5185\u5BB9\u306E\u6982\u8981\u307E\u305F\u306F\u30BF\u30B9\u30AF\u540D\uFF09"),report_type:m.string().max(1e3).optional().describe("\u5831\u544A\u30BF\u30A4\u30D7\uFF08\u4F8B: task-completion, incident, investigation\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function Ow(e,t){let r=[`## \u5831\u544A\u5BFE\u8C61
|
|
195
202
|
${t.target??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`];return t.report_type&&r.push(`## \u5831\u544A\u30BF\u30A4\u30D7
|
|
196
|
-
${t.report_type}`),
|
|
197
|
-
|
|
198
|
-
`),t.project_root)}var
|
|
199
|
-
${t.requirements??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`,t.project_root)}var
|
|
200
|
-
${t.requirements??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`,t.project_root)}var
|
|
201
|
-
${t.specification??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`,t.project_root)}var
|
|
202
|
-
${t.target}`,t.project_root)}var
|
|
203
|
-
${t.project_name??"(\u81EA\u52D5\u691C\u51FA)"}`];
|
|
204
|
-
${t.roles.map(
|
|
203
|
+
${t.report_type}`),A(e,"analyze-report",r.join(`
|
|
204
|
+
|
|
205
|
+
`),t.project_root)}var Nw="godd_req_to_flow",Dw="\u8981\u6C42\u2192\u30D3\u30B8\u30CD\u30B9\u30D5\u30ED\u30FC\u5909\u63DB\u3002\u81EA\u7136\u8A00\u8A9E\u306E\u8981\u6C42\u304B\u3089As-Is/To-Be\u30D5\u30ED\u30FC\u3068\u30E6\u30FC\u30B9\u30B1\u30FC\u30B9\u3092\u751F\u6210\u3057\u307E\u3059\u3002",jw=m.object({requirements:m.string().max(2e5).optional().describe("\u8981\u6C42\u5185\u5BB9\uFF08\u81EA\u7136\u8A00\u8A9E\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function Mw(e,t){return A(e,"requirements-to-business-flow",`## \u8981\u6C42
|
|
206
|
+
${t.requirements??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`,t.project_root)}var Lw="godd_req_to_tickets",Zw="\u8981\u6C42\u2192\u30C1\u30B1\u30C3\u30C8\u5206\u89E3\u3002\u8981\u6C42\u3092\u5B9F\u88C5\u30BF\u30B9\u30AF\uFF08\u30C1\u30B1\u30C3\u30C8\uFF09\u306B\u5206\u89E3\u3057\u3001\u4F9D\u5B58\u95A2\u4FC2\u3068\u691C\u8A3C\u65B9\u6CD5\u3092\u542B\u3081\u3066\u4E00\u89A7\u5316\u3057\u307E\u3059\u3002",qw=m.object({requirements:m.string().max(2e5).optional().describe("\u8981\u6C42\u5185\u5BB9\uFF08\u81EA\u7136\u8A00\u8A9E\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function Fw(e,t){return A(e,"requirements-to-tickets",`## \u8981\u6C42
|
|
207
|
+
${t.requirements??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`,t.project_root)}var Uw="godd_spec_to_tickets",Bw="\u4ED5\u69D8\u2192\u30C1\u30B1\u30C3\u30C8\u5909\u63DB\u3002Spec\uFF08docs/003_requirements/spec/\uFF09\u304B\u3089\u5B9F\u88C5\u53EF\u80FD\u306A\u30BF\u30B9\u30AF\u30EA\u30B9\u30C8\u3092\u751F\u6210\u3057\u3001\u5F71\u97FF\u30EC\u30A4\u30E4\u30FC\u30FB\u30C6\u30B9\u30C8\u89B3\u70B9\u30FB\u30EA\u30B9\u30AF\u3092\u4ED8\u4E0E\u3057\u307E\u3059\u3002",Vw=m.object({specification:m.string().max(2e5).optional().describe("\u5BFE\u8C61Spec\uFF08API/UI/DB/Feature/Usecase/Error Codes\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function Hw(e,t){return A(e,"specification-to-tickets",`## \u5BFE\u8C61Spec
|
|
208
|
+
${t.specification??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`,t.project_root)}var Gw="godd_install",Kw="\u30C4\u30FC\u30EB/MCP\u30B5\u30FC\u30D0\u30FC\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3002\u6307\u5B9A\u3055\u308C\u305F\u30C4\u30FC\u30EB\u306E\u74B0\u5883\u306B\u9069\u3057\u305F\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u624B\u9806\u30FB\u8A2D\u5B9A\u30FB\u758E\u901A\u78BA\u8A8D\u3092\u6848\u5185\u3057\u307E\u3059\u3002",Ww=m.object({target:m.string().max(1e3).describe("\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u5BFE\u8C61\u306E\u30C4\u30FC\u30EB/MCP\u540D\uFF08\u4F8B: context7, chrome-devtools-mcp, markitdown-mcp, mcp-ocr, serena, vibe-odf-read-mcp\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function Jw(e,t){return A(e,"install",`## \u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u5BFE\u8C61
|
|
209
|
+
${t.target}`,t.project_root)}import{existsSync as MM,readFileSync as LM,readdirSync as ZM,statSync as qM}from"node:fs";import{join as FM,resolve as Yw,dirname as Qw,relative as UM}from"node:path";import{fileURLToPath as BM}from"node:url";var Xw="godd_docs_init",e1="\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B docs/ \u30D5\u30A9\u30EB\u30C0\u69CB\u9020\u3092\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304B\u3089\u751F\u6210\u3057\u307E\u3059\u3002GoDD Notes \u3067\u95B2\u89A7\u30FB\u7DE8\u96C6\u53EF\u80FD\u306A MD/CSV/drawio \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u521D\u671F\u69CB\u9020\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002",t1=m.object({project_name:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D"),roles:m.array(m.string().max(1e3)).optional().describe("\u30ED\u30FC\u30EB\u540D\u4E00\u89A7\uFF08\u4F8B: \u7BA1\u7406\u8005, \u904B\u55B6\u8005, \u5229\u7528\u8005\uFF09"),screens:m.array(m.string().max(1e3)).optional().describe("\u753B\u9762ID\u4E00\u89A7\uFF08\u4F8B: SC-OP-01, SC-US-01\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function VM(){try{return Qw(BM(import.meta.url))}catch{return Qw(process.execPath)}}function r1(e,t){let r=[];for(let n of ZM(e)){if(n==="GENERATED.md")continue;let o=FM(e,n);if(qM(o).isDirectory())r.push(...r1(o,t));else{let i=UM(t,o).replace(/\\/g,"/"),s=LM(o,"utf-8");r.push({relativePath:i,content:s})}}return r}function Oh(){let e=VM(),t=[Yw(e,"..","templates","notes-docs"),Yw(e,"templates","notes-docs")];for(let r of t)if(MM(r))try{let n=r1(r,r);if(n.length>0)return n}catch{}return[]}function n1(e,t){let r=[`## \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D
|
|
210
|
+
${t.project_name??"(\u81EA\u52D5\u691C\u51FA)"}`];t.roles?.length&&r.push(`## \u30ED\u30FC\u30EB
|
|
211
|
+
${t.roles.map(o=>`- ${o}`).join(`
|
|
205
212
|
`)}`),t.screens?.length&&r.push(`## \u753B\u9762ID
|
|
206
|
-
${t.screens.map(
|
|
207
|
-
`)}`)
|
|
213
|
+
${t.screens.map(o=>`- ${o}`).join(`
|
|
214
|
+
`)}`);let n=Oh();if(n.length>0){let o=n.map(i=>`- docs/${i.relativePath}`).join(`
|
|
215
|
+
`);r.push(`## \u30D0\u30F3\u30C9\u30EB\u6E08\u307F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB
|
|
216
|
+
|
|
217
|
+
\u4EE5\u4E0B\u306E\u30D5\u30A1\u30A4\u30EB\u3092 \`docs/\` \u914D\u4E0B\u306B\u4F5C\u6210\u3059\u308B\u3053\u3068\u3002
|
|
218
|
+
\u30D5\u30A1\u30A4\u30EB\u304C\u65E2\u306B\u5B58\u5728\u3059\u308B\u5834\u5408\u306F\u30B9\u30AD\u30C3\u30D7\u3059\u308B\uFF08\u65E2\u5B58\u5185\u5BB9\u3092\u5C0A\u91CD\uFF09\u3002
|
|
219
|
+
|
|
220
|
+
${o}`);for(let i of n){let s=i.relativePath.endsWith(".csv")?"csv":"md";r.push(`### docs/${i.relativePath}
|
|
208
221
|
|
|
209
|
-
|
|
222
|
+
\`\`\`${s}
|
|
223
|
+
${i.content.trimEnd()}
|
|
224
|
+
\`\`\``)}}return A(e,"docs-init",r.join(`
|
|
225
|
+
|
|
226
|
+
`),t.project_root)}var o1="godd_docs_update",i1="\u30B3\u30FC\u30C9\u5909\u66F4\u5F8C\u306B docs/ \u5185\u306E\u95A2\u9023\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\uFF08MD/CSV\uFF09\u3092\u540C\u671F\u30FB\u66F4\u65B0\u3057\u307E\u3059\u3002\u5909\u66F4\u5185\u5BB9\u304B\u3089\u5F71\u97FF\u3059\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u7279\u5B9A\u3057\u3001\u66F4\u65B0\u5DEE\u5206\u3092\u63D0\u6848\u3057\u307E\u3059\u3002",s1=m.object({changes:m.string().max(2e5).optional().describe("\u5909\u66F4\u5185\u5BB9\uFF08\u30B3\u30FC\u30C9\u5909\u66F4\u306E\u6982\u8981\uFF09"),target_sections:m.array(m.string().max(1e3)).optional().describe("\u66F4\u65B0\u5BFE\u8C61\u30BB\u30AF\u30B7\u30E7\u30F3\uFF08\u4F8B: 001_project, 003_requirements\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function a1(e,t){let r=[`## \u5909\u66F4\u5185\u5BB9
|
|
210
227
|
${t.changes??"(Chat \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u5224\u65AD)"}`];return t.target_sections?.length&&r.push(`## \u66F4\u65B0\u5BFE\u8C61\u30BB\u30AF\u30B7\u30E7\u30F3
|
|
211
228
|
${t.target_sections.map(n=>`- ${n}`).join(`
|
|
212
|
-
`)}`),
|
|
229
|
+
`)}`),A(e,"docs-update",r.join(`
|
|
213
230
|
|
|
214
|
-
`),t.project_root)}var
|
|
215
|
-
${t.
|
|
216
|
-
|
|
231
|
+
`),t.project_root)}var c1="godd_notes_init",u1="GoDD Notes \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B docs/ \u306E\u521D\u671F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u5C55\u958B\u3057\u307E\u3059\u3002docs/003_requirements/Notes/templates/ \u3092 SSOT \u3068\u3059\u308B\u30D0\u30F3\u30C9\u30EB\u6E08\u307F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092 docs/ \u306B\u30B3\u30D4\u30FC\u3057\u3001GoDD Notes \u3067\u7BA1\u7406\u3059\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u69CB\u9020\u3092\u521D\u671F\u5316\u3057\u307E\u3059\u3002",l1=m.object({project_name:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\uFF08\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u5185\u306E [\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u30FC] \u306B\u7F6E\u63DB\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function p1(e,t){let r=Oh(),n=[];if(t.project_name&&n.push(`## \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D
|
|
232
|
+
${t.project_name}`),r.length===0)n.push("## \u8B66\u544A\n\u30D0\u30F3\u30C9\u30EB\u6E08\u307F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n`godd-mcp-server/templates/notes-docs/` \u304C\u5B58\u5728\u3059\u308B\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n`godd_docs_init` \u30C4\u30FC\u30EB\u3092\u4EE3\u308F\u308A\u306B\u4F7F\u7528\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u3002");else{let o=r.map(i=>`- docs/${i.relativePath}`).join(`
|
|
233
|
+
`);n.push(`## \u5C55\u958B\u3059\u308B\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\uFF08${r.length} \u4EF6\uFF09
|
|
217
234
|
|
|
218
|
-
|
|
235
|
+
\u4EE5\u4E0B\u306E\u30D5\u30A1\u30A4\u30EB\u3092 \`docs/\` \u914D\u4E0B\u306B\u4F5C\u6210\u3059\u308B\u3053\u3068\u3002
|
|
236
|
+
\u30D5\u30A1\u30A4\u30EB\u304C\u65E2\u306B\u5B58\u5728\u3059\u308B\u5834\u5408\u306F\u30B9\u30AD\u30C3\u30D7\u3059\u308B\uFF08\u65E2\u5B58\u5185\u5BB9\u3092\u5C0A\u91CD\uFF09\u3002
|
|
219
237
|
|
|
220
|
-
|
|
238
|
+
`+o);for(let i of r){let s=i.relativePath.endsWith(".csv")?"csv":"md";n.push(`### docs/${i.relativePath}
|
|
221
239
|
|
|
222
|
-
|
|
240
|
+
\`\`\`${s}
|
|
241
|
+
${i.content.trimEnd()}
|
|
242
|
+
\`\`\``)}}return A(e,"notes-init",n.join(`
|
|
223
243
|
|
|
224
|
-
\u30D1\u30B9
|
|
244
|
+
`),t.project_root)}var d1="godd_notes_deploy",f1="GoDD Notes \u3092\u30C7\u30D7\u30ED\u30A4\u3057\u307E\u3059\u3002AI \u304C\u81EA\u5F8B\u5B9F\u884C\u53EF\u80FD\u306A\u624B\u9806\u3092\u8FD4\u3057\u307E\u3059\u3002compose --auto\uFF08\u30ED\u30FC\u30AB\u30EB\u81EA\u52D5\u30C7\u30D7\u30ED\u30A4\uFF09/ compose --config\uFF08\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u6307\u5B9A\uFF09/ deploy -y\uFF08AWS \u5B9F\u30C7\u30D7\u30ED\u30A4\uFF09/ status\uFF08\u72B6\u614B\u78BA\u8A8D\uFF09\u306E\u624B\u9806\u3092\u63D0\u4F9B\u3057\u307E\u3059\u3002",h1=m.object({deploy_target:m.string().max(1e3).optional().describe("\u30C7\u30D7\u30ED\u30A4\u65B9\u5F0F\uFF08compose, deploy, infra \u306E\u3044\u305A\u308C\u304B\uFF09"),github_repo:m.string().max(1e3).optional().describe("\u5BFE\u8C61 GitHub \u30EA\u30DD\u30B8\u30C8\u30EA\uFF08owner/repo \u5F62\u5F0F\uFF09"),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\u30D1\u30B9\uFF08\u81EA\u52D5\u691C\u51FA\u7528\uFF09")});function m1(e,t){let r=[];return t.deploy_target&&r.push(`## \u30C7\u30D7\u30ED\u30A4\u5148
|
|
245
|
+
${t.deploy_target}`),t.github_repo&&r.push(`## \u5BFE\u8C61\u30EA\u30DD\u30B8\u30C8\u30EA
|
|
246
|
+
${t.github_repo}`),A(e,"notes-deploy",r.join(`
|
|
225
247
|
|
|
226
|
-
|
|
248
|
+
`)||"\u30C7\u30D7\u30ED\u30A4\u624B\u9806\u3092\u6848\u5185\u3057\u3066\u304F\u3060\u3055\u3044\u3002",t.project_root)}import{readFileSync as Oc,writeFileSync as g1,existsSync as Nc}from"node:fs";import{dirname as HM,join as GM}from"node:path";var _1="godd_config",y1="GoDD \u8A2D\u5B9A\u306E\u8868\u793A\u30FB\u66F4\u65B0\u3092\u884C\u3044\u307E\u3059\u3002show \u3067\u73FE\u5728\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3001update \u3067\u6307\u5B9A\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002components \u306F config.godd\u3001license_key/language/registry_url \u306F .env \u306B\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002",v1=m.object({action:m.enum(["show","update"]).describe("show=\u73FE\u5728\u306E\u8A2D\u5B9A\u3092\u8868\u793A, update=\u8A2D\u5B9A\u3092\u66F4\u65B0"),license_key:m.string().min(1,"license_key \u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093").max(1e3).optional().describe("\u66F4\u65B0\u3059\u308B\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\uFF08.env \u306E GODD_LICENSE_KEY \u3092\u66F4\u65B0\uFF09"),components:m.array(m.string().min(1).max(1e3)).min(1,"components \u306F\u7A7A\u914D\u5217\u306B\u3067\u304D\u307E\u305B\u3093").optional().describe("\u66F4\u65B0\u3059\u308B\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u914D\u5217\uFF08config.godd \u3092\u66F4\u65B0\uFF09"),language:m.string().min(1,"language \u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093").max(1e3).optional().describe("\u66F4\u65B0\u3059\u308B\u8A00\u8A9E\uFF08.env \u306E GODD_LANGUAGE \u3092\u66F4\u65B0\uFF09"),registry_url:m.string().min(1,"registry_url \u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093").url("registry_url \u306F\u6709\u52B9\u306A URL \u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093").max(1e3).optional().describe("\u66F4\u65B0\u3059\u308B Registry URL\uFF08.env \u306E GODD_REGISTRY_URL \u3092\u66F4\u65B0\uFF09")});function KM(){let e=process.env.GODD_CONFIG;if(!e)throw new Error(`GODD_CONFIG \u74B0\u5883\u5909\u6570\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002${cr} \u306E\u30D1\u30B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return e}function WM(e){let t;try{t=Dr.load(e)}catch{return e}if(typeof t=="object"&&t!==null&&!Array.isArray(t)){let r=t;return typeof r.license_key=="string"&&r.license_key.length>0&&(r.license_key="****"),Dr.dump(r,{lineWidth:-1,quotingType:'"'})}return e}var x1=new Set(["GODD_LICENSE_KEY","GODD_LANGUAGE","GODD_REGISTRY_URL"]);function b1(e){if(!Nc(e))return{};let t={};try{let r=Oc(e,"utf-8");for(let n of r.split(`
|
|
249
|
+
`)){let o=n.trim();if(!o||o.startsWith("#"))continue;let i=o.indexOf("=");if(i===-1)continue;let s=o.slice(0,i).trim();if(!x1.has(s))continue;let a=o.slice(i+1).trim();(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),t[s]=a}}catch{}return t}function JM(e,t){let r=[];if(Nc(e)){let a=Oc(e,"utf-8");for(let c of a.split(`
|
|
250
|
+
`)){let u=c.trim(),p=u.indexOf("="),l=p>0?u.slice(0,p).trim():"";x1.has(l)||r.push(c)}for(;r.length>0&&r[r.length-1].trim()==="";)r.pop()}let o={...b1(e),...t},i=["","# GoDD MCP Server (managed by godd init)"];o.GODD_LICENSE_KEY&&i.push(`GODD_LICENSE_KEY="${o.GODD_LICENSE_KEY}"`),o.GODD_LANGUAGE&&i.push(`GODD_LANGUAGE="${o.GODD_LANGUAGE}"`),o.GODD_REGISTRY_URL&&i.push(`GODD_REGISTRY_URL="${o.GODD_REGISTRY_URL}"`),i.push("");let s=[...r,...i].join(`
|
|
251
|
+
`);g1(e,s,"utf-8")}function k1(e){let t=KM(),r=GM(HM(t),".env");if(e.action==="show"){let s=[`## GoDD \u8A2D\u5B9A
|
|
252
|
+
`];if(Nc(t))try{let c=Oc(t,"utf-8");s.push(`### ${cr}
|
|
227
253
|
|
|
228
254
|
\u30D1\u30B9: \`${t}\`
|
|
229
255
|
|
|
230
256
|
\`\`\`yaml
|
|
231
|
-
${
|
|
232
|
-
|
|
233
|
-
\u30D1\u30B9: \`${t}\`
|
|
257
|
+
${WM(c)}\`\`\``)}catch(c){let u=c instanceof Error?c.message:String(c);s.push(`### ${cr}
|
|
234
258
|
|
|
235
|
-
|
|
259
|
+
\u8AAD\u307F\u53D6\u308A\u30A8\u30E9\u30FC: ${u}`)}else s.push(`### ${cr}
|
|
236
260
|
|
|
237
|
-
\
|
|
261
|
+
\`${t}\` \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\`godd init\` \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);let a=b1(r);if(Object.keys(a).length>0){let c=Object.entries(a).map(([u,p])=>u==="GODD_LICENSE_KEY"?`${u}="****"`:`${u}="${p}"`).join(`
|
|
262
|
+
`);s.push(`
|
|
263
|
+
### .env (GoDD \u7BA1\u7406\u5024)
|
|
238
264
|
|
|
239
|
-
|
|
265
|
+
\u30D1\u30B9: \`${r}\`
|
|
240
266
|
|
|
241
|
-
|
|
267
|
+
\`\`\`
|
|
268
|
+
${c}
|
|
269
|
+
\`\`\``)}return s.join(`
|
|
270
|
+
`)}let n=[],o={},i=[];if(e.components!==void 0){if(!Nc(t))return`## \u30A8\u30E9\u30FC: ${cr} \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
|
|
242
271
|
|
|
243
|
-
|
|
272
|
+
\`godd init\` \u3092\u5148\u306B\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002`;try{let s=Oc(t,"utf-8"),a=Dr.load(s),c=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};c.components=e.components,delete c.stack_profile;let u=Dr.dump(c,{lineWidth:-1,quotingType:'"'});g1(t,u,"utf-8"),n.push(u),i.push(`components \u2192 [${e.components.join(", ")}]`)}catch(s){let a=s instanceof Error?s.message:String(s);return`## \u30A8\u30E9\u30FC: ${cr} \u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F
|
|
244
273
|
|
|
245
|
-
\u66F4\u65B0\
|
|
274
|
+
${a}`}}if(e.license_key!==void 0&&(o.GODD_LICENSE_KEY=e.license_key,i.push("GODD_LICENSE_KEY \u2192 `****` (\u66F4\u65B0\u6E08\u307F)")),e.language!==void 0&&(o.GODD_LANGUAGE=e.language,i.push(`GODD_LANGUAGE \u2192 \`${e.language}\``)),e.registry_url!==void 0&&(o.GODD_REGISTRY_URL=e.registry_url,i.push(`GODD_REGISTRY_URL \u2192 \`${e.registry_url}\``)),i.length===0)return`## \u66F4\u65B0\u306A\u3057
|
|
246
275
|
|
|
247
|
-
\
|
|
276
|
+
\u66F4\u65B0\u3059\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08license_key, components, language, registry_url\uFF09\u3002`;if(Object.keys(o).length>0)try{JM(r,o)}catch(s){return`## \u30A8\u30E9\u30FC: .env \u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F
|
|
248
277
|
|
|
249
|
-
${
|
|
250
|
-
|
|
251
|
-
\u30D1\u30B9: \`${t}\`
|
|
278
|
+
${s instanceof Error?s.message:String(s)}`}return`## \u8A2D\u5B9A\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F
|
|
252
279
|
|
|
253
280
|
### \u66F4\u65B0\u5185\u5BB9
|
|
254
|
-
${i.map(
|
|
281
|
+
${i.map(s=>`- ${s}`).join(`
|
|
255
282
|
`)}
|
|
256
283
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
${
|
|
260
|
-
|
|
261
|
-
\
|
|
262
|
-
`)
|
|
263
|
-
`)
|
|
284
|
+
\u26A0 MCP \u30B5\u30FC\u30D0\u30FC\u306E\u518D\u8D77\u52D5\u304C\u5FC5\u8981\u3067\u3059\uFF08Cursor IDE \u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`}import{randomUUID as w1}from"node:crypto";import{existsSync as YM,mkdirSync as QM,readFileSync as XM,renameSync as eL,writeFileSync as tL}from"node:fs";import{dirname as rL,join as T1}from"node:path";var $1=T1(".godd","memory","godd-memory.json"),nL=2e4,P1=10;function oL(e){return e.toLowerCase().split(/\s+/).map(t=>t.trim()).filter(t=>t.length>0)}function iL(e,t,r){let n=t.content.trim(),o=n.toLowerCase(),i=e.find(a=>a.content.trim().toLowerCase()===o);if(i)return{entries:e,entry:i,duplicate:!0};let s={id:r.id,content:n,tags:(t.tags??[]).map(a=>a.trim()).filter(a=>a.length>0),who:t.who?.trim()||"agent",createdAt:r.now,...t.source?.trim()?{source:t.source.trim()}:{}};return{entries:[...e,s],entry:s,duplicate:!1}}function S1(e,t,r={}){let n=r.limit??P1,o=oL(t),i=[...e].sort((u,p)=>u.createdAt<p.createdAt?-1:u.createdAt>p.createdAt?1:0),s=new Map;i.forEach((u,p)=>{let l=e.length<=1?1:p/(e.length-1);s.set(u.id,l)});let a=e.map(u=>{let p=u.content.toLowerCase(),l=u.tags.map(f=>f.toLowerCase()),d=0;for(let f of o)p.includes(f)&&(d+=2),l.some(g=>g.includes(f))&&(d+=3);let h=s.get(u.id)??0;return{entry:u,score:d+h,keywordScore:d}});return(o.length===0?a:a.filter(u=>u.keywordScore>0)).sort((u,p)=>p.score-u.score).slice(0,Math.max(0,n)).map(({entry:u,score:p})=>({entry:u,score:p}))}function E1(e){return T1(e,$1)}function Nh(e){let t=E1(e);if(!YM(t))return[];try{let r=JSON.parse(XM(t,"utf-8"));return Array.isArray(r)?r.flatMap(n=>{if(!n||typeof n!="object")return[];let o=n;return typeof o.id!="string"||typeof o.content!="string"?[]:[{id:o.id,content:o.content,tags:Array.isArray(o.tags)?o.tags.filter(i=>typeof i=="string"):[],who:typeof o.who=="string"?o.who:"agent",createdAt:typeof o.createdAt=="string"?o.createdAt:"",...typeof o.source=="string"?{source:o.source}:{}}]}):[]}catch{return[]}}function sL(e,t){let r=E1(e);QM(rL(r),{recursive:!0});let n=`${r}.tmp-${w1()}`;tL(n,`${JSON.stringify(t,null,2)}
|
|
285
|
+
`,"utf-8"),eL(n,r)}function Dh(e){let t=e.tags.length?` [${e.tags.join(", ")}]`:"",r=e.source?` (source: ${e.source})`:"";return`- (${e.createdAt} / ${e.who})${t}${r}
|
|
286
|
+
${e.content}`}var z1="godd_memory",C1="GoDD \u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u9593\u8A18\u61B6\u3002action=remember \u3067\u8A18\u61B6\u3092\u4FDD\u5B58\u3001recall \u3067\u691C\u7D22\u3057\u3066\u547C\u3073\u51FA\u3057\u3001consolidate \u3067 recall \u3057\u305F\u8A18\u61B6\u3092\u6574\u7406\u3059\u308B\u624B\u9806\u3092\u8FD4\u3059\u3002\u4FDD\u5B58\u5148\u306F `.godd/memory/godd-memory.json`\u3002remember/recall \u306F\u30CD\u30A4\u30C6\u30A3\u30D6\u5B9F\u88C5\u3001consolidate \u306F\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3078\u59D4\u8B72\u3059\u308B\u30D7\u30ED\u30F3\u30D7\u30C8\uFF08\u30CF\u30A4\u30D6\u30EA\u30C3\u30C9\u30FBADR-0004\uFF09\u3002",I1=m.object({action:m.enum(["remember","recall","consolidate"]).describe("remember: \u4FDD\u5B58 / recall: \u691C\u7D22 / consolidate: \u6574\u7406\u624B\u9806\u3092\u8FD4\u3059"),content:m.string().max(nL).optional().describe("remember \u6642\u306E\u8A18\u61B6\u5185\u5BB9\uFF08\u5FC5\u9808\uFF09"),tags:m.array(m.string().max(100)).max(50).optional().describe("\u5206\u985E\u30BF\u30B0\uFF08\u4EFB\u610F\uFF09"),who:m.string().max(100).optional().describe("\u8A18\u61B6\u306E\u66F8\u304D\u624B\uFF08\u65E2\u5B9A agent\uFF09"),source:m.string().max(500).optional().describe("\u7531\u6765\uFF08issue \u756A\u53F7\u30FB\u30BB\u30C3\u30B7\u30E7\u30F3\u7B49\u3001\u4EFB\u610F\uFF09"),query:m.string().max(1e3).optional().describe("recall / consolidate \u6642\u306E\u691C\u7D22\u30AF\u30A8\u30EA\uFF08\u7A7A\u306A\u3089\u65B0\u3057\u3044\u9806\uFF09"),limit:m.number().int().min(1).max(100).optional().describe(`recall / consolidate \u306E\u6700\u5927\u4EF6\u6570\uFF08\u65E2\u5B9A ${P1}\uFF09`),project_root:m.string().max(1e3).optional().describe("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EB\u30FC\u30C8\uFF08\u81EA\u52D5\u691C\u51FA\uFF09")});function R1(e,t){let r=Rh(e,t.project_root).root;if(t.action==="remember"){let s=t.content?.trim();if(!s)return"## \u30A8\u30E9\u30FC\nremember \u306B\u306F `content`\uFF08\u8A18\u61B6\u5185\u5BB9\uFF09\u304C\u5FC5\u8981\u3067\u3059\u3002";let a=Nh(r),{entries:c,entry:u,duplicate:p}=iL(a,{content:s,tags:t.tags,who:t.who,source:t.source},{id:w1(),now:new Date().toISOString()});return p||sL(r,c),[p?"## \u8A18\u61B6\u6E08\u307F\uFF08\u91CD\u8907\u306E\u305F\u3081\u30B9\u30AD\u30C3\u30D7\uFF09":"## \u8A18\u61B6\u3057\u307E\u3057\u305F",`- id: ${u.id}`,`- \u4FDD\u5B58\u5148: ${$1}`,`- \u7DCF\u8A18\u61B6\u6570: ${c.length} \u4EF6`,"",Dh(u)].join(`
|
|
287
|
+
`)}if(t.action==="recall"){let s=Nh(r);if(s.length===0)return"## \u8A18\u61B6\u306A\u3057\n\u307E\u3060\u8A18\u61B6\u304C\u3042\u308A\u307E\u305B\u3093\uFF08`godd_memory action=remember` \u3067\u4FDD\u5B58\u3067\u304D\u307E\u3059\uFF09\u3002";let a=S1(s,t.query??"",{limit:t.limit});if(a.length===0)return`## \u8A72\u5F53\u306A\u3057
|
|
288
|
+
\u30AF\u30A8\u30EA\u300C${t.query??""}\u300D\u306B\u4E00\u81F4\u3059\u308B\u8A18\u61B6\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u5168 ${s.length} \u4EF6\uFF09\u3002`;let c=a.map(u=>Dh(u.entry));return[`## \u60F3\u8D77\u3057\u305F\u8A18\u61B6\uFF08${a.length}/${s.length} \u4EF6\uFF09`,t.query?`\u30AF\u30A8\u30EA: ${t.query}`:"\uFF08\u30AF\u30A8\u30EA\u672A\u6307\u5B9A: \u65B0\u3057\u3044\u9806\uFF09","",...c].join(`
|
|
289
|
+
`)}let n=Nh(r),o=S1(n,t.query??"",{limit:t.limit??30});return["# \u8A18\u61B6\u306E\u7D71\u5408\uFF08consolidate\uFF09","","\u4EE5\u4E0B\u306F `.godd/memory/godd-memory.json` \u304B\u3089\u60F3\u8D77\u3057\u305F\u8A18\u61B6\u3067\u3059\u3002\u91CD\u8907\u30FB\u9673\u8150\u5316\u30FB\u77DB\u76FE\u3092\u8E0F\u307E\u3048\u3066\u6574\u7406\u3057\u3001","\u518D\u5229\u7528\u4FA1\u5024\u306E\u9AD8\u3044\u77E5\u898B\u3092 `.godd/memory/` \u306E\u6574\u7406\u6E08\u307F\u30CA\u30EC\u30C3\u30B8\u3078\u84B8\u7559\u3057\u3066\u304F\u3060\u3055\u3044\u3002","","## \u624B\u9806","1. \u60F3\u8D77\u3057\u305F\u8A18\u61B6\u3092\u4E3B\u984C\u3054\u3068\u306B\u30B0\u30EB\u30FC\u30D4\u30F3\u30B0\u3059\u308B\u3002","2. \u6052\u4E45\u7684\u306B\u6709\u7528\u306A\u3082\u306E\u3092\u6B21\u306E\u3044\u305A\u308C\u304B\u3078\u8981\u7D04\u3057\u3066\u8FFD\u8A18\u3059\u308B\uFF08\u65E2\u5B58\u3068\u77DB\u76FE\u3059\u308B\u5834\u5408\u306F\u660E\u8A18\uFF09:"," - `.godd/memory/decisions.yaml`\uFF08\u8A2D\u8A08\u5224\u65AD\uFF09"," - `.godd/memory/patterns.yaml`\uFF08\u6709\u52B9\u30D1\u30BF\u30FC\u30F3\uFF09"," - `.godd/memory/anti-patterns.yaml`\uFF08\u907F\u3051\u308B\u3079\u304D\u5931\u6557\uFF09"," - `.godd/memory/blockers.yaml`\uFF08\u8A70\u307E\u308A\u3068\u89E3\u6D88\uFF09","3. \u9673\u8150\u5316\u30FB\u91CD\u8907\u3057\u305F\u751F\u8A18\u61B6\u306F\u8981\u7D04\u5F8C\u306B\u6574\u7406\u5BFE\u8C61\u3068\u3057\u3066\u5831\u544A\u3059\u308B\uFF08\u524A\u9664\u306F\u4EBA\u624B\u5224\u65AD\uFF09\u3002","4. \u77DB\u76FE\u306F\u89E3\u6D88\u305B\u305A\u300C\u5BFE\u7ACB\u300D\u3068\u3057\u3066\u4E21\u8AD6\u4F75\u8A18\u3067\u6B8B\u3059\uFF08\u65E9\u3059\u304E\u308B\u6B63\u898F\u5316\u3092\u907F\u3051\u308B\uFF09\u3002","","## \u60F3\u8D77\u3057\u305F\u8A18\u61B6",o.length?o.map(s=>Dh(s.entry)).join(`
|
|
290
|
+
`):"\uFF08\u5BFE\u8C61\u306E\u8A18\u61B6\u306A\u3057\uFF09"].join(`
|
|
291
|
+
`)}import{verify as aL,createPublicKey as cL}from"node:crypto";var uL=/^godd-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,jh="";function Mh(e){jh=e}function A1(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");return Buffer.from(t,"base64")}function Lh(e){return uL.test(e.trim())}function lL(e){let t=e.trim();if(Lh(t))throw new st("Registry \u767A\u884C\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u306F Registry API \u3067\u691C\u8A3C\u3057\u3066\u304F\u3060\u3055\u3044");let r=t.split(".");if(r.length!==2)throw new st("\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u306E\u5F62\u5F0F\u304C\u4E0D\u6B63\u3067\u3059");let[n,o]=r;if(jh){let c=cL(jh),u=A1(o);if(!aL(null,Buffer.from(n),c,u))throw new st("\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u306E\u7F72\u540D\u304C\u7121\u52B9\u3067\u3059")}else if(process.env.SKIP_LICENSE_VERIFY!=="true")throw new st("\u516C\u958B\u9375\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u30E9\u30A4\u30BB\u30F3\u30B9\u691C\u8A3C\u304C\u3067\u304D\u307E\u305B\u3093");let i=A1(n).toString("utf-8"),s;try{s=JSON.parse(i)}catch{throw new st("\u30E9\u30A4\u30BB\u30F3\u30B9\u30E1\u30BF\u30C7\u30FC\u30BF\u306E\u89E3\u6790\u306B\u5931\u6557\u3057\u307E\u3057\u305F")}if(s.v!==1)throw new st(`\u672A\u5BFE\u5FDC\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\u30D0\u30FC\u30B8\u30E7\u30F3: ${s.v}`);let a=new Date(s.exp);if(isNaN(a.getTime()))throw new st("\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6709\u52B9\u671F\u9650\u304C\u4E0D\u6B63\u3067\u3059");if(a<new Date)throw new st(`\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u307E\u3059\uFF08${s.exp}\uFF09`);return s}function Zh(e,t){let r=lL(e);if(r.stack&&r.stack!==t)throw new st(`\u3053\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\u306F\u30B9\u30BF\u30C3\u30AF '${r.stack}' \u5C02\u7528\u3067\u3059\uFF08\u8981\u6C42: '${t}'\uFF09`);return r}var st=class extends Error{constructor(t){super(t),this.name="LicenseError"}};import{dirname as O1,join as Dc}from"node:path";import{fileURLToPath as D1}from"node:url";import{readFileSync as qh,existsSync as N1}from"node:fs";var To;try{To=O1(D1(import.meta.url))}catch{To=O1(process.execPath)}function pL(){try{let e=Dc(To,"..","package.json");return JSON.parse(qh(e,"utf-8")).version??"0.0.0"}catch{return"0.0.0"}}async function dL(){let e=qx(),t=e.components&&e.components.length>0,r;if(t){try{await jk(e)}catch(d){console.error(`[GoDD] Registry \u30E9\u30A4\u30BB\u30F3\u30B9\u691C\u8A3C\u5931\u6557\u3002\u30ED\u30FC\u30AB\u30EB\u691C\u8A3C\u306B\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF: ${lt(d)}`),Lh(e.license_key)&&(console.error("[GoDD] Registry \u767A\u884C\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u306F\u30ED\u30FC\u30AB\u30EB\u7F72\u540D\u691C\u8A3C\u3067\u304D\u307E\u305B\u3093\u3002registry_url \u3068\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u63A5\u7D9A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"),process.exit(1));let h=Dc(To,"..",".keys","public.pem");N1(h)&&Mh(qh(h,"utf-8"));try{let f=e.components?.[0]??e.stack_profile??"fastapi-react";Zh(e.license_key,f)}catch(f){f instanceof st?console.error(`\u30E9\u30A4\u30BB\u30F3\u30B9\u30A8\u30E9\u30FC (\u30ED\u30FC\u30AB\u30EB\u691C\u8A3C): ${f.message}`):console.error(`[GoDD] \u30ED\u30FC\u30AB\u30EB\u30E9\u30A4\u30BB\u30F3\u30B9\u691C\u8A3C\u3067\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC: ${lt(f)}`),process.exit(1)}}try{await Ch(e.registry_url,e.license_key)}catch(d){console.error("\u30EA\u30DD\u30B8\u30C8\u30EA\u691C\u8A3C\u30A8\u30E9\u30FC:",lt(d)),console.error(" godd init \u3092\u518D\u5B9F\u884C\u3059\u308B\u304B\u3001Registry API \u304C\u8D77\u52D5\u3057\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"),process.exit(1)}let l=await Kk(e);l?r={name:`registry:${e.components.join("+")}`,stacks:e.components.map(d=>({id:d,label:d,name:d})),quality_gate:l.quality_gate?{frontend:l.quality_gate.frontend,backend:l.quality_gate.backend,preflight_command:l.quality_gate.preflight??"pnpm preflight",summary:"format/lint/typecheck/build"}:void 0,tools:l.tools?.map(d=>({id:d.id,label:d.label,category:d.category,description:d.description,guidance:d.guidance}))}:Ph("Registry API \u3068\u30ED\u30FC\u30AB\u30EB\u30AD\u30E3\u30C3\u30B7\u30E5\u306E\u3044\u305A\u308C\u304B\u3089\u3082\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F")}else{let l=Dc(To,"..",".keys","public.pem");N1(l)&&Mh(qh(l,"utf-8"));try{Zh(e.license_key,e.stack_profile??"fastapi-react")}catch(f){f instanceof st&&(console.error(`\u30E9\u30A4\u30BB\u30F3\u30B9\u30A8\u30E9\u30FC: ${f.message}`),process.exit(1)),console.error(`[GoDD] \u30E9\u30A4\u30BB\u30F3\u30B9\u691C\u8A3C\u3067\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC: ${lt(f)}`),process.exit(1)}let d=e.stack_profile??"fastapi-react";try{r=Fx(d,Dc(To,"..","stacks"))}catch(f){console.error(`[GoDD] \u30B9\u30BF\u30C3\u30AF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB '${d}' \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${lt(f)}`),console.error("[GoDD] \u6700\u5C0F\u9650\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3067\u8D77\u52D5\u3057\u307E\u3059"),r={name:d,stacks:[]}}await Dk(e.license_key)||Ph("\u57CB\u3081\u8FBC\u307F\u6697\u53F7\u5316\u30D0\u30F3\u30C9\u30EB (EMBEDDED_BUNDLES) \u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093")}let n={profile:r,config:e},o=new Za({name:"godd-mcp-server",version:pL()});async function i(l){return t&&await Jk(e.registry_url,e.license_key),l()}let s=[];function a(l,d,h,f){let g=h.shape;o.tool(l,d,g,async _=>({content:[{type:"text",text:await i(()=>f(n,h.parse(_)))}]})),s.push({name:l,description:d,params:Object.keys(g)})}function c(l,d,h,f){let g=h.shape;o.tool(l,d,g,async _=>({content:[{type:"text",text:await f(h.parse(_))}]})),s.push({name:l,description:d,params:Object.keys(g)})}a(tS,rS,nS,oS),a(iS,sS,aS,cS),a(uS,lS,pS,dS),a(fS,hS,mS,gS),a(_S,yS,vS,xS),a(bS,kS,SS,wS),a(TS,$S,PS,ES),a(zS,CS,IS,RS),a(AS,OS,NS,DS),a(jS,MS,LS,ZS),a(qS,FS,US,BS),a(VS,HS,GS,KS),a(WS,JS,YS,QS),a(XS,ew,tw,rw),a(nw,ow,iw,sw),a(aw,cw,uw,lw),a(pw,dw,fw,hw),a(mw,gw,_w,yw),a(vw,xw,bw,kw),a(Sw,ww,Tw,$w),a(Pw,Ew,zw,Cw),a(Iw,Rw,Aw,Ow),a(Nw,Dw,jw,Mw),a(Lw,Zw,qw,Fw),a(Uw,Bw,Vw,Hw),a(Gw,Kw,Ww,Jw),a(Xw,e1,t1,n1),a(o1,i1,s1,a1),a(c1,u1,l1,p1),a(d1,f1,h1,m1),a(z1,C1,I1,R1),c(_1,y1,v1,k1);for(let l of s)o.prompt(l.name,l.description,()=>({messages:[{role:"user",content:{type:"text",text:`\`${l.name}\` \u30C4\u30FC\u30EB\u3092\u4ECA\u3059\u3050\u547C\u3073\u51FA\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}}]}));let u=r?.tools??[];u.length>0&&o.resource("ecosystem-tool",new Ci("godd://tools/{toolId}",{list:async()=>({resources:u.map(l=>({uri:`godd://tools/${l.id}`,name:l.label,description:l.description,mimeType:"text/plain"}))})}),async(l,{toolId:d})=>{let h=u.find(g=>g.id===String(d));if(!h)return{contents:[{uri:l.href,text:"Tool not found"}]};let f=[`# ${h.label}`,"",`- **\u30AB\u30C6\u30B4\u30EA**: ${h.category}`,`- **\u8AAC\u660E**: ${h.description}`];return h.guidance&&f.push("","## \u5229\u7528\u30AC\u30A4\u30C0\u30F3\u30B9","",h.guidance),"url"in h&&h.url&&f.push("",`- **\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8**: ${h.url}`),{contents:[{uri:l.href,text:f.join(`
|
|
292
|
+
`),mimeType:"text/plain"}]}}),o.resource("mcp-tool",new Ci("godd://mcp-tools/{toolName}",{list:async()=>({resources:s.map(l=>({uri:`godd://mcp-tools/${l.name}`,name:l.name,description:l.description,mimeType:"text/plain"}))})}),async(l,{toolName:d})=>{let h=s.find(g=>g.name===String(d));if(!h)return{contents:[{uri:l.href,text:"Tool not found"}]};let f=[`# ${h.name}`,"",h.description,"","## \u30D1\u30E9\u30E1\u30FC\u30BF","",...h.params.map(g=>`- \`${g}\``)];return{contents:[{uri:l.href,text:f.join(`
|
|
293
|
+
`),mimeType:"text/plain"}]}});let p=new Fa;await o.connect(p)}var fL=(()=>{try{let e=D1(import.meta.url);return process.argv[1]===e}catch{return!process.env.__GODD_CLI__}})();fL&&dL().catch(e=>{console.error("GoDD MCP Server \u8D77\u52D5\u30A8\u30E9\u30FC:",e),process.exit(1)});export{dL as startServer};
|
|
264
294
|
/*! Bundled license information:
|
|
265
295
|
|
|
266
296
|
js-yaml/dist/js-yaml.mjs:
|